OpenWrt Forum Archive

Topic: Broadcom BCM947xx/953xx [2.6] (b43 driver) won't build

The content of this topic has been archived on 30 Mar 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Using the default gcc 4.1.2 or 4.2.2 option on Fedora 7, the source from Trunk (r10343) keeps choking with "x-uclibc-as: unrecognized option `-Qy'". The gcc 3.4.6 option can build the image without such a problem. Would you give this noob a hint or two on where to look for the cause(s)?

From openwrt/trunk/build_dir/toolchain-mipsel_gcc4.1.2/gcc-4.1.2-final/gcc/config.log

...
gcc (GCC) 4.1.2 20070925 (Red Hat 4.1.2-27)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:2151: $? = 0
configure:2153: gcc -v </dev/null >&5
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/u
sr/share/info --enable-shared --enable-threads=posix --enable-checking=release -
-with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-
languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-ds
si --enable-plugin --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --en
able-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/ja
va/eclipse-ecj.jar --with-cpu=generic --host=i386-redhat-linux
Thread model: posix
gcc version 4.1.2 20070925 (Red Hat 4.1.2-27)
configure:2156: $? = 0
configure:2158: gcc -V </dev/null >&5
gcc: '-V' option must have argument
configure:2161: $? = 1
configure:2184: checking for C compiler default output file name
configure:2187: gcc -g -O2    conftest.c  >&5
/home/worker/openwrt/trunk/staging_dir/toolchain-mipsel_gcc4.1.2/bin/mipsel-linu
x-uclibc-as: unrecognized option `-Qy'
configure:2190: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h.  */
| 
| int
...

It builds just fine here, revision 10422.

Unfortunately, it doesn't seem to work on ASUS WL-500gP:

# modprobe b43

# dmesg
PCI: Fixing up device 0000:00:02.0
ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x0D, vendor 0x4243)
ssb: Core 1 found: IEEE 802.11 (cc 0x812, rev 0x09, vendor 0x4243)
ssb: Core 2 found: PCI (cc 0x804, rev 0x0C, vendor 0x4243)
ssb: Core 3 found: PCMCIA (cc 0x80D, rev 0x07, vendor 0x4243)
ssb: Sonics Silicon Backplane found on PCI device 0000:00:02.0
b43-phy2: Broadcom 4318 WLAN found
phy2: Selected rate control algorithm 'simple'
phy2: Failed to initialize wep
b43: probe of ssb3:0 failed with error -12

# iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

eth1      no wireless extensions.

Building r10343 with gcc 4.1.2 on Fedora 7 didn't work for me. What's your build OS and version of gcc?

Got it built with gcc 3.4.6 and had wlan0 up on my ASUS WL-500gP. b43 driver was started successfully. But, iwconfig showed a high level of noise, around -55 dBm and the signal oscillated btw -50 and -75... couldn't connect to the closest AP in client mode. With White Russian 0.9, the AP's noise level is around -83 and signal -50.

I built it on Mandriva 2008.1 with gcc 4.2.2.

mangoo wrote:

It builds just fine here, revision 10422.

Unfortunately, it doesn't seem to work on ASUS WL-500gP:

phy2: Selected rate control algorithm 'simple'
phy2: Failed to initialize wep
b43: probe of ssb3:0 failed with error -12

This seems to be a problem/bug on the mac80211 code. See http://marc.info/?l=linux-wireless& … 63&w=2.

Thanks,
Jochen

The discussion might have continued from here.