Hardware: Dell Inc. Embedded Box PC 3000
Firmware: 21.02.1 r16325-88151b8303 (x86_64)
Per Dell, the correct drivers for wifi are "mwifiex_pcie. Dell driver page
Dell's page specifically refers to Ubuntu, but OpenWrt automatically installed packages with the same name (mwifiex-pcie-firmware and kmod-mwifiex-pcie), so I'm guessing the correct drivers are in place.
dmesg reports the following lines that appear relevant:
[ 8.583937] mwifiex_pcie: PCI memory map Virt0: 0000000072c576f1 PCI memory map Virt2: 0000000065210b80
[ 8.717479] mwifiex_pcie 0000:04:00.0: PCI-E is not the winner <0x6>
[ 8.724205] mwifiex_pcie 0000:04:00.0: WLAN is not the winner! Skip FW dnld
[ 25.004745] mwifiex_pcie 0000:04:00.0: FW failed to be active in time
[ 25.011576] mwifiex_pcie 0000:04:00.0: info: _mwifiex_fw_dpc: unregister device
[ 25.019985] mwifiex_pcie 0000:04:00.0: performing cancel_work_sync()...
[ 25.026963] mwifiex_pcie 0000:04:00.0: cancel_work_sync() done
No wlan interfaces are defined, and no wlan devices show up in Luci under either device type or existing devices.
Installation did not generate a file at /etc/config/wireless. I created one with a single line: "disabled 0" after reading this article: [OpenWrt Wiki] How do I enable WiFi?
That didn't seem to be the problem.
After uninstalling and reinstalling the drivers, I tried:
I'm unable to add a wireless device or interface in luci, and no "Wireless" option appears in the "Network" menu.
I could try manually adding entries in "/etc/config/wireless," but haven't had to do that before.
Do I just make up values, like 'radio0' and 'radio1' and see if those will work, or will the same issue that prevented auto detection would also prevent use after manual config?
For example, I'm looking at the "/etc/config/wireless" from an OpenWrt AP with working wifi, and it includes the following option:
There is indeed a file with that name at /sys/devices/platform//10300000.wmac on that OpenWrt AP.
On the machine without working wifi, I could not find a wmac file within /sys/devices. However, I did find a directory that matched the number in the dmesg error message. Directory contents:
sys/devices/pci0000:00/0000:00:1c.3/0000:04:00.0:
-r--r--r-- 1 root root 4096 Feb 17 09:55 ari_enabled
-rw-r--r-- 1 root root 4096 Feb 17 09:55 broken_parity_status
-r--r--r-- 1 root root 4096 Feb 17 09:55 class
-rw-r--r-- 1 root root 256 Feb 17 09:55 config
-r--r--r-- 1 root root 4096 Feb 17 09:55 consistent_dma_mask_bits
--w------- 1 root root 4096 Feb 17 09:55 coredump
-r--r--r-- 1 root root 4096 Feb 17 09:55 current_link_speed
-r--r--r-- 1 root root 4096 Feb 17 09:55 current_link_width
-rw-r--r-- 1 root root 4096 Feb 17 09:55 d3cold_allowed
-r--r--r-- 1 root root 4096 Feb 17 09:55 device
-r--r--r-- 1 root root 4096 Feb 17 09:55 dma_mask_bits
lrwxrwxrwx 1 root root 0 Feb 17 09:55 driver -> ../../../../bus/pci/drivers/mwifiex_pcie
-rw-r--r-- 1 root root 4096 Feb 17 09:55 driver_override
-rw-r--r-- 1 root root 4096 Feb 17 09:55 enable
lrwxrwxrwx 1 root root 0 Feb 17 09:55 firmware_node -> ../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:3d/device:3e
-r--r--r-- 1 root root 4096 Feb 17 09:55 irq
-r--r--r-- 1 root root 4096 Feb 17 09:55 local_cpulist
-r--r--r-- 1 root root 4096 Feb 17 09:55 local_cpus
-r--r--r-- 1 root root 4096 Feb 17 09:55 max_link_speed
-r--r--r-- 1 root root 4096 Feb 17 09:55 max_link_width
-r--r--r-- 1 root root 4096 Feb 17 09:55 modalias
-rw-r--r-- 1 root root 4096 Feb 17 09:55 msi_bus
drwxr-xr-x 2 root root 0 Feb 17 09:55 power
--w--w---- 1 root root 4096 Feb 17 09:55 remove
--w------- 1 root root 4096 Feb 17 09:55 rescan
--w------- 1 root root 4096 Feb 17 09:55 reset
-r--r--r-- 1 root root 4096 Feb 17 09:55 resource
-rw------- 1 root root 1048576 Feb 17 09:55 resource0
-rw------- 1 root root 1048576 Feb 17 09:55 resource0_wc
-rw------- 1 root root 1048576 Feb 17 09:55 resource2
-rw------- 1 root root 1048576 Feb 17 09:55 resource2_wc
-r--r--r-- 1 root root 4096 Feb 17 09:55 revision
lrwxrwxrwx 1 root root 0 Feb 17 09:55 subsystem -> ../../../../bus/pci
-r--r--r-- 1 root root 4096 Feb 17 09:55 subsystem_device
-r--r--r-- 1 root root 4096 Feb 17 09:55 subsystem_vendor
-rw-r--r-- 1 root root 4096 Feb 17 09:55 uevent
-r--r--r-- 1 root root 4096 Feb 17 09:55 vendor
Is there something in this directory I should use to know what to put in /etc/config/wireless?
It might be easier to continue testing/ debugging on a general purpose linux distribution, e.g. the Ubuntu or Fedora live media. Those should have 'all' potential kernel modules enabled and many firmwares preinstalled, allowing you to check functionality, deduce from dmesg whats happening and then compare with OpenWrt which parts are needed or might be missing.
(Fedora has some experience with mwifiex due to OLPC and should be 'cleaner' than Ubuntu in regards to proprietary or out-of-tree modules, making it a fairer comparison with OpenWrt, Ubuntu has potentially a higher chance to 'just work' - test both).