[Solved with T2 kernel] 2019 Macbook Air 8,1 - BCM4355 Wifi not working

hello. installed garuda linux onto my 2019 macbook air8,1 - I got the touchpad, keyboard and audio all working, but the wifi isn’t working. I’m using the appropriate driver for my BCM4355 chipset - brcmfmac. I noticed the network card is being read as an ethernet port by the computer. the wifi card is (enp1s0f1u1) and the tethered ethernet connection is (enp6s0u2u3). I’ve included garuda-inxi lspci and ip link outputs below. thanks!

garuda-inxi
System:
Kernel: 5.16.17-1-t2 arch: x86_64 bits: 64
compiler: gcc v: 11.2.0
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-t2
root=UUID=edbe488a-0ef0-4813-b95a-1d264acb26f3
rw rootflags=subvol=@ intel_iommu=on iommu=pt
pcie_ports=compat splash intel_iommu=on
iommu=pt pcie_ports=compat
rd.udev.log_priority=3
vt.global_cursor_default=0 loglevel=3
efi=noruntime
Desktop: KDE Plasma v: 5.24.4 tk: Qt v: 5.15.3
wm: kwin_x11 vt: 1 dm: SDDM Distro: Garuda Linux
base: Arch Linux
Machine:
Type: Laptop System: Apple product: MacBookAir8,1
v: 1.0 serial: <superuser required> Chassis:
type: 9 v: Mac-827FAC58A8FDFA22
serial: <superuser required>
Mobo: Apple model: Mac-827FAC58A8FDFA22
v: MacBookAir8,1 serial: <superuser required>
UEFI: Apple
v: 1731.100.130.0.0 (iBridge: 19.16.14242.0.0,0)
date: 02/15/2022
Battery:
ID-1: BAT0 charge: 41.3 Wh (99.3%)
condition: 41.6/50.4 Wh (82.6%) volts: 12.6
min: 11.5 model: DSY bq20z451 type: Li-ion
serial: N/A status: full cycles: 444
Device-1: hid-CC260260KKSG61CAR-battery
model: Apple Inc. Magic Trackpad 2 serial: N/A
charge: N/A status: discharging
CPU:
Info: model: Intel Core i5-8210Y bits: 64
type: MT MCP arch: Amber/Kaby Lake note: check
family: 6 model-id: 0x8E (142) stepping: 9
microcode: 0xEC
Topology: cpus: 1x cores: 2 tpc: 2 threads: 4
smt: enabled cache: L1: 128 KiB
desc: d-2x32 KiB; i-2x32 KiB L2: 512 KiB
desc: 2x256 KiB L3: 4 MiB desc: 1x4 MiB
Speed (MHz): avg: 598 high: 600
min/max: 400/3600 scaling: driver: intel_pstate
governor: powersave cores: 1: 600 2: 600 3: 597
4: 596 bogomips: 12805
Flags: avx avx2 ht lm nx pae sse sse2 sse3
sse4_1 sse4_2 ssse3 vmx
Vulnerabilities:
Type: itlb_multihit status: KVM: VMX disabled
Type: l1tf mitigation: PTE Inversion; VMX:
conditional cache flushes, SMT vulnerable
Type: mds
mitigation: Clear CPU buffers; SMT vulnerable
Type: meltdown mitigation: PTI
Type: spec_store_bypass mitigation: Speculative
Store Bypass disabled via prctl
Type: spectre_v1 mitigation: usercopy/swapgs
barriers and __user pointer sanitization
Type: spectre_v2 mitigation: Retpolines, IBPB:
conditional, IBRS_FW, STIBP: conditional, RSB
filling
Type: srbds mitigation: Microcode
Type: tsx_async_abort status: Not affected
Graphics:
Device-1: Intel UHD Graphics 617 vendor: Apple
driver: i915 v: kernel ports: active: eDP-1
empty: DP-1, DP-2, HDMI-A-1, HDMI-A-2
bus-ID: 00:02.0 chip-ID: 8086:87c0
class-ID: 0300
Device-2: Apple FaceTime HD Camera (Built-in)
type: USB driver: uvcvideo bus-ID: 1-2:3
chip-ID: 05ac:8514 class-ID: 0e02
serial: <filter>
Display: x11 server: X.Org v: 1.21.1.3
compositor: kwin_x11 driver: X:
loaded: modesetting alternate: fbdev,intel,vesa
gpu: i915 display-ID: :0 screens: 1
Screen-1: 0 s-res: 2560x1600 s-dpi: 96
s-size: 677x423mm (26.65x16.65")
s-diag: 798mm (31.43")
Monitor-1: eDP-1 model: Apple Color LCD
built: 2018 res: 2560x1600 hz: 60 dpi: 227
gamma: 1.2 size: 286x179mm (11.26x7.05")
diag: 337mm (13.3") ratio: 16:10
modes: 2560x1600
OpenGL:
renderer: Mesa Intel UHD Graphics 617 (AML-KBL)
v: 4.6 Mesa 22.0.0 direct render: Yes
Audio:
Device-1: Intel Sunrise Point-LP HD Audio
driver: snd_hda_intel v: kernel
alternate: snd_soc_skl bus-ID: 00:1f.3
chip-ID: 8086:9d71 class-ID: 0403
Device-2: Apple Audio driver: aaudio pcie:
gen: 3 speed: 8 GT/s lanes: 4 bus-ID: 01:00.3
chip-ID: 106b:1803 class-ID: 0401
Sound Server-1: ALSA v: k5.16.17-1-t2
running: yes
Sound Server-2: PulseAudio v: 15.0 running: no
Sound Server-3: PipeWire v: 0.3.49 running: yes
Network:
Device-1: Broadcom BCM4355 802.11ac Wireless LAN
SoC
vendor: Apple driver: N/A modules: brcmfmac pcie:
gen: 1 speed: 2.5 GT/s lanes: 1 bus-ID: 02:00.0
chip-ID: 14e4:43dc class-ID: 0280
Device-2: ASIX AX88179 Gigabit Ethernet
type: USB driver: ax88179_178a bus-ID: 5-2.3:4
chip-ID: 0b95:1790 class-ID: ff00
serial: <filter>
IF: enp6s0u2u3 state: up speed: 1000 Mbps
duplex: full mac: <filter>
IF-ID-1: enp1s0f1u1 state: up speed: 100 Mbps
duplex: half mac: <filter>
Drives:
Local Storage: total: 233.76 GiB
used: 46.48 GiB (19.9%)
SMART Message: Unable to run smartctl. Root
privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Apple
model: SSD AP0256M size: 233.76 GiB block-size:
physical: 4096 B logical: 4096 B
speed: 31.6 Gb/s lanes: 4 type: SSD
serial: <filter> rev: 1274.100 temp: 49.9 C
scheme: GPT
Partition:
ID-1: / raw-size: 233.44 GiB
size: 233.44 GiB (100.00%)
used: 46.48 GiB (19.9%) fs: btrfs
dev: /dev/nvme0n1p2 maj-min: 259:2
ID-2: /boot/efi raw-size: 300 MiB
size: 299.3 MiB (99.76%) used: 588 KiB (0.2%)
fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 233.44 GiB
size: 233.44 GiB (100.00%)
used: 46.48 GiB (19.9%) fs: btrfs
dev: /dev/nvme0n1p2 maj-min: 259:2
ID-4: /var/log raw-size: 233.44 GiB
size: 233.44 GiB (100.00%)
used: 46.48 GiB (19.9%) fs: btrfs
dev: /dev/nvme0n1p2 maj-min: 259:2
ID-5: /var/tmp raw-size: 233.44 GiB
size: 233.44 GiB (100.00%)
used: 46.48 GiB (19.9%) fs: btrfs
dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
Kernel: swappiness: 133 (default 60)
cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 7.63 GiB
used: 185 MiB (2.4%) priority: 100
dev: /dev/zram0
Sensors:
System Temperatures: cpu: 68.0 C mobo: N/A
Fan Speeds (RPM): cpu: 2718
Info:
Processes: 236 Uptime: 1h 9m wakeups: 4
Memory: 7.63 GiB used: 4.39 GiB (57.5%)
Init: systemd v: 250 tool: systemctl Compilers:
gcc: 11.2.0 Packages: pacman: 1171 lib: 295
Shell: Bash v: 5.1.16 running-in: konsole
inxi: 3.3.14
Garuda (2.5.8-1):
System install date:     2022-03-26
Last full system update: 2022-04-04 ↻
Is partially upgraded:   No
Relevant software:       NetworkManager
Windows dual boot:       No/Undetected
Snapshots:               Snapper
Failed units:            snapper-boot.service snapper-timeline.service
lspci -k
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6
/7th Gen Core Processor Host Bridge/DRAM Registers (re
v 02)
DeviceName: SATA
Subsystem: Apple Inc. Device 0150
Kernel driver in use: skl_uncore
00:02.0 VGA compatible controller: Intel Corporation U
HD Graphics 617 (rev 02)
Subsystem: Apple Inc. Device 0150
Kernel driver in use: i915
Kernel modules: i915
00:14.0 USB controller: Intel Corporation Sunrise Poin
t-LP USB 3.0 xHCI Controller (rev 21)
Subsystem: Intel Corporation Device 7270
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
00:16.0 Communication controller: Intel Corporation Su
nrise Point-LP CSME HECI #1 (rev 21)
Subsystem: Intel Corporation Device 7270
Kernel modules: mei_me
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP
PCI Express Root Port #1 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-LP
PCI Express Root Port #5 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-LP
PCI Express Root Port #9 (rev f1)
00:1e.0 Signal processing controller: Intel Corporatio
n Sunrise Point-LP Serial IO UART Controller #0 (rev 2
1)
Subsystem: Intel Corporation Device 7270
Kernel driver in use: intel-lpss
Kernel modules: intel_lpss_pci
00:1f.0 ISA bridge: Intel Corporation Device 9d4b (rev
21)
Subsystem: Intel Corporation Device 7270
00:1f.2 Memory controller: Intel Corporation Sunrise P
oint-LP PMC (rev 21)
Subsystem: Intel Corporation Device 7270
00:1f.3 Audio device: Intel Corporation Sunrise Point-
LP HD Audio (rev 21)
Subsystem: Intel Corporation Device 7270
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel, snd_soc_skl
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBu
s (rev 21)
Subsystem: Intel Corporation Device 7270
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
01:00.0 Mass storage controller: Apple Inc. ANS2 NVMe
Controller (rev 01)
Subsystem: Apple Inc. Device 1800
Kernel driver in use: nvme
01:00.1 Non-VGA unclassified device: Apple Inc. T2 Bri
dge Controller (rev 01)
Subsystem: Apple Inc. T2 Bridge Controller
Kernel driver in use: apple-bce
Kernel modules: apple_bce
01:00.2 Non-VGA unclassified device: Apple Inc. T2 Sec
ure Enclave Processor (rev 01)
Subsystem: Apple Inc. T2 Secure Enclave Proces
sor
01:00.3 Multimedia audio controller: Apple Inc. Apple
Audio Device (rev 01)
Subsystem: Apple Inc. Device 1882
Kernel driver in use: aaudio
02:00.0 Network controller: Broadcom Inc. and subsidia
ries BCM4355 802.11ac Wireless LAN SoC (rev 0c)
Subsystem: Apple Inc. Device 0843
Kernel modules: brcmfmac
03:00.0 PCI bridge: Intel Corporation DSL6540 Thunderb
olt 3 Bridge [Alpine Ridge 4C 2015] (rev 06)
04:00.0 PCI bridge: Intel Corporation JHL7540 Thunderb
olt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
04:01.0 PCI bridge: Intel Corporation JHL7540 Thunderb
olt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
04:02.0 PCI bridge: Intel Corporation JHL7540 Thunderb
olt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
04:04.0 PCI bridge: Intel Corporation JHL7540 Thunderb
olt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
05:00.0 System peripheral: Intel Corporation JHL7540 T
hunderbolt 3 NHI [Titan Ridge 4C 2018] (rev 06)
Subsystem: Intel Corporation Device 0000
Kernel driver in use: thunderbolt
Kernel modules: thunderbolt
06:00.0 USB controller: Intel Corporation JHL7540 Thun
derbolt 3 USB Controller [Titan Ridge 4C 2018] (rev 06
)
Subsystem: Intel Corporation Device 0000
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
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: enp1s0f1u1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group defaultqlen 1000
link/ether ac:de:48:00:11:22 brd ff:ff:ff:ff:ff:ff
3: enp6s0u2u3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group defaultqlen 1000
link/ether 7c:c2:c6:33:f1:74 brd ff:ff:ff:ff:ff:ff

Edited to add link to original post:



I'm glad my recommendation to switch to the T2 kernel got your other hardware working. There is very little information regarding getting the bcm4355 to work with Linux.

My starting recommendations are below.



Disabling the use of new adapter names and the broadcom wl driver via kernel parameters may help.

Run the following command to automatically add the new kernel boot parameters to /etc/default/grub:

sudo cp /etc/default/grub /etc/default/grub.bak && sudo sed '/^GRUB_CMDLINE_LINUX_DEFAULT=/s/"$/ net.ifnames=0 modprobe.blacklist=wl"/g' -i /etc/default/grub 

After adding the boot parameters, run:

sudo update-grub 

The process will take a little while to complete, and this is perfectly normal.

Once the grub update process is complete, reboot.

If you want to reverse the changes, you can restore the grub file to its original state from the backup file, with:

sudo cp /etc/default/grub.bak /etc/default/grub && sudo update-grub 

Then reboot again.



Disconnect any USB phone tethering then reboot.

Run these commands and later post the outputs to the forum:

hwinfo --netcard --bluetooth | grep -Ei "(speed|hotplug|model|status|cmd|file|detected|driver:)" | grep -v "Config S"  
sudo dmesg | grep Ei 'firm|wl|4355|brcm'
nmcli networking off; sudo systemctl stop NetworkManager; sudo ip link set wlan0 down; sleep 3; sudo modprobe -r brcmfmac; sleep 3; sudo modprobe brcmfmac debug=2097150; sudo ip link set wlan0 up; sudo systemctl start NetworkManager; nmcli networking on; sleep .5; nmcli r wifi off; sleep .5; nmcli r wifi on

Rerun the first command to check for changes afterwards.

Post all inputs and outputs from the above commands.

Do not reconnect to the internet with any USB phone tethering until after all the above commands have been run.



4 Likes

Hey there @ccxo.

I’ve noticed you on the forum several times since my last post that contained several suggestions and requests for information.

Please answer any questions put to you and post any requested outputs.

If you have resolved your WiFi issue please close out your thread properly by indicating how you managed to solve your issue. This helps others having similar issues to locate a solution more easily.

If your issue is not resolved, have you had a chance test the solutions put forward yet? Please indicate which suggestions you’ve tested so far, and the result. Please don’t leave help requests you’ve opened dangling. Always ensure any help request you open on the forum is closed out in the proper manner.

If you require further assistance I’m sure I could find other suggestions for you to test. However, we require the prior information that was requested from you to make any progress with your issue. Your cooperation in this matter would be greatly appreciated.

4 Likes

hello! I apologize for the multiposts, I was able to get my wifi working by installing the t2 kernel you suggested from Redecorating's repo. my initial installs of the kernel weren't working because my computer was using the repo instead of the package I built locally. Garuda is working beautifully on my Macbook Air 8,1 now. thank you for the help!

2 Likes

Great, glad to hear that you got your WiFi and everything else working now, and you're welcome. :+1: