So, I downloaded the latest 3.2 kernel, configured it, and compiled it. See below for the details. Note that I enabled BCMA and turned on b43 as a module.
Note (see below) that I downloaded the firmware from Broadcom. I also included below a detailed list of all the firmware files, in case there is some obvious differences with someone's working configuration (e.g., the file sizes may differ).
Below, during kernel boot, you can see that the driver gets loaded, but gets the dreaded "b43-phy0 ERROR: FOUND UNSUPPORTED PHY".
Below is also a pared-down version of the output of "lshw". As you can see, it's using the "bcma-pci-bridge" driver. That's probably right because the b43 is attempting to be loaded.
Anybody have any idea what I could be doing wrong? I don't see any errors from b43 about missing firmware files, but that doesn't necessarily mean it's picking up the right ones.
Thanks for any help!
Downloading and compiling
Code: Select all
Linux springtime 3.2.13 #2 SMP Tue Mar 27 20:08:14 PDT 2012 x86_64 GNU/Linux
# aptitude purge firmware-b43-installer b43-fwcutter
# aptitude install build-essential
# cd /usr/src
# wget http://bu3sch.de/b43/fwcutter/b43-fwcutter-015.tar.bz2
# tar xjf b43-fwcutter-015.tar.bz2
# cd b43-fwcutter-015/
# make
# make install
# cd ..
# wget http://www.lwfinger.com/b43-firmware/broadcom-wl-5.100.138.tar.bz2
# ls -lsdt broadcom-wl-5.100.138.tar.bz2
# export FIRMWARE_INSTALL_DIR="/lib/firmware"
# tar xjf broadcom-wl-5.100.138.tar.bz2
# b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" broadcom-wl-5.100.138/linux/wl_apsta.o
# reboot
# cd /usr/src
# wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.2.13.tar.bz2
# tar xvjf linux-3.2.13.tar.bz2
# cd linux-3.2.13/
# make-kpkg --initrd kernel_image
# aptitude install ncurses-devel
# aptitude install ncurses-dev
# make menuconfig
# cd /usr/src/linux-3.2.13/
# make-kpkg --initrd kernel_image
# dpkg -i ../linux-image-3.2.13_3.2.13-10.00.Custom_amd64.deb
# reboot
Code: Select all
[ 0.000000] Linux version 3.2.13 (root@springtime) (gcc version 4.6.1 (Debian 4.6.1-4) ) #2 SMP Tue Mar 27 20:08:14 PDT 2012
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.2.13 root=/dev/sda4 ro quiet
[ 0.000000] DMI 2.4 present.
[ 0.000000] DMI: Apple Inc. MacBookPro8,1/Mac-94245B3640C91C81, BIOS MBP81.88Z.0047.B22.1109281426 09/28/11
[ 0.000000] No AGP bridge found
[ 4.713163] bcma-pci-bridge 0000:03:00.0: Signaling PME through PCIe PME interrupt
[ 11.304666] bcma: Switched to core: 0x812
[ 11.305076] b43-phy0 ERROR: FOUND UNSUPPORTED PHY (Analog 9, Type 7, Revision 1)
[ 11.305151] b43: probe of bcma0:0 failed with error -95
[ 11.305172] Broadcom 43xx driver loaded [ Features: PMNLS ]
[ 11.474189] usb 1-1.1.2: USB disconnect, device number 7
Code: Select all
03:00.0 Network controller [0280]: Broadcom Corporation BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
Subsystem: Apple Computer Inc. AirPort Extreme [106b:00d6]
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at a0600000 (64-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: bcma-pci-bridge
Code: Select all
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/a0g0bsinitvals5.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/a0g0bsinitvals9.fw
-rw-r--r-- 1 root root 1836 Mar 26 23:33 /lib/firmware/b43/a0g0initvals5.fw
-rw-r--r-- 1 root root 1992 Mar 26 23:33 /lib/firmware/b43/a0g0initvals9.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/a0g1bsinitvals13.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/a0g1bsinitvals5.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/a0g1bsinitvals9.fw
-rw-r--r-- 1 root root 2126 Mar 26 23:33 /lib/firmware/b43/a0g1initvals13.fw
-rw-r--r-- 1 root root 1836 Mar 26 23:33 /lib/firmware/b43/a0g1initvals5.fw
-rw-r--r-- 1 root root 1992 Mar 26 23:33 /lib/firmware/b43/a0g1initvals9.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/b0g0bsinitvals13.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/b0g0bsinitvals5.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/b0g0bsinitvals9.fw
-rw-r--r-- 1 root root 2126 Mar 26 23:33 /lib/firmware/b43/b0g0initvals13.fw
-rw-r--r-- 1 root root 1836 Mar 26 23:33 /lib/firmware/b43/b0g0initvals5.fw
-rw-r--r-- 1 root root 1992 Mar 26 23:33 /lib/firmware/b43/b0g0initvals9.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/ht0bsinitvals26.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/ht0bsinitvals29.fw
-rw-r--r-- 1 root root 2678 Mar 26 23:33 /lib/firmware/b43/ht0initvals26.fw
-rw-r--r-- 1 root root 2720 Mar 26 23:33 /lib/firmware/b43/ht0initvals29.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/lcn0bsinitvals24.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/lcn0bsinitvals25.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/lcn0bsinitvals26.fw
-rw-r--r-- 1 root root 2976 Mar 26 23:33 /lib/firmware/b43/lcn0initvals24.fw
-rw-r--r-- 1 root root 2958 Mar 26 23:33 /lib/firmware/b43/lcn0initvals25.fw
-rw-r--r-- 1 root root 2678 Mar 26 23:33 /lib/firmware/b43/lcn0initvals26.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/lcn1bsinitvals24.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/lcn1bsinitvals25.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/lcn1bsinitvals26.fw
-rw-r--r-- 1 root root 2976 Mar 26 23:33 /lib/firmware/b43/lcn1initvals24.fw
-rw-r--r-- 1 root root 2958 Mar 26 23:33 /lib/firmware/b43/lcn1initvals25.fw
-rw-r--r-- 1 root root 2678 Mar 26 23:33 /lib/firmware/b43/lcn1initvals26.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/lcn2bsinitvals24.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/lcn2bsinitvals25.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/lcn2bsinitvals26.fw
-rw-r--r-- 1 root root 2976 Mar 26 23:33 /lib/firmware/b43/lcn2initvals24.fw
-rw-r--r-- 1 root root 2958 Mar 26 23:33 /lib/firmware/b43/lcn2initvals25.fw
-rw-r--r-- 1 root root 2678 Mar 26 23:33 /lib/firmware/b43/lcn2initvals26.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/lcn400bsinitvals33.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/lcn400initvals33.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/lp0bsinitvals13.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/lp0bsinitvals14.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/lp0bsinitvals15.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/lp0bsinitvals16.fw
-rw-r--r-- 1 root root 3664 Mar 26 23:33 /lib/firmware/b43/lp0initvals13.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/lp0initvals14.fw
-rw-r--r-- 1 root root 2598 Mar 26 23:33 /lib/firmware/b43/lp0initvals15.fw
-rw-r--r-- 1 root root 2738 Mar 26 23:33 /lib/firmware/b43/lp0initvals16.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/lp1bsinitvals20.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/lp1bsinitvals22.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/lp1initvals20.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/lp1initvals22.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/lp2bsinitvals19.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/lp2initvals19.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/n0absinitvals11.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/n0bsinitvals11.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/n0bsinitvals16.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/n0bsinitvals17.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/n0bsinitvals22.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/n0bsinitvals24.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/n0bsinitvals25.fw
-rw-r--r-- 1 root root 2152 Mar 26 23:33 /lib/firmware/b43/n0initvals11.fw
-rw-r--r-- 1 root root 2738 Mar 26 23:33 /lib/firmware/b43/n0initvals16.fw
-rw-r--r-- 1 root root 2408 Mar 26 23:33 /lib/firmware/b43/n0initvals17.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/n0initvals22.fw
-rw-r--r-- 1 root root 2976 Mar 26 23:33 /lib/firmware/b43/n0initvals24.fw
-rw-r--r-- 1 root root 2958 Mar 26 23:33 /lib/firmware/b43/n0initvals25.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/n16bsinitvals30.fw
-rw-r--r-- 1 root root 2634 Mar 26 23:33 /lib/firmware/b43/n16initvals30.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/n18bsinitvals32.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/n18initvals32.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/n1bsinitvals20.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/n1initvals20.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/n2bsinitvals19.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/n2initvals19.fw
-rw-r--r-- 1 root root 1320 Mar 26 23:33 /lib/firmware/b43/pcm5.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/sslpn0bsinitvals16.fw
-rw-r--r-- 1 root root 2738 Mar 26 23:33 /lib/firmware/b43/sslpn0initvals16.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/sslpn1bsinitvals20.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/sslpn1bsinitvals27.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/sslpn1initvals20.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/sslpn1initvals27.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/sslpn2bsinitvals19.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/sslpn2initvals19.fw
-rw-r--r-- 1 root root 178 Mar 26 23:33 /lib/firmware/b43/sslpn3bsinitvals21.fw
-rw-r--r-- 1 root root 2552 Mar 26 23:33 /lib/firmware/b43/sslpn3initvals21.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/sslpn4bsinitvals22.fw
-rw-r--r-- 1 root root 8 Mar 26 23:33 /lib/firmware/b43/sslpn4initvals22.fw
-rw-r--r-- 1 root root 31176 Mar 26 23:33 /lib/firmware/b43/ucode11.fw
-rw-r--r-- 1 root root 28216 Mar 26 23:33 /lib/firmware/b43/ucode13.fw
-rw-r--r-- 1 root root 12 Mar 26 23:33 /lib/firmware/b43/ucode14.fw
-rw-r--r-- 1 root root 35512 Mar 26 23:33 /lib/firmware/b43/ucode15.fw
-rw-r--r-- 1 root root 33712 Mar 26 23:33 /lib/firmware/b43/ucode16_lp.fw
-rw-r--r-- 1 root root 39296 Mar 26 23:33 /lib/firmware/b43/ucode16_mimo.fw
-rw-r--r-- 1 root root 34448 Mar 26 23:33 /lib/firmware/b43/ucode16_sslpn.fw
-rw-r--r-- 1 root root 28589 Mar 26 23:33 /lib/firmware/b43/ucode16_sslpn_nobt.fw
-rw-r--r-- 1 root root 36216 Mar 26 23:33 /lib/firmware/b43/ucode17_mimo.fw
-rw-r--r-- 1 root root 9 Mar 26 23:33 /lib/firmware/b43/ucode19_sslpn.fw
-rw-r--r-- 1 root root 9 Mar 26 23:33 /lib/firmware/b43/ucode19_sslpn_nobt.fw
-rw-r--r-- 1 root root 9 Mar 26 23:33 /lib/firmware/b43/ucode20_sslpn.fw
-rw-r--r-- 1 root root 9 Mar 26 23:33 /lib/firmware/b43/ucode20_sslpn_nobt.fw
-rw-r--r-- 1 root root 34735 Mar 26 23:33 /lib/firmware/b43/ucode21_sslpn.fw
-rw-r--r-- 1 root root 28988 Mar 26 23:33 /lib/firmware/b43/ucode21_sslpn_nobt.fw
-rw-r--r-- 1 root root 12 Mar 26 23:33 /lib/firmware/b43/ucode22_mimo.fw
-rw-r--r-- 1 root root 9 Mar 26 23:33 /lib/firmware/b43/ucode22_sslpn.fw
-rw-r--r-- 1 root root 35267 Mar 26 23:33 /lib/firmware/b43/ucode24_lcn.fw
-rw-r--r-- 1 root root 39760 Mar 26 23:33 /lib/firmware/b43/ucode24_mimo.fw
-rw-r--r-- 1 root root 34847 Mar 26 23:33 /lib/firmware/b43/ucode25_lcn.fw
-rw-r--r-- 1 root root 39128 Mar 26 23:33 /lib/firmware/b43/ucode25_mimo.fw
-rw-r--r-- 1 root root 39728 Mar 26 23:33 /lib/firmware/b43/ucode26_mimo.fw
-rw-r--r-- 1 root root 9 Mar 26 23:33 /lib/firmware/b43/ucode27_sslpn.fw
-rw-r--r-- 1 root root 39760 Mar 26 23:33 /lib/firmware/b43/ucode29_mimo.fw
-rw-r--r-- 1 root root 39632 Mar 26 23:33 /lib/firmware/b43/ucode30_mimo.fw
-rw-r--r-- 1 root root 12 Mar 26 23:33 /lib/firmware/b43/ucode32_mimo.fw
-rw-r--r-- 1 root root 9 Mar 26 23:33 /lib/firmware/b43/ucode33_lcn40.fw
-rw-r--r-- 1 root root 21328 Mar 26 23:33 /lib/firmware/b43/ucode5.fw
-rw-r--r-- 1 root root 23256 Mar 26 23:33 /lib/firmware/b43/ucode9.fw