M.2 Wifi Card on Jetson Xavier Issues!

I attached the M.2 Wifi Card Broadcom BCM4352 on Xavier but cannot choose any wifi, only wired ethernet is available. The OS can recognize the card. Any solutions?

Imgur
Imgur
Imgur

I know nothing about the particular card, but first see what is visible from the following:

sudo -s
lspci
rfkill list
iwconfig
exit

Someone else will need to answer the rest of it (whoever answers will want that information), but I suspect you need a driver and/or firmware.

What he needs is antenna,in my opinion.
I used intel 8265 wireless kit that comes with antennas.
Probably wifi device can be enabled with rfkill like:

rfkill unblock wifi

@linuxdev, the output I got

lspci:

0001:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad2 (rev a1)
0001:01:00.0 SATA controller: Marvell Technology Group Ltd. Device 9171 (rev 13)
0002:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad2 (rev a1)
0002:01:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4352 802.11ac Wireless Network Adapter (rev 03)

rfkill list:

0: bluedroid_pm: Bluetooth
	Soft blocked: no
	Hard blocked: no
1: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no

iwconfig:

rndis0    no wireless extensions.

lo        no wireless extensions.

usb0      no wireless extensions.

eth0      no wireless extensions.

l4tbr0    no wireless extensions.

dummy0    no wireless extensions.

Could you give result of lspci -vvv?

@Andrey1984, it doesn’t work using

rfkill unblock wifi

I see in the

rfkill list

just the bluetooth is available.

I also think the wifi card doesn’t need antenna. The antenna just to extend the range of catching wifi signal.

But will try to attach it and see

@WayneWWW, here is the output

lspci -vvv:

0001:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad2 (rev a1) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 34
	Bus: primary=00, secondary=01, subordinate=ff, sec-latency=0
	I/O behind bridge: 00000000-00000fff
	Memory behind bridge: 30200000-302fffff
	Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: <access denied>
	Kernel driver in use: pcieport

0001:01:00.0 SATA controller: Marvell Technology Group Ltd. Device 9171 (rev 13) (prog-if 01 [AHCI 1.0])
	Subsystem: Marvell Technology Group Ltd. Device 9171
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 556
	Region 0: I/O ports at 100010 
	Region 1: I/O ports at 100020 
	Region 2: I/O ports at 100018 
	Region 3: I/O ports at 100024 
	Region 4: I/O ports at 100000 
	Region 5: Memory at 30210000 (32-bit, non-prefetchable) 
	Expansion ROM at 30200000 [disabled] 
	Capabilities: <access denied>
	Kernel driver in use: ahci
	Kernel modules: ahci

0002:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad2 (rev a1) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 36
	Bus: primary=00, secondary=01, subordinate=ff, sec-latency=0
	I/O behind bridge: 0000f000-00000fff
	Memory behind bridge: 34200000-344fffff
	Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: <access denied>
	Kernel driver in use: pcieport

0002:01:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4352 802.11ac Wireless Network Adapter (rev 03)
	Subsystem: Lenovo BCM4352 802.11ac Wireless Network Adapter
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin A routed to IRQ 36
	Region 0: Memory at 34400000 (64-bit, non-prefetchable) [disabled] 
	Region 2: Memory at 34200000 (64-bit, non-prefetchable) [disabled] 
	Capabilities: <access denied>
	Kernel modules: bcmdhd_pcie

Could you share the full dmesg?

BTW, Does bcm4352 need extra firmware?

BTW, Does bcm4352 need extra firmware?

@WayneWWW, there’s no instructions for this. so I’m now sure

@WayneWWW, Sorry the message’s too long.

I make the pastebin link. Thanks for your help.

https://pastebin.com/rfxF5kyd

Not sure why I cannot access your pastebin. You could use code block on your log so that it can be pasted on forum.

deleted…

hmm, still not work. Please use attachment. Sorry for inconvenience.

Share you the link

Prior to your message, I have checked some external forum for this chipset. It looks like driver bcmdhd_pcie does not support it.

Your log seems also match my guess.

[   13.480087] dhdpcie_chipmatch: Unsupported vendor 14e4 device 43b1
[   13.480089] dhdpcie_pci_probe: chipmatch failed!!
[   13.480265] dhd_module_init out

Could you try to find the correct driver and disable original bcmdhd_pcie in tegra_defconfig?

may be you could try something like the code below :

sudo apt-get update
sudo apt-get install bcmwl-kernel-source
sudo modprobe wl

source : https://askubuntu.com/questions/590442/how-can-i-install-broadcom-wireless-adapter-bcm4352-802-11ac-pcid-14e443b1-r
In my opinion, without antennas the card will hardly work. Even if it will get recognized by the system , the signal level will be too low for use.

Btw, “lspci -vvv” requires “sudo” to see the full output.

Generalization: Most WiFi chipsets do require extra firmware so that the manufacturer can use the same hardware in different locations around the world with different regulations (and therefor not need to manufacture different hardware for each region). Not all WiFi requires extra firmware though. If a correct driver has issues working with a given chipset, then odds go up it is a missing firmware issue (but of course if you use the wrong driver there is no firmware which will make it work).