LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Broadcom wireless card won't work (https://www.linuxquestions.org/questions/linux-newbie-8/broadcom-wireless-card-wont-work-598677/)

chris.machen 11-10-2007 07:04 PM

Broadcom wireless card won't work
 
I have a Presario 2100 with a built-in Broadcom wireless card.

It's unsupported by my kernel so I tried ndiswrapper. But now, when I try to use it I get the message:

SIOCSIFFLAGS: No such file or directory


Does that mean there's a problem with ndiswrapper?

jschiwal 11-10-2007 07:32 PM

If this uses the Broadcom bcm4306 driver, then there is an bcm43xx native driver. Install the bcm43xx-fwcutter package. This may depend of the distro, but this may include an install_bcm43xx_firmware script which if you have a wired (NIC) connection will download the firmware for you. Otherwise, read the README file for instructions on cutting the firmware from a windows driver. The README constains a list of bcm* drivers supported and their md5sums.

Run the bcm43xx-fwcutter program and then copy the extracted files to /lib/firmware:

Code:

ls /lib/firmware/
bcm43xx_initval01.fw  bcm43xx_initval05.fw  bcm43xx_initval09.fw    bcm43xx_microcode4.fw
bcm43xx_initval02.fw  bcm43xx_initval06.fw  bcm43xx_initval10.fw    bcm43xx_microcode5.fw
bcm43xx_initval03.fw  bcm43xx_initval07.fw  bcm43xx_microcode11.fw  bcm43xx_pcm4.fw
bcm43xx_initval04.fw  bcm43xx_initval08.fw  bcm43xx_microcode2.fw  bcm43xx_pcm5.fw
hpmedia:~ # bcm43xx-fwcutter --help
bcm43xx-fwcutter version FWCUTTER_VERSION_

Usage: bcm43xx-fwcutter [OPTION] [driver.sys]
  -l|--list            List supported driver versions
  -i|--identify        Only identify the driver file (don't extract)
  -w|--target-dir DIR  Extract and write firmware to DIR
  -a|--alt-iv          Extract alternative initvals (only 3.10.x.x)
  -p|--postfix ".FOO"  Postfix for firmware filenames (.FOO.fw)
  -v|--version          Print bcm43xx-fwcutter version
  -h|--help            Print this help

Once you have done this, you can modprobe the bcm43xx kernel module, and then procede configuring encryption and the networking setup.

You hadn't indicated which distro you have (please put that info in your LQ Profile!) or what steps you had done so far.

badfish81 11-11-2007 02:08 AM

What was the command you used to install the driver?

Code:

ndiswrapper -i driver.inf
Is what you should be using from the directory the drivers are in.

Code:

rmmod ndiswrapper
modprobe ndiswrapper

will unload and load the drivers once you get the driver installed and

Code:

ifconfig
should display all active network interfaces. If you have installed it correctly you will see wlan0 which is the wireless interface. If it's a windows driver you will have to use wine to extract the drivers from the .exe file. And in my case I had to use a driver 1 version less than the one that came with my laptop.

chris.machen 11-13-2007 03:50 AM

Still not working
 
I tried using bcm43xx-fwcutter, and things were going fairly well. It installed the following drivers:

bcm43xx_initval01.fw
bcm43xx_initval03.fw
bcm43xx_microcode2.fw
bcm43xx_pcm4.fw

but when in tried to do the modprobe it looked like this:

# modprobe bcm43xx
FATAL: Module bcm43xx not found.


And, if I try to bring it up I still get this error:

# /sbin/ifconfig wlan0 up
SIOCSIFFLAGS: No such file or directory

jschiwal 11-13-2007 03:59 AM

Did you copy the *.fw files to /lib/firmware/?

Also what does "grep -i bcm43xx /boot/config-$(uname -r)" show?

Here is an example for Fedora Core 6:
Code:

grep -i bcm /boot/config-$(uname -r)
CONFIG_BT_HCIBCM203X=m
CONFIG_BCM43XX=m
CONFIG_BCM43XX_DEBUG=y
...

It doesn't sound right that it you wouldn't have the kernel module for it to load.

Code:

sudo /sbin/modprobe bcm43xx
Password:
[jschiwal@delllap boot]$ /sbin/lsmod | grep bcm
bcm43xx              420705  0
ieee80211softmac      35265  1 bcm43xx
ieee80211              35593  2 bcm43xx,ieee80211softmac


chris.machen 11-13-2007 06:14 AM

Maybe it's my kernel
 
The .fw are in /lib/firmware when I look in the directory. I put them in with bcm43xx-fcutter. (I'm running fedora core 7, if that's important)

I tried your code but I got these errors:

grep -i bcm43xx /boot/config -$(Chris -r)
-bash: Chris: command not found
grep: /boot/config: No such file or directory




# sudo /sbin/modprobe bcm43xx
FATAL: Module bcm43xx not found.

iwconfig and ifconfig can see a wlan0, but nothing will turn it on.

Is is possible the kernel module is missing?

Hangdog42 11-13-2007 07:09 AM

FC7 dumped bcm43xx in favor of b43. Apparently it isn't a different driver, but it may require different firmware and using the name bcm43xx doesn't work. The website for the driver has some instructions on how to get it working.

jschiwal 11-13-2007 03:26 PM

FYI, uname is the literal name of a command you can use to get the version of your current running kernel. I didn't mean your username. I have FC6 on a Pentium III laptop, and didn't know that the name of the kernel module changed lately.

chris.machen 11-13-2007 11:04 PM

Oh, uname is a command. It says :

[root@localhost~]# grep -i bcm43xx /boot/config-$(uname -r)
# CONFIG_BCM43XX is not set

badfish81 11-14-2007 06:27 PM

bcm43xx is garbage, have you tried using the driver that came with your laptop?

Hangdog42 11-15-2007 07:24 AM

Quote:

Originally Posted by badfish81 (Post 2959159)
bcm43xx is garbage, have you tried using the driver that came with your laptop?

For starters, the driver that came with the laptop is almost certainly a Windows driver. Doesn't work unless you install ndiswrapper and even then it can be flaky and doesn't support all the features that bcm43xx does.

Second, the bcm43xx project has done some amazing things considering that they have had to reverse engineer the entire thing and had absolutely no help at all from Broadcom. However, since the project is open source, feel free to make any and all changes you think would make it not "garbage".

PTrenholme 11-15-2007 08:52 AM

I notice that the O.P. is using Fedora 7. The 2.6.22 and 2.6.23 kernels used by Fedora 7 and 8 are not compatible with older ndiswrapper releases. And the b43 driver (which is automatically loaded by the Fedora kernel when a Broadcom BCM43.. device is found) works quite well, so ndiswrapper is not the way to go on a Fedora 7 or Fedora 8 system.

I just installed Fedora 8 on my laptop and all I need to do to get the wireless working was to run b43-fwcutter on the bcml5.sys file on my XP partition and sudo mv b43/ /lib/firmware to get the output directory to the "expected" location. (I may have needed to do a chown -R root:root b43 first, but I think I was running as "root" when I ran the b43-fwcutter command, so I probably didn't need to do that.) After a reboot, a simple "left click" on the network icon in the system tray let select my access point and enter my (WPA2) passphrase, and I was up and running.

For what it's worth, my built-in wireless is a BCM4311.

P.S.: I did an install of F8 instead of an upgrade because the upgrade could not resolve the dependencies in my installed F7 software. But that's really off topic. (So this is just a minor venting.)

badfish81 11-17-2007 06:09 PM

Quote:

Originally Posted by Hangdog42 (Post 2959721)
For starters, the driver that came with the laptop is almost certainly a Windows driver. Doesn't work unless you install ndiswrapper and even then it can be flaky and doesn't support all the features that bcm43xx does.

Second, the bcm43xx project has done some amazing things considering that they have had to reverse engineer the entire thing and had absolutely no help at all from Broadcom. However, since the project is open source, feel free to make any and all changes you think would make it not "garbage".

I have read many places that bcm43xx has a lot of issues. If it's garbage it's garbage, regardless of how wonderful the effort is. And the driver that came with the laptop is certainly a windows driver. I spent 1.5 days getting my broadcom card to work with bcm43xx and in the end I ended up trying about 5 different broadcom windows drivers with ndiswrapper and found one that worked. The one that came with my laptop (bcmwl6) didn't work - bcmwl5 did work.

Don't take it personal - sometimes bcm43xx will work but it didn't work with my card and it apparently doesn't work with the OP's card. I've found that using ndiswrapper is far more successful than bcm43xx.

Quote:

Broadcom BCM94311MCG

The Broadcom drivers included as modules in the kernel (bcm43xx) are complete garbage, so let's remove those first.

# modprobe -r bcm43xx
# nano /etc/modprobe.d/blacklist

From http://wiki.sabayonlinux.org/index.p..._dv6000_Series

Quote:

he problem is also present in Ubuntu latest RC (kernel 2.6.22-14), but in that case I was able to blacklist bcm43xx and then ndiswrapper worked perfectly!

The simplest difference (probably not the actual root of the problem, but a starting point anyway) seems to be - with bcm43xx:

Bit Rate=5.5 Mb/s Tx-Power=14 dBm
RTS thr:off Fragment thr:off

with ndiswrapper:

Bit Rate=54 Mb/s Tx-Power:25 dBm
RTS thr:2347 B Fragment thr:2346 B
From http://forum.mandriva.com/viewtopic....a850102c5df719


All times are GMT -5. The time now is 03:52 AM.