Linux: Dell Inspiron 5150 Installation Notes
Last edited September 14, 2007
More by treehead »
Wireless Notes

Prerequisites

You need a recent kernel at, least 2.6.6 or 2.4.26, with kernel headers. Make sure that /lib/modules/VERSION/build is a link to the kernel source, where VERSION is the version of the kernel you are running; this should be setup automatically by distribution package. If this path is not valid, kernel modules can’t be compiled. Also make sure gcc and associated packages (e.g., libc6-dev on Debian based distributions) are installed so C programs can be compiled. For help with these steps, refer to your distribution documents.

Some vendors ship ndiswrapper in their distributions. It may be easier to locate and install ndiswrapper package(s) from your distribution. However, ndiswrapper available for your distribution may be quite old and may not work. In that case, proceed with installation below.

Upgrading

It is always a good idea to uninstall the current version and reinstall the new version. This way, if there are changes in formats of configuration files, etc., the new version will work without problems.

Downloading

Download the latest version of the ndiswrapper sources from http://sourceforge.net/projects/ndiswrapper and extract it with
tar -zxvf ndiswrapper-version.tar.gz

This will create the ndiswrapper-version directory. Change to that directory with
cd ndiswrapper-version

If you are having problems with the release version, or you want to try the bleeding-edge version, you can either get the latest SVN version with
svn co https://svn.sourceforge.net/svnroot/ndiswrapper/trunk/ndiswrapper ndiswrapper
or if you already have SVN code, with
svn up

Note that the snapshot tar balls and SVN versions may or may not work - they may not even compile. If you have problems with these, please don’t complain, except to provide feedback/debug trace to help fix bugs. However, sometimes, these may work better than release versions, as bugs are fixed, features are added, etc.

Installation

Compile and install

Go to the source-directory and run make distclean and make. As root, run make install. This should compile and install both the kernel module and the userspace utilities. If you don’t need USB support in ndiswrapper, with recent versions, you can compile with make DISABLE_USB=1 and install with make DISABLE_USB=1 install.

NOTE: Source-directory is for the ndiswrapper directory that you just created. (NOT the /usr/src directory)

Install Windows driver

Important: Not all Windows drivers are tested / stable. If the Windows driver that you use is problematic, try alternate Windows drivers that others have tested, especially those in List. Always, try Windows XP drivers and if Windows XP drivers are not available, try Windows 2000/2003 drivers. Windows Vista drivers are not supported (yet) - using Windows Vista driver will result in many ‘unknown symbol’ error messages when loading ndiswrapper.

To identify the driver that you need from List, first identify the card you have with lspci and note the first column such as 0000:00:0c.0 and then find out the PCI ID of the card by running lspci -n and locating the entry corresponding to the first column of lspci output. The PCI ID is third column or fourth in some distributions and of the form 104c:8400. Now you need to get the Windows driver for this chipset. In the List, find out an entry for the same PCI ID, and download the driver corresponding to it. Unpack the Windows driver with unzip/cabextract/unshield tools, and find the INF file (.INF or .inf extension) and the SYS file (.SYS or .sys extension). If there are multiple INF/SYS files, you may look in the List if there are any hints about which of them should be used. Make sure the INF file, SYS file and any BIN files (For example, TI drivers use BIN firmware) files are all in one directory.

If you already have your device working in Windows you can try that driver. Open the device manager and find the name of the .sys driver file listed for the device. You need the .sys file and the .inf file. To find the .inf file search in the \Windows\inf\ directory for a file containing the name of the .sys file. You will need to do an advanced search to search for text within the files. Now use the ‘ndiswrapper’ tool to install the driver with
ndiswrapper -i filename.inf
This copies all necessary files to /etc/ndiswrapper and creates the config files for your card. After installing you can run ndiswrapper -l to see the status of your installed drivers. If you have installed the correct driver you should see something like this
bcmwl5: driver installed
device (14E4:4320) present

Where ‘present’ means that you have a card that can be used with the driver installed. In this case, broadcom driver bcmwl5 is used. If you see ‘cannot locate lspci. Unable to see if hardware is present’, you need to install the pciutils package.

If you get something like
bcmwl5: driver installed
device (14E4:4320) present (alternate driver: bcm43xx)
then you / kernel may use bcm43xx module for that device. If that module is loaded, then ndiswrapper wouldn’t be able to use that device; see Troubleshooting.

Errors on Installation

If you get an error with ndiswrapper -i filename.inf along the lines of “couldn’t copy filename.inf at line xxx”, then ‘filename.inf’ most probably does not exist. Check your spelling carefully and remember to use upper / lower case where appropriate. You will have to correct this failed installation with ndiswrapper -r filename (note: not filename.inf) before trying again.

Extracting drivers from EXEs or CAB files

If there’s no windows driver listed for your card, or your card isn’t there at all, you might as well try to locate a driver, and add it if you succeed. The drivers you find may be packaged as an executable file. These notes were extracted from the List of cards, there may be more there. Some of the EXE files are just zip files, so you can run unzip and obtain driver files. Some EXE files are CAB files, so run cabextract and/or unshield on CAB file, typically named data2.cab.

Load module

Before you load the module, DO NOT FORGET to type depmod -a. If there is no error, continue.

To load the module type modprobe ndiswrapper. If you get no error, the driver should now be loaded. You can verify this by checking the system log produced by dmesg. If the driver is loaded successfully, you should see a message in the system log ndiswrapper version version loaded Make sure the version version here matches the version of ndiswrapper package that you downloaded and installed. If you get a different version, you have an old version of package, which you should uninstall, and then go back to step 1.

If after modprob’ing, the system is locked up (no response to keyboard, etc.), it indicates that kernel has crashed. See distributions and the FAQ for hints on what may cause problems for your distribution/kernel.

If you have successfully installed the windows drivers earlier with ndiswrapper -i “INFfile”, the ndiswrapper module will load them all. You should then see the following messages in system log ndiswrapper: driver “driver1” loaded for each of the drivers. If you don’t see these messages, it usually means that there are no usable drivers installed in /etc/ndiswrapper directory. Check if the /etc/ndiswrapper directory has one sub-directory for each driver and if in each driver’s directory there are inf, sys and conf files. Otherwise, you may need to repeat step 2.

If this does not bring up the lights on the card, try ejecting it and re-inserting it.

If the system has a card that works with one of the loaded drivers, you should see the following message in the system log
wlan0: ndiswrapper ethernet device xx:xx:xx:xx:xx:xx

Configure interface

Use iwconfig to configure wireless network interface. First, see if the interface is available, with iwconfig. This tool is not likely to be present on your system: it is part of the package http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html Wireless Tools for Linux, which you should install.

This will print the wireless interface e.g., wlan0. In the examples below, wlan0 is used. Replace wlan0 with the interface reported by iwconfig above. The wireless configuration to be used should match what your access point uses. First, find out if you can see your access point (AP) with iwlist wlan0 scan Note: You may have to set the network name before the scan can find your Access Point. If the scan does not find your AP, try issuing the command iwconfig wlan0 essid ESSID before using the command iwlist wlan0 scan. If this lists your AP, you can continue. Otherwise, you may have one of two problems: Your AP doesn’t broadcast SSID. See the FAQ for more information, or if the radio of the card is off again, see the FAQ for details.

If you see the AP in the scan above, set the operating mode of the interface according to your setup. In most cases, it is Managed iwconfig wlan0 mode Managed If you use encryption WEP, set the key: iwconfig wlan0 key restricted XXXXXXXX You can use 10 hex digits for 40-bit encryption or 26 hex digits for 128-bit encryption. You may need to use open security mode instead of restricted depending on the setup of your AP. If you want to write the key in ASCII use s: e.g. iwconfig wlan0 key restricted s:password.

Set the network name iwconfig wlan0 essid ESSID Replace ESSID with the network name used by your AP.

At this point, check to make sure that the ESSID is set in the output of iwconfig wlan0. If you see the ESSID as you set, you can proceed to the next step. If you see ESSID: off/any, then your card is not associated to the AP. Check if WEP encryption is set exactly as used by the AP, and that the AP broadcasts ESSID. See the FAQ for more details. Until ESSID is set in output of iwconfig wlan0, you may not use wlan0 as a network interface.

Now, setup the network parameters for the interface wlan0. This varies from distribution to distribution. Refer to your distribution’s documents on how to do this. Once this is done, you can use network tools to bring up the network e.g., ifconfig wlan0 up or dhclient wlan0 or dhcpcd wlan0 etc.

Remember, if you have a firewall, let it know that wlan0 is an external interface, and allow it to pass traffic. Otherwise you won’t even be able to ping your AP.

Once everything works fine you can write the correct modprobe settings to load ndiswrapper automatically when the wlan0 interface is used, by running ndiswrapper -m Note that this doesn’t automatically load ndiswrapper module at boot time. If you want the module to be loaded automatically at boot time, you should configure your module setup, which depends on the distribution. Most distributions will load all modules listed in /etc/modules at boot time. Mandrake 10.x uses /etc/modprobe.preload. For them, you can add a line ndiswrapper in /etc/modules. For Fedora Core5, add a line alias wlan0 ndiswrapper in /etc/modprobe.conf.

If this does not work, instead add a line modprobe ndiswrapper in /etc/rc.d/rc.local

If this does not work either, you can find a couple of other possible solutions at http://www.linuxquestions.org/questions/showthread.php?t=431575

WPA support: See WPA Wiki on how to use Wi-fi Protected Access with ndiswrapper

How to use WPA with ndiswrapper

Get 0.4.9 or newer version of wpa_supplicant from http://hostap.epitest.fi/wpa_supplicant. In wpa_supplicant directory, add .config file so it contains driver support for wext and a control interface i.e., add the following line to .config file:

CONFIG_DRIVER_WEXT=y
CONFIG_CTRL_IFACE=y

Now compile it with “make” and copy wpa_supplicant, wpa_passphrase and wpa_cli to some place that is in your PATH, e.g., /usr/local/bin.

Get 1.41 version or newer of ndiswrapper and install it.

Create wpa_supplicant configuration somewhere, say, /etc/wpa_supplicant.conf. A simple configuration such as

ctrl_interface=/var/run/wpa_supplicant
 network={
   ssid="myssid"
   psk="mysecret"
   key_mgmt=WPA-PSK
   proto=WPA
 }

should suffice. Note that psk given above can be plain text ASCII pass phrase that is used on the AP or hex digits (without quotes) that can be generated with wpa_passphrase from the same ASCII pass phrase. For simplicity, go with ASCII pass phrase.

Above configuration causes wpa_supplicant to negotiate which encryption scheme to use. Certain AP’s might not work with this negotiation procedure. So it can help to limit the scheme to the most basic WPA one: TKIP. Add this line to your config to do so: pairwise=TKIP

Now start the interface and then wpa_supplicant. For example, as

ifconfig wlan0 up
wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf -dd

Note: With ndiswrapper version 1.12 and older, use -Dndiswrapper instead of -Dwext.

Now configure the network interface; e.g., if you are using a DHCP you may need to run
dhclient wlan0

The option -dd to wpa_supplicant gives lot of output so you can see if there is a problem. If everything works, you can drop -dd option. You may also want to leave wpa_supplicant running in the background with the option -Bw so you don’t need to start it everytime. Once wpa_supplicant authenticates, you can use DHCP to configure the network interface.

wpa_supplicant by default tries CCMP also known as AES and TKIP ciphers in that order. So if your AP supports both, you can use either ndiswrapper works with both, if the driver supports them.

You can also use wpa_supplicant to set WEP keys if you don’t want/need to use WPA. This way, you can specify bssid in each network block so you can set different WEP keys for different APs automatically.

ndiswrapper works with WPA-EAP; tested with freeradius and TLS, TTLS, PEAP, IEEE8021X.

Laptop: Dell Inspiron 5150 Card: Wireless 1350 (802.11b/g) WLAN miniPCI Card
  • Chipset: Broadcom Corporation BCM#4306 802.11b/g Wireless LAN Controller (rev 03)
  • pciid: ?
  • Other: This card is in the miniPCI slot of the Inspiron 5150. This driver is for US only. I think this is a Truemobile 1350. To install unzip (program “unzip” works on the .exe) the exe file and use the bcmwl5a.inf in directory AR.
Hardware Notes

Dell Wireless 1370 WLAN MiniPCI Card
Driver
Release Title:Network: Dell _Wireless (US) WLAN Card, TrueMobile 1300 MPCI Card , TrueMobile 1300 PCMCIA, TrueMobile 1400 WLAN, Wireless 1350 WLAN MiniPCI Card, Wireless 1350 WLAN PC Card, Wireless 1370 WLAN MiniPCI Card, Wireless 1390 WLAN ExpressCard, Wireless 1390 WLAN MiniCard, Wireless 1450 WLAN miniPCI Card, Wireless 1470 Dual-Band WLAN miniPCI Card, Wireless 1490 Dual-Band WLAN MiniCard, Driver, Windows 2000, Windows XP, Multi Language, Multi System, v.4.10.40.0 / 4.10.47.3 , A09
Release Date:10/20/2006
Criticality:Recommended
Description:Download this driver only if you reside in the United States. This release supports the Dell Wireless 1350, 1370, 1450,1390, 1490 series, and Dell TrueMobile 1300, 1400 series Mini Card, MiniPCI and PC Card devices (not USB).
Slackware Installation Notes

Installation Checklist: Installing Slackware 11 on a Dell Inspiron 5150
June 2007


Operating System
[X]   Linux 2.6 Kernel
[X]   Power Management (ACPI)
[_]   Wireless w/ WPA supplicant

Window Managers
[X]   Ratpoison Window Manager (Slack Build)
[_]   Ion Window Manager
       [X]   Lua
[_]   Gnome Window Manager (?)
       [?]   Network Manager

Multimedia Software
[X]   MPlayer and codecs (Slack Build)

Network Software
[_]   rTorrent
Slackware Installation Logs

Installation Log: Installing Slackware 11 on a Dell Inspiron 5150
June 2007


Kernel: 2.6.17.13
Partitions:
17G   /
37G   /home
02G   swap

Post Installation
Extra Packages
    /mnt/cdrom/extra/

linux-
2.6.17.13/
    installpkg kernels-modules-2.6.17.13-i486-1.tgz
    installpkg
kernels-source-2.6.17.13-i486-1.tgz

checkinstall/

    installpkg checkinstall-1.6.0-i486-2.tgz

slackpkg/
    installpkg slackpkg-2.09-noarch-1.tgz

grub/
    installpkg grub-0.97-i486-2.tgz
    grubconfig
       1024x768x32k Framebuffer console
       MBR


Uninstallation

pkgtool > Remove
    kernel-ide-2.4.33-i
    kernel-modules-2.4.33
    kernel-source-2.4.33
    lilo-22.7.1-i486-2

Note: As per Patrick's notes, keep the
kernel-headers-2.4.33 installed.

Install Updates
    vim /etc/slackpkg/mirrors
    Used: ftp://carroll.cac.psu.edu/ ...
    ZZ

    slackpkg update
    slackpkg upgrade patches

Keymap Tweak
(See Customizations & Tweaks)

Video
Video Card
    lspci | grep -i nvidia
    01:00.0 VGA compatible controller: nVidia Corporation NV34M [GeForce FX Go5200] (reva1)

NVIDIA Accelerated Linux Graphics Driver README and Installation Guide

Installing the nVidia Linux Display Driver

    su && cd ~

    wget http://us.download.nvidia.com/.../NVIDIA-Linux-x86-100.14.09-pkg1.run

    chmod +x NVIDIA-Linux-x86-100.14.09-pkg1.run

    sh
NVIDIA-Linux-x86-100.14.09-pkg1.run

"When the installer is run, it will determine if it has a precompiled kernel interface for the kernel you are running. If it does not have one, it will check if there is one on the NVIDIA FTP site (assuming you have an Internet connection), and download it. If one cannot be downloaded, either because the FTP site cannot be reached or because one is not provided, the installer will check your system for the required kernel sources and compile the interface for you. You must have the source code for your kernel installed for compilation to work."

    [Build Kernel Module...]
    [Allow nVidia to update X configuration file...]

    cp /etc/X11/xorg.conf /etc/X11/xorg.conf.nvidia
    vim /etc/X11/xorg.conf
    [Prepend "1600x1200" "1280x960" to each Display subsection...]
    [Change mouse protocol to "Auto"]
    [Add to Mouse section: Option "ZAxisMapping" "4 5 6 7"]
 	Section "Device"
Identifier "GeForce FX Go5200"
Driver "nvidia"
VideoRam 65536
Option "NoLogo" "true"
EndSection


Power Management
ACPI
Installation Log: Installing Slackware 12 on a Dell Inspiron 5150
July 2007


Kernel: 2.6.21.5-smp
Partitions:
15G   /
02G   /root
37G   /home
02G   swap

Post Installation
Extra Packages
    /mnt/cdrom/extra/

checkinstall/
    Not released w/ 12.0

slackpkg/
    installpkg slackpkg-2.09-noarch-1.tgz

grub/
    installpkg grub-0.97-i486-3.tgz
    grubconfig
       1024x768x32k Framebuffer console
       MBR


Uninstallation

pkgtool > Remove

    lilo-22.8.1-i486-4

Install Updates
    vim /etc/slackpkg/mirrors
    Used: ftp://carroll.cac.psu.edu/ ...
    ZZ

    slackpkg update
    slackpkg upgrade patches

Keymap Tweak
(See Customizations & Tweaks)

Video
Video Card
    lspci | grep -i nvidia
    01:00.0 VGA compatible controller: nVidia Corporation NV34M [GeForce FX Go5200] (reva1)

NVIDIA Accelerated Linux Graphics Driver README and Installation Guide

Installing the nVidia Linux Display Driver

    su && cd ~

    wget http://us.download.nvidia.com/.../NVIDIA-Linux-x86-100.14.09-pkg1.run

    chmod +x NVIDIA-Linux-x86-100.14.09-pkg1.run

    sh
NVIDIA-Linux-x86-100.14.09-pkg1.run

"When the installer is run, it will determine if it has a precompiled kernel interface for the kernel you are running. If it does not have one, it will check if there is one on the NVIDIA FTP site (assuming you have an Internet connection), and download it. If one cannot be downloaded, either because the FTP site cannot be reached or because one is not provided, the installer will check your system for the required kernel sources and compile the interface for you. You must have the source code for your kernel installed for compilation to work."

    [Build Kernel Module...]
    [Allow nVidia to update X configuration file...]

    cp /etc/X11/xorg.conf /etc/X11/xorg.conf.nvidia
    vim /etc/X11/xorg.conf
    [Prepend "1600x1200" "1280x960" to each Display subsection...]
    [Change mouse protocol to "Auto"]
    [Add to Mouse section: Option "ZAxisMapping" "4 5 6 7"]
 	Section "Device"
Identifier "GeForce FX Go5200"
Driver "nvidia"
VideoRam 65536
Option "NoLogo" "true"
EndSection


Power Management
ACPI
 
Installation Log: Installing Slackware 12 on a Dell Inspiron 5150
September 2007


Partitioning
root@slackware:/# fdisk -l /dev/hdc


Disk  /dev/hdc: 60.0 GB, 60011642880 bytes
16 heads, 63 sectors/track, 116280 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes


   Device Boot      Start      End      Blocks   Id   System   
/dev/hdc1   *           1    31002    15624976+  83   Linux    
/dev/hdc2           37879   112384    39063024   83   Linux    
/dev/hdc3           31003    34878     1953504   83   Linux    
/dev/hdc4          112385   116280     1963584   82   Linux swap


Partition table entries are not in disk order

Setup

Swap Space
[*] /dev/hdc4  Linux swap partition,  1963584KB

swapon /dev/hdc4

Mount Points
Mount points for /etc/fstab

   Device          Mount    Format  Filesystem
/dev/hdc1              /       Yes        ext3
/dev/hdc2          /home        No        ext3
/dev/hdc3          /root       Yes        ext3

CD/DVD Installation
[*] full    Install everything (4.5+ GB of software, RECOMMENDED!)
Full installation mode.  Installing all packages without prompting.

Sound
alsamixer
alsactl store

(Below this line are incomplete items)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Kernel: 2.6.21.5-smp
Partitions:
15G   /
02G   /root
37G   /home
02G   swap

Post Installation
Extra Packages
    /mnt/cdrom/extra/

checkinstall/
    Not released w/ 12.0

slackpkg/
    installpkg slackpkg-2.09-noarch-1.tgz

grub/
    installpkg grub-0.97-i486-3.tgz
    grubconfig
       1024x768x32k Framebuffer console
       MBR


Uninstallation

pkgtool > Remove

    lilo-22.8.1-i486-4

Install Updates
    vim /etc/slackpkg/mirrors
    Used: ftp://carroll.cac.psu.edu/ ...
    ZZ

    slackpkg update
    slackpkg upgrade patches

Keymap Tweak
(See Customizations & Tweaks)

Video
Video Card
    lspci | grep -i nvidia
    01:00.0 VGA compatible controller: nVidia Corporation NV34M [GeForce FX Go5200] (reva1)

NVIDIA Accelerated Linux Graphics Driver README and Installation Guide

Installing the nVidia Linux Display Driver

    su && cd ~

    wget http://us.download.nvidia.com/.../NVIDIA-Linux-x86-100.14.09-pkg1.run

    chmod +x NVIDIA-Linux-x86-100.14.09-pkg1.run

    sh
NVIDIA-Linux-x86-100.14.09-pkg1.run

"When the installer is run, it will determine if it has a precompiled kernel interface for the kernel you are running. If it does not have one, it will check if there is one on the NVIDIA FTP site (assuming you have an Internet connection), and download it. If one cannot be downloaded, either because the FTP site cannot be reached or because one is not provided, the installer will check your system for the required kernel sources and compile the interface for you. You must have the source code for your kernel installed for compilation to work."

    [Build Kernel Module...]
    [Allow nVidia to update X configuration file...]

    cp /etc/X11/xorg.conf /etc/X11/xorg.conf.nvidia
    vim /etc/X11/xorg.conf
    [Prepend "1600x1200" "1280x960" to each Display subsection...]
    [Change mouse protocol to "Auto"]
    [Add to Mouse section: Option "ZAxisMapping" "4 5 6 7"]
 	Section "Device"
Identifier "GeForce FX Go5200"
Driver "nvidia"
VideoRam 65536
Option "NoLogo" "true"
EndSection


Power Management
ACPI
  
The content on this page is provided by a Google Notebook user, and Google assumes no responsibility for this content.