[SOLVED] Slackware wireless networking setup w/Broadcom Wireless BCM4311 NIC on HP DV9000
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wlan0 IEEE 802.11bg Mode:Managed Access Point: Not-Associated
Tx-Power=0 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
vboxnet0 no wireless extensions.
My /etc/rc.d/rc.inet1.conf (The portion which pertains to wlan0 [4] is as follows:
My /etc/wpa_supplicant.conf was edited to the following, as I'm just trying to get the wireless NIC to connect to ANY wireless AP, such as the one I'm running wide open, or for when I go to say, a Starbucks, etc., :
Code:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1
#country=US
# Plaintext connection (no WPA, no IEEE 802.1X),
# nice for hotel/airport types of WiFi network.
network={
key_mgmt=NONE
priority=0
}
Sometimes I run w/the commented line in rc.inet1.conf and when I uncomment it I find that it takes a very long time to boot:
Code:
#WLAN_WPA[4]="wpa_supplicant"
And as I understand it, the following only works for 32 bit OSes:
Code:
#WLAN_WPADRIVER[4]="ndiswrapper"
The following is also part of the output from dmesg:
Code:
b43 ssb0:0: firmware: requesting b43/ucode5.fw
b43 ssb0:0: firmware: requesting b43-open/ucode5.fw
b43-phy0 ERROR: Firmware file "b43/ucode5.fw" not found
b43-phy0 ERROR: Firmware file "b43-open/ucode5.fw" not found
b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website.
b43 ssb0:0: firmware: requesting b43/ucode5.fw
b43 ssb0:0: firmware: requesting b43-open/ucode5.fw
b43-phy0 ERROR: Firmware file "b43/ucode5.fw" not found
b43-phy0 ERROR: Firmware file "b43-open/ucode5.fw" not found
b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website.
b43 ssb0:0: firmware: requesting b43/ucode5.fw
b43 ssb0:0: firmware: requesting b43-open/ucode5.fw
b43-phy0 ERROR: Firmware file "b43/ucode5.fw" not found
b43-phy0 ERROR: Firmware file "b43-open/ucode5.fw" not found
b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website.
NET: Registered protocol family 10
Like I said above, I'm really kind of lost here, seeing some posts for this driver on Salix (13.1), and a sort of mini-HowTo at: http://epsilonprecision.com/index.ph...ials&Itemid=53 which managed to get me as far as I am already.
"If you have a Wireless Access Point that is broadcasting its station ID (the ESSID), and is not configured for encrypted traffic, then you're ready to go with the default configuration as it comes with Slackware. This kind of open wireless network is typical when
1.
you just unpacked your Wireless Access Point, and didn't have time yet to configure it;
2.
you are at an airport/hotel/pub where they offer free wireless access.
... yet the following occurs when running rc.inet1:
Code:
# /etc/rc.d/rc.inet1 wlan0 start
SIOCSIFFLAGS: No such file or directory
/etc/rc.d/rc.inet1: wlan0 information: 'Any ESSID'
Error for wireless request "Set Nickname" (8B1C) :
SET failed on device wlan0 ; Operation not supported.
SIOCSIFFLAGS: No such file or directory
Could not set interface 'wlan0' UP
^C
At this point I'm going to try following the instructions here: http://wireless.kernel.org/en/users/...devicefirmware - while attempting to follow the SalixOS instructions and Slacking the instructions accordingly.
Any assistance, or pointers from people who have set this up would be much appreciated. I'll follow up here with my progress after I attempt the firmware installation, which I apparently need to follow at this point, but if my rc.inet1.conf or wpa_supplicant.conf files are whacked out please do feel free to let me know now so I can address those issues while continuing to enable my stock Slackware64 13.1 (2.6.33.4 kernel).
Broadcom on my Dell netbook and laptop work fine, but they came with Ubuntu from the factory and valid drivers were therefore available. Were it not for the Broadcom, I'd have put Slackware on them long ago.
You indeed need to install the firmware for the BCM. Easy way is to use the b43-fwcutter from Slackbuilds.org.
If you do decide to use 'wicd', be sure to revert the '/etc/rc.d/rc.inet1.conf' to the original install state. If not then look at ' Configuring your network in Slackware'.
Thank you very much @JackHair, @OneBuck, and @FrankBell!
All three posts have answered some particular questions I had, and further, it's nice to know that there are others running this wireless NIC.
I do, however, have a question that pertains to something ONLY addressed in the wl.ko README.txt (b43):
Quote:
Fresh installation:
------------------
1: Remove any other drivers for the Broadcom wireless device.
There are several open source drivers that are used to drive Broadcom 802.11
chips such as b43 and ssb. They will conflict with this driver and need
to be uninstalled before this driver can be installed. Any previous
revisions of the wl driver also need to be removed.
If any of these are installed, remove them:
# rmmod b43
# rmmod ssb
# rmmod wl
Should I follow the instructions to rmmod them (and just the ssb and b43?), and will they attempt to load again upon reboot?
I don't want to remove any functionality that I may need later, but I don't want to not have my wireless nic working either
The instructions for removing the modules, according the b43 (wl.ko) README file is:
Quote:
If any of these are installed, remove them:
# rmmod b43
# rmmod ssb
# rmmod wl
To blacklist these drivers and prevent them from loading in the future:
# echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf
# echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf
2: Insmod the driver.
Otherwise, if you have not previously installed a wl driver, you'll need
to add a security module before using the wl module. Most newer systems
use lib80211 while others use ieee80211_crypt_tkip. See which one works for
your system.
# modprobe lib80211
or
# modprobe ieee80211_crypt_tkip
Then:
# insmod wl.ko
wl.ko is now operational. It may take several seconds for the Network
Manager to notice a new network driver has been installed and show the
surrounding wireless networks.
My assumption is that at this point, I simply reboot and check if wicd reports my NIC or a connection to my open AP.
The question I have now is, isn't the wl.ko module the b43 module? and if I remove and add ssb and b43 to my blacklist.conf file, will this prevent the newly compiled/installed wl.ko from loading?
Finally, I noted that I have bcm43xx in the blacklist.conf file too
Quote:
Originally Posted by onebuck
Hi,
Welcome to LQ!
You indeed need to install the firmware for the BCM. Easy way is to use the [SIZE=2]b43-fwcutter from Slackbuilds.org.
Yes, I was reading up over at the SalixOS forums about their version for doing this, although not being a proficient SalixOS person (yet), I refrained from reading too much into their SlackBuild structure!
Quote:
Originally Posted by onebuck
[SIZE=2]
If you do decide to use 'wicd', be sure to revert the '/etc/rc.d/rc.inet1.conf' to the original install state.
After reading through a few things, this is what I decided to do, and as such, I've cp'd my rc.inet1.conf-orig and wpa_supplicant.conf-orig back on over to their functional files
Thanks for that link Frank It pretty much followed what I was thinking of doing anyway, and seemed the most straight-forward way to get things going.
Okay now for the particulars....
I downloaded, untarred/gzipped, and compiled the broadcom 64 bit drivers. Then I cp'd wl.ko to /lib/modules/2.6.33.4/kernel/net/wireless/, rmmod'd ssb and b43, added them to /etc/modprobe.d/blacklist.conf, did a "depmod", and "modprobe wl".
lspci showed no signs of ssb or b43 and wl was there. Then I added a "modprobe wl" to /etc/rc.d/rc.local and rebooted.
I tried to follow just what is going on w/b43-fwcutter, but there wasn't enough documentation explaining it for me to know 'how' it works, or what it does exactly, so it just seemed easier to compile and install the module by hand.
Okay, following the reboot is where things get a little odd....
Nope. ssb isn't there, and lib80211_crypt_tkip and lib80211 are, like they should be according to the README.doc in the 64 bit b43 bundle that I untarred and compiled.
The indicator light next to my wireless NIC switch on the front of my laptop is eluminated "Blue", like it should be (instead of orange).
rrrrrr.... it looks to me as if I'm close, wicd is installed (detects no wireless networks), and although I'm used to editing rc.inet1.conf and using route in rc.local when I want to have a static IP, my understanding (as @Onebuck reiterated) is that I want to have this file in its orig state when I install wicd - So it is, but based on what I'm seeing, I'm wondering if I should comment out eth1, eth2, and eth3, and then uncomment wlan0 (see my ifconfig above and the code from rc.inet1.conf below:
Code:
# Config information for eth0:
IPADDR[0]=""
NETMASK[0]=""
USE_DHCP[0]="yes"
DHCP_HOSTNAME[0]=""
# Config information for eth1:
IPADDR[1]=""
NETMASK[1]=""
USE_DHCP[1]=""
DHCP_HOSTNAME[1]=""
## Example config information for wlan0. Uncomment the lines you need and fill
## in your info. (You may not need all of these for your wireless network)
#IFNAME[4]="wlan0"
#IPADDR[4]=""
#NETMASK[4]=""
#USE_DHCP[4]="yes"
#DHCP_HOSTNAME[4]="icculus-wireless"
#DHCP_KEEPRESOLV[4]="yes"
#DHCP_KEEPNTP[4]="yes"
#DHCP_KEEPGW[4]="yes"
#DHCP_IPADDR[4]=""
#WLAN_ESSID[4]=BARRIER05
#WLAN_MODE[4]=Managed
##WLAN_RATE[4]="54M auto"
##WLAN_CHANNEL[4]="auto"
##WLAN_KEY[4]="D5AD1F04ACF048EC2D0B1C80C7"
##WLAN_IWPRIV[4]="set AuthMode=WPAPSK | set EncrypType=TKIP | set WPAPSK=96389dc66eaf7e6efd5b5523ae43c7925ff4df2f8b7099495192d44a774fda16"
#WLAN_WPA[4]="wpa_supplicant"
#WLAN_WPADRIVER[4]="ndiswrapper"
Okay at this point, I'm ready to blindly try b43-fwcutter and b43-firmware, not having any idea how to use them (I've already installed the SlackBuilds and ran installpkg on them so they're ready).
Does anyone have a set of quick instructions for me, once I finish installing the packages? I don't know what to expect when I run bw43-fwcutter, or if I should rollback anything that I've already done (such as the wl.ko module I installed).
I really have no idea what to do at this point:
Code:
# /usr/bin/b43-fwcutter -i
b43-fwcutter version 013
A tool to extract firmware for a Broadcom 43xx device
from a proprietary Broadcom 43xx device driver file.
Usage: /usr/bin/b43-fwcutter [OPTION] [proprietary-driver-file]
--unsupported Allow working on extractable but unsupported drivers
-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
-v|--version Print b43-fwcutter version
-h|--help Print this help
Example: /usr/bin/b43-fwcutter -w /lib/firmware wl_apsta.o
to extract the firmware blobs from wl_apsta.o and store
the resulting firmware in /lib/firmware
# /usr/bin/b43-fwcutter -l
b43-fwcutter version 013
Extracting firmware is possible from these binary driver files.
The <ID> column shows the unique identifier string for your firmware.
You must select the firmware with the same ID as printed by the kernel driver on modprobe.
Note that only recent drivers print such a message on modprobe.
Please read http://linuxwireless.org/en/users/Drivers/b43#devicefirmware
<driver> <filename> <microcode> <ID> <MD5 checksum>
b43legacy wl_apsta.o 295.14 FW10 e08665c5c5b66beb9c3b2dd54aa80cb3
b43 wl_apsta.o 351.126 FW11 9207bc565c2fc9fa1591f6c7911d3fc0
b43 wl_apsta_mimo.o 351.126 FW11 722e2e0d8cc04b8f118bb5afe6829ff9
b43 wl_apsta_mimo.o 410.2160 FW13 cb8d70972b885b1f8883b943c0261a3c
b43 wl_apsta.o 478.104 FW15 1a258b2d93efa641c32ddf3c3a962028
b43 wl_apsta.o 478.104 FW15 bb8537e3204a1ea5903fe3e66b5e2763
# /usr/bin/b43-fwcutter -w /lib/firmware wl_apsta.o
Cannot open input file wl_apsta.o
# /usr/bin/b43-fwcutter -w /lib/firmware wl_apsta_mimo.o
Cannot open input file wl_apsta_mimo.o
# updatedb
# locate wl_apsta.o
# locate wl_apsta_mimo.o
Neither of those files are found in my filesystem after installing resulting packages from both SlackBuilds! Grrrr....
Stock Slackware requires you to get the 'firmware' placed in '/lib/firmware/'. If you use the fw-cutter then the firmware is placed for you into '/lib/firmware'.
You seem to be mixing the STA & the stock. You just need to use the fw-cutter to get the open source firmware. The use of the propriety set can be done but is not always a guarantee.
As for the 'eth1' set, this sometimes happens with the wl1 driver, depending on the version of the chipset.
I would revert everything to stock then just use the 'fw-cutter' build.
As the "#" will mark the settings as comments, and thus not be enabled.
Give it a go.
_O_
P.S. Also, I believe the firmware was correctly picked up originally, as lspci gave you the correct information about the card and slack obviously guessed it was a wireless card, hence the wlan0 instead of eth1.
Last edited by 0rwell; 11-02-2010 at 06:45 PM.
Reason: More information
Stock Slackware requires you to get the 'firmware' placed in '/lib/firmware/'. If you use the fw-cutter then the firmware is placed for you into '/lib/firmware'.
You seem to be mixing the STA & the stock. You just need to use the fw-cutter to get the open source firmware. The use of the propriety set can be done but is not always a guarantee.
As for the 'eth1' set, this sometimes happens with the wl1 driver, depending on the version of the chipset.
I would revert everything to stock then just use the 'fw-cutter' build.
Once you make sure to setup the slackbuild script parameters for your system arch then running the 'fw-cutter' will place everything in place.
Okay Gary, I don't have an issue w/the NIC being seen as eth1 instead of wlan0. either one will work fine for me
But basically, you're saying that I should try to re-enable ssb and b43 (unblacklist them) and rmmod the wl.ko, then modprobe ssb, b43, depmod, and then run /usr/bin/b43-fwcutter -w /lib/firmware wl_apsta.o ???
I've already installed the b43-fwcutter and b43-firmware packages resulting from the SlackBuilds.
Okay Gary, I don't have an issue w/the NIC being seen as eth1 instead of wlan0. either one will work fine for me
But basically, you're saying that I should try to re-enable ssb and b43 (unblacklist them) and rmmod the wl.ko, then modprobe ssb, b43, depmod, and then run /usr/bin/b43-fwcutter -w /lib/firmware wl_apsta.o ???
I've already installed the b43-fwcutter and b43-firmware packages resulting from the SlackBuilds.
You would not use the 'b43-firmware (4.174.64.19)' & 'b43-fwcutter-013.tar.bz2' together. Propriety or Open Source, choose one not both.
Note: the source tarball is mislabeled as "4.178.10.4"
You are creating conflicts & confusion by attempting to use both. All that was required initially was to get the firmware of choice into '/lib/firmware' since Slackware does not have it pre-installed.
When using SlackBuild you follow the SlackBuild Usage HOWTO and the SlackBuild package information. The source & SlackBuild download information is on the package page. You should sometimes find a README within each package but not always.
Now, maybe I'm crazy, but in your OP you have this in your rc.inet1.conf file:
@Orwell, Thanks for jumping in Yes, that was the original route I was taking before discovering that there were issues w/firmware, kernel modules, etc...
After taking the "most comfortable approach", of simply editing /etc/rc.d/rc.inet1.conf and subsequently going the wicd route, I set that file back to stock in order to try it the 'user friendly' way
The several commented-out sections were actually just left that way to test the basic functionality, and then I was going to go from there (I had intended on just editing the file between open APs like those at Starbucks or other APs that might have encryption enabled).
I definately need to read up on wp_supplicant, etc., as I usually prefer to adjust my own config scripts
Quote:
Originally Posted by 0rwell
P.S. Also, I believe the firmware was correctly picked up originally, as lspci gave you the correct information about the card and slack obviously guessed it was a wireless card, hence the wlan0 instead of eth1.
That's why I was initally pulling my hair out. I think I needed the wl.ko module or something, but there's a lot more for me to investigate now that I'm (sort of) connected.
More to follow in my reply to OneBuck's post below...
You are creating conflicts & confusion by attempting to use both. All that was required initially was to get the firmware of choice into '/lib/firmware' since Slackware does not have it pre-installed.
When using SlackBuild you follow the SlackBuild Usage HOWTO and the SlackBuild package information. The source & SlackBuild download information is on the package page. You should sometimes find a README within each package but not always.
Thanks Gary! That cleared up a lot for me, but I veered onto a quick tangent before putting everything completely back to stock, and voila!
Basically, what I did was comment out the blacklisting of ssb and b43 in /etc/modpobe.d/blacklist.conf that I had originally placed there. I was going to add "wl" too, but something about the blue light next to the switch which turns on/off my wireless NIC gave me pause, so contrary to the instructions in the README file I just let ssb, b43, and wl all be loaded at the same time (according to the instructions from Broadcom - this won't work).
following a reboot, wicd came up with a list of APs for me to choose from. Kewl! Yet I'm only connected at 1Mb/s, insted of 54Mb/s.
Well, we're almost there
So, is there any advice on how to acheive 54 (or at least 10) Mb/s - coz in /etc/rc.d/rc.inet1.conf there is a line to specify this, but I'm not sure how to address this issue when using wicd Can I simply specify this in rc.inet1.conf, or will that break things?
To include more pertinent info, I should mention that the NIC is now coming up as wlan0, instead of eth1 now (and the wlan0 directives are still commented out in rc.inet1.conf).
NOTE: I'm going to follow your instructions for doing the firmware thing as you point out above, since I have an old 6GB disk laying around to do a devel install on, and I want to follow your instructions to the T and check on that method.
I'll mark this thread as solved as soon as I can force 54Mb/s, or at least 10Mb/s
BTW, my AP is listed as being on channel "1", if that has anything to do with it.
EDIT/UPDATE: I just checked and my connection is bouncing back and forth between 54Mb and 1Mb - apparently auto-negotiating on the fly. I'll mark the thread as solved and maybe we can still get this issue addressed?
hm....
Last edited by astanton; 11-04-2010 at 01:19 PM.
Reason: new pertinent info...
I just checked and my connection is bouncing back and forth between 54Mb and 1Mb - apparently auto-negotiating on the fly. I'll mark the thread as solved and maybe we can still get this issue addressed?
That's normal when you use open source driver (b43) and do not load firmware. Having conflicting modules loaded (wl and b43) at the same time doesn't help, either.
Secondly - please decide whether you manage your connection by wicd or /etc/rc.d/rc.inet1.conf.
That my card (BCM4306) should be using the b43 driver, not the wl. Got rid of the wl stuff, ran the commands here: http://linuxwireless.org/en/users/Drivers/b43#fw-b43-lp
(with the wlapsta.o thing), did an ifconfig wlan0 up command, and lo'n'behold, wicd started seeing networks.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.