01. Driver Load Failure: Secure Boot Conflict
Symptom
modprobe reports:
text
modprobe: ERROR: could not insert 'kcan': Key was rejected by serviceCause
UEFI Secure Boot is enabled. Because the driver is not signed with a key trusted by the current system, the kernel refuses to load the module.
Solutions
Option 1: Disable Secure Boot
- Restart the computer and enter BIOS / UEFI setup.
- Open the Security or Boot section.
- Set Secure Boot to Disabled.
- Save, restart Linux and load the driver again.
Option 2: Sign and Enroll the Module Key
- Install the required tool:
bash
sudo apt install mokutil- Generate a signing key:
bash
sudo openssl req -new -x509 -newkey rsa:2048 -nodes -out MOK.der -keyout MOK.key -days 36500- Enroll the key:
bash
sudo mokutil --import MOK.der- Restart and complete key enrollment when prompted.
- Sign and reinstall the driver module.
Verification
bash
lsmod | grep kcanNotes
- Disabling Secure Boot reduces the system's boot-chain protection.
- Module signing is recommended for production systems.
- Enterprise systems may require administrator approval for BIOS changes or key enrollment.