Very slow wifi on Asahi compared to MacOS on M1 2022

Hi very new to linux here.

I have very big difference in download speeds when booting between Asahi and MacOS.

I have done this test on multiple different networks and all have similar results.

Browsers used Chromium and Firefox. Zero extensions

My Asahi speed test: 6.09 Mbps Download / 44.78 Mbps Upload
Mac OS speed test: 47 Mbps Download / 48 Mbps Upload

Is this normal for Asahi linux?

I saw on another forum to post the output of the following commands

Here is my inxi -Fxpmrz

System:
  Kernel: 6.9.12-401.asahi.fc40.aarch64+16k arch: aarch64 bits: 64
    compiler: gcc v: 2.41-37.fc40
  Desktop: GNOME v: 46.4 Distro: Linux Asahi Remix 40 (Workstation Edition)
    base: Fedora 40
Machine:
  Type: ARM System: Apple MacBook Pro (16-inch, M1 Pro, 2021) details: N/A
    serial: <filter>
Battery:
  ID-1: macsmc-battery charge: 72.3 Wh (100.0%)
    condition: 72.3/78.2 Wh (92.4%) volts: 12.8 min: 9.0 model: bq40z651
    status: full
Memory:
  System RAM: total: 32 GiB note: est. available: 30.9 GiB
    used: 8.89 GiB (28.8%)
  RAM Report: message: No RAM data found using udevadm.
CPU:
  Info: quad core model: N/A variant-1: firestorm variant-2: icestorm bits: 64
    type: MT MCP arch: ARMv8 rev: 0 cache: L1: 2.9 MiB L2: 28 MiB
  Speed (MHz): avg: 2572 high: 3228 min/max: 600/2064:3228 boost: enabled
    cores: 1: 600 2: 600 3: 3228 4: 3228 5: 3228 6: 3228 7: 2904 8: 2904 9: 2904
    10: 2904 bogomips: N/A
  Features: Use -f option to see features
Graphics:
  Device-1: agx-t6000 driver: asahi v: kernel bus-ID: N/A
  Device-2: display-subsystem driver: apple_drm v: N/A bus-ID: N/A
  Display: wayland server: X.Org v: 24.1.2 with: Xwayland v: 24.1.2
    compositor: gnome-shell driver: dri: asahi gpu: apple-drm
    resolution: 3456x2160~60Hz
  API: OpenGL v: 4.6 vendor: mesa v: 24.2.0-asahi20240727 glx-v: 1.4
    direct-render: yes renderer: Apple M1 Pro (G13S C0)
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
Audio:
  Device-1: t6000-dpaudio driver: dcp_dp_audio bus-ID: N/A
  Device-2: j316-macaudio driver: snd_soc_macaudio v: kernel bus-ID: N/A
  API: ALSA v: k6.9.12-401.asahi.fc40.aarch64+16k status: kernel-api
  Server-1: JACK v: 1.9.22 status: off
  Server-2: PipeWire v: 1.0.7 status: active
Network:
  Device-1: Broadcom BCM4387 802.11ax Dual Band Wireless LAN vendor: Apple
    driver: brcmfmac v: kernel bus-ID: 01:00.0
  IF: wlp1s0f0 state: up mac: <filter>
  Device-2: Broadcom BRCM4387 Bluetooth vendor: Apple driver: hci_bcm4377
    v: kernel port: N/A bus-ID: 01:00.1
Drives:
  Local Storage: total: 931.97 GiB used: 15.91 GiB (1.7%)
  ID-1: /dev/nvme0n1 vendor: Apple model: SSD AP1024R 0ba0163ae25c8229
    size: 931.84 GiB temp: 27.9 C
  ID-2: /dev/nvme0n2 vendor: Apple model: SSD AP1024R size: 3 MiB
    temp: 27.9 C
  ID-3: /dev/nvme0n3 vendor: Apple model: SSD AP1024R 0ba0163ae25c8229
    size: 128 MiB temp: 27.9 C
Partition:
  ID-1: / size: 596.57 GiB used: 15.49 GiB (2.6%) fs: btrfs
    dev: /dev/nvme0n1p6
  ID-2: /boot size: 973.4 MiB used: 302.6 MiB (31.1%) fs: ext4
    dev: /dev/nvme0n1p5
  ID-3: /boot/efi size: 498.9 MiB used: 132.1 MiB (26.5%) fs: vfat
    dev: /dev/nvme0n1p4
  ID-4: /home size: 596.57 GiB used: 15.49 GiB (2.6%) fs: btrfs
    dev: /dev/nvme0n1p6
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) dev: /dev/zram0
Sensors:
  Src: lm-sensors+/sys Message: No sensor data found using /sys/class/hwmon
    or lm-sensors.
Repos:
  Packages: 5
  No active dnf repos in: /etc/dnf/dnf.conf
  Active yum repos in: /etc/yum.repos.d/fedora-asahi-remix-hotfixes.repo
    1: fedora-asahi-remix-hotfixes ~ https://fedora-asahi-remix.org/repos/hotfixes/$releasever/
  Active yum repos in: /etc/yum.repos.d/fedora-cisco-openh264.repo
    1: fedora-cisco-openh264 ~ https://mirrors.fedoraproject.org/metalink?repo=fedora-cisco-openh264-$releasever&arch=$basearch
  No active yum repos in: /etc/yum.repos.d/fedora-updates-testing.repo
  Active yum repos in: /etc/yum.repos.d/fedora-updates.repo
    1: updates ~ https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch
  Active yum repos in: /etc/yum.repos.d/fedora.repo
    1: fedora ~ https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
  Active yum repos in: /etc/yum.repos.d/group_asahi-fedora-remix-branding.repo
    1: copr:copr.fedorainfracloud.org:group_asahi:fedora-remix-branding ~ https://download.copr.fedorainfracloud.org/results/@asahi/fedora-remix-branding/fedora-$releasever-$basearch/
  Active yum repos in: /etc/yum.repos.d/group_asahi-fedora-remix-scripts.repo
    1: copr:copr.fedorainfracloud.org:group_asahi:fedora-remix-scripts ~ https://download.copr.fedorainfracloud.org/results/@asahi/fedora-remix-scripts/fedora-$releasever-$basearch/
  Active yum repos in: /etc/yum.repos.d/group_asahi-flatpak.repo
    1: copr:copr.fedorainfracloud.org:group_asahi:flatpak ~ https://download.copr.fedorainfracloud.org/results/@asahi/flatpak/fedora-$releasever-$basearch/
  Active yum repos in: /etc/yum.repos.d/group_asahi-kernel.repo
    1: copr:copr.fedorainfracloud.org:group_asahi:kernel ~ https://download.copr.fedorainfracloud.org/results/@asahi/kernel/fedora-$releasever-$basearch/
  Active yum repos in: /etc/yum.repos.d/group_asahi-mesa.repo
    1: copr:copr.fedorainfracloud.org:group_asahi:mesa ~ https://download.copr.fedorainfracloud.org/results/@asahi/mesa/fedora-$releasever-$basearch/
  Active yum repos in: /etc/yum.repos.d/group_asahi-u-boot.repo
    1: copr:copr.fedorainfracloud.org:group_asahi:u-boot ~ https://download.copr.fedorainfracloud.org/results/@asahi/u-boot/fedora-$releasever-$basearch/
  No active yum repos in: /etc/yum.repos.d/rpmfusion-free-updates-testing.repo
  Active yum repos in: /etc/yum.repos.d/rpmfusion-free-updates.repo
    1: rpmfusion-free-updates ~ https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-$releasever&arch=$basearch
  Active yum repos in: /etc/yum.repos.d/rpmfusion-free.repo
    1: rpmfusion-free ~ https://mirrors.rpmfusion.org/metalink?repo=free-fedora-$releasever&arch=$basearch
  Active yum repos in: /etc/yum.repos.d/rpmfusion-nonfree-nvidia-driver.repo
    1: rpmfusion-nonfree-nvidia-driver ~ https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-nvidia-driver-$releasever&arch=$basearch
  No active yum repos in: /etc/yum.repos.d/rpmfusion-nonfree-updates-testing.repo
  Active yum repos in: /etc/yum.repos.d/rpmfusion-nonfree-updates.repo
    1: rpmfusion-nonfree-updates ~ https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-updates-released-$releasever&arch=$basearch
  Active yum repos in: /etc/yum.repos.d/rpmfusion-nonfree.repo
    1: rpmfusion-nonfree ~ https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-$releasever&arch=$basearch
  Active yum repos in: /etc/yum.repos.d/vscode.repo
    1: code ~ https://packages.microsoft.com/yumrepos/vscode
Info:
  Processes: 421 Uptime: 58m Init: systemd target: graphical (5)
  Compilers: gcc: 14.2.1 Shell: Zsh v: 5.9 inxi: 3.3.34

Here is rfkill list all

0: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no
1: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: no

Here is lspci

00:00.0 PCI bridge: Apple Inc. Apple Silicon PCI Express Root Port (rev 01)
00:01.0 PCI bridge: Apple Inc. Apple Silicon PCI Express Root Port (rev 01)
01:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4387 802.11ax Dual Band Wireless LAN Controller (rev 07)
01:00.1 Network controller: Broadcom Inc. and subsidiaries BRCM4387 Bluetooth Controller (rev 07)
02:00.0 SD Host controller: Genesys Logic, Inc GL9755 SD Host Controller (rev 01)

Thank you to anyone willing to help me

Nope, it’s not normal. I just did a speed test earlier today on an equivalent machine (same wifi chipset) and I got ~400Mbps download.

How are you doing the speed test? If you’re using a website, keep in mind that those sites will use different speed test servers based on location heuristics, which could be different depending on the OS.

Thanks for the response. I did the speedtest on a speedtest.net.

I noticed the drop in the connection from normal browsing so I don’t think it was the website but I will try again on another site

I tried with different ones and they are getting better around 30Mbps for download on Asahi. Thanks for that advice.

Then I used speedtest-cli and it went above 40Mbps. Thank you for you help. It must be something else that sometimes drops the wifi speed down

Added apple, f40 and removed audio, bluetooth, flatpak, pipewire, server

After some playing around I can definitely tell that the download speed is a lot slower.

The speed will sometimes be fast and sometimes be slow

It took >5 minutes to download google chrome installer.

But other times I can watch Youtube videos HD x2 speed no problem.

That sounds more likely like a network routing issue. As I said, different OSes can trigger different behavior regarding geolocation/etc (as well as IPv6 usage/preference). That can impact which download servers are chosen, which can then have very different performance based on internet routing issues/bottlenecks.

At this point if you want to confirm if it really is a wifi issue or not, you have to do local tests within your LAN (e.g. connecting to a computer that’s on a wired connection, with iperf). If that is slower than macOS then there’s something for us to look into, but if that all performs as expected then it’s an internet issue.

Thank you very much for your help. I think I will wait until I am out of the country I currently am in and try it again.

If I do go get an ethernet cable and try the local tests I will do that and report my findings here.

I’m having the same problem and I think I have the problem narrowed down.

Asahi Linux for some reason that is beyond my understanding is worse at receiving WiFi signals, especially 5Ghz ones when compared to MacOS.

Almost every 5Ghz SSID has 2 BSSIDs - One for 5Ghz and another for 2.4Ghz. This is similar to a set up you’d find in universities or offices where you have multiple access points but the same SSID. Your device switches from one AP to another based on their signal strength. The APs are differentiated with their BSSIDs.

When the 5Ghz signal gets weaker, your computer automatically switches to the 2.4Ghz BSSID. You can verify this with the command iw dev. You’d find an output like this:

$ iw dev
phy#0
	Interface wlp1s0f0
		ifindex 2
		wdev 0x1
		addr <redacted>
		ssid <redacted>
		type managed
		channel 161 (5805 MHz), width: 80 MHz, center1: 5775 MHz
		txpower 31.00 dBm

In the last but one line, you can see that the channel is now at 5805 Mhz, aka a 5Ghz network. When I move a little away from the access point, it automatically switches to a 2.4Ghz BSSID:

$ iw dev
phy#0
     	Interface wlp1s0f0
                ifindex 2
                wdev 0x1
                addr <redacted>
                ssid <redacted>
                type managed
                channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz
                txpower 31.00 dBm

(see 2412 Mhz)

The reason you’d see lower speeds sometimes and higher speeds the other is probably because of this automatic silent switching of bands. Note that you wouldn’t see a change in WiFi SSID names itself. It would look like you’re connected to the same WiFi network. You’d get much lower speeds on 2.4Ghz. Some routers even prioritize 5Ghz since more devices might be connected to it.

I am trying to work out a solution to this to prevent the band switch from happening. One solution is to set the preferred BSSID and preferred channel (5Ghz) in network manager. That hasn’t worked. Another solution is to change wpa_supplicant config to only search for better APs when the signal strength goes below -90dBm but that didn’t work either. The temporary solution is to just sit closer to the AP with the 5Ghz band. Maybe someone with more knowledge about the network stack in linux knows a solution?

As I have a friend who is about to convert their Mac Mini M1 to Asahi, is this still an issue for all M hardware Macs running Asahi or just M1?

It’s only a problem if you’re a little far from your WiFi router. I’m not sure if the Mac Mini has the same Broadcom BCM43142 WiFi card as the macbook air. There’s a pretty good chance that the WiFi card is different.

If you’re in control of the network, one solution that works is to disable the 2.4Ghz wifi BSSID from the 5Ghz network and have a dedicated 2.4Ghz SSID. for example, if your wifi name is foo, have 2 SSIDs - foo_2.4Ghz and foo_5Ghz.

1 Like

A few months later and you’re correct, higher gigahertz bands work better

same thing, but its 50mib/s on asahi and 150-200+mib/s on macos sequia

forgot to mention but its its the 2020 mbp tho*