Broadcom BCM43224 is catastrophically slow with Fedora 44; works fine with Linux Mint 22.3

The kernel module in use appears to be the same, and with the same 5GHz wireless network, Linux Mint gives me >200mbps where Fedora gives me sub-50kbps with over 80% packet loss. This is on the wireless adapter built in to a 2012 Macbook Air, model MacBookAir5,2, with a fresh install of Fedora.

lshw -C network output on Fedora:

  *-network
       description: Ethernet interface
       product: BCM43224 802.11a/b/g/n
       vendor: Broadcom Inc. and subsidiaries
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlp2s0b1
       version: 01
       serial: 8e:d9:86:fd:d2:93
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical
       configuration: broadcast=yes driver=brcmsmac driverversion=6.19.10-300.fc44.x86_64 firmware=610.812 ip=192.168.1.199 latency=0 link=yes multicast=yes
       resources: irq:17 memory:a0400000-a0403fff

and on Linux Mint:

  *-network
       description: Wireless interface
       product: BCM43224 802.11a/b/g/n
       vendor: Broadcom Inc. and subsidiaries
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlp2s0b1
       version: 01
       serial: 14:10:9f:e7:6b:2e
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=brcmsmac driverversion=6.14.0-37-generic firmware=610.812 latency=0 link=no multicast=yes wireless=IEEE 802.11
       resources: irq:17 memory:a0400000-a0403fff

Of note, I am not experiencing any OS freezes as was reported in this thread.

Is the kernel on mint the same as on fedora?

Your Fedora system strangely shows the device as an ethernet interface, while Mint correctly identifies it as WiFi. Surprising that Fedora connects to anything. You could try a more recent Fedora installer spin with a 7.1 kernel from https://dl.fedoraproject.org/pub/alt/live-respins/.

Note that the driver version is different in those listings.
Also note that it appears the fedora version may be the f44 initial release (April 2026) since it has kernel 6.19.10.

Potentially an update to fedora may solve this. Also if this is a new install there is a respin of the fedora OS that is available with all updates as of 20260731 located as indicated by George just above.

I updated to 7.1.5-201.fc44.x86_64 with an Ethernet adapter, with no change in behavior.

Is there a way to downgrade the kernel to 6.14.0 as was installed on linux mint? I’m wondering if this is some kind of regression between 6.14 and 6.19.

You might try and check rpmfusion to see if there is a better or newer driver.

A web search showed up this post Fedora 44 OS freeze on 2011 MacBook Air with Broadcom BCM43224 WiFi card - #22 by trugul

re: new drivers, I think (? not 100% sure how to tell) that both fedora and linux mint are using brcmsmac. So this would imply that it’s not a driver problem?

The driver versions are listed in your lshw output.

Maybe and maybe not a driver problem.

Fedora provides brcmsmac but there is also available broadcom-wl from rpmfusion that works as well for many broadcom chipsets.

Your post above with the info about both fedora and mint shows fedora was (at that time) using brcmsmac version 6.19.10-300 while mint was using version 6.14.0-37-generic. It would appear that the fedora brcmsmac gets the kernel version it is tied to while the mint version may not.

Your particular adapter may need the driver from rpmfusion instead of the free one that is provided by fedora.

With Apple Intel systems each OS update installs new firmware. Linux drivers are generally written for the latest firmware. It could help if you can install inxi and run inxi -ezxx, which will provide an overall summary (sanitized to be suitable for posting) including the firmware version.

The Mint kernel version was 6.14.0. I don’t have Mint installed on this machine; I’ve been booting it off a USB drive to test.

Is the fedora version of brcmsmac substantially different from the version Mint would have used? Or is it only a version difference?

FWIW, I made sure to install OS X and any possible updates before installing Linux. Here is the inxi output:

System:
  Kernel: 7.1.6-201.fc44.x86_64 arch: x86_64 bits: 64 compiler: gcc v: 16.1.1
  Console: pty pts/1 wm: gnome-shell DM: GDM Distro: Fedora Linux 44
    (Workstation Edition)
Machine:
  Type: Laptop System: Apple product: MacBookAir5,2 v: 1.0 serial: <filter>
    Chassis: type: 10 v: Mac-2E6FAB96566FE58C serial: <filter>
  Mobo: Apple model: Mac-2E6FAB96566FE58C v: MacBookAir5,2 serial: <filter>
    Firmware: UEFI vendor: Apple v: 429.0.0.0.0 date: 03/18/2022
Battery:
  ID-1: BAT0 charge: 27.4 Wh (85.2%) condition: 32.2/50.2 Wh (64%)
    temp: 32.9 C volts: 8.33 min: 7.5 model: SMP bq20z451 serial: N/A charging:
    status: charging cycles: 929
CPU:
  Info: 4x 2-core model: Intel Core i7-3667U bits: 64 type: MT MCP SMP
    arch: Ivy Bridge rev: 9 cache: L1: 4x 128 KiB (512 KiB)
    L2: 4x 512 KiB (2 MiB) L3: 4x 4 MiB (16 MiB)
  Speed (MHz): avg: 800 min/max: 800/3200 cores: 1: 800 2: 800 3: 800 4: 800
    bogomips: 19953
  Flags-basic: avx ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: Intel Ivy Bridge mobile GT2 [HD Graphics 4000] vendor: Apple
    driver: i915 v: kernel arch: Gen-7 ports: active: eDP-1 empty: DP-1, DP-2,
    HDMI-A-1, HDMI-A-2, VGA-1 bus-ID: 00:02.0 chip-ID: 8086:0166
  Device-2: Apple FaceTime HD Camera (Built-in) driver: uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 3-1.1:3 chip-ID: 05ac:8510
  Display: unspecified server: X.Org v: 24.1.13 with: Xwayland v: 24.1.13
    compositor: gnome-shell driver: dri: crocus gpu: i915 display-ID: :0
    screens: 1
  Screen-1: 0 s-res: 1440x900 s-dpi: 96
  Monitor-1: eDP-1 model: Apple Color LCD res: 1440x900 hz: 60 dpi: 126
    diag: 337mm (13.3")
  API: OpenGL v: 4.2 vendor: intel mesa v: 26.1.5 glx-v: 1.4 es-v: 3.0
    direct-render: yes renderer: Mesa Intel HD Graphics 4000 (IVB GT2)
    device-ID: 8086:0166
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
  Info: Tools: api: glxinfo x11: xdriinfo, xdpyinfo, xprop, xrandr
Audio:
  Device-1: Intel 7 Series/C216 Family High Definition Audio
    driver: snd_hda_intel v: kernel bus-ID: 00:1b.0 chip-ID: 8086:1e20
  API: ALSA v: k7.1.6-201.fc44.x86_64 status: kernel-api
  Server-1: PipeWire v: 1.6.8 status: n/a (root, process) with:
    1: pipewire-pulse status: active 2: wireplumber status: active
    3: pipewire-alsa type: plugin 4: pw-jack type: plugin
Network:
  Device-1: Broadcom BCM43224 802.11a/b/g/n vendor: Apple AirPort Extreme
    driver: bcma-pci-bridge v: N/A pcie: speed: 2.5 GT/s lanes: 1
    bus-ID: 02:00.0 chip-ID: 14e4:4353
  Device-2: ASIX AX88772 driver: asix type: USB rev: 2.0 speed: 480 Mb/s
    lanes: 1 bus-ID: 2-1:2 chip-ID: 0b95:7720
  IF: enp0s20u1 state: up speed: 100 Mbps duplex: full mac: <filter>
  IF-ID-1: wlp2s0b1 state: up mac: <filter>
Bluetooth:
  Device-1: Apple Built-in Bluetooth 2.0+EDR HCI driver: btusb v: 0.8
    type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 bus-ID: 1-1.8.1.3:9
    chip-ID: 05ac:821f
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 4.0
    lmp-v: 6
Drives:
  Local Storage: total: 234.75 GiB used: 5.58 GiB (2.4%)
  ID-1: /dev/sda vendor: Apple model: SSD SM256E size: 233.76 GiB
    speed: 6.0 Gb/s serial: <filter> temp: 51 C
  ID-2: /dev/sdc model: USB Disk size: 1014.8 MiB type: USB rev: 2.0
    spd: 480 Mb/s lanes: 1 serial: <filter>
Partition:
  ID-1: / size: 231.17 GiB used: 4.82 GiB (2.1%) fs: btrfs dev: /dev/sda3
  ID-2: /boot size: 1.9 GiB used: 524.8 MiB (27.0%) fs: ext4 dev: /dev/sda2
  ID-3: /boot/efi size: 598.8 MiB used: 20 MiB (3.3%) fs: vfat
    dev: /dev/sda1
  ID-4: /home size: 231.17 GiB used: 4.82 GiB (2.1%) fs: btrfs
    dev: /dev/sda3
Swap:
  ID-1: swap-1 type: zram size: 7.65 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 71.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 8 GiB available: 7.65 GiB used: 1.69 GiB (22.0%) igpu: 64 MiB
  Processes: 298 Power: uptime: 2m wakeups: 0 Init: systemd v: 259
    default: graphical
  Packages: pm: rpm pkgs: N/A note: see --rpm Compilers: N/A Shell: Sudo
    v: 1.9.17p2 running-in: ptyxis-agent inxi: 3.3.41

Is there a way for me to install the old kernel 6.14 on Fedora 44 to test if the driver version is the source of the problem?

My iMac 14,2 has a month newer firmware. The LHDB shows it is widely used with linux: https://linux-hardware.org/?id=bios:apple-433-140-2-0-0-04-18-2022. It can be difficult to connect to the LHDB (too many data scrapers?) but very useful to see which module works with Linux for others with your model.

Ethernet interfaces can be damaged by electrical surges. I had one name-brand card in a desktop that appeared to work using ssh, but NFS mounts were failing. The card passed the vendor’s diagnostics, but had visibly burned components on the board. A replacement ethernet card restored full functionality. I suspect someone connected a network cable to a telephone line. At work it was not unusual for laptops used for travel to conferences to have failed ethernet.

I’m not sure I understand, why would fedora require a different module than linux mint in order for the card to work? And this is a wireless card with no hardware damage, it works fine in linux mint.

Newer kernels and associated modules are usually built with newer compilers and libraries. An effort is made to ensure that software built on systems with older kernels and libraries still work, but there can be exceptions for security fixes, but software built for a newer kernel may not work on earlier kernels. With the recent flood of vulnerabilities found by AI, some modules may need updates to work properly on systems where security bugs have been addressed with updates.

Is there a way to install kernel versions between 6.14.x and 6.19 on Fedora? I can test to see if the old version works, and if so, do a bisect (effectively) to identify which version introduced the issue.

Yes, older kernels may be installed.
You must enable the updates-archive repo to select any kernel other than

  1. The latest kernel for the installed fedora version
  2. The initial released kernel for the installed fedora version.

You then can select

  1. Any kernel that has been in the pipeline for the installed fedora version
  2. Any released kernel for any fedora version if you are using dnf and use the
    --releasever=XX option to select the fedora version for which the desired kernel was released.

It is not, however, recommended to use older kernels since there have been many many updates and security fixes between the 6.14 kernel and the current 7.1 kernel; as well as many library updates.

You could try the lts kernel that’s built on COPR, Making sure you're not a bot!

Does this still apply?

Using the bcm43xx-fwcutter tool to install Broadcom firmware in Fedora.
-----------------------------------------------------------------------

To use the bcm43xx driver which is part of the Fedora kernel, you need
to extract the firmware which is part of the official MacOS, Windows,
or Linux drivers.

If your Fedora installation is dual-booting with MacOS or Windows, then
you probably already have a suitable driver available. Otherwise, the
README file contains a number of links from which you can download 
drivers. It shouldn't matter which one you use -- the kernel's bcm43xx
driver ought to work with all of them.

Having obtained the file from which you wish to extract the firmware,
run this command as root. Replace '<DRIVERFILE>' with the actual name
of the file, of course:

   bcm43xx-fwcutter -w /lib/firmware <DRIVERFILE>

This will save the various firmware files into the /lib/firmware
directory, from where the kernel can load them when necessary.