Wireless Tips

From FreekiWiki
Jump to navigation Jump to search

Wireless not working? Try these tips!

Look For A Physical Button All too frequently, one will spend a whole bunch of time trying to configure a seemingly non-functional wireless only to realize later that there was a much simpler solution. First, look for a button or switch or combination of keys to activate/deactivate the wireless. For example, is there a button above the keyboard? a switch on the side? maybe Fn + F5 turns the wireless on and off? A wireless antenna icon on the laptop is also a good clue, especially if it is illuminated.
For these wireless cards: Intel PRO/Wireless 2200BG and 2915ABG using the lpw2200 driver The indicator light for the Wifi on/off switch does not come on.This confuses quite a few customers (who have turned off their Wifi but do not know how to verify that they have done so). The solution can be found at the following link With thanks to Levi for the fix.
BIOS Trickery Check out the BIOS settings. Sometimes there is an option in BIOS to disable/enable a mini-PCI or Wireless device. If so, make sure that you enable it.
lspci Is Your Friend The lspci command is a utility for displaying information about all PCI buses in the system and all devices connected to them. It will tell you about your wireless card, if there is one installed. In particular, it will tell you whether your wireless card has a Broadcom chipset (which, if it does, you'll need to install some stuff - see below). The following example is the output from running lspci and it demonstrates that the Wireless card has a Broadcom chipset (see the words "Broadcom" and "Wireless" in the same line?).
09:00.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
ifconfig: Am I Connected? The ifconfig command configures a wired network interface. It is a useful command for determining whether or not you're connected to a network AND which network interface is being used to connect (i.e. whether you're connected to a wireless or wired network).
 eth0     Link encap:Ethernet  HWaddr 08:00:46:0E:8C:D8
          inet addr:  Bcast:  Mask:
          inet6 addr: fe80::a00:46ff:fe0e:8cd8/64 Scope:Link
          RX packets:3588 errors:0 dropped:0 overruns:0 frame:0
          TX packets:624 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1050713 (1.0 MiB)  TX bytes:111359 (108.7 KiB)

This example shows that interface eth0 is connected (because it shows an inet address). To determine whether eth0 is the wired or wireless interface, use iwconfig

iwconfig: No Wires! The iwconfig command configures a wireless network interface. It is a useful command for determining which interface is being used for wireless networking.
 eth0      no wireless extensions.

 eth1      radio off  ESSID:""  
          Mode:Managed  Channel:0  Access Point: Not-Associated   
          Bit Rate:0 kb/s   Tx-Power=off   Sensitivity=8/0  
          Retry limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

The above example shows 3 important things: (1) that your wireless interface is eth1, (2) that eth0 is your wired network (because it reads "no wireless extension"), and (3) that your wireless is turned off ("radio off"). When you see "radio off" this generally means there's a physical button somewhere on the laptop that is currently in the off position. Note this has been somewhat superceeded by the iw command which is lower level. Sometimes iwconfig will fail because of e.g. configuration issues but iw will still give useful output.

If you switched on the wireless and then ran iwconfig you might see something like this:

 eth1      IEEE 802.11g  ESSID:"freegeek"  
          Mode:Managed  Frequency:2.422 GHz  Access Point: 00:14:BF:2B:41:1D   
          Bit Rate:54 Mb/s   Tx-Power=20 dBm   Sensitivity=8/0  
          Retry limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=93/100  Signal level=-34 dBm  Noise level=-89 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:4

Note that the ESSID is "freegeek." This means that you're connected to the Free Geek wireless network.

dhclient The dhclient command will look for a server that will give your laptop a network address. Run this command as a super-user (sudo).
  • If you just type dhclient it will try all interfaces (wireless and wired)
  • You can specify which interface you would like by typing dhclient [interface]
EXAMPLE: if you run iwconfig and discover that your wireless interface is eth1, then running dhclient eth1 will only try to connect your laptop to any wireless network. If you specifically want to connect to the "freegeek" wireless network, you can type dhclient eth1 essid freegeek
Broadcom Chipset So you've discovered that your wireless card has a Broadcom chipset, eh? Try these steps:
  1. System > Administration > Hardware Drivers
    If present, select "Broadcom B43 wireless driver"
  2. Manual installation (use if step 1 reveals nothing). Open a terminal and type the following command to install b43-fwcutter and fetch the firmware for you:
sudo apt-get install b43-fwcutter
Try a Newer liveCD Normally we use Ubuntu 10.04 on all our systems, but some newer wireless cards are not supported in this version. Use a live CD of the latest Ubuntu version (currently 11.04), and see if the card works.
Xubuntu 12.04 BCM4311 $> sudo apt-get purge bcmwl-kernel-source broadcom-sta-common broadcom-sta-source

$> sudo apt-get install b43-fwcutter firmware-b43-installer
$> sudo shutdown -r now

Try Using ndiswrapper If the card does not work natively under Linux you can always try using the windows driver with ndiswrapper.
Try Editing Network Interfaces sudo gedit /etc/network/interfaces

Then remove all lines but lo.

Tesing for a wireless connection

If your wireless network manager cannot see the RF signal from a wireless AP and it's corresponding information necessary for a wifi client to connect to it, ip connectivity is not the issue. You have to have radio (physical layer) connectivity before you can get ip layer connectivity.

The only real test here is to use a low level wireless tool such as iw. If when you run the command "iw wlan0 scan", you don't get results like below there's a RF level communication problem between the radio in your wifi card and the radio in the wireless AP.

iw wlan0 scan

BSS 00:07:85:b3:a1:5b (on wlan0) TSF: 5969236565582 usec (69d, 02:07:16) freq: 2422 beacon interval: 100 capability: ESS ShortPreamble (0x0021) signal: -61.00 dBm SSID: freegeek Supported rates: 1.0* 2.0* 5.5* 11.0* DS Parameter set: channel 3 BSS 00:18:39:70:15:3d (on wlan0) TSF: 23167367530426 usec (268d, 03:22:47) freq: 2437 beacon interval: 100 capability: ESS Privacy ShortSlotTime (0x0411) signal: -82.00 dBm SSID: TECH-NET-EZ Supported rates: 1.0* 2.0* 5.5* 11.0* 18.0 24.0 36.0 54.0 DS Parameter set: channel 6 ERP: Barker_Preamble_Mode Extended supported rates: 6.0 9.0 12.0 48.0

You can also use

iwlist scanning

which gives somewhat friendlier output but is not as reliable always. iwlist

Are we really desperate yet? Sometimes a more mainstream wireless card could be the answer or perhaps a loose antenna connection could be the culprit.

Don't forget that wireless isn't magic. It isn't going to work if there are lots of walls/trees etc in the way or the access point is too far away.