Setting Up Ursinus Wireless in Ubuntu Dapper on Latitude D610
In order to get the wireless working on the Ursinus Dell Latitude D610 laptops under Ubuntu Dapper, two mains steps are required. First, ndiswrapper must be installed to get the laptop to recognize the wireless card. Second, wpa_supplicant must be installed and configured to allow connection to the Ursinus wireless network.
To install ndiswrapper:
sudo apt-get install ndiswrapper-utils*It is possible that ndiswrapper is already installed.
Update: I have found that the version of ndiswrapper in the repositories (1.8 as of 3/6/07) does not work properly. The solution has been to install a newer version (1.31 is what I got to work) from the current version of the code. Follow the INSTALL instructions found with the source code. If you encounter problems, an error with "modpost" or something similar, you probably need to install the kernel headers. This should be enough to install them:
sudo apt-get install linux-headers-`uname -r`
Next, we need to make sure that Ubuntu isn't trying to use a driver of its own:
sudo gedit /etc/modprobe.d/blacklistCheck this file to see if you can find "blacklist bcm43xx". If you don't see it, add it to the bottom of that file, save it, then close gedit. Now make sure that the kernel isn't using any driver currently with:
modprobe -r bcm43xx modprobe -r ndiswrapperNow we need to set up ndiswrapper. You'll need to get the driver files for the card for Windows. You can try to find them in your Windows partition if it's mounted by `locate bcmwl5.inf`. Otherwise, you can just download it from Dell. Once you have this downloaded, you can extract the driver with `unzip R115320.EXE`. Now you'll need to find bcmwl5.inf in the files that were just extracted. Once you find it, this will install it and set ndiswrapper up with it:
ndiswrapper -i bcmwl5.inf ndiswrapper -mYou can use `ndiswrapper -l` to make sure it installed correctly.
Now restart your computer. When it starts back up do the following:
dmesg | grep ndiswrapperYou should see lines similar to:
[89.36] ndiswrapper version 1.8 loaded (preempt=yes,smp=no) [189.40] ndiswrapper: driver bcmwl5 (Broadcom,12/22/2004, 3.100.46.0) loaded [19.46] ndiswrapper: using irq 209 [10.66] wlan0: ndiswrapper ethernet device 00:00:00:00:00:00 using driverIf you don't, try `modprobe ndiswrapper` and then try the dmesg again. If this fixes the problem, you may need to add "ndiswrapper" to the bottom of /etc/modules.
bcmwl5, 14E4:4318.5.conf
iwconfigYou should notice an interface possibly named "wlan0," but it could also be an "eth" interface. Either way, it should be obvious that it is there, primarily from the top line that should be something like:
IEEE 802.11g ESSID:off/anyIf you have this, then you should now be ready to connect to a wireless signal. You can scan to see what is around with:
iwlist scanIf you have a router, or some other security-disabled network around, you can connect to it by doing:
iwconfig wlan0 essid "ssid" sudo ifup wlan0You'll need to replace wlan0 if your interface is different and ssid with the appropriate site ID.
To install wpa_supplicant
sudo apt-get install wpa_supplicantAfter this is installed, you'll need to configure it:
sudo gedit /etc/wpa_supplicant.confThe setup for UC should be:
network={
ssid="ursinus"
key_mgmt=IEEE8021X
scan_ssid=1
eap=PEAP
identity="URSINUS\username"
password="password"
phase1="peaplabel=0"
phase2="auth=MSCHAPV2"
}
Add this to the bottom of that file, substituting username and password for your Ursinus username and password. To make sure that your password is better protected, run:
sudo chmod 700 /etc/wpa_supplicant.conf sudo chown root:root /etc/wpa_supplicant.confThis will make sure that only root can read this file.
In order to start wpa_supplicant, run:
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -D wext -BReplace "wlan0" as necessary. You can set this up to run at boot by:
sudo gedit /etc/init.d/wpa_supplicantAdd:
#!/bin/bash wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -D wext -BThen run:
sudo chmod +x /etc/init.d/wpa_supplicant sudo update-rc.d wpa_supplicant defaultsNow you should be able to connect to the "ursinus" network in the same method as above:
iwconfig wlan0 essid "ursinus" sudo ifup wlan0
Extra modifications:
Keeping the Interface Names the Same
If the interface name "wlan0", "eth0", etc., changes often after rebooting, causing problems with wpa_supplicant, you can change a few things to help make sure it stays the same.sudo gedit /etc/network/interfacesEdit this file by removing the interfaces you don't want the wireless to use if it's there, and add the following lines using the interface name you want to use:
auto wlan0 iface wlan0 inet dhcpAlso, you can edit /etc/iftab and make sure that the interface name for the wireless is what you want it to be.
Additional Configuring for wpa_supplicant
You can use `man wpa_supplicant` or search Google for more information about configuring wpa_supplicant to suit your needs, but a common one is using WPA-PSK, or WPA security with a passphrase. wpa_supplicant comes with a program to do this work for you. Run the following command to add the settings to the configuration file, replacing ssid and the passphrase:sudo wpa_passphrase ssid passphrase >> /etc/wpa_supplicant.conf
Updates
Tuesday, March 6, 2007
- Version of ndiswrapper doesn't seem to work, need to compile from source with newer version
- The "microcode" error message relates to the bcmwxx module, not a problem when using ndiswrapper. Taken out of howto because the driver is not ready to be used in place of ndiswrapper.
- There seems to be some error when running wpa_supplicant with the driver specified to be ndiswrapper. If wpa_supplicant gives you problems with ndiswrapper, use wext. If wext gives you problems, try ndiswrapper.