I originally posted this on reddit as an issue - but I solved it and figured I’d share here in case anyone else may have ran into the issue before and/or anyone runs into it in the future.
----- Original Post
Hi,
I normally don’t have an issue researching and working my way through issues on my own but for the first time I find myself stuck to the point of frustration. I’m hoping some savior out there has EOS installed on the same Macbook Air as me that can help me.
ISSUE: WiFi sees available networks, but will not connect to any - asks for key, I enter it, it spins forever and asks for key again. Direct ethernet connection works fine.
So, here’s the the full spec for reference:
2018 MACBOOK AIR A1932 - EMC 3184 - MACBOOK AIR 8,2
(Neofetch lists 8,2 but I see in quite a few places it lists it as 8,1 - So I am not certain of how to confirm this)
- CPU: i5-8210Y (4) @ 3.5GHz
- GPU: Intel UHD 617
- MEM: 16GB
- WiFi: BCM4355
I believe the BCM4355 is the issue, as I cannot find the firmware anywhere (The whole disk was wiped so don’t have original OS to pull from).
Steps I’ve taken:
-
Burned this ISO to usb via balena:
https://github.com/t2linux/EndeavourOS-ISO-t2/releases/tag/Endeavour-T2 -
Following this guide:
https://wiki.t2linux.org/distributions/endeavouros/installation/* I updated pacman.conf replacing the mirror.funami.tech source with https://github.com/NoaHimesaka1873/arch-mact2-mirror/releases/download/release to get the install to work.
-
I formatted the drive before I started the installer and gave it a gpt partition table.
-
Let EOS manage the partioning, tried with swap file and no swap (irrelevant but just being thorough)
-
Installed all three additional kernels
-
-
Xanmod
-
-
-
LTS Xanmod
-
-
-
LTS
On reboot, everything works except wifi - as mentioned, it detects it, sees available networks, but simply won’t connect to any - Just keeps asking for the password. Ethernet works fine.
I tried running the script from the t2 guys that pulls a recovery image and installs the firmware
[https://wiki.t2linux.org/tools/firmware.sh](https://wiki.t2linux.org/tools/firmware.sh) (direct download, not a guide)
-
https://wiki.t2linux.org/guides/wifi-bluetooth/ (guide)
I chose option 6 (reccomended) for the recovery image version - if i recall correctly it was Ventura.
Got through the steps successfully, rebooted, same issue.
Lastly, I decided to try building my own from the latest eos
https://github.com/t2linux/EndeavourOS-ISO-t2
Used this guide at the bottom, pulled https://github.com/endeavouros-team/EndeavourOS-ISO/releases/tag/24.06.2.1
wget https://github.com/endeavouros-team/EndeavourOS-ISO/archive/refs/tags/24.06.2.1.tar.gz
tar -xvf 23.11.1.2.tar.gz
cd "EndeavourOS-ISO-23.11.1.2"
./prepare.sh
sudo ./mkarchiso -v "."
Then i burned the iso from the /out directory and installed like before. Still the issue persists. I know it can’t be that the hardware is incompatible with my wifi config (channel / band) because it connected fine on MacOS.
I tried looking at linux-hardware and saw that someone had the EOS t2 installed on the same hardware and it was working, so it has to be possible. I feel like i am stupid or something and missing something simple.
Anyhow, all this to say - I have no issue working through problems myself, doing the research and reading to figure out my own problems, and i’ve tried for 2 days. But now, I am at a loss and need some help. Hopefully someone out there has the same laptop and has gone through this.
Other ideas i’ve tried:
-
wl-dkms & banning the others in the modprobe config
-
reinstalling the apple-bcm-firmware
– Followup with solution:
UPDATE: I solved it!!!
If anyone else runs into the same, here was my solution:
Create this file:
/etc/NetworkManager/conf.d/00-wifi-powersave.conf
Add:
[connection]
wifi.powersave=2
Save it and exit.
Then:
sudo pacman -S iwd
sudo systemctl stop wpa_supplicant
sudo systemctl mask wpa_supplicant
sudo systemctl enable --now iwd.service
sudo systemctl daemon-reload
sudo systemctl start iwd.service
Lastly, edit:
/etc/NetworkManager/NetworkManager.conf
Add:
[device]
wifi.backend=iwd
And restart. Viola.