Unix & Linux Stack Exchange
Q&A for users of Linux, FreeBSD and other Unix-like operating systems
Latest Questions
10
votes
1
answers
468
views
wifi problem with regulatory domain settings
Issue Summary: Multiple worldwide ThinkPad models with WCN6855 hw2.1 fail to properly handle regulatory domain settings, defaulting to incorrect country codes and causing regulatory compliance issues in EU. Affected Hardware: - Primary: Lenovo ThinkPad P16s Gen 2, QCNFA765 (WCN6855 hw2.1) - Secondar...
Issue Summary:
Multiple worldwide ThinkPad models with WCN6855 hw2.1 fail to properly handle regulatory domain settings, defaulting to incorrect country codes and causing regulatory compliance issues in EU.
Affected Hardware:
- Primary: Lenovo ThinkPad P16s Gen 2, QCNFA765 (WCN6855 hw2.1)
- Secondary: Lenovo ThinkPad T14s Gen 4, same WCN6855 hw2.1 chip
- Location: Czech Republic (EU)
- Common pattern: Both models have worldwide country codes (00/WW suffix)
Firmware versions tested:
- Custom kernel: WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.41 (2024-04-17)
- Debian Live: WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.9 (2022-04-18)
Problem Description:
Despite kernel regulatory domain settings, both laptops fail to apply correct regulatory rules:
1. Boot errors (consistent across all systems):
ath11k_pci 0000:02:00.0: Failed to set the requested Country regulatory setting
ath11k_pci 0000:02:00.0: Failed to set the requested Country regulatory setting
2. Incorrect regulatory domains applied:
- P16s defaults to Brazil (BR) despite CZ kernel parameter
- T14s defaults to United States (US)
- Both ignore proper EU regulatory requirements
3. Regulatory compliance issues in EU:
- All 5GHz channels marked "No IR" (No Initiate Radiation)
- 6GHz power levels incorrect (30dBm instead of EU limit 23dBm)
- Wrong DFS requirements (DFS-UNSET/DFS-FCC instead of DFS-ETSI)
Test Results:
ThinkPad P16s (21K9S0DC00) with kernel parameter cfg80211.ieee80211_regdom=CZ:
global: country CZ: DFS-ETSI [correct]
phy#0 (self-managed): country BR: DFS-UNSET [incorrect]
ThinkPad T14s (21F8CT01WW) - stock configuration:
global: country 00: DFS-UNSET
phy#0 (self-managed): country US: DFS-FCC [incorrect for EU]
Debian Live CD test (P16s) - proves cross-distribution issue:
global: country 00: DFS-UNSET
phy#0 (self-managed): country 00: DFS-UNSET
6GHz: 20dBm with "no IR" on ALL channels [overly restrictive]
What I tried:
1. Kernel parameter cfg80211.ieee80211_regdom=CZ - Sets global domain but chip remains on wrong country
2. Kernel source modification - Changed default regulatory domain in net/wireless/reg.c:
-static char *ieee80211_regdom = "00";
+static char *ieee80211_regdom = "CZ";
2. Result: Global domain correctly set to CZ, but phy#0 still remains BR - firmware ignores kernel setting
3. Runtime iw reg set CZ - No effect on self-managed phy#0
4. Different distributions - Debian Live CD shows identical boot errors
5. Multiple hardware - Issue affects different worldwide ThinkPad models consistently
Analysis:
- Both laptops have worldwide country codes in model numbers (00/WW suffix)
- SMBIOS likely contains "00" (worldwide) which firmware doesn't handle properly
- Firmware falls back to hardcoded regional defaults instead of respecting kernel settings
- Issue appears related to SMBIOS country code handling patch for WCN6855 (commit referencing reading country code from SMBIOS)
- Problem affects multiple Linux distributions and kernel versions
- Kernel-level regulatory changes are completely ignored by self-managed firmware
Next Plan:
Patching /usr/lib/firmware/ath11k/WCN6855/hw2.1/regdb.bin to replace incorrect regulatory data resolves the issue, but this shouldn't be necessary.
Expected behavior:
at the very least, it should be possible to change regulatory domain configuration via standard Linux methods
Impact:
This affects regulatory compliance for EU users with worldwide ThinkPad models, potentially causing interference and legal issues due to incorrect power levels and frequency usage.
Martin Vegter
(586 rep)
Jul 27, 2025, 08:26 AM
• Last activity: Jul 31, 2025, 10:40 AM
6
votes
3
answers
2372
views
How to enable QCA6390 Bluetooth firmware in Linux kernel?
## Context I'm having difficulty getting the kernel to load the necessary Bluetooth firmware for my XPS 9310. My model has the AX500 connectivity chip, which uses the QCA6390. Users of both [Ubuntu](https://github.com/NixOS/nixos-hardware/pull/207#issuecomment-727668837) and [Arch](https://wiki.arch...
## Context
I'm having difficulty getting the kernel to load the necessary Bluetooth firmware for my XPS 9310. My model has the AX500 connectivity chip, which uses the QCA6390.
Users of both [Ubuntu](https://github.com/NixOS/nixos-hardware/pull/207#issuecomment-727668837) and [Arch](https://wiki.archlinux.org/index.php/Dell_XPS_13_(9310)) have reported Bluetooth working with this model, however, I'm having difficulty finding the right kernel configuration necessary to get this working on NixOS.
## My Configuration
I have enabled the following kernel configuration params with the following patch added to
boot.kernelPatches
in my nix configuration:
# Extra config required for Bluetooth.
{
name = "enable-qca6390-bluetooth";
patch = null;
extraConfig = ''
BT_QCA m
BT_HCIBTUSB m
BT_HCIBTUSB_AUTOSUSPEND y
BT_HCIUART m
BT_HCIUART_QCA y
'';
}
I'm loading the related modules like so:
boot.kernelModules = [ "bluetooth" "btqca" "btusb" "hci_qca" "hci_uart" ];
It should go without saying that I have:
hardware.bluetooth.enable = true;
I also have:
hardware.enableRedistributableFirmware = true;
which, enables the [firmwareLinuxNonfree
](https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/hardware/all-firmware.nix#L46) package, which in turn adds the firmware from the [linux-firmware](https://github.com/NixOS/nixpkgs/blob/a1ea95ba042964875bdb985d70934aca19ba0c6e/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix#L8) repo, which in turn includes the [necessary QCA firmware](https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/qca) .
## The Problem
This firmware can be observed being loaded in the dmesg
output of two separate Ubuntu users [here](https://github.com/NixOS/nixos-hardware/pull/207#issuecomment-727860836) and [here](https://askubuntu.com/questions/1299154/dell-xps-13-9310-bluetooth-wont-find-anything) , both of which report working Bluetooth. However, I am unable to observe it being loaded in mine.
For reference, here is the dmesg
output from a user with working Bluetooth:
[ 2.349008] Bluetooth: Core ver 2.22
[ 2.349019] Bluetooth: HCI device and connection manager initialized
[ 2.349023] Bluetooth: HCI socket layer initialized
[ 2.349024] Bluetooth: L2CAP socket layer initialized
[ 2.349028] Bluetooth: SCO socket layer initialized
[ 2.394642] Bluetooth: HCI UART driver ver 2.3
[ 2.394644] Bluetooth: HCI UART protocol H4 registered
[ 2.394645] Bluetooth: HCI UART protocol BCSP registered
[ 2.394654] Bluetooth: HCI UART protocol LL registered
[ 2.394655] Bluetooth: HCI UART protocol ATH3K registered
[ 2.394660] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 2.394702] Bluetooth: HCI UART protocol Intel registered
[ 2.394734] Bluetooth: HCI UART protocol Broadcom registered
[ 2.394742] Bluetooth: HCI UART protocol QCA registered
[ 2.394743] Bluetooth: HCI UART protocol AG6XX registered
[ 2.394748] Bluetooth: HCI UART protocol Marvell registered
[ 2.416321] Bluetooth: hci0: setting up ROME/QCA6390
[ 2.420348] Bluetooth: hci0: Frame reassembly failed (-84)
[ 2.444937] Modules linked in: snd_pcm qrtr ns snd_seq_midi snd_seq_midi_event ath11k_pci(+) mhi snd_rawmidi ath11k hci_uart qmi_helpers btqca i915(+) snd_seq btrtl uvcvideo mac80211 snd_seq_device btbcm btintel snd_timer videobuf2_vmalloc dell_wmi drm_kms_helper input_leds videobuf2_memops dell_smbios videobuf2_v4l2 cec dcdbas snd efi_pstore serio_raw rc_core videobuf2_common hid_sensor_als i2c_algo_bit hid_sensor_trigger ucsi_acpi(+) cfg80211 fb_sys_fops industrialio_triggered_buffer processor_thermal_device typec_ucsi dell_wmi_descriptor kfifo_buf hid_sensor_iio_common intel_rapl_common soundcore industrialio wmi_bmof videodev mei_me libarc4 syscopyarea cros_ec_ishtp 8250_dw mc hid_multitouch sysfillrect mei cros_ec sysimgblt intel_soc_dts_iosf typec mac_hid bluetooth ecdh_generic ecc int3403_thermal int340x_thermal_zone acpi_pad intel_hid acpi_tad int3400_thermal acpi_thermal_rel sparse_keymap sch_fq_codel parport_pc ppdev drm lp parport ip_tables x_tables autofs4 hid_sensor_hub
[ 2.756645] Bluetooth: hci0: QCA Product ID :0x00000010
[ 2.756647] Bluetooth: hci0: QCA SOC Version :0x400a0200
[ 2.756647] Bluetooth: hci0: QCA ROM Version :0x00000200
[ 2.756648] Bluetooth: hci0: QCA Patch Version:0x00000d2b
[ 2.756650] Bluetooth: hci0: QCA controller version 0x02000200
[ 2.756651] Bluetooth: hci0: QCA Downloading qca/htbtfw20.tlv
[ 3.584055] Bluetooth: hci0: QCA Downloading qca/htnv20.bin
[ 3.777754] Bluetooth: hci0: QCA setup on UART is completed
[ 3.998318] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 3.998319] Bluetooth: BNEP filters: protocol multicast
[ 3.998321] Bluetooth: BNEP socket layer initialized
[ 14.108234] Bluetooth: RFCOMM TTY layer initialized
[ 14.108238] Bluetooth: RFCOMM socket layer initialized
[ 14.108242] Bluetooth: RFCOMM ver 1.11
And here is the output of dmesg | grep -i blue
on my machine:
[ 4.363188] Bluetooth: Core ver 2.22
[ 4.363199] Bluetooth: HCI device and connection manager initialized
[ 4.363201] Bluetooth: HCI socket layer initialized
[ 4.363203] Bluetooth: L2CAP socket layer initialized
[ 4.363205] Bluetooth: SCO socket layer initialized
[ 4.379230] Bluetooth: HCI UART driver ver 2.3
[ 4.379231] Bluetooth: HCI UART protocol H4 registered
[ 4.379232] Bluetooth: HCI UART protocol BCSP registered
[ 4.379238] Bluetooth: HCI UART protocol LL registered
[ 4.379256] Bluetooth: HCI UART protocol Intel registered
[ 4.379260] Bluetooth: HCI UART protocol QCA registered
[ 20.090546] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 20.090553] Bluetooth: BNEP socket layer initialized
As you can see, my Bluetooth setup never performs this step or any of the following hci0
steps:
[ 2.416321] Bluetooth: hci0: setting up ROME/QCA6390
Unsurprisingly, as a result, I'm unable to enable Bluetooth in my GNOME settings GUI, and bluetoothctl
shows nothing:
$ bluetoothctl list
$ bluetoothctl devices
No default controller available
## Questions
From my understanding, the firmware should be automatically loaded in the case that BT_QCA
is enabled and the firmware exists, both of which should be happening as a result of my aforementioned nix configuration.
Is this assumption correct?
Am I missing a necessary step required to trigger the hci0
lines shown above?
Any advice or ideas on how to progress would be greatly appreciated!
## System info
$ nix-shell -p nix-info --run "nix-info -m"
- system: "x86_64-linux"
- host os: Linux 5.10.2, NixOS, 21.03pre259798.84917aa00bf (Okapi)
- multi-user?: yes
- sandbox: yes
- version: nix-env (Nix) 2.3.10
- channels(root): "nixos-21.03pre259798.84917aa00bf, home-manager-20.09"
- nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos
$ lsmod | grep -i bt
btusb 57344 0
btrtl 24576 1 btusb
btbcm 20480 1 btusb
btintel 28672 2 hci_uart,btusb
btqca 20480 1 hci_uart
bluetooth 589824 13 btrtl,btqca,btintel,hci_uart,btbcm,bnep,btusb
usbcore 270336 5 xhci_hcd,usbhid,uvcvideo,btusb,xhci_pci
$ lspci
00:00.0 Host bridge: Intel Corporation 11th Gen Core Processor Host Bridge/DRAM Registers (rev 01)
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics (rev 01)
00:04.0 Signal processing controller: Intel Corporation Device 9a03 (rev 01)
00:06.0 PCI bridge: Intel Corporation 11th Gen Core Processor PCIe Controller (rev 01)
00:07.0 PCI bridge: Intel Corporation Tiger Lake-LP Thunderbolt PCI Express Root Port #0 (rev 01)
00:07.2 PCI bridge: Intel Corporation Tiger Lake-LP Thunderbolt PCI Express Root Port #2 (rev 01)
00:0a.0 Signal processing controller: Intel Corporation Device 9a0d (rev 01)
00:0d.0 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt USB Controller (rev 01)
00:0d.2 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt NHI #0 (rev 01)
00:0d.3 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt NHI #1 (rev 01)
00:12.0 Serial controller: Intel Corporation Tiger Lake-LP Integrated Sensor Hub (rev 20)
00:14.0 USB controller: Intel Corporation Tiger Lake-LP USB 3.2 Gen 2x1 xHCI Host Controller (rev 20)
00:14.2 RAM memory: Intel Corporation Tiger Lake-LP Shared SRAM (rev 20)
00:15.0 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #0 (rev 20)
00:15.1 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #1 (rev 20)
00:16.0 Communication controller: Intel Corporation Tiger Lake-LP Management Engine Interface (rev 20)
00:19.0 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #4 (rev 20)
00:19.1 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #5 (rev 20)
00:1c.0 PCI bridge: Intel Corporation Device a0b8 (rev 20)
00:1d.0 PCI bridge: Intel Corporation Device a0b3 (rev 20)
00:1e.0 Communication controller: Intel Corporation Tiger Lake-LP Serial IO UART Controller #0 (rev 20)
00:1f.0 ISA bridge: Intel Corporation Tiger Lake-LP LPC Controller (rev 20)
00:1f.3 Multimedia audio controller: Intel Corporation Tiger Lake-LP Smart Sound Technology Audio Controller (rev 20)
00:1f.4 SMBus: Intel Corporation Tiger Lake-LP SMBus Controller (rev 20)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP SPI Controller (rev 20)
01:00.0 Non-Volatile memory controller: Toshiba Corporation Device 011a
56:00.0 Unassigned class [ff00]: Qualcomm Device 1101
57:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5260 PCI Express Card Reader (rev 01)
$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 0c45:672a Microdia Integrated_Webcam_HD
Bus 003 Device 002: ID 27c6:533c Shenzhen Goodix Technology Co.,Ltd. FingerPrint
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
## Further Reference
In case they help as a reference, here are the links to the default kernel configurations for [NixOS](https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/kernel/common-config.nix) , [Debian](https://salsa.debian.org/kernel-team/linux/blob/master/debian/config/config) and [Arch](https://git.archlinux.org/svntogit/packages.git/tree/trunk/config?h=packages/linux) .
Here is my WIP [PR](https://github.com/NixOS/nixos-hardware/pull/207) aimed at adding support for the XPS 9310 to NixOS that will include this work.
Here is [my previous post](https://discourse.nixos.org/t/how-to-include-and-use-external-firmware-in-nixos-config-bluetooth-for-qca6390/10471/3) to the NixOS discourse forum asking for help with this issue, yet to receive a response as of writing this.
mindTree
(263 rep)
Dec 29, 2020, 12:39 AM
• Last activity: Jul 30, 2025, 05:58 AM
1
votes
1
answers
3655
views
Editing the iptables file on Asus firmware
I have downloaded the Asus DSL-n14u firmware, extracted the .trx file and located the iptables file, as linked below: https://www.dropbox.com/s/sanz5x2bw0o5xsu/iptables?dl=0 I know the iptables rules that I need to add. However, I am just a little confused about two things: 1) Is it possible to edit...
I have downloaded the Asus DSL-n14u firmware, extracted the .trx file and located the iptables file, as linked below:
https://www.dropbox.com/s/sanz5x2bw0o5xsu/iptables?dl=0
I know the iptables rules that I need to add. However, I am just a little confused about two things:
1) Is it possible to edit this file, add the rules, repackage the .trx file and then reload the firmware on the router?
2) If #1 is possible, where in the file would I add my custom rules?
Thanks, just need a little guidance :)
Sgtmullet
(111 rep)
Jun 12, 2016, 09:40 AM
• Last activity: Jul 16, 2025, 07:03 AM
2
votes
1
answers
14861
views
Activation of network connection failed. Kali linux v2.0
I can't connect to internet via wired, adding DSL profile with user and password. While installing kali linux 2.0 there was a warning telling that there is missing non-free firmware rtl_nic/rtl8106e-1.fw but it is in /lib/firmware/rtl_nic/ Have Realtek RTL8139/810x Fast Ethernet Adapter PCI. Was no...
I can't connect to internet via wired, adding DSL profile with user and password.
While installing kali linux 2.0 there was a warning telling that there is missing non-free firmware
rtl_nic/rtl8106e-1.fw
but it is in /lib/firmware/rtl_nic/
Have Realtek RTL8139/810x Fast Ethernet Adapter PCI.
Was no problem on previous versions of Kali.
kAldown
(277 rep)
Aug 22, 2015, 12:25 PM
• Last activity: Jul 16, 2025, 01:02 AM
0
votes
1
answers
96
views
Arch linux; System stopped registering wifi card (Qualcomm NCM825)
I have `ThinkPad 14s gen 6` with `Qualcomm® Wi-Fi® 7 NCM825, 802.11be 2x2 + BT5.3`. In after last boot my system lost ability to register any wifi device. I think it can correlate to recent [change in arch linux firmware packaging](https://archlinux.org/news/linux-firmware-2025061312fe085f...
I have
ThinkPad 14s gen 6
with Qualcomm® Wi-Fi® 7 NCM825, 802.11be 2x2 + BT5.3
. In after last boot my system lost ability to register any wifi device. I think it can correlate to recent [change in arch linux firmware packaging](https://archlinux.org/news/linux-firmware-2025061312fe085f-5-upgrade-requires-manual-intervention/) .
- ip l
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
4: wwan0: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/
6: enp99s0u2u1u2: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
altname enx083a885a6bbc
- sudo lspci -nnk | grep -A3 -i network
[sudo] password for john:
pcilib: Error reading /sys/bus/pci/devices/0000:00:08.3/label: Operation not permitted
c2:00.0 Network controller : Qualcomm Technologies, Inc WCN785x Wi-Fi 7(802.11be) 320MHz 2x2 [FastConnect 7800] [17cb:1107] (rev 01)
Subsystem: Lenovo Device [17aa:e0e6]
Kernel driver in use: ath12k_pci
Kernel modules: ath12k
- nmcli device wifi list
Does not output anything.
- journalctl
Jun 24 12:30:42 archlinux kernel: qcom_mhi_qrtr mhi1_IPCR: Current EE: RAMDUMP DOWNLOAD MODE Required EE Mask: 0x4
Jun 24 12:30:42 archlinux kernel: qcom_mhi_qrtr mhi1_IPCR: failed to prepare for autoqueue transfer -107
Jun 24 12:30:42 archlinux kernel: qcom_mhi_qrtr mhi1_IPCR: PM: dpm_run_callback(): qcom_mhi_qrtr_pm_resume_early [qrtr_mhi] returns -107
Jun 24 12:30:42 archlinux kernel: qcom_mhi_qrtr mhi1_IPCR: PM: failed to thaw early: error -107
Jun 24 12:30:42 archlinux kernel: qcom_mhi_qrtr mhi1_IPCR: Current EE: RAMDUMP DOWNLOAD MODE Required EE Mask: 0x4
Jun 24 12:30:42 archlinux kernel: qcom_mhi_qrtr mhi1_IPCR: failed to prepare for autoqueue transfer -107
Jun 24 12:30:42 archlinux kernel: qcom_mhi_qrtr mhi1_IPCR: PM: dpm_run_callback(): qcom_mhi_qrtr_pm_resume_early [qrtr_mhi] returns -107
Jun 24 12:30:42 archlinux kernel: qcom_mhi_qrtr mhi1_IPCR: PM: failed to resume early: error -107
Jun 24 14:38:21 archlinux kernel: qcom_mhi_qrtr mhi1_IPCR: Current EE: RAMDUMP DOWNLOAD MODE Required EE Mask: 0x4
Jun 24 14:38:21 archlinux kernel: qcom_mhi_qrtr mhi1_IPCR: failed to prepare for autoqueue transfer -107
Jun 24 14:38:21 archlinux kernel: qcom_mhi_qrtr mhi1_IPCR: PM: dpm_run_callback(): qcom_mhi_qrtr_pm_resume_early [qrtr_mhi] returns -107
Jun 24 14:38:21 archlinux kernel: qcom_mhi_qrtr mhi1_IPCR: PM: failed to resume early: error -107
- dmesg
(trimmed output):
[ 9989.386867] qcom_mhi_qrtr mhi1_IPCR: Current EE: RAMDUMP DOWNLOAD MODE Required EE Mask: 0x4
[ 9989.386870] qcom_mhi_qrtr mhi1_IPCR: failed to prepare for autoqueue transfer -107
[ 9989.386872] qcom_mhi_qrtr mhi1_IPCR: PM: dpm_run_callback(): qcom_mhi_qrtr_pm_resume_early [qrtr_mhi] returns -107
[ 9989.386879] qcom_mhi_qrtr mhi1_IPCR: PM: failed to thaw early: error -107
- My packages
local/linux-firmware 20250613.12fe085f-6
Firmware files for Linux - Default set
local/linux-firmware-amdgpu 20250613.12fe085f-6
Firmware files for Linux - Firmware for AMD Radeon GPUs
local/linux-firmware-atheros 20250613.12fe085f-6
Firmware files for Linux - Firmware for Qualcomm Atheros WiFi and Bluetooth adapters
local/linux-firmware-broadcom 20250613.12fe085f-6
Firmware files for Linux - Firmware for Broadcom and Cypress network adapters
local/linux-firmware-intel 20250613.12fe085f-6
Firmware files for Linux - Firmware for Intel devices
local/linux-firmware-mediatek 20250613.12fe085f-6
Firmware files for Linux - Firmware for MediaTek and Ralink devices
local/linux-firmware-nvidia 20250613.12fe085f-6
Firmware files for Linux - Firmware for NVIDIA GPUs and SoCs
local/linux-firmware-other 20250613.12fe085f-6
Firmware files for Linux - Unsorted firmware for various devices
local/linux-firmware-qcom 20250613.12fe085f-6
Firmware files for Linux - Firmware for Qualcomm SoCs
local/linux-firmware-qlogic 20250613.12fe085f-6
Firmware files for Linux - Firmware for QLogic devices
local/linux-firmware-radeon 20250613.12fe085f-6
Firmware files for Linux - Firmware for ATI Radeon GPUs
local/linux-firmware-realtek 20250613.12fe085f-6
Firmware files for Linux - Firmware for Realtek devices
local/linux-firmware-whence 20250613.12fe085f-6
Firmware files for Linux - WHENCE file (vendor licenses)
Jan Černý
(1723 rep)
Jun 24, 2025, 01:34 PM
• Last activity: Jun 25, 2025, 08:43 AM
2
votes
0
answers
59
views
How to install a firmware on Linux for a fingerprint reader?
I have a Lenovo Thinkpad E15 Gen2 with a Goodix fingerprint reader and I'm trying to make it work for login on Arch Linux. I've installed `fingerprint-gui` but it's not recognized by it and I found this [Github][1] with the firmware I need. The ID of my fingerprint is `27c6:55a4`. I found the firmwa...
I have a Lenovo Thinkpad E15 Gen2 with a Goodix fingerprint reader and I'm trying to make it work for login on Arch Linux.
I've installed
fingerprint-gui
but it's not recognized by it and I found this Github with the firmware I need.
The ID of my fingerprint is 27c6:55a4
. I found the firmware, made it executable with sudo chmod +x GF3268_RTSEC_APP_10041.bin
and put it in /usr/lib/firmware
but it's still not recognized by fingerprint-gui
.
How do I know if my firmware is correctly installed?
Gamix
(21 rep)
Jun 20, 2025, 06:32 PM
• Last activity: Jun 21, 2025, 08:45 AM
3
votes
1
answers
6544
views
Arch Linux - How to resolve conflict between linux-firmware and linux-firmware-nvidia?
I am running Arch Linux on a workstation that uses an NVIDIA graphics card. The ```core-testing``` repository is enabled. When I try to upgrade my system, there is a file collision between ```linux-firmware``` and ```linux-firmware-nvidia```. ``` > sudo pacman -Syu --needed :: Synchronizing package...
I am running Arch Linux on a workstation that uses an NVIDIA graphics card. The
-testing
repository is enabled. When I try to upgrade my system, there is a file collision between -firmware
and -firmware-nvidia
.
> sudo pacman -Syu --needed
:: Synchronizing package databases...
core-testing is up to date
core is up to date
extra-testing 59.8 KiB 10.3 KiB/s 00:06 [################################] 100%
extra 7.8 MiB 986 KiB/s 00:08 [################################] 100%
multilib-testing is up to date
multilib is up to date
:: Starting full system upgrade...
:: Replace linux-firmware-bnx2x with core-testing/linux-firmware-broadcom? [Y/n] y
resolving dependencies...
looking for conflicting packages...
warning: dependency cycle detected:
warning: mesa will be installed before its libglvnd dependency
warning: dependency cycle detected:
warning: nvidia-utils will be installed before its libglvnd dependency
warning: dependency cycle detected:
warning: nvidia-utils will be installed before its libglvnd dependency
...
linux-6.15.2.arch1-1
linux-api-headers-6.15-1
linux-docs-6.15.2.arch1-1
linux-firmware-20250613.12fe085f-5
linux-firmware-amdgpu-20250613.12fe085f-5
linux-firmware-atheros-20250613.12fe085f-5
linux-firmware-bnx2x-20250508.788aadc8-2 [removal]
linux-firmware-broadcom-20250613.12fe085f-5
linux-firmware-intel-20250613.12fe085f-5
linux-firmware-liquidio-20250613.12fe085f-5
linux-firmware-marvell-20250613.12fe085f-5
linux-firmware-mediatek-20250613.12fe085f-5
linux-firmware-mellanox-20250613.12fe085f-5
linux-firmware-nfp-20250613.12fe085f-5
linux-firmware-nvidia-20250613.12fe085f-5
linux-firmware-other-20250613.12fe085f-5
linux-firmware-qcom-20250613.12fe085f-5
linux-firmware-qlogic-20250613.12fe085f-5
linux-firmware-radeon-20250613.12fe085f-5
linux-firmware-realtek-20250613.12fe085f-5
linux-firmware-whence-20250613.12fe085f-5
linux-headers-6.15.2.arch1-1
...
:: Proceed with installation? [Y/n] y
checking keys in keyring [################################] 100%
checking package integrity [################################] 100%
loading package files [################################] 100%
checking for file conflicts [################################] 100%
error: failed to commit transaction (conflicting files)
linux-firmware-nvidia: /usr/lib/firmware/nvidia/ad103 exists in filesystem
linux-firmware-nvidia: /usr/lib/firmware/nvidia/ad104 exists in filesystem
linux-firmware-nvidia: /usr/lib/firmware/nvidia/ad106 exists in filesystem
linux-firmware-nvidia: /usr/lib/firmware/nvidia/ad107 exists in filesystem
Errors occurred, no packages were upgraded.
Running pacman, it appears that -firmware
owns a bunch of nvidia firmware files, which -firmware-nvidia
attempts to access.
> pacman -Qo /usr/lib/firmware/nvidia/*
/usr/lib/firmware/nvidia/575.57.08/ is owned by nvidia-utils 575.57.08-1
/usr/lib/firmware/nvidia/ad102/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/ad103/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/ad104/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/ad106/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/ad107/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/ga100/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/ga102/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/ga103/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/ga104/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/ga106/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/ga107/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/gk20a/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/gm200/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/gm204/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/gm206/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/gm20b/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/gp100/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/gp102/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/gp104/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/gp106/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/gp107/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/gp108/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/gp10b/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/gv100/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/tegra124/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/tegra186/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/tegra194/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/tegra210/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/tu102/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/tu104/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/tu106/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/tu10x/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/tu116/ is owned by linux-firmware 20250508.788aadc8-2
/usr/lib/firmware/nvidia/tu117/ is owned by linux-firmware 20250508.788aadc8-2
[core](https://archlinux.org/packages/core/any/linux-firmware/) vs. [core-testing](https://archlinux.org/packages/core-testing/any/linux-firmware/)
Is it safe to pacman -R linux-firmware
, upgrade the system then reinstall -firmware
?
Hyunbin Yoo
(175 rep)
Jun 18, 2025, 02:33 PM
• Last activity: Jun 19, 2025, 09:36 PM
2
votes
1
answers
7380
views
Parrot OS Wifi Problems
I am using a Lenovo Thinkpad E15 Gen4, with the *Intel Corporation Alder Lake-P PCH CNVi WiFi (rev 01)* PCI wifi card. I have a fresh dual-boot install of Parrot OS and I'm having a very hard time getting Wifi to work. Here is the full *lspci -v* output of the card: ```00:14.3 Network controller: In...
I am using a Lenovo Thinkpad E15 Gen4, with the *Intel Corporation Alder Lake-P PCH CNVi WiFi (rev 01)* PCI wifi card.
I have a fresh dual-boot install of Parrot OS and I'm having a very hard time getting Wifi to work.
Here is the full *lspci -v* output of the card:
:14.3 Network controller: Intel Corporation Alder Lake-P PCH CNVi WiFi (rev 01)
Subsystem: Intel Corporation Wi-Fi 6E AX211 160MHz
Flags: fast devsel, IRQ 16, IOMMU group 9
Memory at 601d1cc000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [c8] Power Management version 3
Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: Express Root Complex Integrated Endpoint, MSI 00
Capabilities: MSI-X: Enable- Count=16 Masked-
Capabilities: Latency Tolerance Reporting
Capabilities: Vendor Specific Information: ID=0010 Rev=0 Len=014
Kernel modules: iwlwifi, wl
I have tried using iwlwifi without success, this is my first time installing firmware or dealing with issues like this, so I'm willing to try again with a comprehensive walkthrough.
I have run the google gauntlet, but after a few hours I haven't found any results yet. I tried most/all of the youtube guides instructing to download github repos, I assume half of those are for generic realtek or USB devices.
Any tips or information I can provide, please let me know!
komsire22
(21 rep)
Mar 25, 2023, 06:18 PM
• Last activity: Jun 12, 2025, 12:04 PM
5
votes
1
answers
5368
views
How do you update the firmware on a USB device with a device firmware update (DFU) file from Linux?
I have a USB speaker (a [Jabra Speak 410][1]) which I need to update the firmware on. When I try to use `fwupdmgr` it sees the device, informs me of the _existing_ firmware version (1.9) but does not execute any updates: $ fwupdmgr get-devices Jabra SPEAK 410 USB DeviceId: 87caecc4e6db7e3c335deedfef...
I have a USB speaker (a Jabra Speak 410 ) which I need to update the firmware on. When I try to use
fwupdmgr
it sees the device, informs me of the _existing_ firmware version (1.9) but does not execute any updates:
$ fwupdmgr get-devices
Jabra SPEAK 410 USB
DeviceId: 87caecc4e6db7e3c335deedfef38666e7f279a03
Guid: 537f7800-8529-5656-b2fa-b0901fe91696
Guid: a607e767-5dfd-5f21-ac0f-c774dbd6fed5
Guid: 1764c519-4723-5514-baf9-3b42970de487
Plugin: dfu
Flags: updatable|registered
VendorId: USB:0x0B0E
Version: 1.9
Icon: drive-harddisk-usb
Created: 2018-09-12
$ fwupdmgr update
$
I verified that there is an update file available (version 1.12 ). When I download the update file (Jabra_SPEAK_410_USB-1-12-0.dfu
) and attempt to use it with fwupdmgr write
it doesn't seem to do anything.
Brian Redbeard
(3168 rep)
Sep 12, 2018, 07:54 PM
• Last activity: Jun 9, 2025, 10:32 AM
0
votes
2
answers
4696
views
Debian - enable broadcom wireless controller
Ok, this is driving me crazy. I'm setting up an old Dell Precision M60 notebook, and I can't manage to enable support for its wireless device on debian squeeze. What I tried: lspci | grep -i wireless 02:03.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 02)...
Ok, this is driving me crazy. I'm setting up an old Dell Precision M60 notebook, and I can't manage to enable support for its wireless device on debian squeeze.
What I tried:
lspci | grep -i wireless
02:03.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 02)
nice. I found this page on debianwiki: bcm43xx . First of all, let's check if the device is really supported.
lspci -vnn -d 14e4:
02:03.0 Network controller : Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller [14e4:4320] (rev 02)
Subsystem: Dell TrueMobile 1300 WLAN Mini-PCI Card [1028:0001]
Flags: bus master, fast devsel, latency 32, IRQ 5
Memory at fafec000 (32-bit, non-prefetchable) [size=8K]
Capabilities:
Kernel driver in use: b43-pci-bridge
so it's [14e4:4320] (rev 02). And yes, it's supported . Back to the debianwiki page
" For 802.11b-only devices (BCM4301) or **802.11b/g devices with the BCM4306 revision 2 chipset, install firmware-b43legacy-installer**"
let's try:
sudo aptitude install firmware-b43legacy-installer
..
firmware-b43legacy-installer
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install. Trying to recover:
Setting up firmware-b43legacy-installer (4.178.10.4-4) ...
Not supported card here (PCI id 14e4:165
14e4:4320)!
Use b43 firmware. This is just for the b43legacy driver.
Aborting.
dpkg: error processing firmware-b43legacy-installer (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
firmware-b43legacy-installer
Setting up firmware-b43legacy-installer (4.178.10.4-4) ...
Not supported card here (PCI id 14e4:165
14e4:4320)!
Use b43 firmware. This is just for the b43legacy driver.
Aborting.
dpkg: error processing firmware-b43legacy-installer (--configure):
subprocess installed post-installation script returned error exit status 1
configured to not write apport reports
Errors were encountered while processing:
firmware-b43legacy-installer
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install. Trying to recover:
Setting up firmware-b43legacy-installer (4.178.10.4-4) ...
Not supported card here (PCI id 14e4:165
14e4:4320)!
Use b43 firmware. This is just for the b43legacy driver.
Aborting.
dpkg: error processing firmware-b43legacy-installer (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
firmware-b43legacy-installer
What? Let's try with the firmware-b43-installer
aptitude install firmware-b43-installer
It works. But:
sudo iwconfig
wlan0 IEEE 802.11bg ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=0 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
sudo ifconfig wlan0 up
SIOCSIFFLAGS: No such file or directory
Again? I googled the error and it is related to the firmware, but i Installed it! I already checked in
lib/firmware
, there's a b43 folder with the .fw files
Any idea?
randomUser
(1 rep)
Feb 28, 2013, 01:54 PM
• Last activity: May 20, 2025, 12:02 PM
2
votes
0
answers
98
views
How can I verify if GPU firmware was loaded on boot?
This is a follow-up to a question I asked a couple of days ago, relating to the `amdgpu` module not being loadable on boot after an Arch upgrade (https://unix.stackexchange.com/questions/794724/amdgpu-module-fails-to-load-after-arch-upgrade-cannot-allocate-memory). Having read around a bit online, I...
This is a follow-up to a question I asked a couple of days ago, relating to the
amdgpu
module not being loadable on boot after an Arch upgrade (https://unix.stackexchange.com/questions/794724/amdgpu-module-fails-to-load-after-arch-upgrade-cannot-allocate-memory) .
Having read around a bit online, I suspect the issue may be that the GPU firmware is not being loaded on boot. So, I have a double-barrelled question related to this:
1) How can I verify if the firmware for my AMD GPU was loaded on boot or not?
2) If it wasn't, is it possible to load the GPU firmware manually, after boot? Is there a command for that? (I know that won't be a workable long-term solution, but it might help pinpoint where the issue is)
Time4Tea
(2628 rep)
May 12, 2025, 12:59 PM
• Last activity: May 12, 2025, 03:29 PM
4
votes
1
answers
6545
views
fwupdmgr - 'Blocked executable in the ESP, ensure grub and shim are up to date'
Upgrading firmware via `fwupdmgr` results in following error: ``` $ fwupdmgr update Devices with no available firmware updates: • USB2.0 Hub • USB2.0 Hub • USB3.1 Hub • USB3.1 Hub • Integrated Camera • SSD 970 EVO Plus 1TB • UEFI Device Firmware • UEFI Device Firmware • UEFI Device Firmware • UEFI D...
Upgrading firmware via
fwupdmgr
results in following error:
$ fwupdmgr update
Devices with no available firmware updates:
• USB2.0 Hub
• USB2.0 Hub
• USB3.1 Hub
• USB3.1 Hub
• Integrated Camera
• SSD 970 EVO Plus 1TB
• UEFI Device Firmware
• UEFI Device Firmware
• UEFI Device Firmware
• UEFI Device Firmware
• UEFI Device Firmware
Devices with the latest available firmware version:
• Prometheus
• Prometheus IOTA Config
• System Firmware
╔══════════════════════════════════════════════════════════════════════════════╗
║ Upgrade UEFI dbx from 77 to 217? ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ This updates the dbx to the latest release from Microsoft which adds ║
║ insecure versions of grub and shim to the list of forbidden signatures due ║
║ to multiple discovered security updates. ║
║ ║
║ Before installing the update, fwupd will check for any affected executables ║
║ in the ESP and will refuse to update if it finds any boot binaries signed ║
║ with any of the forbidden signatures. If the installation fails, you will ║
║ need to update shim and grub packages before the update can be deployed. ║
║ ║
║ Once you have installed this dbx update, any DVD or USB installer images ║
║ signed with the old signatures may not work correctly. You may have to ║
║ temporarily turn off secure boot when using recovery or installation media, ║
║ if new images have not been made available by your distribution. ║
║ ║
╚══════════════════════════════════════════════════════════════════════════════╝
Perform operation? [Y|n]:
Downloading… [***************************************]
Downloading… [***************************************]
Decompressing… [***************************************]
Authenticating… [***************************************]
Waiting… [***************************************]
Writing… [***************************************]
Decompressing… [ ]
Blocked executable in the ESP, ensure grub and shim are up to date: /boot/efi/EFI/BOOT/BOOTX64.EFI Authenticode checksum [af79b14064601bc0987d4747af1e914a228c05d622ceda03b7a4f67014fee868] is present in dbx
How to proceed? I'm guessing /boot/efi/EFI/BOOT/BOOTX64.EFI
needs to be replaced. Shall I pull it from latest debian installation image? Is that the only file that should be replaced? What's the chance for bricking the system?
$ uname -a
Linux p14s 6.1.0-1-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.4-1 (2023-01-07) x86_64 GNU/Linux
$ sudo tree /boot/efi/
/boot/efi/
└── EFI
├── BOOT
│ ├── BOOTX64.EFI
│ ├── fbx64.efi
│ └── grubx64.efi
└── debian
├── BOOTX64.CSV
├── fbx64.efi
├── fw
│ └── fwupd-01453b71-da0c-4832-9f4f-e378245339c7.cap
├── fwupdx64.efi
├── grub.cfg
├── grubx64.efi
├── mmx64.efi
└── shimx64.efi
---
**Edit:**
$ sudo efibootmgr -v | grep "Boot$(sudo efibootmgr -v | awk '/BootCurrent/{print $2}')"
Boot0000* debian HD(1,GPT,488c1b76-c8f0-4e08-a48d-d4a0a3a4fa81,0x800,0x106000)/File(\EFI\debian\shimx64.efi)
Note File(\EFI\debian\shimx64.efi)
-- does this imply the file /boot/efi/EFI/BOOT/BOOTX64.EFI fwupdmgr complained about is not even used?
laur
(790 rep)
Jan 27, 2023, 01:44 PM
• Last activity: May 10, 2025, 09:06 PM
1
votes
0
answers
60
views
how do i get complete list of external firmware which is being loaded by the kernel during boot
I am compiling my own monolithic kernel for my Lenovo laptop. I am using the `CONFIG_EXTRA_FIRMWARE=` to specify which firmware files should be build into my kernel staticlly. with my older laptops, it used to be that usually only the wifi driver needed to load external firmware. But now with new la...
I am compiling my own monolithic kernel for my Lenovo laptop. I am using the
CONFIG_EXTRA_FIRMWARE=
to specify which firmware files should be build into my kernel staticlly.
with my older laptops, it used to be that usually only the wifi driver needed to load external firmware. But now with new laptops, everything needs firmware. When I boot my kernel, even my display does not work. last message I see is loading vmlinuz
After that, the display tries to switch to some framebuffer mode, and because there is no firmware driver for my GPU, the display does not work. And because wifi does not work either, I cannot connect vie ssh.
Anyways, I have booted Debian Live CD (trixie) which uses same kernel versions that I am compiling (6.12.). I was hoping when the system boots, I will be able to see in dmesg which firmware has been loaded. But that is not the case: it only shows messages which firmware it could not find.
So, my question is:
**how can I get list of firmware that is being loaded on my Debian laptop? I need exact file name / path**
Martin Vegter
(586 rep)
May 4, 2025, 08:54 AM
0
votes
1
answers
56
views
Unable to Mitigate GDS (gather_data_sampling) using Fedora 41, 40 Intel HP
I was using Fedora 40 and upgraded the system to Fedora 41 still getting this from my cpu information ``` $ cat /sys/devices/system/cpu/vulnerabilities/gather_data_sampling Vulnerable: No microcode ``` The microcode is also available for CPU. CPU Specs: ``` $ sudo lshw -c cpu *-cpu description: CPU...
I was using Fedora 40 and upgraded the system to Fedora 41 still getting this from my cpu information
$ cat /sys/devices/system/cpu/vulnerabilities/gather_data_sampling
Vulnerable: No microcode
The microcode is also available for CPU.
CPU Specs:
$ sudo lshw -c cpu
*-cpu
description: CPU
product: Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz
vendor: Intel Corp.
physical id: 4
bus info: cpu@0
version: 6.78.3
serial: To Be Filled By O.E.M.
slot: U3E1
size: 2100MHz
capacity: 4005MHz
width: 64 bits
clock: 100MHz
capabilities: lm fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp x86-64 constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp vnmi md_clear flush_l1d arch_capabilities cpufreq
configuration: cores=2 enabledcores=2 microcode=240 threads=4
Current Kernel info:
$ uname -a
Linux fedora 6.13.9-200.fc41.x86_64 #1 SMP PREEMPT_DYNAMIC Sat Mar 29 01:29:31 UTC 2025 x86_64 GNU/Linux
There is nothing to update message from dnf upgrade --refresh
Intel Document against the CVE: https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/gather-data-sampling.html
Tried using the microcode_ctl package with early load method failed
And for late loading
there is no file present named /sys/devices/system/cpu/microcode/reload
Or Bydefault fedora supports early loading of microcodes.
Foss Developer
(1 rep)
Apr 9, 2025, 10:30 AM
• Last activity: Apr 12, 2025, 12:18 PM
2
votes
1
answers
140
views
TPM2 in qemu running aarch64 alpine linux
I want to run an Alpine Linux VM and want to connect the host's TPM to the VM. The host is x86_64 based. The command for qemu is ``` qemu-system-aarch64 \ -m 1024 -cpu cortex-a57 -M virt \ -bios /usr/share/qemu-efi-aarch64/QEMU_EFI.fd \ -drive file=disk.qcow2,if=virtio,format=qcow2 \ -cdrom alpine-3...
I want to run an Alpine Linux VM and want to connect the host's TPM to the VM. The host is x86_64 based. The command for qemu is
qemu-system-aarch64 \
-m 1024 -cpu cortex-a57 -M virt \
-bios /usr/share/qemu-efi-aarch64/QEMU_EFI.fd \
-drive file=disk.qcow2,if=virtio,format=qcow2 \
-cdrom alpine-3.21.3-aarch64.iso \
-nographic \
-device virtio-net-device,netdev=n0 \
-netdev user,id=n0 \
-tpmdev type=passthrough,id=tpm0,path=/dev/tpmrm0,cancel-path=/dev/tpmrm0 \
-device tpm-tis-device,tpmdev=tpm0
As for the installation disk alpine-3.21.3-aarch64.iso
, I have tried both the "standard" and the "virt" version from here . They both boot fine and also the installation works, but from neither I can access the host's tpm. On the host, the TPM works fine, as I can test for example using tpm2_getrandom 8 --hex
and from the fact that /dev/tpm0
and /dev/tpmrm0
exist.
On the VM, those two devices do not exist and I cannot get it to work. Here some debugging output from the VM:
$ dmesg | grep -i tpm
[ 0.000000] efi: SMBIOS 3.0=0x7fed0000 TPMFinalLog=0x7c3e0000 MEMATTR=0x7e227018 ACPI 2.0=0x7c3d0018 TPMEventLog=0x7c3d9098 INITRD=0x7c3c9b18 MEMRESERVE=0x7c3c9b98
[ 0.000000] ACPI: TPM2 0x000000007C3DE898 00004C (v04 BOCHS BXPC 00000001 BXPC 00000001)
I had already added the kernel module tpm_tis_spi
to /etc/modules
. This is why I see:
$ lsmod | grep -i tpm
tpm_tis_spi 20480 0
tpm_tis_core 28672 1 tpm_tis_spi
tpm 102400 2 tpm_tis_core,tpm_tis_spi
rng_core 20480 1 tpm
There seem to be some drivers available:
$ find /lib/modules/$(uname -r) -name '*tpm*'
/lib/modules/6.12.16-0-lts/kernel/drivers/char/tpm
/lib/modules/6.12.16-0-lts/kernel/drivers/char/tpm/tpm.ko.gz
/lib/modules/6.12.16-0-lts/kernel/drivers/char/tpm/tpm_tis_spi.ko.gz
/lib/modules/6.12.16-0-lts/kernel/drivers/char/tpm/tpm_tis_core.ko.gz
/lib/modules/6.12.16-0-lts/kernel/drivers/char/tpm/tpm_atmel.ko.gz
/lib/modules/6.12.16-0-lts/kernel/drivers/char/tpm/xen-tpmfront.ko.gz
/lib/modules/6.12.16-0-lts/kernel/drivers/char/tpm/tpm_infineon.ko.gz
/sys/class/tpm/
and /sys/class/tpmrm/
exist, but are empty.
On the host, from tpm2_getcap properties-fixed
I figured out that the TPM is an Infineon SLB9670. On the VM, this only gives an error message (as currently expected):
$ tpm2_getcap properties-fixed
ERROR:tcti:src/tss2-tcti/tcti-device.c:455:Tss2_Tcti_Device_Init() Failed to open specified TCTI device file /dev/tpmrm0: No such file or directory
ERROR:tcti:src/tss2-tcti/tctildr-dl.c:149:tcti_from_file() Could not initialize TCTI file: device
ERROR:tcti:src/tss2-tcti/tctildr.c:477:tctildr_init_context_data() Failed to instantiate TCTI
ERROR: Could not load tcti, got: "(null)"
What am I missing?
HerpDerpington
(195 rep)
Feb 21, 2025, 07:26 PM
• Last activity: Feb 26, 2025, 04:19 PM
0
votes
0
answers
147
views
Installing Firmware and Driver for TV Tuner on Raspberry Pi OS (Pi 5)
I am not a total Linux noob, but I do have some knowledge gaps (particularly when it comes to drivers) and I'm kind of at a loss for how to proceed. I tried posting this to the Raspberry Pi forum, but was told I should post this question here. I have an old TV Tuner model Hauppauge WinTV-HVR-950 (no...
I am not a total Linux noob, but I do have some knowledge gaps (particularly when it comes to drivers) and I'm kind of at a loss for how to proceed. I tried posting this to the Raspberry Pi forum, but was told I should post this question here.
I have an old TV Tuner model Hauppauge WinTV-HVR-950 (not Hauppauge WinTV-HVR-950Q which supposedly has drivers included in the kernel). I was able to successfully configure it on my Raspberry Pi 4, but I'm now trying to set it up my new Raspberry Pi 5. When I set it up on the 4, I followed some guides, but I really didn't know what I was doing. Now, following what I think was the same guide, I have not been able to get it to work and I'm finding conflicting information about what exactly I'm supposed to do.
Here is the best source of information I've been able to find on getting this TV Tuner to work in Linux: Hauppauge_WinTV-HVR-950 .
So far, I've extracted the firmware from the Windows drivers (per the guide) and copied it to
/lib/firmware
:
cp xc3028-v27.fw /lib/firmware
I have also verified that the device is connected and detected using lsusb
.
The next section of the LinuxTV guide says:
> Drivers
>
> Use a recent snapshot of LinuxTV's v4l-dvb drivers
>
> Both analog and ATSC digital reception are supported
Read the above mentioned Firmware section for details on installing the proper firmware.
That brings me to this website, LinuxTV :
The instructions become very vague at this point and the documentation on that site completely overwhelming without any specific instructions about what to do.
A Google search brings up this guide: How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers .
The method described under "Retrieving and Building/Compiling the Latest media drivers Source Code" doesn't work because the only thing at git://linuxtv.org/media_build.git is a README file which says the project has been abandoned.
I was able to successfully follow the instructions starting at "Retrieving from the upstream development Kernel tree" until I get to "Installing the Compiled Driver Modules" and running this command:
sudo make modules_install install
Which give the following output with an error about unsupported initramfs version (which means nothing to me):
INSTALL [a whole bunch of stuff] ... run-parts: executing /etc/kernel/postinst.d/initramfs-tools 6.14.0-rc1-v8-16k+ /boot/vmlinuz-6.14.0-rc1-v8-16k+
update-initramfs: Generating /boot/initrd.img-6.14.0-rc1-v8-16k+
ERROR: Unsupported initramfs version (6.14.0-rc1-v8-16k+)
run-parts: executing /etc/kernel/postinst.d/z50-raspi-firmware 6.14.0-rc1-v8-16k+ /boot/vmlinuz-6.14.0-rc1-v8-16k+
And this command:
sudo make install
Which gives a similar output, but without all the INSTALL messages, still with the error:
INSTALL /boot
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 6.14.0-rc1-v8-16k+ /boot/vmlinuz-6.14.0-rc1-v8-16k+
update-initramfs: Generating /boot/initrd.img-6.14.0-rc1-v8-16k+
ERROR: Unsupported initramfs version (6.14.0-rc1-v8-16k+)
run-parts: executing /etc/kernel/postinst.d/z50-raspi-firmware 6.14.0-rc1-v8-16k+ /boot/vmlinuz-6.14.0-rc1-v8-16k+
Someone suggested running this command to solve the initramfs error:
apt-get auto-remove && apt-get clean && apt-get update && apt-get upgrade
Which gives:
Removing [a couple of things] ...
E: Could not open lock file /var/cache/apt/archives/lock - open (13: Permission denied)
E: Unable to lock directory /var/cache/apt/archives/
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)
I'm really not sure what this command what meant to accomplish, but it doesn't solve the problem as I still get the same errors when running sudo make install
.
Now I'm totally stuck and have no idea how to proceed. In sum here is the process and what I've done as I understand it.
- Extract firmware from windows driver
- Install firmware to Raspberry Pi
- Compile LinuxTV's v4l-dvb drivers
- Install LinuxTV's v4l-dvb drivers (errors)
Any help? Am I at least understanding the process and steps correctly?
Some final notes. I've been able to gather that some other DVR/DVB/Media Center applications such as OSMC do not have drivers yet for Raspberry Pi 5, which may be a factor here, but I'm not sure. I've also considered trying to pull the driver from the Pi 4, but I wouldn't know where to look and also I expect that it wouldn't work given that it is on a much older kernel version, but again I'm not very knowledgeable about how drivers work in Linux.
I also have a MyGica A681B USB TV tuner that works on Windows. It claims to have a Linux driver, but the instructions provided are not very clear and I've never seen a case of someone actually getting it to work on Linux. I've followed the instructions here: and installed the driver here: , but I have never been able to get it to work. In this post:
Someone suggests that it won't work since the driver provided is not "suitable for Debian ARMHF". Someone else suggests that it should be possible since "they're kernel drivers they should all be platform agnostic". Either way, the post ends without any resolution and I was never able to get it working on the Pi 4, so I don't have a lot of hope here, but I'm open to suggestions on that device as well.
imfm
(15 rep)
Feb 25, 2025, 08:38 PM
0
votes
1
answers
353
views
wifi 7 card based on intel BE200NGW chip - not working
Installed a Wifi 7 card manufactured by Glotrends. The journal shows it's detected, but firmware fails to load despite several attempts. `uname -a` `Linux compName 6.12.6-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.6-1 (2024-12-21) x86_64 GNU/Linux` (on kernel 6.11.10 results are the same) `sudo journa...
Installed a Wifi 7 card manufactured by Glotrends. The journal shows it's detected, but firmware fails to load despite several attempts.
uname -a
Linux compName 6.12.6-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.6-1 (2024-12-21) x86_64 GNU/Linux
(on kernel 6.11.10 results are the same)
sudo journalctl -xb | grep iwlwifi
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: Detected crf-id 0x2001910, cnv-id 0x2001910 wfpm id 0x80000000
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: PCI dev 272b/00f4, rev=0x472, rfid=0x112200
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: Detected Intel(R) Wi-Fi 7 BE200 320MHz
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: firmware: failed to load iwlwifi-gl-c0-fm-c0-93.ucode (-2)
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: firmware: failed to load iwlwifi-gl-c0-fm-c0-93.ucode (-2)
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-gl-c0-fm-c0-93.ucode failed with error -2
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: firmware: failed to load iwlwifi-gl-c0-fm-c0-92.ucode (-2)
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: firmware: failed to load iwlwifi-gl-c0-fm-c0-92.ucode (-2)
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-gl-c0-fm-c0-92.ucode failed with error -2
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: firmware: failed to load iwlwifi-gl-c0-fm-c0-91.ucode (-2)
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: firmware: failed to load iwlwifi-gl-c0-fm-c0-91.ucode (-2)
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-gl-c0-fm-c0-91.ucode failed with error -2
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: firmware: failed to load iwlwifi-gl-c0-fm-c0-90.ucode (-2)
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: firmware: failed to load iwlwifi-gl-c0-fm-c0-90.ucode (-2)
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-gl-c0-fm-c0-90.ucode failed with error -2
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: no suitable firmware found!
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: minimum version required: iwlwifi-gl-c0-fm-c0-90
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: maximum version supported: iwlwifi-gl-c0-fm-c0-93
Jan 14 08:00:54 compName kernel: iwlwifi 0000:02:00.0: check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
Based on manufacturer's [tech specs](https://www.glotrends-store.com/products/wifi-7-ex) , I expected the card to work out of the box. The site gives a link to Intel's site, where [drivers for Linux are also available](https://www.intel.com/content/www/us/en/download/824804/intel-wireless-wi-fi-drivers-for-linux.html) . The site says that drivers are already included with kernel 6.11, but the card requires firmware to work. The journal said the same thing, but I already have the iwlwifi
module installed.
likewise
(690 rep)
Jan 15, 2025, 12:36 AM
• Last activity: Feb 23, 2025, 06:40 PM
0
votes
1
answers
96
views
Adding a usb keyboard driver to a custom Linux firmware
I have a router running a custom Linux as firmware. I can ssh in and install packages via the entware repository. I’ve attached a keyboard to the USB port and I’d like to read the keyboard input. The keyboard appears in lsusb but /dev/input does not exist. I’m assuming the input drivers were removed...
I have a router running a custom Linux as firmware. I can ssh in and install packages via the entware repository. I’ve attached a keyboard to the USB port and I’d like to read the keyboard input. The keyboard appears in lsusb but /dev/input does not exist.
I’m assuming the input drivers were removed as part of the customization. Can I add a generic Linux keyboard driver to my firmware? Can I just go to an existing Linux machine and copy the keyboard driver from /dev/input? If not, what else could I try?
Christopher Meyers
(101 rep)
Feb 15, 2025, 03:46 PM
• Last activity: Feb 15, 2025, 06:42 PM
3
votes
1
answers
263
views
sha256 checksum for my dpkg intel-microcode_3.20241112.1~deb12u1_amd64.deb doesn't match Debian website checksum. Worry?
I believe this is the right way to confirm package integrity - ``` $ sha256sum /var/cache/apt/archives/intel-microcode_3.20241112.1~deb12u1_amd64.deb 5ae98379ad2ca170ab4808d2e78e86560a6976264557a3f26c8829ed45aa33bd /var/cache/apt/archives/intel-microcode_3.20241112.1~deb12u1_amd64.deb ``` However th...
I believe this is the right way to confirm package integrity -
$ sha256sum /var/cache/apt/archives/intel-microcode_3.20241112.1~deb12u1_amd64.deb
5ae98379ad2ca170ab4808d2e78e86560a6976264557a3f26c8829ed45aa33bd /var/cache/apt/archives/intel-microcode_3.20241112.1~deb12u1_amd64.deb
However the Debian website page
https://packages.debian.org/sid/amd64/intel-microcode/download
with the title *"Download Page for intel-microcode_3.20241112.1_amd64.deb on AMD64 machines"*
lists
Exact Size 7107380 Byte (6.8 MByte)
MD5 checksum b132ba25e76a0362993eeacac0d26275
SHA1 checksum Not Available
SHA256 checksum 6aaeef4e106a983b88c8ddec99d105e91064037ead83cc6b35dd1e6d675df485
Also, the size is different
-rw-r--r-- 1 root root 7109172 Dec 18 05:46 /var/cache/apt/archives/intel-microcode_3.20241112.1~deb12u1_amd64.deb
Obviously if the size is different then the checksum will be different, but I checked the checksum before noticing the size.
Is there some innocent explanation for this?
Craig Hicks
(746 rep)
Feb 14, 2025, 04:53 PM
• Last activity: Feb 14, 2025, 05:04 PM
3
votes
1
answers
378
views
Unual firmware update = dmesg: "microcode: microcode updated early to revision 0xf8, date = 2023-09-28"
After unlocking disk the usual verbiage changed and there was a message about downloading firmware. I want to find out what was going on so I tried dmsg - ``` % sudo dmsg [ 0.000000] microcode: microcode updated early to revision 0xf8, date = 2023-09-28 [ 0.000000] Linux version 6.1.0-30-amd64 (debi...
After unlocking disk the usual verbiage changed and there was a message about downloading firmware. I want to find out what was going on so I tried dmsg -
% sudo dmsg
[ 0.000000] microcode: microcode updated early to revision 0xf8, date = 2023-09-28
[ 0.000000] Linux version 6.1.0-30-amd64 (debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.124-1 (2025-01-12)
The microcode message is very vague. Is it unusual?
How can I determine what firmware I have, what I should have, and what is available?
------------------
Edit: top of changelog.Debian
intel-microcode (3.20241112.1~deb12u1) bookworm; urgency=medium
* Build for bookworm
* All trixie-only changes (from 3.20240813.2) are reverted on this branch
-- Henrique de Moraes Holschuh Sat, 07 Dec 2024 14:49:05 -0300
intel-microcode (3.20241112.1) unstable; urgency=medium
* New upstream microcode datafile 20241112 (closes: #1086483)
- Mitigations for INTEL-SA-01101 (CVE-2024-21853)
Improper Finite State Machines (FSMs) in the Hardware logic in some
4th and 5th Generation Intel Xeon Processors may allow an authorized
user to potentially enable denial of service via local access.
- Mitigations for INTEL-SA-01079 (CVE-2024-23918)
Potential security vulnerabilities in some Intel Xeon processors
using Intel SGX may allow escalation of privilege. Intel disclosed
that some processor models were already fixed by a previous
microcode update.
- Updated mitigations for INTEL-SA-01097 (CVE-2024-24968)
Improper finite state machines (FSMs) in hardware logic in some
Intel Processors may allow an privileged user to potentially enable a
denial of service via local access.
- Mitigations for INTEL-SA-01103 (CVE-2024-23984)
A potential security vulnerability in the Running Average Power Limit
(RAPL) interface for some Intel Processors may allow information
disclosure. Added mitigations for more processor models.
* Updated Microcodes:
sig 0x000806f8, pf_mask 0x87, 2024-06-20, rev 0x2b000603, size 588800
sig 0x000806f7, pf_mask 0x87, 2024-06-20, rev 0x2b000603
sig 0x000806f6, pf_mask 0x87, 2024-06-20, rev 0x2b000603
sig 0x000806f5, pf_mask 0x87, 2024-06-20, rev 0x2b000603
sig 0x000806f4, pf_mask 0x87, 2024-06-20, rev 0x2b000603
sig 0x00090672, pf_mask 0x07, 2024-05-29, rev 0x0037, size 224256
sig 0x00090675, pf_mask 0x07, 2024-05-29, rev 0x0037
sig 0x000b06f2, pf_mask 0x07, 2024-05-29, rev 0x0037
sig 0x000b06f5, pf_mask 0x07, 2024-05-29, rev 0x0037
sig 0x000906a3, pf_mask 0x80, 2024-06-03, rev 0x0435, size 223232
sig 0x000906a4, pf_mask 0x80, 2024-06-03, rev 0x0435
sig 0x000a06a4, pf_mask 0xe6, 2024-08-02, rev 0x0020, size 138240
sig 0x000b06a2, pf_mask 0xe0, 2024-05-29, rev 0x4123, size 220160
sig 0x000b06a3, pf_mask 0xe0, 2024-05-29, rev 0x4123
sig 0x000b06a8, pf_mask 0xe0, 2024-05-29, rev 0x4123
sig 0x000c06f2, pf_mask 0x87, 2024-06-20, rev 0x21000283, size 560128
sig 0x000c06f1, pf_mask 0x87, 2024-06-20, rev 0x21000283
* source: update symlinks to reflect id of the latest release, 20241112
* Update changelog for 3.20240910.1 and 3.20240813.1 with new information:
INTEL-SA-1103 was addressed by 3.20240813.1 for some processor models,
and not by 3.20240910. INTEL-SA-1079 was addressed by 3.20240910.1 for
some processor models.
-- Henrique de Moraes Holschuh Thu, 14 Nov 2024 15:37:40 -0300
Craig Hicks
(746 rep)
Feb 13, 2025, 08:23 PM
• Last activity: Feb 14, 2025, 05:21 AM
Showing page 1 of 20 total questions