Today's fresh install won't recognize iMac's Broadcom PCI wifi (or audio, either)

Have successfully gotten latest Manjaro release working beautifully on other setups in past 24hrs (upgrade to Dell Optiplex, an old Acer netbook, and even my aging MacBookPro c. 2011), I cannot get my iMac’s internal PCI Broadcom BCM4364 to function on a fresh (external hard drive) install - i.e., it will not recognize its internal wifi.

[FWIW, despite what the inxi dump says below, it is not a laptop, it’s an iMac desktop (2019 or so)… in case that distinction matters?]

So far I’ve tried various fixes: installing broadcom-wl-dkms; trying linux515-rt-broadcom-wl with 5.15 kernel; even tried downgrading to kernel 5.10.83 in connection with older broadcom drivers at one point. Haven’t found a working combination just yet.

Any suggestions appreciated.

[BTW, I can’t get any audio on this iMac working either. “No output or input devices found” when I click on the Mute/Speaker icon in the tray.]

inxi -Fazy dump here:

System:
  Kernel: 5.15.6-2-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.15-x86_64
  root=UUID=ba01d2cf-3262-4ea6-87c5-6d1ffdf657ef rw quiet apparmor=1
  security=apparmor udev.log_priority=3
  Desktop: KDE Plasma 5.23.4 tk: Qt 5.15.2 wm: kwin_x11 vt: 1 dm: SDDM
  Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: Apple product: iMac19,2 v: 1.0
  serial: <superuser required> Chassis: type: 9 v: Mac-63001698E7A34814
  serial: <superuser required>
  Mobo: Apple model: Mac-63001698E7A34814 v: iMac19,2
  serial: <superuser required> UEFI: Apple v: 1554.140.20.0.0 date: 06/22/2021
Battery:
  Device-1: hidpp_battery_0 model: Logitech Wireless Mouse M310/M310t
  serial: <filter> charge: 55% (should be ignored) rechargeable: yes
  status: Discharging
CPU:
  Info: Quad Core model: Intel Core i3-8100 bits: 64 type: MCP arch: Kaby Lake
  note: check family: 6 model-id: 9E (158) stepping: B (11) microcode: EA
  cache: L1: 256 KiB L2: 1024 KiB L3: 6 MiB
  flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  bogomips: 28808
  Speed: 1173 MHz min/max: 800/3600 MHz Core speeds (MHz): 1: 900 2: 921
  3: 900 4: 900
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf
  mitigation: PTE Inversion; VMX: conditional cache flushes, SMT disabled
  Type: mds mitigation: Clear CPU buffers; SMT disabled
  Type: meltdown mitigation: PTI
  Type: spec_store_bypass
  mitigation: Speculative Store Bypass disabled via prctl and seccomp
  Type: spectre_v1
  mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional,
  IBRS_FW, STIBP: disabled, RSB filling
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: AMD Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X] vendor: Apple driver: amdgpu v: kernel bus-ID: 01:00.0 chip-ID: 1002:67ef
  class-ID: 0300
  Device-2: Apple FaceTime HD Camera (Built-in) type: USB driver: uvcvideo
  bus-ID: 1-13:5 chip-ID: 05ac:8511 class-ID: 0e02 serial: <filter>
  Display: x11 server: X.org 1.21.1.1 compositor: kwin_x11 driver:
  loaded: amdgpu,ati unloaded: modesetting alternate: fbdev,vesa
  resolution: <missing: xdpyinfo>
  Message: Unable to show advanced data. Required tool glxinfo missing.
Audio:
  Device-1: Intel Cannon Lake PCH cAVS driver: snd_hda_intel v: kernel
  alternate: snd_soc_skl,snd_sof_pci_intel_cnl bus-ID: 00:1f.3
  chip-ID: 8086:a348 class-ID: 0403
  Device-2: AMD Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X]
  driver: snd_hda_intel v: kernel bus-ID: 01:00.1 chip-ID: 1002:aae0
  class-ID: 0403
  Sound Server-1: ALSA v: k5.15.6-2-MANJARO running: yes
  Sound Server-2: JACK v: 1.9.19 running: no
  Sound Server-3: PulseAudio v: 15.0 running: yes
  Sound Server-4: PipeWire v: 0.3.40 running: yes
Network:
  Device-1: Broadcom BCM4364 802.11ac Wireless Network Adapter vendor: Apple
  driver: N/A modules: brcmfmac, wl bus-ID: 02:00.0 chip-ID: 14e4:4464
  class-ID: 0280
  Device-2: Broadcom NetXtreme BCM57766 Gigabit Ethernet PCIe driver: tg3
  v: kernel port: N/A bus-ID: 03:00.0 chip-ID: 14e4:1686 class-ID: 0200
  IF: enp3s0f0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Drives:
  Local Storage: total: 4.55 TiB used: 616.25 GiB (13.2%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/sda maj-min: 8:0 vendor: Apple model: HDD HTS541010A9E632
  size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 3.0 Gb/s
  type: HDD rpm: 5400 serial: <filter> rev: B5N0 scheme: GPT
  ID-2: /dev/sdb maj-min: 8:16 type: USB vendor: Western Digital
  model: WD My Book 25EE size: 3.64 TiB block-size: physical: 4096 B
  logical: 512 B type: N/A serial: <filter> rev: 4004 scheme: GPT
Partition:
  ID-1: / raw-size: 98.47 GiB size: 96.37 GiB (97.86%) used: 9.34 GiB (9.7%)
  fs: ext4 dev: /dev/sdb5 maj-min: 8:21
  ID-2: /boot/efi raw-size: 200 MiB size: 196.9 MiB (98.45%)
  used: 37.9 MiB (19.2%) fs: vfat dev: /dev/sda1 maj-min: 8:1
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 49.0 C pch: 60.0 C mobo: N/A gpu: amdgpu
  temp: 50.0 C
  Fan Speeds (RPM): N/A
Info:
  Processes: 219 Uptime: 15m wakeups: 2 Memory: 7.65 GiB
  used: 2.06 GiB (27.0%) Init: systemd v: 249 tool: systemctl Compilers:
  gcc: 11.1.0 Packages: pacman: 1212 lib: 331 flatpak: 0 Shell: Bash v: 5.1.12
  running-in: konsole inxi: 3.3.09

Apple hardware is built for macOS :man_shrugging:

A couple of years ago I tried to get Linux running on various Apple hardware - maybe I didn’t have enough persistence - but I learned that I would never waste my time on a potential fruitless endeavour - and I would advise - if someone asked - don’t waste your time.

Of course you should do exactly what you like and think is fun. There is an article on Arch Wiki which states is is written for 20" and 24" iMac - maybe you can find help in it

And a general entry for Apple related hardware

These external resources are referenced

On t2linux.org these resources are referenced

I’m pretty sure that in the past you wanted to blacklist the ‘default’ mac module.

I appreciate the sentiment. My 2011 MacBookPro 13" is running Manjaro beautifully (wifi & sound included) - plus an attached display tablet driving Krita.

This is what tempts me to make Linux accessible on my desktop iMac 2019 21.5" - but so far the wifi and sound remain unresponsive.

I’ve followed your links above and will explore what @cscs notes above too.

Meanwhile, I think I’ll give a pure no frills Arch installation a try on the iMac… or perhaps even a simple Debian/KDE install and see if the mystery drivers magically appear. :roll_eyes:

Thanks for your replies!

I am also aware that earlier Apple hardware generally is easier to convert than newer Apple products.

As example of one of my attempts is my MacBook Pro 2017 (with touch bar) - which can be made to boot but requires external mouse and keyboard - and - at the time there was no working solutions for the touch bar - and working without function keys - is a tough challenge.

Another early attempt of mine was a iMac mini - but it turned out to be a 32-bit system - it was a pain to even boot a 32-bit Manjaro - yes - a long time ago.

Another attemp in the local community was a macBook Air - it was one of those systems where the newer macOS wouldnøt run so we tried to get Ubuntu running on it - without much success.

So I came to the conclusion - leave Apple products to run macOS - however if you have the persistence - like the urge to be challenged beyond your current knowledge - you have my utmost and sincere respect.


Kind of off-topic

Apple doesn’t like when other systems finds their way to Apple branded hardware - they have all sorts of protections to prevent booting unauthorized devices and even their macOS has built-in obstacles put in place to prevent the OS from being installed on non Apple branded hardware.

Every time something is circumvented by entreprenouros hackers - they put in another - it’s like decrapping windows 10 - then getting updated to win11 and finding Microsoft put in new phone-home addresses and domains - and new tracking systems to replace the circumventeded methods.

It is like Don Quixote figting windmills - you cannot win, you have lost your mind and die from fever.

1 Like

@linux-aarhus Thanks for the wise words, earned through experience.

“Experience” is that thing you needed just a few hours before you got it. :wink:

So I’ve tried repeatedly to get my 2019 iMac to behave nicely under even a clean Arch install using archfi/archdi scripts. It’s a mild form of success… still not really a terribly happy chunk of hardware - and still no wifi (nor sound). And the lush Retina screen is under-utilized at best.

On my 10 yr old MacBookPro, Manjaro runs like a dream. Far better than High Sierra OS which is the most current MacOS that Apple will provide (permit?) on this 2011 model.

As a result, I’ll be upgrading the RAM on the laptop to 16 gig, swapping out the original HD for a faster SSD, and replacing the battery. Probably change the carburetor and transmission fluid while I’m under the hood while considering snow tires.

I’ve also successfully deployed Manjaro on a MacMini of similar vintage (c. 2011) and a Dell Optiplex 710 (original Win10) - both of which run beautifully. A clean Arch install on an ancient underpowered Acer Netbook went smoothly too, but the CPU is so lame it’s hardly worth turning it on.

I guess since this iMac desktop is typically my daily driver, I’m okay leaving it as an “Apple” - but that’s not really my preference now that I see how delightful the Manjaro/Arch experience can be. Alas.

In short, based on this experience I now know that trying to convert Apple gear to Linux is fraught and has cost me 3-4 days I will never get back. Perhaps even more … once I forget what I’ve experienced and try again? :roll_eyes:

1 Like

Still say you want to be using the wl driver … but :woman_shrugging:
It is true that apple likes being apple … its just that we just dont enjoy it very much :sweat_smile:

1 Like

You’re tempting me to try, try again. This is the downside of perseverance.

Actually … looking around … I think it might be an easy fix like this:

wget https://packages.aunali1.com/apple/wifi-fw/18G2022/C-4364__s-B2/kauai.trx
sudo cp kauai.trx /lib/firmware/brcm/brcmfmac4364-pcie.bin

Though I only found mention of that resource on some other answer.
I have no idea whether thats a decent source.
Since you have the macOS you should be able to retrieve the firmware files directly from there.
(at which point just achieve placing them in the directory as shown in the second step above)

1 Like

As a noob I have managed to get Manjaro to run on an 2008 imac, a modded 2009 mbp (still my daily driver) and a 2016 macbook air (redirected VM install to external SSD) which is used for video editing with DaVinciResolve.

There are some challenges, especially with the newer models, but “Arch Wiki linux on mac” has all the information that is needed for any particular hardware. If anyone has the chance to do a little research before purchasing a mac it should be quite painless.

@cscs Many thanks for your follow up. I’ve learned 2 things since you’ve posted…

  1. I am a sucker to keep trying, after all…
  2. … and unfortunately the first package cited doesn’t currently exist (404 page error).

Alas. Perhaps I’ll keep digging with the other suggestions too. :vulcan_salute:

… and being boneheaded this morning, I failed to use my special root powers :blush: With sudo I was indeed able to download/execute the file at the suggested link.

As it turns out, I now cannot even load Arch from its boot up partition anymore… now I get “[FAILED] Failed to start Load Kernel Modules.” message immediately after informing me of my /dev/sdb5; clean…" report.

Back to the future I go. :roll_eyes:

I typod the link :frowning: fixed