Enabling WiFi on Cubox i2eX running Debian 12

I have a Cubox i2eX running Debian 12 . When i run `ip link show’ there is no WiFi interface showing up. How do I enable WiFi? I guess there is a driver I need to install but which one is it?

$ ip link show
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: end0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether d0:63:b4:00:97:0e brd ff:ff:ff:ff:ff:ff
$ cat /etc/debian_version 
12.11
$ uname -a
Linux server 6.1.0-37-armmp #1 SMP Debian 6.1.140-1 (2025-05-22) armv7l GNU/Linux

After searching the internet I found that the correct driver seems to be Broadcom FullMAC so I installed firmware-brcm80211:

$ apt search brcmfmac
Sorting... Done
Full Text Search... Done
firmware-brcm80211/stable,now 20230210-5 all
  Binary firmware for Broadcom/Cypress 802.11 wireless cards
$ sudo apt install  firmware-brcm80211
...

However, after restarting the computer no WiFi interface shows up and dmesg displays the lines

[   18.620322] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4330-sdio for chip BCM4330/4
[   18.621178] usbcore: registered new interface driver brcmfmac
[   18.621702] brcmfmac mmc0:0001:1: firmware: failed to load brcm/brcmfmac4330-sdio.solidrun,cubox-i-q.bin (-2)
[   18.700244] brcmfmac mmc0:0001:1: firmware: failed to load brcm/brcmfmac4330-sdio.solidrun,cubox-i-q.bin (-2)
[   18.710276] brcmfmac mmc0:0001:1: Direct firmware load for brcm/brcmfmac4330-sdio.solidrun,cubox-i-q.bin failed with error -2

I have also read that some drivers only work with Intel CPU:s so I don’t know if that is the case here.

sorry, been a busy couple of days. Newer kernel drivers look for firmware based on the device-tree machine name. You can just go into /lib/firmware/brcm and create links to the firmware files that match what the driver is trying to load. If the driver is a module this should be enough, if the driver is built directly into the kernel then you should also build the firmware files directly into the firmware.

Make the changes I suggested and if you still have issues then ping me and post your full dmesg after boot.

Thanks for the input! I created symlinks to the available bin and txt files matching brcmfmac4330. There is no clm_blob file however which starts with brcmfmac4330. Below is are the lines from dmesg that contains brcm (as a new user I was not allowed to upload it as an attatchment and the full dmesg is longer than the input field allows).

$ cd /lib/firmware/brcm
$ ls -l brcmfmac4330*
-rw-r--r-- 1 root root 223581 May  1  2023 brcmfmac4330-sdio.bin
-rw-r--r-- 1 root root   1509 May  1  2023 brcmfmac4330-sdio.Prowise-PT301.txt
lrwxrwxrwx 1 root root     21 Jun 28 16:25 brcmfmac4330-sdio.solidrun,cubox-i-q.bin -> brcmfmac4330-sdio.bin
lrwxrwxrwx 1 root root     35 Jun 28 16:43 brcmfmac4330-sdio.solidrun,cubox-i-q.txt -> brcmfmac4330-sdio.Prowise-PT301.txt
$ sudo dmesg
...
[   18.392350] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4330-sdio for chip BCM4330/4
[   18.392628] usbcore: registered new interface driver brcmfmac
[   18.416286] brcmfmac mmc0:0001:1: firmware: direct-loading firmware brcm/brcmfmac4330-sdio.solidrun,cubox-i-q.bin
[   18.423400] brcmfmac mmc0:0001:1: firmware: direct-loading firmware brcm/brcmfmac4330-sdio.solidrun,cubox-i-q.txt
[   18.423672] brcmfmac mmc0:0001:1: firmware: failed to load brcm/brcmfmac4330-sdio.solidrun,cubox-i-q.clm_blob (-2)
[   18.512283] brcmfmac mmc0:0001:1: firmware: failed to load brcm/brcmfmac4330-sdio.solidrun,cubox-i-q.clm_blob (-2)
[   18.522968] sd 1:0:0:0: [sda] 3906963456 512-byte logical blocks: (2.00 TB/1.82 TiB)
[   18.523980] sd 1:0:0:0: [sda] Write Protect is off
[   18.524001] sd 1:0:0:0: [sda] Mode Sense: 47 00 10 08
[   18.524939] sd 1:0:0:0: [sda] No Caching mode page found
[   18.524956] sd 1:0:0:0: [sda] Assuming drive cache: write through
[   18.530382]  sda: sda1
[   18.530917] sd 1:0:0:0: [sda] Attached SCSI disk
[   18.559771] brcmfmac mmc0:0001:1: firmware: failed to load brcm/brcmfmac4330-sdio.clm_blob (-2)
[   18.672275] brcmfmac mmc0:0001:1: firmware: failed to load brcm/brcmfmac4330-sdio.clm_blob (-2)
[   18.681121] brcmfmac mmc0:0001:1: Direct firmware load for brcm/brcmfmac4330-sdio.clm_blob failed with error -2
[   19.042186] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[   19.042897] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4330/4 wl0: Jan 23 2013 17:46:35 version 5.90.195.114 FWID 01-cafa6b3e
...
[   25.628205] ieee80211 phy0: brcmf_p2p_create_p2pdev: timeout occurred
[   25.634763] ieee80211 phy0: brcmf_cfg80211_add_iface: add iface p2p-dev-wlan0 type 10 failed: err=-5
...

After the changes the interface shows up but it’s down despite trying to bring it up and no WiFi hotspots are displayed. How do I proceed from here?

$ sudo ip link set wlan0 up
$ sudo ip link set wlan0 mode default
$ ip link show
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: end0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether d0:63:b4:00:97:0e brd ff:ff:ff:ff:ff:ff
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
    link/ether 52:b7:ca:df:d1:73 brd ff:ff:ff:ff:ff:ff permaddr 4c:aa:16:fe:ca:f7
$ nmcli device wifi list --rescan yes
IN-USE  BSSID  SSID  MODE  CHAN  RATE  SIGNAL  BARS  SECURITY

you need to rfkill unblock all the interfaces. Systemd should then retain the state it is left in, but they default to blocked on most distros.

OK, I just tried this but ip link still shows “state DOWN” (for wlan0):

$ sudo rfkill unblock all
$ sudo ip link set wlan0 up
$ 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: end0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether d0:63:b4:00:97:0e brd ff:ff:ff:ff:ff:ff
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
    link/ether 26:6f:76:27:a7:8e brd ff:ff:ff:ff:ff:ff permaddr 4c:aa:16:fe:ca:f7

I would be really thankful if this issue could be resolved. I don’t know how other users have solved this problem but I’m sure it would be valuable to other people owning a Cubox computer that needs this driver. And Debian stable is almost a de facto standard Linux distribution so I’m not doing something obscure here.

have you configured the wlan0 interface to connect to an AP? From your previous post it is showing up, but the link status won’t be up until it actually negotiates with an AP and creates a connection.

From your previous post it is showing up, but the link status won’t be up until it actually negotiates with an AP and creates a connection.

When I scan for access points the list is empty:

$ sudo iwlist wlan0 scan                                       
wlan0     No scan results

I have other computers in the same location that are connected to my router through WiFi. What is the next thing to do in troubleshooting the issue?