In setting up their wireless connection for the first time, Im discovering many individuals having problems connecting through Network Manager or other GUI wireless connection tools. In fact my Network Manager is intermittently buggy, connecting sometimes and not others. This guide benefits all users in case the GUI tools are not working, and is useful for testing a wireless connection during initial installation of wireless drivers since it provides for good debugging output.
Unencrypted/ WEP / WPA connections will be covered in this guide.
This guide is for anyone attempting to establish a network connection manually at the command line.
Pre-requisites
1. Properly installed network driver -- This guide can be used to troubleshoot driver installation to see if it is properly functioning
2. The ESSID of your router must be broadcasted and not hidden
3. Knowlege of your wireless cards driver (please see Prerequisite #4 to determine driver). Those using the r8187/r818x driver please see the end of the guide
4. Knowledge of your wireless card's Interface Name - The user must know the proper interface of the wireless connection (wlan0, eth1, rausb1, etc). To discover this information, at command line type:
There may be multiple interfaces listed, however look under the section appropriate to your wireless device for the line labeled logical name. Here is an example:Code:lshw -C network
In the example above the interface name is wlan0. I will refer to the interface name throughout the rest of this guide as <interface>.Code:*-network description: Wireless interface product: BCM4306 802.11b/g Wireless LAN Controller vendor: Broadcom Corporation physical id: 0 bus info: pci@06:00.0 logical name: wlan0 version: 03 serial: 00:12:17:35:17:10 width: 32 bits clock: 33MHz capabilities: bus_master cap_list ethernet physical wireless configuration: broadcast=yes driver=ndiswrapper+lsbcmnds driverversion=1.48rc1+Cisco-Linksys ,LLC.,02/1 ip=192.168.1.101 latency=64 multicast=yes wireless=IEEE 802.11g resources: iomemory:3c000000-3c001fff irq:11
For people first setting up their connection, please note that the above also lists the driver used for the network card. In the example above, the driver used is ndiswrapper. If your network device comes back UNCLAIMED or there is no driver listed, then you have not correctly installed the driver for your device. You must review the procedures for installation of your wireless driver.
__________________________________________________ __________________________
Unencrypted Connection
All commands typed at the command line:
__________________________________________________ __________________________Code:sudo ifconfig <interface> down sudo dhclient -r <interface> sudo ifconfig <interface> up sudo iwconfig <interface> essid "ESSID_IN_QUOTES" sudo iwconfig <interface> mode Managed sudo dhclient <interface>
WEP Connection
You must have either your 64bit or 128 bit HEX Key or the ASCII Equivalent of your HEX Key.
__________________________________________________ __________________________Code:sudo ifconfig <interface> down sudo dhclient -r <interface> sudo ifconfig <interface> up sudo iwconfig <interface> essid "ESSID_IN_QUOTES" sudo iwconfig <interface> key HEX_KEY <<<-------- If using ASCII Equivalent, this is s:ASCII_KEY (please make note of the prefix s:) sudo iwconfig <interface> mode Managed sudo dhclient <interface>
WPA Connection - WPA-PSK or WPA2-PSK
Requirements: In most cases the wpa_supplicant package is required in order to connect via WPA. If you have a working ethernet or unencrypted/WEP wireless connection, this package may be installed via:
If only wireless is available, I would recommend that an unencrypted connection first by established and tested first before directly proceeding to make a WPA connection. WPA adds another layer of complexity.Code:sudo aptitude install wpasupplicant
1. Creation of /etc/wpa_supplicant.conf file
At command line:
Inside the file add the following for WPA(1):Code:gksu gedit /etc/wpa_supplicant.conf
For WPA(2):Code:ap_scan=1 ctrl_interface=/var/run/wpa_supplicant network={ ssid="ESSID_IN_QUOTES" scan_ssid=0 proto=WPA key_mgmt=WPA-PSK psk="ASCII PSK Password in Quotes" pairwise=TKIP group=TKIP }
***Word of caution -- In some cases I have found WPA(2) to have different settings than the above. Some Broadcom cards use the pairwise/group TKIP cipher for WPA2 rather than CCMP. I would suggest all initially use WPA(1) and then later convert to WPA2 since some variations to the above may be neededCode:ap_scan=1 ctrl_interface=/var/run/wpa_supplicant network={ ssid="ESSID_IN_QUOTES" scan_ssid=0 proto=WPA key_mgmt=RSN psk="ASCII PSK Password in Quotes" pairwise=TKIP CCMP group=TKIP CCMP }
2. Connect via command line
***footerCode:sudo ifconfig <interface> down sudo dhclient -r <interface> sudo wpa_supplicant -w -D<****see footer below***> -i<interface> -c/etc/wpa_supplicant.conf -dd sudo ifconfig <interface> up sudo iwconfig <interface> mode Managed sudo dhclient <interface>
The value listed here is dependent on the driver you have installed. Typing man wpa_supplicant at command line will give you the full gamut of choices however a quick reference
ndiswrapper=wext (use wext and not ndiswrapper despite what documentation might suggest)
ath_pci = madwifi
ipw2100/2200=ipw
__________________________________________________ __________________________
A successful connection in all cases will results in this:
The computer in this example has received an IP address of 192.168.1.101Code:user@computer:~$ sudo dhclient wlan0 There is already a pid file /var/run/dhclient.pid with pid 134993416 Internet Systems Consortium DHCP Client V3.0.4 Copyright 2004-2006 Internet Systems Consortium. All rights reserved. For info, please visit http://www.isc.org/sw/dhcp/ Listening on LPF/wlan0/00:12:17:35:17:10 Sending on LPF/wlan0/00:12:17:35:17:10 Sending on Socket/fallback DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 4 DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 7 DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 7 DHCPOFFER from 192.168.1.1 DHCPREQUEST on wlan0 to 255.255.255.255 port 67 DHCPACK from 192.168.1.1 bound to 192.168.1.101 -- renewal in 299133 seconds.
__________________________________________________ __________________________
Users of RTL 8180, RTL8185, RTL 8187 using the built in native r8187 / r818x drivers
By default the r8187 and r818x drivers are blacklisted due to a know bug. These drivers are usuable however with a twist to the above methods
If you want to try using these drivers, please load the kernel modules:
These drivers require a bogus or extra letter be suffixed to the essid name in order for these drivers to workCode:sudo modprobe r818x sudo modprobe r8187
For example if your are trying to connect to a router with essid=Router, at he command line you would type essid=Routerx. Notice the extra x or bogus character. I have provided an example using the unencrypted connection procedure below, however this extra character needs to be used if attempting to connect to all network types (unencrypted/ WEP / WPA)
If these drivers work for you, and you would like these drivers to load automatically at startup for you, avoiding to have to type sudo modprobe everytime, please edit your blacklist file:Code:sudo ifconfig <interface> down sudo dhclient -r <interface> sudo ifconfig <interface> up sudo iwconfig <interface> essid "Routerx" sudo iwconfig <interface> mode Managed sudo dhclient <interface>
And comment out (or prefix the following lines with a # sign). You want the following lines to appear as below:Code:gksu gedit /etc/modprobe.d/blacklist
__________________________________________________ __________________________Code:#blacklist r8187 #blacklist r818x
Useful Commands
ifconfig - lists IP address (similar to ipconfig in Windows)
iwlist scan - shows wireless networks that are available in the area along with basic encryption information
lshw -C network - Shows interface and driver associated with each networking device
lspci -nn - Shows hardware connected to the pci bus
lsusb - Shows USB connected hardware
lshw -C usb - Additional info on USB related hardware (good for USB dongles)
cat /etc/modprobe.d/blacklist - List modules that will not be loaded by the Operating System at boot time
lsmod - lists currently loaded kernel modules. (Example usage - lsmod | grep ndiswrapper)
route -n - Lists kernel IP routing table -- Good for troubleshooting problems with the gateway
cat /etc/resolve.conf - Lists DNS servers associated with network connections
sudo modprobe ***** - Loads the kernel module **** . (Example usage - sudo modprobe ndiswrapper, sudo modprobe r818x, sudo modprobe ath_pci)
sudo modprobe -r **** - Unloades the kernel module ****. (Example usage - sudo modprobe -r ndiswrapper)
sudo ifup/ifdown <interface> - Brings up/down the interface and clears the routing table for the specified interface
sudo ifconfig <interface> up/down - Brings up/down the interface for the specified interface
sudo dhclient <interface> - Request IP address from DNS server for specified interface
sudo dhclient -r <interface> - Release IP address associated with specified interface
sudo iptables -L - Lists firewall rules
dmesg | more - Lists boot log -- good for troubleshooting problems with modules/drivers not being loaded
uname -r - Displays kernel version
Further references:
Ra chipsets - rt2500, rt73, rt61, rt2570 drivers - http://ubuntuforums.org/showthread.p...=serial+monkey - Author diepruis
Ndiswrapper installation for Broadcom chipsets - http://ubuntuforums.org/showthread.php?t=475963 - Author Jamie Jackson
Madwifi website for certain Atheros Chipsets - http://madwifi.org/ -- If your Atheros chipset is listed on this website - it should work out of the box with installation of the linux restricted drivers package for your kernel version



Adv Reply





Bookmarks