Notes

This page describes the results of installing Suse Linux 10.1 on a Dell Inspiron 600m laptop. Since the Dell Latitude D600 laptop is similar to the 600m, this page will be applicable to that model as well. Aside from some minor issues, in my experience the Dell 600 laptop works very well with Suse 10.1 linux.

See also Installing Suse 10 on a Dell Inspiron 600m for details on Suse 10, and Installing Suse 10.2 on a Dell 600m for details on Suse 10.2.

August 23, 2006

In summary, Suse Linux 10.1 works very well on my Dell Inspiron 600m laptop. Though my wireless card is unsupported with native linux drivers (which is a common problem in Linux due to some manufacturers ignoring the linux community), the install went well and I have been operating smoothly. Even the old Suse 10 problem of slow usb transfer to usb flashdisks is solved in Suse 10.1!

Suse 10.1 is a nice upgrade to Suse 10. Nice graphics (Gnome 2.12! KDE 3.51!) and updated applications make for a great environment to work in. There was nothing specific that made me need to upgrade from Suse 10 to Suse 10.1; it was just a desire to see Suse 10.1, get the latest applications, and possibly try out XGL. On that last note, I'll let you know right now that the ATI Radeon Mobility 9000 is not supported for use with XGL (Booooooo ATI!), so no XGL on my 600m! Still, while the fancy effects are cool, they're not neccessary for day-to-day work, and the new Gnome/KDE looks great!

Suse 10.1 does seem a better overall experience than 10, which would make sense given that it is an upgrade and a newer version. Wireless support for the ever-troublesome Broadcom wireless was more difficult since the rpm version of Ndiswrapper via YaST did not work, and I had to compile Ndiswrapper from source to get it running. Fortunately that was quite painless, and everything is working very well now.

Details

General Hardware Specifications of Dell Inspiron 600m:

Hardware Components Status under Linux Notes
Pentium M Processor, 1.6 GHz Works
14.1 SXGA+ TFT Display Works
ATI Mobility Radeon 9000 Video Works This is working well at 1400x1050 (SXGA+) 24-bit color resolution.
After installing the proprietary ATI drivers, I experienced some graphics artifacts (a horizontal bar appearing from time to time under the cursor), and the ATI Mobility Radeon 9000 does not support XGL, which is par for the course for ATI graphics cards under linux. When possible, go with Nvidia in linux!
1024MB, SDRAM, 2DIMMs Works
Fujitsu Mht2060AH 40 GB Ultra ATA Hard Drive Works
Broadcom 570x Gigabit Integrated Network Card Works
Internal BCM V.92 56k Modem Did not test
Samsung CDRW/DVD Drive Works
Internal miniPCI Dell TrueMobile WLAN 1450 Dual-band Wireless Networking (Wi-Fi Certified) Works* *See Wireless Notes section.
Integrated Bluetooth Did not test.
Dell Keyboard Works* The special keys such as volume control and mute do not work for me at present - I'll have to troubleshoot that. Not a big deal, but I'll look into it when I get more time.
ALPS TouchPad Works
SigmaTel C-Major Audio Works
O2Micro SmartCard Reader Did not test
Intel 82801DB/DBM USB 2.0 Enhanced Host Controller Works

This laptop is operating under Kernel version 2.6.16.13-4-default, which is the kernel installed with Suse 10.1.

Suse Software

See also the Installing and Configuring Suse 10 Software and Services page for additional information on software and services.

Solution for slow DNS Resolution with Firefox

A problem developed that began in Suse 10 and followed me to Suse 10.1. For some reason, browsing became annoyingly slow, and I identified that it was DNS resolutions that were slow, everything else was fine. It took a while to figure out, but I finally identified the problem as an IPv6 issue.

Turn off Ipv6 DNS resolution in Firefox:

  1. Open up Mozilla or Firefox and type in 'about:config' in the address bar
  2. Scroll down to "network.dns.disableIPv6", it's defaulted to a value of false
  3. Double-click on that line and change it to true
  4. Close your browser, launch it again, and it should work (closing the browser shouldn't be necessary)

Adding MP3 Support to Banshee

The Banshee music player does not include mp3 playback support, since mp3 is a licensed standard and not an open one. It can rip CDs into mp3 format, but it can't play them back. Banshee can also rip to Ogg Vorbis or Flac formats, making it very versatile and easy to use.

To add mp3 playback support to Banshee, you need to install a gstreamer plug-in.

Thanks to liaty from linuxquestions.org for the answer to this one! To see the post that helped me out, see banshee mp3 on linuxquestions.org.

First, make sure gstreamer010 is installed (check in YaST). Also ensure that the development packages are installed (e.g. gstreamer010-devel).

In Suse 10.1, gstreamer is installed in /opt/gnome/lib/gstreamer-0.10. Other distributions may install gstreamer in a different location, so you need to know where that is before continuing here, so that you know the correct prefix to use when running the configure command (below). Suse 10.1 users can just follow these directions.

Go to fluendo.com and download either gst-fluendo-mp3-0.10.2.tar.bz2 (bzipped) or gst-fluendo-mp3-0.10.2.tar.gz (gzipped). It doesn't matter which.

Untar the file you just downloaded (e.g. tar -xvf gst-fluendo-mp3-0.10.2.tar.bz2, and change into the directory created from the extraction.

  1. Run ./configure --prefix=/opt/gnome
  2. Run make
  3. (as root) Run make install

If the make command returns errors, then you may be missing dependencies. Did you install the gstreamer010-devel package? If not, install the package, run the configure command again, and try the make again.

And that's it! Unlike windows, no reboot required. Banshee should now play mp3s.

Wireless Notes

How to configure the Dell Inspiron 600m wireless network card in Suse 10.1

Here you will find instructions for how to configure your wireless card to work with Suse 10.1. My particular wireless network card was the Dell TrueMobile WLAN 1450 a/b/g card using the BCM4309 Broadcom chipset, though these instructions should work for other wireless network cards (that are not supported natively by linux) as well.

Network cards on Dell laptops generally use the Broadcom chipset. While Broadcom's regular (wired) network interface chipsets have drivers and are supported in linux, their wireless chipsets are not supported (Boooooo Broadcom! What's up with that?). You can use the lspci command to find out what chipset your wifi card uses - mine uses the Broadcom Corporation BCM4309 802.11a/b/g (rev 03). Note that the lspci command displays information on all PCI buses and devices connected to them, so you will see more devices displayed in the output than just your wireless network card.

Your best bet is to use the NdisWrapper Project to get your wireless card working. For you techies out there, there is a project unaffiliated with Broadcom to reverse engineer their chipset and make linux drivers (see the link in resources below) but for now I'm going with the ndiswrapper method because I know it works and I know how to configure it.

Using Ndiswrapper to support your wireless card is a fairly straightforward process that is rather easy in Suse 10.1, though it is complicated by the fact that the ndiswrapper rpm available through YaST did not work for me, and I had to compile it from source. The following instructions list the steps necessary to recompile Ndiswrapper and configure it for use with Suse 10.1.

As a high-level overview, the following steps are required:
  1. Install the Ndiswrapper software
  2. Configure Ndiswrapper
  3. Install Wireless Tools software
  4. Configure Wireless Networking

1. Install the Ndiswrapper software

First, you need to install Ndiswrapper. I tried the Ndiswrapper from YaST first, but it failed to load my wireless drivers properly (everything seemed fine when I loaded the drivers (with "ndiswrapper -i bcmwl5.inf", and when I wrote the config with "ndiswrapper -m", but when I tried "modprobe ndiswrapper", it failed with a message that ndiswrapper couldn't be found). A brief search on the net found others with similar problems, and the suggestion to compile Ndiswrapper from source. Therefore, I needed to install Ndiswrapper from source. Note that by default your wireless radio is off, so use the Fn+F2 key combination to turn it on. You can force the wireless to be on by default by changing the wireless setting in the BIOS.
  1. Ensure that you have installed the kernel source package in YaST, in addition to the c/c++ development packages.
  2. Obtain the Ndiswrapper source from the Ndiswrapper project home page. Download and extract the software (e.g. tar -cvf ndiswrapper-1.23.tar.gz).
  3. Compile and install Ndiswrapper from source.
    1. Change to the directory that you just extracted ndiswrapper directory to
    2. Run make uninstall
    3. Run make
    4. Then (as root), run make install, which will install the updated Ndiswrapper in your system.

For additional information on building Ndiswrapper from source, see the INSTALL file in the Ndiswrapper source directory that you just extracted. If all is as expected, this should work. If you encounter any problems, you could try installing Ndiswrapper via YaST, and then retry these instructions. (I had previously installed Ndiswrapper via YaST, which included various prerequisites, prior to downloading and installing Ndiswrapper from source. I don't know if this is required, so I'll just mention it here.

2. Configure Ndiswrapper

  1. You will need your Windows XP driver for your wireless card, which in my case was bcmwl5.inf and bcmwl5.sys. You need to copy these files to your linux laptop. You can download these drivers from Dell's support website, though you might want to use a windows PC to run the self-extracting archive (e.g. R94827.exe) to get access to your .inf and .sys file.
  2. From the directory containing the driver files (e.g. bcmwl5.inf and bcmwl5.sys), use ndiswrapper's -i option to install the driver:
    ndiswrapper -i bcmwl5.inf
    substituting your driver's .inf file in place of bcmwl5.inf if you have a different driver. You should see a message indicating that the driver was installed.
  3. Now you can check to make sure the driver was installed correctly, using ndiswrapper's -l option, which lists installed drivers:
    ndiswrapper -l
    You should see a message such as:
    Installed ndis drivers:
    bcmwl5 driver present, hardware present
    The above message indicates that the bcmwl5 driver is installed and that the hardware has been located (i.e. the driver is installed and it can see the hardware).
  4. Next, add the ndiswrapper module to modprobe with ndiswrapper's -m option, which writes the configuration required for modprobe:
    ndiswrapper -m
    You should see a message noting that an alias for wlan0 was added to /etc/modprobe.d/ndiswrapper:
    Adding "alias wlan0 ndiswrapper" to /etc/modprobe.d/ndiswrapper
  5. Now load the wireless driver with modprobe:
    modprobe ndiswrapper
    There shouldn't be any output from this command, so you can use the dmesg command which should output quite a bit of text, with the last bit being related to your wireless card. Hopefully, you should see something like the following:
    ndiswrapper: module not supported by Novell, setting U taint flag.
    ndiswrapper version 1.2 loaded (preempt=no,smp=no)
    ndiswrapper: driver bcmwl5 (Broadcom,06/25/2004, 3.40.73.0) loaded
    ACPI: PCI Interrupt 0000:02:03.0[A] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5
    ndiswrapper: using irq 5
    SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC= SRC=10.10.5.25 DST=224.0.0.251 LEN=76 TOS=0x00 PREC=0x00
    TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=56
    wlan0: ndiswrapper ethernet device 00:70:6a:ec:8d:72 using driver bcmwl5, configuration file 14E4:4324:1028:0003.5.conf
    wlan0: encryption modes supported: WEP

And that's it! If you saw a message from the dmesg output indicating that the ndiswrapper driver for your wlan card was loaded, then you now have a working wireless card in linux! You can use the Wireless Tools to configure your connection. Note that by default your wireless radio is off, so use the Fn+F2 key combination to turn it on before using the Wireless tools to scan for and connect to wireless networks!

3. Install Wireless Tools software

You will also want to install Wireless Tools as you'll use those tools to scan for and connect to Wifi networks. Wireless Tools is also available as a package from the Suse 10.1 source, so it is easy to install using Yast.

4. Configure Wireless Networking

Trying the iwconfig command should produce output such as the following:
wlan0 IEEE 802.11g ESSID:off/any
Mode:Managed Frequency:2.462 GHz Access Point: 00:00:00:00:00:00
Bit Rate:54 Mb/s Tx-Power:-2147483648 dBm
RTS thr:2347 B Fragment thr:2346 B
Encryption key:off
Power Management:off
Link Quality:100/100 Signal level:-10 dBm Noise level:-256 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:95949 Missed beacon:0

Note that at this time the wlan0 interface is not associated with an access point, which makes sense because we haven't told it which access point to connect to. That is why the access point's MAC address contains all zeroes in the above output.

Running a command like iwlist wlan0 scanning (with your wireless radio on) should display any nearby wireless networks, assuming their SSID broadcast is enabled. Refer to the Wireless Tools documentation for more information on connecting to wireless networks, and refer to the links in the Linux Wireless Resources section below for additional links that you might find useful.

For example, to connect to the MyWiFiRouter access point:
iwconfig wlan0 essid MyWifiAP mode managed enc 8DE2F307E3A33F6A5A2D7B838E [1] open channel 11
will attempt to associate with an access point with SSID of MyWifiAP with the encryption key specified (8DE2F307E3A33F6A5A2D7B838E) which is the first key ([1]) on channel 11.

Then bring the wlan0 interface up:
ifconfig wlan0 up
and enable DHCP on the wlan0 interface:
dhcpcd wlan0
and run the iwconfig wlan0 command again to see if you're associated. You should see the access point's SSID and MAC address in the iwconfig wlan0 output indicating that you are successfully connected to the access point. Then try accessing the internet.

One problem I have seen come up before at the end of the install is that you can ping the router but you cannot ping any internet address. This might be because your routing/DNS isn't set up for your wireless connection (see the Suse Forums discussion on Ndiswrapper link below). Check your routing with the route command to ensure that you have a route off your local network.

You can add this configuration using Yast so that your configuration will be saved after a reboot, which you'll probably want.

In addition, if you run into any trouble you might find these two links helpful (also available in the Linux Wireless Resources links below):

The following is a sample script that can be used to manually configure your wireless connection (needs to be run as root):
#!/bin/bash

WIFI_ESSID=MyWifiAP
WIFI_KEY=3DA436608DF5CA7DA26FA28A2D
WIFI_CHANNEL=11
NEW_MAC=00:06:25:92:31:ca

# list installed drivers
echo "ndiswrapper -l"
ndiswrapper -l

# write the alias into the mod config files (redundant, but doesn't hurt) 
echo "ndiswrapper -m"
ndiswrapper -m

# load ndiswrapper
echo "modprobe ndiswrapper"
modprobe ndiswrapper

# don't want to use your hard-coded MAC? change it here 
# uncomment these two lines to change your MAC address to NEW_MAC
#echo Changing MAC address to $NEW_MAC
#ifconfig wlan0 hw ether $NEW_MAC

echo "Connecting to the WAN"
iwconfig wlan0 essid $WIFI_ESSID mode managed enc $WIFI_KEY [1] open channel $WIFI_CHANNEL

echo "ifconfig wlan0 up"
ifconfig wlan0 up

echo "dhcpcd wlan0"
dhcpcd wlan0

Addendum: Troubleshooting

dhcpcd wlan0 does not exist: This probably means that you have not yet successfully added ndiswrapper to modprobe. Have you executed the ndiswrapper -m and modprobe ndiswrapper commands? Is ndiswrapper installed? Try running the commands and double-check the output.

Is your wireless radio enabled? You can force the wireless radio to on by default in the BIOS.

Links and Resources