Skip to content

Hard Freeze on Dell Latitude e6440 when loading apex module (Kernels 6.14 & 6.8) #908

@360elements360

Description

@360elements360

Description

System Environment:

Hardware: Dell Latitude e6440 (Intel Haswell-era)

Device: Coral M.2 PCIe Accelerator (A+E Key) in WLAN slot

OS: Ubuntu 24.04 (Noble Numbat)

Kernels Tried:

6.14.0-32-generic (System default)

6.8.0-85-generic (Downgrade for compatibility)

BIOS Settings:

VT-d (Intel VT for Direct I/O) is disabled.

Problem Description:
Attempting to use the Coral M.2 PCIe accelerator results in a complete, unrecoverable system freeze at the moment the apex kernel module is loaded via modprobe. This issue has been reproduced across multiple modern kernels, even after successfully compiling the driver for each. The system requires a hard reboot to recover.

Chronological Troubleshooting Steps:

Attempt 1: Kernel 6.14.0-32-generic
Initial Install: Installed the official gasket-dkms_1.0-18_all.deb package.

Result: DKMS build failed due to incompatibility with kernel 6.14 (missing MODULE_IMPORT_NS and use of deprecated no_llseek).

Patched Driver: Manually created a new .deb package from the gasket-driver source, applying patches to fix both the MODULE_IMPORT_NS("DMA_BUF") and no_llseek issues.

Result: The patched driver compiled successfully via DKMS for kernel 6.14.

Module Load Test: Ran sudo modprobe apex.

Result: Immediate hard system freeze. SSH session dropped, and the machine became unresponsive. This confirmed a runtime incompatibility beyond simple build errors.

Attempt 2: Downgrade to Kernel 6.8.0-85-generic
Rationale: To move to a more stable, slightly older kernel that might have better compatibility with the driver.

Installation: Installed linux-image-6.8.0-85-generic and corresponding headers. The installation process initially failed its post-install script because DKMS could not auto-build the gasket module (it was still using the unpatched source).

Fix DKMS for 6.8: Manually patched the DKMS source tree (/usr/src/gasket-1.0/) to add the required MODULE_IMPORT_NS(DMA_BUF) directive.

Result: The DKMS build for kernel 6.8 completed successfully.

Module Load Test: Booted into kernel 6.8 and ran sudo modprobe apex while monitoring dmesg -w from a second SSH session.

Result: Immediate hard system freeze. The last message captured from dmesg before the freeze was:

[ 3243.870278] gasket: loading out-of-tree module taints kernel.
[ 3243.870284] gasket: module verification failed: signature and/or required key missing - tainting kernel
[ 3243.872296] apex 0000:03:00.0: enabling device (0000 -> 0002)
The freeze occurs at the exact moment the kernel attempts to enable the device.

Attempt 3: Kernel Parameter Adjustments (on Kernel 6.8.0-85-generic)
Hypothesis: The freeze during hardware initialization could be related to PCIe power management.

Action: Rebooted and added the pcie_aspm=off kernel parameter to the GRUB boot command.

Module Load Test: Ran sudo modprobe apex.

Result: Still results in a hard freeze. This rules out PCIe ASPM as the specific cause.

Summary of Findings:

The gasket driver can be successfully compiled for both kernel 6.14 and 6.8 with the necessary source code patches. The issue is not a build failure.

The problem is a runtime hard freeze that occurs during hardware initialization.

The freeze is triggered consistently across multiple modern kernels.

Standard troubleshooting steps for PCIe devices (disabling VT-d, disabling PCIe ASPM) have not resolved the issue.

This suggests a deeper incompatibility between the gasket driver, the Linux kernel's PCIe subsystem, and the specific BIOS/chipset implementation of the Dell Latitude e6440.

Any suggestions for other kernel parameters to try or known issues with this class of hardware would be greatly appreciated.

Click to expand!

Issue Type

No response

Operating System

No response

Coral Device

No response

Other Devices

No response

Programming Language

No response

Relevant Log Output

```</details>

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions