Broadcom BCM4360 - Parrot OS 6.3 - NO WIFI connectivity

Hello All,

I am trying out Parrot OS home edition (with the idea of, at some point, looking at their security tools)
Fresh install, wifi not operational, have to thether my phone’s Wifi over USB and that is an annoying workaround…

Posted my issue a few days ago in the Parrot Community but not getting much feedback (yet?)
It seems like the latest Parrot OS 6.3 has issues with wifi, quite a few threads in the parrot community are stating wifi not operational after upgrade or on new installs

6.3 (lorikeet)
6.11+parrot-amd64
wlan0: Broadcom BCM43a0 802.11 Hybrid Wireless Controller 6.30.223.271 (r587334)

$lspci -k

02:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter (rev 03)
Subsystem: Apple Inc. BCM4360 802.11ac Dual Band Wireless Network Adapter
Kernel driver in use: wl
Kernel modules: bcma, wl

$lspci -vvnn | grep -A 9 Network

02:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter [14e4:43a0] (rev 03)
Subsystem: Apple Inc. BCM4360 802.11ac Dual Band Wireless Network Adapter [106b:0134]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort+ <TAbort- SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 256 bytes
Interrupt: pin A routed to IRQ 18
IOMMU group: 7
Region 0: Memory at a0600000 (64-bit, non-prefetchable) [size=32K]
Region 2: Memory at a0400000 (64-bit, non-prefetchable) [size=2M]
Capabilities:
Kernel driver in use: wl

$dkms status:

broadcom-sta/6.30.223.271, 6.11+parrot-amd64, x86_64: installed

$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: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state DORMANT mode DORMANT group default qlen 1000
link/ether 34:36:3b:d4:8f:9a brd ff:ff:ff:ff:ff:ff

trying to force enp2s0 from dormant to default does not activate the wifi either
$ip link set enp2s0 mode default
$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: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state DORMANT mode DEFAULT group default qlen 1000
link/ether 34:36:3b:d4:8f:9a brd ff:ff:ff:ff:ff:ff

$iwlist enp2s0 scanning does list the available wifi networks so What am I missing???

Hello,

The enp2s0 interface you are using to scan is a wired interface so you will not see any results there. You should see something like wlp0s20f3 or wlan0 for wireless when running the ip a command or similar .

Have you tried to reload the driver???:

eg.

$ sudo modprobe -r b43 bcma wl
$ sudo modprobe wl

If you get some error post them here.
It might also be worth to make sure that the driver is installed:

$ sudo apt update
$ sudo apt install linux-headers-$(uname -r) build-essential dkms broadcom-sta-dkms

Again post any errors here. Try again reload the driver as per the above commands.

What is the output of the following commands:

$ dmesg | grep -i broadcom
$ dmesg | grep -i wl

Lubos

Thanks for the fast reply @Lubos

iwlist enp2s0 scanning command does list available networks!
(last line in dmesg | grep -i wl output mentions enp2s0: renamed from wlan0)

This is an older Macbook - no wired interface available…

Yes I tried reloading the drivers several times without luck…
(Driver is installed as dkms status in initial post confirms)
Re-installing is OK without errors

$ dmesg | grep -i broadcom

[ 5.883754] wlan0: Broadcom BCM43a0 802.11 Hybrid Wireless Controller 6.30.223.271 (r587334)
[ 2945.712064] wlan0: Broadcom BCM43a0 802.11 Hybrid Wireless Controller 6.30.223.271 (r587334)

$ dmesg | grep -i wl

[ 5.811514] wl: loading out-of-tree module taints kernel.
[ 5.811519] wl: module license ‘MIXED/Proprietary’ taints kernel.
[ 5.811522] wl: module verification failed: signature and/or required key missing - tainting kernel
[ 5.811523] wl: module license taints kernel.
[ 5.819114] Modules linked in: wl(POE+) snd_hda_codec_cirrus(+) snd_hda_codec_generic nls_cp437 vfat fat rapl snd_hda_codec_hdmi snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi mei_pxp mei_hdcp snd_hda_codec intel_cstate applesmc(+) rfkill snd_hda_core snd_hwdep snd_pcm intel_uncore mei_me iTCO_wdt intel_pmc_bxt iTCO_vendor_support mei snd_timer pktcdvd pcspkr snd watchdog bcm5974 soundcore sbs acpi_als sbshc industrialio_triggered_buffer joydev kfifo_buf industrialio apple_gmux ac sg apple_mfi_fastcharge evdev vmwgfx drm_ttm_helper parport_pc ppdev lp parport dm_mod loop efi_pstore configfs ip_tables x_tables autofs4 r8153_ecm cdc_ether usbnet sr_mod cdrom hid_apple efivarfs raid10 r8152 mii raid456 async_raid6_recov libphy async_memcpy async_pq async_xor async_tx raid1 raid0 md_mod hid_generic usbhid hid xfs btrfs blake2b_generic xor raid6_pq libcrc32c uas usb_storage ext4 crc16 mbcache jbd2 crc32c_generic nls_ascii i915 sd_mod drm_buddy i2c_algo_bit drm_display_helper cec rc_core crct10dif_pclmul crc32_pclmul ttm
[ 5.819286] getvar+0x20/0x70 [wl]
[ 5.819325] ? orc_header+0x1924/0x1924 [wl]
[ 5.819363] wl_module_init+0x17/0xa0 [wl]
[ 5.883754] wlan0: Broadcom BCM43a0 802.11 Hybrid Wireless Controller 6.30.223.271 (r587334)
[ 5.921516] wl 0000:02:00.0 enp2s0: renamed from wlan0
[ 2945.712064] wlan0: Broadcom BCM43a0 802.11 Hybrid Wireless Controller 6.30.223.271 (r587334)
[ 2945.716516] wl 0000:02:00.0 enp2s0: renamed from wlan0

Interesting. Why would the wlan0 be renamed to wired scheme? Isn’t this an issue/bug or at least part of the problem…? Should not it be renamed to wlp2s0 instead???

what you get when you run:

$ iwconfig enp2s0

Thanks again @Lubos

$sudo iwconfig enp2s0

enp2s0 IEEE 802.11 ESSID:“”
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Bit Rate:216.5 Mb/s Tx-Power:24 dBm
Retry min limit:7 RTS thr:off Fragment thr:off
Power Managementmode:All packets received
Link Quality=5/5 Signal level=0 dBm Noise level=-78 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Seems to be up and running. Why you cannot scan?

Try to force it off and on:

sudo ip link set enp2s0 down
sudo ip link set enp2s0 up

and scan again.

Aletrantively have you tried to connect manually:

Make a backup of an existing /etc/wpa_supplicant.conf if any…

sudo wpa_passphrase "<SSID>" "<password>" | sudo tee /etc/wpa_supplicant.conf
sudo wpa_supplicant -B -i enp2s0 -c /etc/wpa_supplicant.conf
sudo dhclient enp2s0

Forcing on/off does not help

Never tried manual connection so not sure what these commands do… blindly following your lead :wink:

sudo wpa_passphrase “” “” | sudo tee /etc/wpa_supplicant.conf
with correct SSID/passwd → no error

$sudo wpa_supplicant -B -i enp2s0 -c /etc/wpa_supplicant.conf

Successfully initialized wpa_supplicant
nl80211: Driver does not support authentication/association or connect commands
nl80211: deinit ifname=enp2s0 disabled_11b_rates=0
enp2s0: Failed to initialize driver interface
enp2s0: CTRL-EVENT-DSCP-POLICY clear_all

Ok. this could mean many things.

What o you get when you run:

 $ udevadm info /sys/class/net/enp2s0

have you ried to temporarily rename the interface and test it again. May not help but its worth the shot:

sudo ip link set enp2s0 down
sudo ip link set enp2s0 name wlan0
sudo ip link set wlan0 up

then check with ip a or iwconfig if its renamed.

thanks @Lubos & sorry for the slow response…

$ udevadm info /sys/class/net/enp2s0

P: /devices/pci0000:00/0000:00:1c.2/0000:02:00.0/net/enp2s0
M: enp2s0
R: 0
U: net
I: 2
E: DEVPATH=/devices/pci0000:00/0000:00:1c.2/0000:02:00.0/net/enp2s0
E: SUBSYSTEM=net
E: INTERFACE=enp2s0
E: IFINDEX=2
E: USEC_INITIALIZED=5387128
E: ID_NET_NAMING_SCHEME=v253
E: ID_NET_NAME_MAC=enx34363bd48f9a
E: ID_OUI_FROM_DATABASE=Apple, Inc.
E: ID_NET_NAME_PATH=enp2s0
E: ID_BUS=pci
E: ID_VENDOR_ID=0x14e4
E: ID_MODEL_ID=0x43a0
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Network controller
E: ID_VENDOR_FROM_DATABASE=Broadcom Inc. and subsidiaries
E: ID_MODEL_FROM_DATABASE=BCM4360 802.11ac Dual Band Wireless Network Adapter
E: ID_MM_CANDIDATE=1
E: ID_PATH=pci-0000:02:00.0
E: ID_PATH_TAG=pci-0000_02_00_0
E: ID_NET_DRIVER=wl0
E: ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
E: ID_NET_NAME=enp2s0
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/enp2s0
E: TAGS=:systemd:
E: CURRENT_TAGS=:systemd:

Renamed & tested alas no succes…

Wireless adapter. Why is it begin renamed?? Could be a module issue where system incorrectly recognize it. Can you please run the following a provide the output:

Here are the top 5 commands to troubleshoot the issue:

  1. ip a
    
  2. cat /sys/class/net/enp2s0/type
    
  3. lspci -nnk | grep -A3 -i net
    
  4. iw dev
    
  5. lsmod | grep wl
    

I have no clue why it is renamed :disappointed: (not knowledgeable enough to understand what’s happening)

$ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state DORMANT group default qlen 1000
link/ether 34:36:3b:d4:8f:9a brd ff:ff:ff:ff:ff:ff
4: enx0264515c3447: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
link/ether 02:64:51:5c:34:47 brd ff:ff:ff:ff:ff:ff
inet 192.168.42.116/24 brd 192.168.42.255 scope global dynamic noprefixroute enx0264515c3447
valid_lft 3216sec preferred_lft 3216sec
inet6 fe80::b1b7:68cf:929d:8bbf/64 scope link noprefixroute
valid_lft forever preferred_lft forever

(4: enx0264515c3447 is my tethered phone)

$cat /sys/class/net/enp2s0/type

1

$lspci -nnk | grep -A3 -i net

02:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Dual Band Wireless Network Adapter [14e4:43a0] (rev 03)
Subsystem: Apple Inc. BCM4360 802.11ac Dual Band Wireless Network Adapter [106b:0134]
Kernel driver in use: wl
Kernel modules: bcma, wl

$iw dev
zero output - direct to new prompt

$lsmod | grep wl

wl 6430720 0

My understanding is also stretching thin. At the moment it feels like that the system does not recognize enp2s0 as a wireless device since cat /sys/class/net/enp2s0/type returned 1, meaning the kernel sees it as a wired interface instead of Wi-Fi. From here the wl driver is loaded however but the system simply ignores it.

This could be a bug with wl driver.

Do you get any output from running:

sudo ip link set enp2s0 up
sudo iw dev enp2s0 scan

Did you get any response from a parrot OS community???

Really feels like it indeed… If the kernel does not see any Wi-Fi interfaces I’m trying do dig a tunnel in a mountain using a toothpick…

sudo ip link set enp2s0 up
no output
sudo iw dev enp2s0 scan

command failed: No such device (-19)

Checked again on Parrot community…

  • No real assistance except

usually downstream fixes can take up to 6 months sometimes, and a kernel is only updated to support newer hardware

Which to me means that if it is a kernel bug nobody will even look into this… (if at least someone officially there confimed this I will run away from this distro for my laptop.)

  • and

boot with the earlier working kernel
I am on a fresh install with latest iso - no idea how to load the previous kernel

  • or

there was a time where you had to compile your own binaries for them

If I get no guidance how to install the previous kernel I might have to look into this option but it might be too complex for my knowledge level (and capabilties)

If you feel like to try install older kernel versions then please open up a new thread as this is a completely different topic. We can try that.

However, even when you succeed and you get it working with older kernel then what? Are you going to pin that kernel and never upgrade?

I hope there will be here somebody here with more knowledge in regards to this topic…

1 Like

I suppose you are absolutely right…
If the issue is kernel related it seems best to learn how to compile the correct binaries but to be honest I am net even understanding what I am writing…
I am willing to give it a go but would be working blind…
I must admit tethering my phone is really starting to annoy me :disappointed:

@Lubos , I see you are a moderator, Can you correct a typo I made in the thread title?
I wrote BMC4360 which should be BCM4360 (as confirmed in the command outputs in my posts)

I’m still searching… Hoping to find a solution… Will obviously update the thread with whatever happens…

Done. Thanks for you attention to detail. Let me know how you did…:slight_smile:

1 Like