Wireless Tips

From FreekiWiki
Revision as of 10:40, 27 August 2009 by MichaelWestwind (talk | contribs) (→‎iwconfig: no wires!: a little formatting)
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?

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:192.168.2.252  Bcast:192.168.2.255  Mask:255.255.255.0
         inet6 addr: fe80::a00:46ff:fe0e:8cd8/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         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. 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 8.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 9.04), and see if the card works.

try using ndiswrapper

If the card does not work natively under Linux you can always try using the windows driver with ndiswrapper