Linux - NetworkingThis forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.
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.
Hello there. It seems I'm going to have to make my first post by bringing up the subject that I see around alot of different forums, the Linux WiFi, or more specifically, Slackware WiFi.
I installed Slackware 13.1 approx. 5 days ago, so I have spent these days figuring out very basic Linux stuff, as well has constantly, on the side, trying to get a working WiFi solution up & going, so I have been through ALOT of posts, FAQ's and guides, but no cigar, hence I came to you:
NB: It might be worth noticing that after the clean install of Slackware 13.1, the physical WiFi ON/OFF switch on my keyboard is no longer responding, and is showing no light(Off). Is the physical state of the light relevant to the actual state of the WiFi card (ie. if the light is off, will the card not work in any way until the button/light is fixed, or can this be changed through some settings in the system?
I am able to do ifconfig eth0 on | off, but when I try to set essid in iwconfig, it results in this:
Code:
Error for wireless request "Set ESSID" (8B1A) :
SET failed on device eth0 ; Operation not supported.
My iwconfig:
Code:
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
My iwlist scan:
Code:
lo Interface doesn't support scanning.
eth0 Interface doesn't support scanning.
wlan0 Interface doesn't support scanning : Network is down
I also tried a code listed somewhere in these forums which was supposed to return 1 if the card was active, and 0 if it was inactive. Mine returned 1.
I also downloaded wicd, in hope of it providing any magical service to help me solve this, but it doesn't do much, it does not save my settings after I apply them, nor does it find any nearby networks, which leads me to believe the card is not activated.
I have an Acer Emachines E725 Laptop with a Broadcom BCM 4312 WiFi card.
I downloaded the correct drivers from SlackBuilds, un-tar'ed, compiled and installed the package according to the instructions.
My apologies for the lengthy post, but I thought it would be better to provide too much information than too little. Hope someone could take the time to read this T_T. Thanks in advance!
Just as a diagnostic step, I'd try booting a live CD of something else, Knoppix, for example, to see if the problem is Slackware specific. I presume prior to Slackware you were running Windows and had no problem with wifi? Or were you running something else and had no problems?
For learning purposes, could you explain why you find this information helpful? (Unless it takes a very long explanation, I'm just being curious. ^^)
And yes, it was indeed
Code:
cat /sys/class/rfkill/rfkill*/state
that returned 1.
Yes, I'm a retired Windows-user, and the WiFi used to work in Windows, but I do not feel entirely safe installing another distro, but that is simply because I have never done it and am afraid to break something. When you install a distro, doesn't that work like installing Windows (which means it has to format the partition it installs to? Naturally I don't want to risk formatting my Slackware data.. :P)
I am still trying to grasp what the difference between Linux and Distributions is. Is Linux like, the "present" of a gift, while the distributions are the paper wrapping? If anyone can clear this up (It's silly to use Linux and don't know this, I know, but I haven't had much time to read Linux in general in these few hazy days of Slackware.
First thing, you have both the b43 driver and the wl driver loading. b43 is the open source driver and only recently started supporting this card (with non-free firmware). Wl is the non-free driver released by Broadcom. You can only have one of these loaded or the device won't work.
Code:
ifconfig wlan0 down
modprobe -r b43
modprobe -r wl
modprobe wl
ifconfig eth1 up
EDIT: The above as root. Also, the wl driver usually names the wireless device eth1. Check the output of iwconfig to confirm what the name is and replace in the above as appropriate.
See if that gets the wireless going. And that is the reason the info is helpful as well.
Linux is arguably the kernel of the operating system. On top of that sit a variety of tools and applications. Most commonly in linux distros, the next layer is the GNU operating system. Most linux distros are closely related. Some take another distro as a base, like Ubuntu is based on Debian, and rebuild the packages or sometimes even use the parent distro's binary packages directly. Software frequently has a variety of configuration options (and the kernel itself has many many configuration options), so different distros can combine or build the various components in different ways, and provide different tools or applications.
Thanks for the comprehensive reply Learning so much from this.. But I did not manage to make it work just yet - there might be some minor mistake involved. I am now, after the modprobing, able to assign a nick and ESSID to eth1, but it does not save / remember the ESSID, hence I am unable to enter the key for the essid. Even after using iwconfig eth1 commit it refuses to save it.
Code:
lo no wireless extensions.
eth0 no wireless extensions.
eth1 IEEE 802.11bg ESSID:"" Nickname:"NG"
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Bit Rate:54 Mb/s Tx-Power:off
Retry min limit:7 RTS thr:off Fragment thr:off
Power Managementmode:All packets received
Link Quality=5/5 Signal level=0 dBm Noise level=0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
As you can see, it has saved the nickname for the connection (NG), but the ESSID field remains empty. :/ And wicd is still not finding any networks at all, so it seems the computer isn't even scanning for nearby networks :P Again, thanks for the great reply, learned more from your reply than 8 hours of googling
I believe you said you've installed wicd. This would be an excellent time to use it. You'll need to go into the preferences bit and change the interface name to eth1 from wlan0.
For doing it from the command line, how are you putting in the essid? The general way to get wireless going from the console (assuming you do not have WPA encryption on your network) is
Code:
su -
iwconfig eth1 essid "my network" key s:wepkeystring
dhclient eth1
Removing the s: if the WEP key is not a string, but hex.
I don't know if Slackware uses dhclient or something else like dhcpcd.
I should note as well, you'll want to blacklist the b43 driver so it doens't keep loading at boot
Code:
su -
echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf
Two >> are important. Just one and you'll overwrite the file. This way just appends the line to the file.
Error for wireless request "Set Encode" (8B2A) :
SET failed on device eth1 ; Invalid argument.
So the line above with essid and key in 1 results in the above error due to the key error. Silly essid just doesn't want to be remembered!
However, the modprobing process resulted in me losing my wired connection. Is it not possible to have an active Wired Connection and Wireless Connection simultaneously in Linux/Slackware? If there is, what caused me to lose my working wired network?
I have indeed installed wicd, but the problem with wicd is the same as with the iwconfig essid - it refuses to save my settings. I go into the preferences panel, make my changes, "Apply" then "Ok" then when I open the preferences panel again, it's all resetted to default settings. I got no clue where to go from here, I installed wicd according to the instructions and all. Weird stuff.. Thanks for your continued support =)
Just thought I'd clarify, using a "live CD" means booting from the CD/DVD drive but NOT installing anything to the disk or changing/breaking anything. Most distributions of Linux have similar software, but the system configuration differs. You probably have a configuration problem, not a software or hardware problem; booting a DVD only version of Linux would confirm that, if it worked properly. Slackware is an excellent distribution, but it's not quite as "out of the box" set up as automatically as Windows or e.g. Ubuntu, which is very popular for that very reason.
Btw, you can have wired, wireless, Bluetooth, and whatever interfaces simultaneously. You mentioned you had googled everything, so I presume you duplicated the steps in this thread: http://www.linuxquestions.org/questi...-setup-837062/
Last edited by mostlyharmless; 02-08-2011 at 10:29 PM.
Good morning =) Yes, I have seen that thread a couple of days ago, but unfortunately, his case is not that similar to mine.
My main problem atm is that after all previous given help, it refuses to save my ESSID with iwconfig. Trying to set a password results in an error message.
What makes me wonder is that before I performed the modprobing commands that reed9 gave me, I would always get an error when trying to set an ESSID
to eth0 / eth1, but now I don't get any error messages, but it does not save it.
The guy in the other thread also, like so many others, got saved by the installation of wicd, but in my case, wicd is rendered completely useless, as it
does not save any changes, finds no networks, etc. It does not work in any way at all, but if that is related to my WiFi problems or not is beyond me =)
EDIT: Oh shucks, after blacklisting the b43 driver and restarting X, both my wlan0 and eth1 are gone, and I am stuck with eth0 and lo, both which are unchangeable. So I don't have any connections to work with. How could this have happened? Also, on a complete system reboot, I get a message during POST saying "Failed to initialize NIC, check your wired connection" (At this time I had a cable connected, the one that stopped working, after modprobes, though. :P)
Seems I have gotten myself into quite the little mess here.
Anyone knows if there is any hope for this situation?
What makes me wonder is that before I performed the modprobing commands that reed9 gave me, I would always get an error when trying to set an ESSIDto eth0 / eth1, but now I don't get any error messages, but it does not save it.
When iwconfig doesn't return anything, that is a good thing. It means the command has executed without any errors. Like many commands, iwconfig is silent unless something goes wrong. And just to be clear, the iwconfig command is incapable of saving anything, so you have to set all the wireless parameters every time you boot/reboot your computer. That is why programs like wicd are so popular, they will do the remembering and configuring for you. An alternative would be to write a simple script that has the iwconfig commands you need, then you would just run that script when you boot. However, I would HIGHLY recommend starting to use wicd, it makes wireless much, much easier.
Quote:
The guy in the other thread also, like so many others, got saved by the installation of wicd, but in my case, wicd is rendered completely useless, as it
does not save any changes, finds no networks, etc. It does not work in any way at all, but if that is related to my WiFi problems or not is beyond me =)
Then I suspect you're not using wicd correctly. When the wicd client starts up, it should show you a list of access points it sees, and if you configure those through the Properties button, wicd should remember. You should also be checking the box that lets wicd automatically connect to an SSID if it is one you use often.
Quote:
EDIT: Oh shucks, after blacklisting the b43 driver and restarting X, both my wlan0 and eth1 are gone, and I am stuck with eth0 and lo, both which are unchangeable. So I don't have any connections to work with. How could this have happened? Also, on a complete system reboot, I get a message during POST saying "Failed to initialize NIC, check your wired connection" (At this time I had a cable connected, the one that stopped working, after modprobes, though. :P)
Check the lsmod output and see if wl is loaded. If not, load it with the modprobe wl command. Or if it is, unload, then reload and see if that gets it back. That will also let you see if b43 somehow got loaded. By the way, it might be nice knowing what chipset you've got. If you look in the lspci output it should say.
And a final thing on b43, just so you know. The b43 driver in the kernel is incomplete because licensing prohibits distribution of the firmware it needs to run. So it looks like b43 is working because it loads and a network card shows up, but the card is completely non-functional. If for some reason you need b43, you do need to install firmware, which can be done using the b43-firmware and b43-fwcutter packages from Slackbuilds.org.
Regarding wicd, just to be sure, you've changed the interface name to eth1 in wicd, right?
Regarding neither wired nor wireless showing up, as said above, check that the wl module is loading. The wired interface shouldn't have been affected. Post the output of
Code:
lspci
Also, let's check whether the wireless is seeing networks
Heya. I'd just like to say that I am currently reformatting my drives and reinstalling Slackware 13.1 from scratch again. Being the second time in a few days, this should be a rather quick procedure.
My first goal after the install will be to get the WiFi up and going, then proceed on to other subjects. If you, reed9, or Hangdog42 were to setup WiFi on a clean install, what would the procedure be?
- Should I update the kernel first?
- Should I update all installed packages?
- Is it necessary for me to download a driver? My WiFi card is, like mentioned, Broadcom BCM4312,
and I think I recall reading somewhere that the sufficient tools to make it work should already
be included since some earlier kernel release, I might be wrong though.
Last, but not least, I want you to know that you have not wasted your efforts on helping me just because I did a reinstall, I will be using it in half an hour when I start over
Thank you so much for taking your time to help out
For broadcom, you may want to try the more recently released drivers if they support your card: http://lwn.net/Articles/404248/
because the old ones were quite bad.
In addition, as I mentioned support for this card with b43 is fairly new. You need to pass a couple of options to the driver for it to work.
Code:
su -
echo "options b43 pio=1 qos=0" >> /etc/modprobe.d/modprobe.conf
This will make sure the options load at boot.
Without rebooting unload the module and reload with options
Code:
su -
modprobe -r b43
modprobe b43 pio=1 qos=0
If you are are using the broadcom wl driver, I would update the kernel first. It needs to be built against whatever kernel you're running. If not, it doesn't really matter.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.