.. _l11_troubleshooting_firmware: Firmware ======== PureBoot says the GPG keyring is empty -------------------------------------- If you were using Basic mode, it may have been disabled. To re-enable it: #. At the GPG keyring error, select Ignore error and continue to main menu #. Select Options > Change configuration settings > Enable PureBoot Basic Mode > Yes > OK #. Still in the configuration menu, select Save the current configuration to the running BIOS > Yes #. Wait for the flash to complete, then select OK to reboot If you were using a Librem Key with PureBoot and you are sure this is not due to tampering, you can perform an OEM Factory Reset to create a new GPG key, or add a GPG key if you have a copy of the public key on a flash drive. Wi-Fi / Bluetooth does not work ------------------------------- Intel Wi-Fi lockup ~~~~~~~~~~~~~~~~~~ Occasionally Intel Wi-Fi cards are known to lock up. Often, a message like this will occur in dmesg: ``iwlwifi 0000:00:14.3: Can find a correct rfid for crf id 0x5a2`` Cold boot the system to resolve this: #. Turn off the Librem 11 #. Unplug any AC adapter from the USB-C ports #. Wait 10 seconds for the EC to turn off #. Turn on the Librem 11 again Device firmware not present ~~~~~~~~~~~~~~~~~~~~~~~~~~~ PureOS requires the device firmware provided by the PureOS blob jail for Intel Wi-Fi and Bluetooth. Check if the firmware is present in ``/run/firmware`` - from a terminal, ``ls /run/firmware`` should list firmware files. If the directory is empty, the blob jail is not present. * With SeaBIOS firmware (if you switched intentionally or by mistake), there won't be any device firmware. SeaBIOS cannot provide the blob jail. * You can switch back to PureBoot with the `update utility `_. Choose the 'basic' preconfiguration for PureBoot Basic. * If you want to use SeaBIOS, you can manually put the firmware files from `the PureBoot repository `_) in ``/lib/firmware``. Preserve the directory structure. ``i915/`` contains graphics GuC firmware, ``intel/`` contains Bluetooth parameter data, and ``iwlwifi-*.ucode`` is the Wi-Fi device firmware. * On PureBoot, the blob jail might be disabled. * From the PureBoot menu select Select Options > Change configuration settings, check if blob jail is enabled. If not, enable it and save the configuration changes. * Some third-party operating systems prevent the use of device firmware (GNU Guix System, GNU Trisquel) * These distributions patch the Linux kernel to prevent it from loading any firmware for Intel Wi-Fi, Bluetooth, and many other devices, even if the firmware is present. * Using these distributions with Intel Wi-Fi or Bluetooth requires compiling a custom kernel or installing one from another distribution.