Dell D430, Slackware 12, Wifi Wireless Working

Last Modified: Fri, 30 Jan 2009 05:08:00 +0000 ; Created: Fri, 30 Jan 2009 05:08:00 +0000

I have a Dell D430 laptop with a Dell Wireless 1505 draft-N MiniCard. I wanted to get wireless working in Slackware 12.2. These are the steps I took to enable the device:

Installation

  1. Make sure your Wifi switch is on
  2. Open a shell as root
  3. Download the Dell Windows XP (32-bit) driver
  4. mkdir /opt/DellWireless
  5. cd /opt/DellWireless
  6. unzip ~/Desktop/R202477.exe
  7. cd /usr/src
  8. Download ndiswrapper (latest stable)
  9. Decompress the archive into /usr/src
  10. cd /usr/src/ndiswrapper-1.54
  11. Verify that you have your current Linux kernel sources available
    1. ls -la /lib/modules/`uname -r`/build/
    2. You should see a include directory and a .config file
  12. Unload any old ndiswrapper by running /sbin/modprobe -r ndiswrapper
  13. Clean out any old ndiswrapper by running make uninstall
  14. Build ndiswrapper with make
  15. As root install ndiswrapper with make install
    • It should be placed into /usr/sbin
  16. cd /opt/DellWireless/DRIVER_US
  17. /usr/sbin/ndiswrapper -i bcmwl5.inf
  18. /usr/sbin/ndiswrapper -l
    • Verify that you see a line like
      bcmwl5 : driver installed
    • Verify that you see a line like
      device (14E4:4328) present (alternate driver: ssb)
    • If you do not see "driver installed" nor "device ... present" something is wrong. See below for hints
  19. /sbin/modprobe ndiswrapper
  20. dmesg
    • Verify that you see wlan0 towards the end
  21. iwlist scanning will run a test wireless network scan

Make your wireless card load properly during boot

Normally you would need to modprobe blacklist the b43 and b43legacy modules, but Slackware comes with those modules turned on by default during boot. Adding them to /etc/modprobe.d/blacklist doesn't work for some reason. Also not even "install b43 /bin/true" seems to work even though the modules don't show up loaded from the output of lsmod. To properly get modprobe ndiswrapper to work during boot do the following:
  1. echo install ndiswrapper /sbin/modprobe -r b43 b43legacy; /sbin/modprobe --ignore-install ndiswrapper>> /etc/modprobe.d/ndiswrapper
  2. Edit "/etc/rc.d/rc.modules" and add /sbin/modprobe ndiswrapper

How to connect to an open (no encryption) wireless network

  1. ifconfig wlan0 up
  2. iwlist wlan0 scanning
  3. iwconfig wlan0 essid "NET_NAME_SID"
    • Example: iwconfig wlan0 essid "ANY"
      • Connect to any available open network
    • Example: iwconfig wlan0 essid "My Network"
      • Connect to network with name My Network
    • Example: iwconfig wlan0 essid -- "ANY"
      • Connect to network that has the actual name "ANY"
  4. Confirm association with the network with the command iwconfig
  5. Get an IP address via DHCP
    1. dhcpcd -k wlan0
    2. dhcpcd wlan0
  6. Everything should be up and going

How to connect to a WEP encrypted network

  1. Change your network settings to use WPA2. WEP isn't secure.
  2. If you must use WEP then read up on iwconfig with man iwconfig

How to connect to a WPA/WPA2 encrypted network

  1. /usr/sbin/wpa_passphrase NET_NAME_SID Network Passphrase > /wpa.conf
  2. Edit the /wpa.conf file
    1. Comment out the psk=6801d... (bunch of hex digits)
    2. Uncomment the pks="your plain text password"
    3. Save the changes
  3. /usr/sbin/wpa_supplicant -Dwext -iwlan0 -c /wpa.conf &
  4. Follow the directions above for connecting to an open wireless network

Hints for fixing problems

  1. For the Dell D430 try upgrading to the latest BIOS
    • I used Bios A08
  2. Try a clean reset of your system
    1. Reboot
    2. Unload any old ndiswrapper by running /sbin/modprobe -r ndiswrapper
    3. /sbin/modprobe -r b43
    4. /sbin/modprobe -r b43legacy
    5. Reinstall ndiswrapper following the directions above
      • Do use the latest stable sources from the project's home page
      • Remember to make uninstall multiple times in a row
    6. ndiswrapper -m should be unnecessary. Remove any changes it made if you did that.