Has anyone had any luck installing the driver for a QCNCM865 adapter. It was working for me when I had Windows 11 on the device but having all kinds of issues with ZimaOS. Would love to hear how others have solved driver issues with wireless adapters or this one in particular.
I believe the issue is that ZimaOS is Buildroot-based, not a full Debian/Ubuntu-style OS, so WiFi adapters (especially newer Wi-Fi 7 like QCNCM865 / 802.11be) can be difficult because drivers/firmware support depends entirely on what’s already included in the ZimaOS build.
I suggest:
- First confirm it’s detected:
lspci | grep -i networkdmesg | grep -iE "wifi|wlan|firmware|ath|qcn"
- If you see firmware missing / driver not found, then it’s not really “installing a driver” like Windows, it means ZimaOS likely doesn’t include the required module/firmware for this adapter yet.
Best workaround for now:
- Use wired Ethernet, or
- Use a known-supported USB WiFi adapter (older / common chipsets tend to work better), or
- Run a VM/container that supports WiFi tools better (if your use-case allows)
If you paste the lspci -nn + WiFi-related dmesg lines, we can confirm exactly what’s missing.
You are correct, it is a ZimaOS issue. I have a hard wire connection, but wanted to to go wifi to move the laptop any room. Hopefully, support comes soon.
This is ZimaOS driver/firmware support, not the hardware itself.
But to move this forward (and help the Zima team fix it faster), I suggest you paste the actual outputs from these so we can see exactly what ZimaOS is failing on:
lspci -nn | grep -i networkdmesg | grep -iE "wifi|wlan|firmware|ath|qcn|wcn"
Even 10–20 lines is enough.
If it shows ath12k / firmware missing, then the fix is likely a ZimaOS update adding the right firmware + kernel module.
Also just a heads up: for now WiFi on ZimaOS can be inconsistent, most of us recommend wired or using a small travel WiFi bridge (connects to WiFi and feeds Ethernet to Zima) which gives you full wireless freedom without relying on OS driver support.
[ 4.062583] systemd[1]: Reached target Path Units.
[ 4.141341] systemd[1]: One time configuration for iscsi.service was skipped because of an unmet condition check (ConditionPathExists=!/etc/iscsi/initiatorname.iscsi).
[ 4.861628] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[ 4.866154] Bluetooth: hci0: Found device firmware: intel/ibt-0291-0291.sfi
[ 4.866256] Bluetooth: hci0: Firmware Version: 17-49.24
[ 4.893420] Intel(R) Wireless WiFi driver for Linux
[ 4.893646] iwlwifi 0000:58:00.0: enabling device (0000 → 0002)
[ 4.911122] iwlwifi 0000:58:00.0: Detected crf-id 0x2001910, cnv-id 0x2001910 wfpm id 0x80000000
[ 4.911290] iwlwifi 0000:58:00.0: PCI dev 272b/00f4, rev=0x472, rfid=0x112200
[ 4.911295] iwlwifi 0000:58:00.0: Detected Intel(R) Wi-Fi 7 BE200 320MHz
[ 4.912660] iwlwifi 0000:58:00.0: Direct firmware load for iwlwifi-gl-c0-fm-c0-93.ucode failed with error -2
[ 4.920985] iwlwifi 0000:58:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.182.4.1
[ 4.921368] iwlwifi 0000:58:00.0: loaded firmware version 92.67ce4588.0 gl-c0-fm-c0-92.ucode op_mode iwlmvm
[ 5.128423] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/icl_dmc_ver1_09.bin (v1.9)
[ 5.287653] iwlwifi 0000:58:00.0: Detected RF FM, rfid=0x112200
[ 5.288932] iwlwifi 0000:58:00.0: loaded PNVM version 97f4ce1a
[ 5.300220] sof-audio-pci-intel-icl 0000:00:1f.3: SOF firmware and/or topology file not found.
[ 5.300225] sof-audio-pci-intel-icl 0000:00:1f.3: Firmware file: intel/sof/sof-icl.ri
[ 5.300227] sof-audio-pci-intel-icl 0000:00:1f.3: Check if you have ‘sof-firmware’ package installed.
[ 5.404864] iwlwifi 0000:58:00.0: base HW address: 70:08:10:ad:c0:0f
[ 6.718828] Bluetooth: hci0: Waiting for firmware download to complete
[ 6.719765] Bluetooth: hci0: Firmware loaded in 1810158 usecs
[ 6.783771] Bluetooth: hci0: Firmware timestamp 2024.49 buildtype 1 build 72721
[ 6.783774] Bluetooth: hci0: Firmware SHA1: 0x280bee01
[ 12.931719] iwlwifi 0000:58:00.0: Registered PHC clock: iwlwifi-PTP, with index: 0
Thanks for sharing the logs, this is exactly what we needed.
I believe we’ve now found the root cause.
Your logs are showing Intel Wi-Fi 7 BE200 (320MHz) being detected:
Detected Intel(R) Wi-Fi 7 BE200 320MHz
And the key error is:
Direct firmware load ... 93.ucode failed with error -2
That error means ZimaOS doesn’t currently include the newer BE200 firmware file (v93), so it falls back to an older one:
loaded firmware version ... 92.ucode
I suggest you contact IceWhale / ZimaOS support and attach this snippet, because the fix needs to happen inside the ZimaOS build (adding the missing Intel iwlwifi firmware). This is the type of issue they can solve properly in an update.
If you want, also paste:
ip linkiw dev
and we can confirm if the WiFi interface is coming up correctly after the fallback firmware loads.
ip link
1: lo: <LOOPBACK,UP,LOWER_UP> 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
2: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DORMANT group default qlen 1000
link/ether 2e:43:4b:ac:f1:44 brd ff:ff:ff:ff:ff:ff permaddr 70:08:10:ad:c0:0f
altname wlp88s0f0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 00:00:ba:60:39:27 brd ff:ff:ff:ff:ff:ff
altname enp0s20f0u2
4: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 02:81:cf:9b:70:ff brd ff:ff:ff:ff:ff:ff
5: thunderboltbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 65520 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
link/ether 7a:e0:35:cb:14:15 brd ff:ff:ff:ff:ff:ff
6: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:bc:97:a6 brd ff:ff:ff:ff:ff:ff
7: ztvh7flndf: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 2800 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000
link/ether 3a:1d:94:3f:00:3f brd ff:ff:ff:ff:ff:ff
8: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default
link/ether 02:42:65:e7:fb:da brd ff:ff:ff:ff:ff:ff
root@razorZima:/root ➜ # iw dev
-bash: iw: command not found
Just submitted, thanks for the support!!!
Thanks, that confirms everything clearly
I believe the adapter is being detected correctly, because wlan0 is present:
wlan0: <NO-CARRIER,...,UP> state DOWN / DORMANT
So the driver is loading, but WiFi isn’t actually coming online / connecting.
Also important: iw dev fails with:
iw: command not found
Which confirms ZimaOS doesn’t currently ship with the iw tool, so even basic WiFi debugging isn’t available from CLI yet.
Combined with your earlier log showing the missing firmware:
... 93.ucode failed with error -2(falls back to v92)
I suggest you contact IceWhale support/community and include these outputs. The fix needs to be done in the ZimaOS build by:
- bundling the missing Intel iwlwifi BE200 firmware, and
- including basic WiFi tooling like iw (or equivalent), so it can be managed/debugged properly.
For now your best workaround for “portable” ZimaOS is:
- keep Ethernet, and use a small WiFi-to-Ethernet travel bridge (it gives full WiFi mobility without relying on OS driver packages)