You are not logged in.
I just installed Arch on an old MacBook c. 2010. Everything works great except I can't get the wireless device to find access points. The interface is up:
ip link show wlan0
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000
link/ether d2:52:59:81:a7:8e brd ff:ff:ff:ff:ff:ff permaddr d8:a2:5e:93:40:c2
but command
iw dev interface scan
doesn't return anything. The wireless interface is Broadcom BCM4322. Here's what I see with lspci
lspci -k
02:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4322 802.11a/b/g/n Wireless LAN Controller (rev 01)
Subsystem: Apple Inc. AirPort Extreme
Kernel driver in use: b43-pci-bridge
Kernel modules: ssb
I don't know what to try next. Thanks in advance!
Last edited by bergerac (2022-01-28 03:48:48)
Offline
Did it work on the ISO? you might want to look into: https://wiki.archlinux.org/title/Broadc … roadcom-wl
Offline
No I didn't try with the ISO, the Mac was connected to the network with Ethernet. However I could see in the output of dmesg that firmware was missing for driver b43.
I installed package b43-firmware in the ondisk installation,
Offline
The iw command you quote in your post is not correct. Try
sudo iw dev wlan0 scan
Offline
I'm logged in as root. I tried with sudo and the result is the same.
Thanks for the replies everybody.
Offline
The ssb module you show loaded is part of the b43 driver. Have you looked into the alternative broadcom-wl which V1del pointed to? See also https://wiki.archlinux.org/title/Mac#Wi-Fi
Offline
I just tried broadcom-wl. As the Broadcom wireless wiki suggests, I executed those three commands
rmmod b43
rmmod ssb
modprobe wl
A new wireless was created, wlp2s0:
iw dev
phy#1
Interface wlp2s0
ifindex 4
wdev 0x100000001
addr d8:a2:5e:93:40:c2
type managed
txpower 200.00 dBm
The status of the interface looks good
[root@pasteur ~]# ip link show wlp2s0
4: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether d8:a2:5e:93:40:c2 brd ff:ff:ff:ff:ff:ff
but alas the new interface cannot find access points
iw dev wlp2s0 scan
doesn't return anything.
Offline
See any messages in dmesg/the journal during this? While I think that an iw scan should list something anyway, as you'll not actually be able to connect with whatever access point it is if it's using WPA have you checked more tailored tool, like wpa_supplicannt or iwd/iwctl? Do you know that the access point works, does it work on Mac OS? How is the accesspoint configured? No hidden BSSID I'm assuming? Proper frequency band? e.g. not just 5Ghz which I could see such an old adapter struggling with?
Offline
For an unknown reason it started to work. The only difference I can see is that another driver is now used for the interface:
lspci -k
02:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4322 802.11a/b/g/n Wireless LAN Controller (rev 01)
Subsystem: Apple Inc. AirPort Extreme
Kernel driver in use: b43-pci-bridge
Kernel modules: ssb
whereas before the driver loaded was b43 (I removed package broadcom-wl).
I can now use wpa_supplicant and wpa_cli to establish a wireless connection and dhcpcd takes care of getting an IP address.
Thanks again for the help!
Offline
Oops, I just noted that the code I posted in my original message was also showing driver b43-pci-bridge. So why it started to work all of a sudden is a mystery.
Offline
In case it might help, here's how I start wpa_supplicant:
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -D wext -f /tmp/wpa_supplicant.log
For how to connect to an access point once wpa_supplicant is running, just follow the instructions in the wpa_supplicant wiki.
Offline