bcm4318 opensuse 11.1

Hi there,

I just installed OpenSuSe 11.1 (GNOME) on my HP Pavilion dv5035nr. I had been using Ubuntu 8.10 (intrepid ibex), but I wanted to try another distro to see if I liked it better.

I’ve been having so much trouble with my broadcom 4318 wireless card. I have no other way of getting on the internet save using the available wireless network.

I downloaded broadcom’s drivers, and using b43-fwcutter I installed it on my computer the way it is outlined in the b43 linux driver website.

Last night after rebooting the blue wifi light turned on which was a good sign. But then I could see no network to connect to for a brief moment!, then I run nm-tool on a terminal and my card detected everything. I connected to one of the networks and I was online fine.

Since this morning however, my card is behaving abnormally and I don’t know what to do. If I reboot, I am able to connect to my wireless network, but with very low strength. After a few minutes I get disconnected and I can’t log back in!. Moreover the signal strength goes up suddenly, but then all the wireless networks simply die down and my card is not able to detect anything. Even if I run nm-tool again, I get nothing, even though it states my card is working well.

Do I need a special package? All these networks are WEP, so there shouldn’t be any trouble…

It’s not my wireless card, because it worked flawlessly in ubuntu 8.10 and 8.04 (though for both of them a package called wpa_supplicant was installed).

The three things I needed to get my same model laptop to work: bcm43xx-fwcutter, ndiswrapper, and the right firmware from linuxwireless.org. Hope this helps!

OpenSuSe 11.1 32-bits

But Broadcom 4318 wireless card is fully supported by the re-engineered b43 linux wireless driver! I shouldn’t need ndiswrapper! I did not need it in ubuntu!

I downloaded broadcom’s drivers, and using b43-fwcutter I installed it on my computer the way it is outlined in the b43 linux driver website.

This is what I did:

tar xjf broadcom-wl-4.150.10.5.tar.bz2
cd broadcom-wl-4.150.10.5/driver
sudo b43-fwcutter -w “/lib/firmware/” wl_apsta_mimo.o

I recently saw in a post that I needed to disable IPv6, so I did. Now I can connect to my wireless network for a few minutes longer, but I get the same result in the end.

This is what I get when I use the commands explained in “the stickies”:

$ /sbin/lspci -v

06:02.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)
Subsystem: Hewlett-Packard Company Broadcom 802.11b/g WLAN
Flags: bus master, fast devsel, latency 64, IRQ 21
Memory at c0204000 (32-bit, non-prefetchable) [size=8]
Kernel driver in use: b43-pci-bridge
Kernel modules: ssb

$ /sbin/lspci -n

06:02.0 0280: 14e4:4318 (rev 02)

$ dmesg

b43-pci-bridge 0000:06:02.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
ssb: Sonics Silicon Backplane found on PCI device 0000:06:02.0

b43-phy0: Broadcom 4318 WLAN found
phy0: Selected rate control algorithm ‘pid’
Broadcom 43xx driver loaded Features: PMLR, Firmware-ID: FW13 ]

input: b43-phy0 as /devices/virtual/input/input8
firmware: requesting b43/ucode5.fw
firmware: requesting b43/pcm5.fw
firmware: requesting b43/b0g0initvals5.fw
firmware: requesting b43/b0g0bsinitvals5.fw
b43-phy0: Loading firmware version 410.2160 (2007-05-26 15:32:10)
Registered led device: b43-phy0::radio
NET: Registered protocol family 17[/size]

$ /usr/sbin/iwconfig

Before it starts going crazy…

wlan0 IEEE 802.11bg ESSID:“pine_knoll_1”
Mode:Managed Frequency:2.412 GHz Access Point:00:11:5C:F1:BE:D0
Bit Rate=1 Mb/s Tx-Power=27 dBm
Retry min limit:7 RTS thr:off Fragment thr=2352 B
Power Management:off
Link Quality=31/100 Signal level:-83 dBm Noise level=-72 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

When I try connecting to another available wireless network

wlan0 IEEE 802.11bg ESSID:“pine_knoll_5”
Mode:Managed Frequency:2.452 GHz Access Point:Not-Associated
Bit Rate:2 Mb/s Tx-Power=27 dBm
Retry min limit:7 RTS thr:off Fragment thr=2352 B
Power Management:off
Link Quality=88/100 Signal level:-25 dBm Noise level=-11 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

$ /usr/sbin/iwlist scan

wlan0 Scan completed :
Cell 01 - Address: 00:11:5C:F1:BE:D0
ESSID:“pine_knoll_1”
Mode:Master
Channel:1
Frequency:2.412 GHz (Channel 1)
Quality=36/100 Signal level:-77 dBm Noise level=-73 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Extra:tsf=000002286af4a1df
Extra: Last beacon: 796ms ago

Cell 06 - Address: 00:12:00:D7:5C:70
ESSID:“pine_knoll_5”
Mode:Master
Channel:9
Frequency:2.452 GHz (Channel 9)
Quality=43/100 Signal level:-70 dBm Noise level=-73 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Extra:tsf=000002286b6aee31
Extra: Last beacon: 108ms ago

There are three different ways you can control the BCM4318: (1) ndiswrapper with the
Windows driver, (2) the Broadcom wl driver and (3) with b43. These 3 are mutually
exclusive - you may pick ONLY one of them. In addition, only the third option needs
external firmware. The other two have the firmware built into the driver. They can do that
because Broadcom wrote the Windows driver.

Knowing the above facts, go back and reread this thread. It is full of nonsense.

What do you want to do? I recommend the b43 option as it will not need to be updated
whenever the kernel is changed. If that is what you want, install the firmware using the
method outlined in the stickies. Once that is done, you should see files in
/lib/firmware/b43. From there, all you need to do is set NetworkManager in control of your
network devices and configure the connection using the NM applet.

One “gotcha” is that you will need wpa_supplicant to be installed. NM uses it, even when
it isn’t needed.

Larry

Look man, you clearly did not read what I posted. I read everything in the stickies.

I selected your 3rd method and tried to make the wireless work, but it didn’t!! (there are several threads that outline this problem too). The wireless becomes unstable and erratic, it won’t stay connected for long.

Like I said before, I made this card work under ubuntu 8.10. Actually, in going back to ubuntu I noticed the solution to my problems. In ubuntu I first tried the latests drivers from broadcom (broadcom 4.150.10.5) and the result I got was the same as with opensuse. However, I tried older drivers, and It’s working well in ubuntu. I will now try this in opensuse 11.1. I will post my findings later on

acimmarusti wrote:
> Like I said before, I made this card work under ubuntu 8.10. Actually,
> in going back to ubuntu I noticed the solution to my problems. In ubuntu
> I first tried the latests drivers from broadcom (broadcom 4.150.10.5)
> and the result I got was the same as with opensuse. However, I tried
> older drivers, and It’s working well in ubuntu. I will now try this in
> opensuse 11.1. I will post my findings later on

Just for the record, I still cannot tell when you are talking about drivers and when you
mean firmware.

If you mean that the device works when you extract firmware from a version older than
4.150.10.5, then that is good to know. If that is correct, the 11.1 version of b43 will
log a message (dmesg | grep b43) that your firmware is too old.

I will be very interested to learn your results.

Larry

I apologize for any confusion. I meant the firmware.
I did dmesg (in ubuntu) and I got exactly what you predicted.

firmware: requesting b43/ucode5.fw
firmware: requesting b43/pcm5.fw
firmware: requesting b43/b0g0initvals5.fw
firmware: requesting b43/b0g0bsinitvals5.fw
b43-phy0: Loading firmware version 351.126 (2006-07-29 05:54:02)
b43-phy0 warning: You are using an old firmware image. Support for old firmware will be removed in July 2008.
b43-phy0 warning: You must go to b43 - Linux Wireless and download the latest firmware (version 4).

Nevertheless, it works well. I will now install a fresh copy of opensuse 11.1 in another partition and try using the old firmware.

I’ve finally tested it with OpenSuSe 11.1. And it works!!! my broadcom 4318 wireless device works with the b43 firmware only if I install the older version broadcom-wl-4.80.53.0.tar.bz2. (no ndiswrapper is needed)

This is puzzling since the b43 linux wireless website clearly states this version is meant for the linux kernel 2.6.24 or older. This would suggest a conflict between the newer firmware and the current kernel.

I fixed my problem and like I said I stumbled upon the same problem in Ubuntu. Thus I decided to email the b43 developers, but so far I’ve received no reply.

$ dmesg

b43-pci-bridge 0000:06:02.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
b43-phy0: Broadcom 4318 WLAN found
Broadcom 43xx driver loaded Features: PMLR, Firmware-ID: FW13 ]
Clocksource tsc unstable (delta = -216435972 ns)
input: b43-phy0 as /devices/virtual/input/input8
firmware: requesting b43/ucode5.fw
firmware: requesting b43/pcm5.fw
firmware: requesting b43/b0g0initvals5.fw
firmware: requesting b43/b0g0bsinitvals5.fw
b43-phy0: Loading firmware version 351.126 (2006-07-29 05:54:02)
b43-phy0 warning: You are using an old firmware image. Support for old firmware will be removed in July 2008.
b43-phy0 warning: You must go to b43 - Linux Wireless and download the latest firmware (version 4).
Registered led device: b43-phy0::radio

What happens if you use the newer firmware with the module parameter
btcoex=0?

Larry

sorry, but how do I set that module parameter?, don’t forget I’m only a newbie!

Andres

Start normally, then replace the firmware with the newer stuff. Then
enter the following:

sudo modprobe -rv b43
sudo modprobe -v b43 btcoex=0

If that works, then I’ll tell you how to set it up permanently.

Larry

I tried it. I installed the latest firmware using b43-fwcutter, then used the commands you gave me. Although in that form my terminal complained saying that modprobe couldn’t be found. I finally found it in the /sbin/ directory, but in order to use it, I had to use ‘su’ instead of ‘sudo’.

Anyways, it didn’t work. I rebooted and I was able to connect to my wireless network, but I couldn’t even open opensuse.org in firefox!. It worked briefly, and then it died (much in the same way I described before). I’m back online because I, once again, used the older firmware.

Is this a b43-firmware problem or something else? should we report it?..I mean I know this is a problem in ubuntu and fedora as well.

My skills are very limited, perhaps you know something new I could try.

Andres

acimmarusti wrote:
> I tried it. I installed the latest firmware using b43-fwcutter, then
> used the commands you gave me. Although in that form my terminal
> complained saying that modprobe couldn’t be found. I finally found it in
> the /sbin/ directory, but in order to use it, I had to use ‘su’ instead
> of ‘sudo’.

As you seemed to be experienced, I didn’t give you the full command.
Sorry. Of course, it should have been ‘sudo /sbin/modprobe …’
>
> Anyways, it didn’t work. I rebooted and I was able to connect to my
> wireless network, but I couldn’t even open opensuse.org in firefox!. It
> worked briefly, and then it died (much in the same way I described
> before). I’m back online because I, once again, used the older
> firmware.

Thanks for the testing.

> Is this a b43-firmware problem or something else? should we report
> it?..I mean I know this is a problem in ubuntu and fedora as well.

I don’t know what the problem is. I reported it to the b43 developer,
with whom I have a good working relationship. He suggested the test we
did. He has a number of BCM4318 units, and I have one. All work
equally well with new or old firmware.

Larry

Oh, I see. That is even more puzzling. Let me know if you come up with something new to fix this. It seems this conflict with the new firmware is only manifest in some models (after all, my pci wireless card is manufactured by HP using broadcom’s chipset). I decided to post this problem in bugzilla. Actually it was already there, so I added a long comment from my experience.

Interesting new development:

On a whim, I decided to do this:

sudo /usr/sbin/install_bcm43xx_firmware

As recommended by b43-linux wireless website.

I knew this would install the latest firmware, but I went on ahead and did it anyway.

And now it works!..I don’t know how to explain it…perhaps the file I download was corrupt…the strange thing is I tried a deb package in ubuntu that had the new firmware and that didn’t work either…

What I’m going to do from now on is use the old firmware to the wireless working (since I have no other internet connection) and then use the command above.

acimmarusti wrote:
>
> What I’m going to do from now on is use the old firmware to the
> wireless working (since I have no other internet connection) and then
> use the command above.

Interesting indeed. At least your experience matches every one else -
the BCM4318 works with the new firmware.

What you should do is copy the contents of /lib/firmware/b43/ to some
form of external storage. Then if you have to reload 11.1, you can
then copy those files back onto the hard drive, and you will be good
to go.

BTW, there is now open-source firmware for the BCM4318 that should be
included in openSUSE 11.2. Your device will work “out-of-the-box”.

Larry

Hi, I think I discovered what the problem was. I was doing the following to install the newest firmware using b43-fwcutter:

sudo b43-fwcutter -w “/lib/firmware/” wl_apsta_mimo.o

But this was wrong!, what I should have done was:

sudo b43-fwcutter -w /lib/firmware/ wl_apsta_mimo.o

I tried it on Fedora 10 and it worked. I tried it on openSuSe 11.1 and it worked well. The instructions in the website misled me… and I’m only a “fresh” linux user hehe

I figured this out by doing this:

su
b43-fwcutter --help

It displayed an example and I noticed the quotes were missing, so I decided to try. I guess this is just a measure of how easy it is for bugs to occur in software hehe…

Andres

acimmarusti wrote:
> Hi, I think I discovered what the problem was. I was doing the following
> to install the newest firmware using b43-fwcutter:
>
> sudo b43-fwcutter -w “/lib/firmware/” wl_apsta_mimo.o
>
> But this was wrong!, what I should have done was:
>
> sudo b43-fwcutter -w /lib/firmware/ wl_apsta_mimo.o
>
> I tried it on Fedora 10 and it worked. I tried it on openSuSe 11.1 and
> it worked well. The instructions in the website misled me… and I’m only
> a “fresh” linux user hehe
>
> I figured this out by doing this:
>
> su
> b43-fwcutter --help
>
> It displayed an example and I noticed the quotes were missing, so I
> decided to try. I guess this is just a measure of how easy it is for
> bugs to occur in software hehe…

Quotes in examples are usually for emphasis and are not needed in the
real case.

If you had read the postings on this forum, particularly the stickies,
you would have seen that the command

sudo /usr/sbin/install_bcm43xx_firmware

would have done everything on 11.1.

Larry