Supported MediaTek WiFi Module not Showing in Proxmox lspci

Arjestin

New Member
Oct 24, 2024
5
1
3
The WiFi module is ALFA AWM27921U. It uses MediaTek MT7921AUN chipset. The module is installed into the M.2 B Key of Qotom Q20331G9.
I tested the system with Windows 11, Ubuntu LTS, and Debian 12. The WiFi module was successfully recognized by all 3 operating systems.
I installed Proxmox VE 8.3 and updated it to the latest version. When I run the lspci command, the WiFi module is not recognized.
Firmware is located in /lib/firmware/mediatek. I tried to copy the firmware from Ubuntu LTS and Debian 12, but that did not solve the issue.

If you know what may be causing this issue with Proxmox, Please let me know. Thank you!
 
The WiFi module is ALFA AWM27921U. It uses MediaTek MT7921AUN chipset. The module is installed into the M.2 B Key of Qotom Q20331G9.
I tested the system with Windows 11, Ubuntu LTS, and Debian 12. The WiFi module was successfully recognized by all 3 operating systems.
I installed Proxmox VE 8.3 and updated it to the latest version. When I run the lspci command, the WiFi module is not recognized.
Firmware is located in /lib/firmware/mediatek. I tried to copy the firmware from Ubuntu LTS and Debian 12, but that did not solve the issue.

If you know what may be causing this issue with Proxmox, Please let me know. Thank you!
No experience with that particular Adapter, but I had a few Issues of my own on some Rock 5B SBC with Mediatek USB WiFi Adapters.

There I have the Fenvi which uses the mt7921au Driver (non-n) which is a USB-to-WiFi Adapter.

First of all, did you rebuild the Initramfs and reboot after you installed the Firmware ?

Code:
update-grub; update-initramfs -k all -u; reboot

Then try to see if you can see anything in dmesg:
Code:
dmesg | grep -i mt79

Secondly, did you install the most recent Version ?

Unfortunately on Proxmox VE the firmware-linux-free, firmware-linux-free and firmware-linux-free conflict with Proxmox own pve-firmware.

But apparently firmware-mediatek does NOT conflict, but that seems to not contain any File :( . You'd need to install it from the bookworm-backports Repository anyways.

Another alternative might be to just grab the required Files from the Linux Kernel Firmware Tree here: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/mediatek

For more I suggest you read through morrownr excellent GitHub Documentation Repository & Discussions.

Other Options ... Did you try to do a PCIe pass through to a Debian/Ubuntu VM ? You need to enable VT-D in BIOS and GRUB Command Line for that to work though.

Proxmox isn't really made for WiFi IMHO, just like OPNSense isn't made for WiFi either. You most likely need to pass through another Linux VM for that to work correctly, because Proxmox does a lot of Patching on top of the Ubuntu Kernel and their Packages aren't 100% compatible with Debian, as you might have noticed.

EDIT 1: In term of Linux Kernel Modules, it should be good though (difficult to fully tell if/which maps to mt7921aun though)
Code:
root@HOST:~# cat /boot/config-6.8.12-9-pve | grep -i MT79
CONFIG_MT792x_LIB=m
CONFIG_MT792x_USB=m
CONFIG_MT7915E=m
CONFIG_MT7921_COMMON=m
CONFIG_MT7921E=m
CONFIG_MT7921S=m
CONFIG_MT7921U=m
CONFIG_MT7996E=m
CONFIG_MT7925_COMMON=m
CONFIG_MT7925E=m
CONFIG_MT7925U=m

Check also that there is no blacklisting going on in /etc/modprobe.d/ and/or /etc/modules-load.d/. IIRC only nvidiafb is blacklisted by default though.

EDIT 2: maybe you need to load the Module Manually ?

Code:
modprobe mt7921u

And if that works, add it to /etc/modules-load.d/mediatek.conf (note, I cannot remember 100%, but either the Files in /etc/modules-load.d and/or the Files in /etc/modprobe.d IGNORE THE FIRST LINE when they get parsed, so make sure you leave the 1st Line as Comment as the directive might otherwise be ignored !!!):
Code:
# Load Kernel Module
mt7921u
 
Last edited:
No experience with that particular Adapter, but I had a few Issues of my own on some Rock 5B SBC with Mediatek USB WiFi Adapters.

There I have the Fenvi which uses the mt7921au Driver (non-n) which is a USB-to-WiFi Adapter.

First of all, did you rebuild the Initramfs and reboot after you installed the Firmware ?

Code:
update-grub; update-initramfs -k all -u; reboot

Then try to see if you can see anything in dmesg:
Code:
dmesg | grep -i mt79

Secondly, did you install the most recent Version ?

Unfortunately on Proxmox VE the firmware-linux-free, firmware-linux-free and firmware-linux-free conflict with Proxmox own pve-firmware.

But apparently firmware-mediatek does NOT conflict, but that seems to not contain any File :( . You'd need to install it from the bookworm-backports Repository anyways.

Another alternative might be to just grab the required Files from the Linux Kernel Firmware Tree here: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/mediatek

For more I suggest you read through morrownr excellent GitHub Documentation Repository & Discussions.

Other Options ... Did you try to do a PCIe pass through to a Debian/Ubuntu VM ? You need to enable VT-D in BIOS and GRUB Command Line for that to work though.

Proxmox isn't really made for WiFi IMHO, just like OPNSense isn't made for WiFi either. You most likely need to pass through another Linux VM for that to work correctly, because Proxmox does a lot of Patching on top of the Ubuntu Kernel and their Packages aren't 100% compatible with Debian, as you might have noticed.

EDIT 1: In term of Linux Kernel Modules, it should be good though (difficult to fully tell if/which maps to mt7921aun though)
Code:
root@HOST:~# cat /boot/config-6.8.12-9-pve | grep -i MT79
CONFIG_MT792x_LIB=m
CONFIG_MT792x_USB=m
CONFIG_MT7915E=m
CONFIG_MT7921_COMMON=m
CONFIG_MT7921E=m
CONFIG_MT7921S=m
CONFIG_MT7921U=m
CONFIG_MT7996E=m
CONFIG_MT7925_COMMON=m
CONFIG_MT7925E=m
CONFIG_MT7925U=m

Check also that there is no blacklisting going on in /etc/modprobe.d/ and/or /etc/modules-load.d/. IIRC only nvidiafb is blacklisted by default though.

EDIT 2: maybe you need to load the Module Manually ?

Code:
modprobe mt7921u

And if that works, add it to /etc/modules-load.d/mediatek.conf (note, I cannot remember 100%, but either the Files in /etc/modules-load.d and/or the Files in /etc/modprobe.d IGNORE THE FIRST LINE when they get parsed, so make sure you leave the 1st Line as Comment as the directive might otherwise be ignored !!!):
Code:
# Load Kernel Module
mt7921u

I do see the WiFi adapter in dmesg:
Code:
root@pve-test:~# dmesg | grep -i mt79
[    9.647758] usbcore: registered new interface driver mt7921u
[    9.649549] mt7921u 2-1:1.3: HW/SW Version: 0x8a108a10, Build Time: 20241106151007a
[    9.916773] mt7921u 2-1:1.3: WM Firmware Version: ____010000, Build Time: 20241106151045
[   11.531258] mt7921u 2-1:1.3 wlx00c0cab57bdc: renamed from wlan0

But wlx00c0cab57bdc does not show up in my Proxmox node network settings.
Nor does it show in lspci:
Code:
root@pve-test:~# lspci | grep -i -E 'ethernet|wifi|wireless'
04:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
05:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
06:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
07:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
08:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
0b:00.0 Ethernet controller: Intel Corporation Ethernet Connection X553 10 GbE SFP+ (rev 11)
0b:00.1 Ethernet controller: Intel Corporation Ethernet Connection X553 10 GbE SFP+ (rev 11)
0c:00.0 Ethernet controller: Intel Corporation Ethernet Connection X553 10 GbE SFP+ (rev 11)
0c:00.1 Ethernet controller: Intel Corporation Ethernet Connection X553 10 GbE SFP+ (rev 11)

I tried to load the module manually, but modprobe mt7921u did not work.

Edit: Also, lsmod is showing me that the kernel module is already loaded:
Code:
root@pve-test:~# lsmod | grep -i mt79
mt7921u                16384  0
mt792x_usb             16384  1 mt7921u
mt7921_common          77824  1 mt7921u
mt792x_lib             61440  3 mt792x_usb,mt7921_common,mt7921u
mt76_connac_lib        94208  3 mt792x_lib,mt7921_common,mt7921u
mt76_usb               40960  2 mt792x_usb,mt7921u
mt76                  122880  6 mt792x_lib,mt792x_usb,mt76_usb,mt7921_common,mt76_connac_lib,mt7921u
mac80211             1576960  4 mt792x_lib,mt76,mt7921_common,mt76_connac_lib
cfg80211             1269760  4 mt76,mac80211,mt7921_common,mt76_connac_lib
 
Last edited:
dmesg shows that the WiFi adapter (wlan0) was renamed to wlx00c0cab57bdc, so why doesn't lsmod list the WiFi adapter?
 
dmesg shows that the WiFi adapter (wlan0) was renamed to wlx00c0cab57bdc, so why doesn't lsmod list the WiFi adapter?
Can you show lspci without grepping ? Same with dmesg to see if something weird is going on.

Did you try installing manually the latest Firmware from the Git Kernel Repository into /lib/firmware/ ?

Also try ifconfig -a and lshw -class net (you might need to install lshw and net-tools)

EDIT 1: you could also try find /sys -iwholename *wlan0* and find /sys -iwholename *wlx00c0cab57bdc*.
 
Last edited:
Full lspci output:
Code:
00:00.0 Host bridge: Intel Corporation Atom Processor C3000 Series System Agent (rev 11)
00:04.0 Host bridge: Intel Corporation Atom Processor C3000 Series Error Registers (rev 11)
00:05.0 Generic system peripheral [0807]: Intel Corporation Atom Processor C3000 Series Root Complex Event Collector (rev 11)
00:06.0 PCI bridge: Intel Corporation Atom Processor C3000 Series Integrated QAT Root Port (rev 11)
00:09.0 PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #0 (rev 11)
00:0a.0 PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #1 (rev 11)
00:0b.0 PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #2 (rev 11)
00:0c.0 PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #3 (rev 11)
00:0e.0 PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #4 (rev 11)
00:0f.0 PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #5 (rev 11)
00:10.0 PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #6 (rev 11)
00:11.0 PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #7 (rev 11)
00:12.0 System peripheral: Intel Corporation Atom Processor C3000 Series SMBus Contoller - Host (rev 11)
00:13.0 SATA controller: Intel Corporation Atom Processor C3000 Series SATA Controller 0 (rev 11)
00:14.0 SATA controller: Intel Corporation Atom Processor C3000 Series SATA Controller 1 (rev 11)
00:15.0 USB controller: Intel Corporation Atom Processor C3000 Series USB 3.0 xHCI Controller (rev 11)
00:16.0 PCI bridge: Intel Corporation Atom Processor C3000 Series Integrated LAN Root Port #0 (rev 11)
00:17.0 PCI bridge: Intel Corporation Atom Processor C3000 Series Integrated LAN Root Port #1 (rev 11)
00:18.0 Communication controller: Intel Corporation Atom Processor C3000 Series ME HECI 1 (rev 11)
00:1a.0 Serial controller: Intel Corporation Atom Processor C3000 Series HSUART Controller (rev 11)
00:1f.0 ISA bridge: Intel Corporation Atom Processor C3000 Series LPC or eSPI (rev 11)
00:1f.2 Memory controller: Intel Corporation Atom Processor C3000 Series Power Management Controller (rev 11)
00:1f.4 SMBus: Intel Corporation Atom Processor C3000 Series SMBus controller (rev 11)
00:1f.5 Serial bus controller: Intel Corporation Atom Processor C3000 Series SPI Controller (rev 11)
01:00.0 Co-processor: Intel Corporation Atom Processor C3000 Series QuickAssist Technology (rev 11)
03:00.0 Non-Volatile memory controller: Silicon Motion, Inc. SM2263EN/SM2263XT SSD Controller (rev 03)
04:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
05:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
06:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
07:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
08:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
09:00.0 PCI bridge: ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge (rev 03)
0a:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30)
0b:00.0 Ethernet controller: Intel Corporation Ethernet Connection X553 10 GbE SFP+ (rev 11)
0b:00.1 Ethernet controller: Intel Corporation Ethernet Connection X553 10 GbE SFP+ (rev 11)
0c:00.0 Ethernet controller: Intel Corporation Ethernet Connection X553 10 GbE SFP+ (rev 11)
0c:00.1 Ethernet controller: Intel Corporation Ethernet Connection X553 10 GbE SFP+ (rev 11)

For security reasons, I prefer not to publish the full dmesg output, but here are the parts that look suspicious to me:
Code:
[   10.001629] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[   10.001638] cfg80211: failed to load regulatory.db

[   10.235532] NET: Registered PF_BLUETOOTH protocol family
[   10.235539] Bluetooth: HCI device and connection manager initialized
[   10.235548] Bluetooth: HCI socket layer initialized
[   10.235551] Bluetooth: L2CAP socket layer initialized
[   10.235564] Bluetooth: SCO socket layer initialized
[   10.294869] usb 2-1: reset SuperSpeed USB device number 2 using xhci_hcd
[   10.332272] usbcore: registered new interface driver mt7921u
[   10.333048] mt7921u 2-1:1.3: HW/SW Version: 0x8a108a10, Build Time: 20230117170855a

[   10.655288] mt7921u 2-1:1.3: WM Firmware Version: ____010000, Build Time: 20230117170942
[   10.728624] usbcore: registered new interface driver btusb
[   10.730989] Bluetooth: hci0: HW/SW Version: 0x008a008a, Build Time: 20230117171152
[   10.848288] EDAC MC0: Giving out device to module pnd2_edac controller Pondicherry2: DEV pnd2/dnv (INTERRUPT)
[   10.853240] intel_rapl_common: Found RAPL domain package
[   10.853249] intel_rapl_common: Found RAPL domain core
[   10.853252] intel_rapl_common: Found RAPL domain dram
[   11.055479] ismt_smbus 0000:00:12.0: completion wait timed out
[   11.164594] ZFS: Loaded module v2.2.7-pve2, ZFS pool version 5000, ZFS filesystem version 5
[   12.078474] ismt_smbus 0000:00:12.0: completion wait timed out
[   12.276290] mt7921u 2-1:1.3 wlx00c0cab57bdc: renamed from wlan0
[   13.102479] ismt_smbus 0000:00:12.0: completion wait timed out
[   13.979946] Bluetooth: hci0: Device setup in 3175096 usecs
[   13.979956] Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection command is advertised, but not supported.
[   14.053742] Bluetooth: hci0: AOSP extensions version v1.00
[   14.053747] Bluetooth: hci0: AOSP quality report is supported
[   14.126487] ismt_smbus 0000:00:12.0: completion wait timed out
[   15.150486] ismt_smbus 0000:00:12.0: completion wait timed out
[   16.174488] ismt_smbus 0000:00:12.0: completion wait timed out
[   17.198487] ismt_smbus 0000:00:12.0: completion wait timed out
[   18.222486] ismt_smbus 0000:00:12.0: completion wait timed out

[116247.787631] warning: `lshw' uses wireless extensions which will stop working for Wi-Fi 7 hardware; use nl80211

I did manually copy the latest Firmware from the Git Kernel Repository into /lib/firmware/mediatek, though Proxmox already had the driver in that directory.

ifconfig -a shows the WiFi adapter:
Code:
wlx00c0cab57bdc: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether e8:27:47:b3:33:eb  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lshw -class net also shows:
Code:
*-network DISABLED
       description: Wireless interface
       physical id: 3
       bus info: usb@2:1
       logical name: wlx00c0cab57bdc
       serial: e8:27:47:b3:33:eb
       capabilities: ethernet physical wireless
       configuration: broadcast=yes driver=mt7921u driverversion=6.8.12-9-pve firmware=____010000-20230117170942 link=no multicast=yes wireless=IEEE 802.11
 
Full lspci output:
Code:
00:00.0 Host bridge: Intel Corporation Atom Processor C3000 Series System Agent (rev 11)
00:04.0 Host bridge: Intel Corporation Atom Processor C3000 Series Error Registers (rev 11)
00:05.0 Generic system peripheral [0807]: Intel Corporation Atom Processor C3000 Series Root Complex Event Collector (rev 11)
00:06.0 PCI bridge: Intel Corporation Atom Processor C3000 Series Integrated QAT Root Port (rev 11)
00:09.0 PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #0 (rev 11)
00:0a.0 PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #1 (rev 11)
00:0b.0 PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #2 (rev 11)
00:0c.0 PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #3 (rev 11)
00:0e.0 PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #4 (rev 11)
00:0f.0 PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #5 (rev 11)
00:10.0 PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #6 (rev 11)
00:11.0 PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #7 (rev 11)
00:12.0 System peripheral: Intel Corporation Atom Processor C3000 Series SMBus Contoller - Host (rev 11)
00:13.0 SATA controller: Intel Corporation Atom Processor C3000 Series SATA Controller 0 (rev 11)
00:14.0 SATA controller: Intel Corporation Atom Processor C3000 Series SATA Controller 1 (rev 11)
00:15.0 USB controller: Intel Corporation Atom Processor C3000 Series USB 3.0 xHCI Controller (rev 11)
00:16.0 PCI bridge: Intel Corporation Atom Processor C3000 Series Integrated LAN Root Port #0 (rev 11)
00:17.0 PCI bridge: Intel Corporation Atom Processor C3000 Series Integrated LAN Root Port #1 (rev 11)
00:18.0 Communication controller: Intel Corporation Atom Processor C3000 Series ME HECI 1 (rev 11)
00:1a.0 Serial controller: Intel Corporation Atom Processor C3000 Series HSUART Controller (rev 11)
00:1f.0 ISA bridge: Intel Corporation Atom Processor C3000 Series LPC or eSPI (rev 11)
00:1f.2 Memory controller: Intel Corporation Atom Processor C3000 Series Power Management Controller (rev 11)
00:1f.4 SMBus: Intel Corporation Atom Processor C3000 Series SMBus controller (rev 11)
00:1f.5 Serial bus controller: Intel Corporation Atom Processor C3000 Series SPI Controller (rev 11)
01:00.0 Co-processor: Intel Corporation Atom Processor C3000 Series QuickAssist Technology (rev 11)
03:00.0 Non-Volatile memory controller: Silicon Motion, Inc. SM2263EN/SM2263XT SSD Controller (rev 03)
04:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
05:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
06:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
07:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
08:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
09:00.0 PCI bridge: ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge (rev 03)
0a:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30)
0b:00.0 Ethernet controller: Intel Corporation Ethernet Connection X553 10 GbE SFP+ (rev 11)
0b:00.1 Ethernet controller: Intel Corporation Ethernet Connection X553 10 GbE SFP+ (rev 11)
0c:00.0 Ethernet controller: Intel Corporation Ethernet Connection X553 10 GbE SFP+ (rev 11)
0c:00.1 Ethernet controller: Intel Corporation Ethernet Connection X553 10 GbE SFP+ (rev 11)

For security reasons, I prefer not to publish the full dmesg output, but here are the parts that look suspicious to me:
Code:
[   10.001629] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[   10.001638] cfg80211: failed to load regulatory.db

[   10.235532] NET: Registered PF_BLUETOOTH protocol family
[   10.235539] Bluetooth: HCI device and connection manager initialized
[   10.235548] Bluetooth: HCI socket layer initialized
[   10.235551] Bluetooth: L2CAP socket layer initialized
[   10.235564] Bluetooth: SCO socket layer initialized
[   10.294869] usb 2-1: reset SuperSpeed USB device number 2 using xhci_hcd
[   10.332272] usbcore: registered new interface driver mt7921u
[   10.333048] mt7921u 2-1:1.3: HW/SW Version: 0x8a108a10, Build Time: 20230117170855a

[   10.655288] mt7921u 2-1:1.3: WM Firmware Version: ____010000, Build Time: 20230117170942
[   10.728624] usbcore: registered new interface driver btusb
[   10.730989] Bluetooth: hci0: HW/SW Version: 0x008a008a, Build Time: 20230117171152
[   10.848288] EDAC MC0: Giving out device to module pnd2_edac controller Pondicherry2: DEV pnd2/dnv (INTERRUPT)
[   10.853240] intel_rapl_common: Found RAPL domain package
[   10.853249] intel_rapl_common: Found RAPL domain core
[   10.853252] intel_rapl_common: Found RAPL domain dram
[   11.055479] ismt_smbus 0000:00:12.0: completion wait timed out
[   11.164594] ZFS: Loaded module v2.2.7-pve2, ZFS pool version 5000, ZFS filesystem version 5
[   12.078474] ismt_smbus 0000:00:12.0: completion wait timed out
[   12.276290] mt7921u 2-1:1.3 wlx00c0cab57bdc: renamed from wlan0
[   13.102479] ismt_smbus 0000:00:12.0: completion wait timed out
[   13.979946] Bluetooth: hci0: Device setup in 3175096 usecs
[   13.979956] Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection command is advertised, but not supported.
[   14.053742] Bluetooth: hci0: AOSP extensions version v1.00
[   14.053747] Bluetooth: hci0: AOSP quality report is supported
[   14.126487] ismt_smbus 0000:00:12.0: completion wait timed out
[   15.150486] ismt_smbus 0000:00:12.0: completion wait timed out
[   16.174488] ismt_smbus 0000:00:12.0: completion wait timed out
[   17.198487] ismt_smbus 0000:00:12.0: completion wait timed out
[   18.222486] ismt_smbus 0000:00:12.0: completion wait timed out

[116247.787631] warning: `lshw' uses wireless extensions which will stop working for Wi-Fi 7 hardware; use nl80211

I did manually copy the latest Firmware from the Git Kernel Repository into /lib/firmware/mediatek, though Proxmox already had the driver in that directory.

ifconfig -a shows the WiFi adapter:
Code:
wlx00c0cab57bdc: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether e8:27:47:b3:33:eb  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lshw -class net also shows:
Code:
*-network DISABLED
       description: Wireless interface
       physical id: 3
       bus info: usb@2:1
       logical name: wlx00c0cab57bdc
       serial: e8:27:47:b3:33:eb
       capabilities: ethernet physical wireless
       configuration: broadcast=yes driver=mt7921u driverversion=6.8.12-9-pve firmware=____010000-20230117170942 link=no multicast=yes wireless=IEEE 802.11
Yeah, and there's your Answer:
Code:
bus info: usb@2:1

The Adapter is getting detected as USB .... And maybe your "M.2" is just a stupid PCIe to USB3 Adapter/Chip and then a standard Mediatek USB Adapter.

Try lsusb or lsusb -t instead then. Or maybe lspci -tv if you want to Troubleshoot which PCIe Root Port / Controller it's connected to.

You need to be very clear when you ask for Help. To be honest it's a bit annoying that you claimed that
But wlx00c0cab57bdc does not show up in my Proxmox node network settings.

And it's probably just because the Default ifconfig Command just shows ACTIVE (UP) Interfaces, NOT all available Interfaces and you need ifconfig -a (show all Interfaces) for that ;) .

As for why Wireless Interfaces wouldn't show up in Proxmox Network Settings I think that could be because Proxmox is NOT meant to be used with Wireless Adapter. It doesn't mean that it can't, it probably shouldn't, but it's not designed that Way at least.

Based on morrownr excellent GitHub Documentation Repository & Discussions it might be that you need to blacklist/disable Bluetooth in some Circumstances. Cannot remember exactly what the issue was/is, but in some cases the Bluetooth Driver was creating lots of Issues and disabling bluetooth fixed it.

Anyways, besides disabling the bluetooth Part of the Adapter (which, if you don't need/use anyways, you should probably do), I think now it's pretty much the same as Debian/Ubuntu, so configure wpa_supplicant if you run as a client or hostapd + dnsmasq if you want to run an Access Point.

But, IMHO, maybe it's easier to just pass-through that USB Adapter to another VM or possibly CT.
 
wlx00c0cab57bdc does not show up in my Proxmox node network settings - That is indeed true:

1744577749724.png

However, I have little experience with CLI and did not realize that lspci does not list USB connected devices. Thank you for letting me know about the lsusb command ;)

And as you suggested, I don't actually need Proxmox to use the WiFi adapter. I just want to pass it through to an OpenWRT / OPNsense VM.
The WiFi adapter does show up when I try to add a USB device to the VM (in the VM's hardware settings), so I think that should work.

1744579085532.png

Thanks again for your help!
 
  • Like
Reactions: silverstone
wlx00c0cab57bdc does not show up in my Proxmox node network settings - That is indeed true:

View attachment 84924
And as I said, most likely People around here will tell you that is a Feature and not a Bug ;) . Proxmox VE is not meant to be used with Wireless Interfaces as I said.


However, I have little experience with CLI and did not realize that lspci does not list USB connected devices. Thank you for letting me know about the lsusb command ;)
It's in the Name ;).

lsxxx as in "list" for xxx so to Speak ;).

- ls lists Files
- lspci lists PCI/PCIe Devices
- lsusb lists USB Devices
- lsblk lists Block Devices
- lscpu lists CPU Information
- lsattr lists Attributes Information (for a File)
- lsof lists Open Files
- lshw lists Hardware Information

And as you suggested, I don't actually need Proxmox to use the WiFi adapter. I just want to pass it through to an OpenWRT / OPNsense VM.
The WiFi adapter does show up when I try to add a USB device to the VM (in the VM's hardware settings), so I think that should work.

View attachment 84925
Not sure OPNSense supports WiFi Adapters very Well. OpenWRT probably has a better Chance, or Debian if you can do it from CLI (although I think you are not at that Level - yet ;)).

About the USB Passthrough I'm not too fond of it and depending how you do it (Vendor/Device ID, USB Port, ....) you could have Issues after Reboot (if for whatever Reason the USB Ports get renumbered after a Kernel Update or whatever). Vendor/Device ID was also for instance an Issue (e.g. Google Coral Accelerator IIRC was getting Vendor/Device ID Changed after Kernel Module Loading).

Maybe you could (in Theory at least) pass-through the entire USB Controller to OpenWRT, by passing it as a PCIe Device (requires Intel VT-D / AMD SVM + IOMMU Support). But then ALL USB Ports on that Controller (and you probably have only 1 USB Controller on that Board ?) will be fed to OpenWRT and you won't be able to e.g. connect a Keyboard or other Flash Drive to be visible in Proxmox VE.


Thanks again for your help!

No Worries. Sorry for being frustrated :(. It just felt very wrong that you had a Kernel Module Loading, a Device identified in dmesg, yet nothing in ifconfig (you didn't use -a) and yeat lspci is only listing PCI Devices :p.

I also did NOT expect it to be a USB Device since you told me M.2. The thought originally crossed my Mind actually, but then I was like... you told me it was M.2 B-Key. Especially since it was a M.2 B-Key that did NOT ring any Bell to me. If it was A-Key or E-Key I might have though it could have been USB. But apparently also M.2 B-Key is a Thing.

You really never stop learning these Days:
https://www.atpinc.com/blog/what-is-m.2-M-B-BM-key-socket-3

Thankfully lshw provided some more Information and we could find out that it was indeed a USB Device (you need to install that Package as it's NOT normally installed by default IIRC).

Another Option, would have been to just look for the Interface in /sys:
Code:
find /sys -iwholename *wlan0*

Or:
Code:
find /sys -iwholename *wlx00c0cab57bdc*