Notes

This page describes the results of installing Suse Linux 10 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 linux.

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

September 10, 2006

I added a new page covering Installing and Configuring Suse 10.1 on a Dell Laptop. Suse 10.1 is very nice, and I am glad I upgraded.

July 27, 2006

I added a section in the Suse Software section below on how to configure cups printing in Suse 10.

July 11, 2006

You might find this article from the Jem Report useful regarding Suse 10 post-installation configuration (Suse 10.1 post-installation guide also available). This is aimed at OpenSuse users, since OpenSuse does not include many non-open-source packages. The article covers adding additional installation sources to YaST, adding Java support, adding Flash/Acrobat/Windows Media/MP3/RealMedia support, DVD playback, and more.

I also added a brief note in the Software & Services section on adding MP3 support to the xmms multimedia player.

June 14, 2006

Suse Linux 10.1 was released a while ago, and while I haven't switched to it yet, I don't expect any surprises. I would expect that it will work well on the Dell 600m or D600 laptop. If you get around to trying it, considering submitting an entry about it to linux-on-laptops.com, or let me know at feedback@egofanatic.com.

April 24, 2006

Want to watch an encrypted DVD? Suse does not include the libdvdcss support, so to watch a DVD encrypted with CSS you will need to install the libdvdcss library. Spin Ink has an article that describes how, or go directly to libdvdcss downloads.

April 20, 2006

I've made some minor changes over the last few days, and added a section on Suse Software to outline where Suse installs some of it's software by default. Apache2, Tomcat, the vsftpd FTP Server, and the SSH server are covered at the moment.

April 11, 2006

So I finally got my wireless card working. It's been a bit painful living without it, but not painful enough to make me fix it. I was finally spurred to action by an article in the April 2006 issue of Linux Magazine titled Wireless Linux - Look, Ma, No Wires!

The solution was rather straightforward, like the other solutions available online. See the Wireless Notes section below for additional information on how to configure this.

In addition, I found a solution for my slow USB transfer problem, which is discussed in the Slow USB section below.

March 26, 2006

Everything is still running well on my laptop, though I have not yet got my wireless card working (I haven't exactly made it a priority). I tried messing around with ndiswrapper and made some progress but have not spent enough time to get it working. I am considering buying a new internal wifi card (off ebay?) that is compatible with linux rather than using ndiswrapper, since I would like to experiment with Snort and Netstumbler.

Definitely no regrets in going full-time Linux on my laptop. I am much more productive (a more powerful command-line, better tools, multiple workspaces, the list goes on) and thanks to VMWare, anything I absolutely need Windows for can be done in a VM. I really like OpenOffice (I used it when I had Windows installed on this laptop previously, so I've used the Windows install as well).

February 10, 2006

In summary, Suse Linux 10 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 flawlessly and I have been operating smoothly for over a month now with no major issues with the exception of slow usb transfer to usb flashdisks. I just need to spend some time and I am sure that NdisWrapper will get my wireless network card up and running (it seems to have worked for everyone else based on reports from others). The details are outlined below.

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 I selected the Dell Latitude D600 as the monitor.
ATI Mobility Radeon 9000 Video Works Suse detected this as the ATI RV250 Lf. This is working well at 1400x1050 (SXGA+) 24-bit color resolution.
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* *See Slow USB section below.

This laptop is operating under Kernel version 2.6.13-15-default, which is the kernel installed with Suse 10.

You may occasionally see a dialog or three pop up after you log in noting that something or other relating to Gnome (such as panels) failed to load, giving you the option to reload etc. Just choose reload and everything will work fine. Slightly annoying, but not annoying enough for me to worry about why. I've seen others experience this, so us Dell laptop users aren't the only ones (I think!). Just FYI.

Suse Software

Notes on Suse 10 Software Packages

These is quite a bit of documentation available for Suse 10 and linux in general. I won't bother reproducing that here, but I'll try and throw out a few general tips that those new to Suse might find useful.

I installed with the Gnome desktop, and I'm using Evolution as my email client and Gaim as my messenging client. I use Firefox as my primary web browser, and upgraded it to version 1.5.

Note: If you're having trouble connecting to any of your services such as your FTP server from a remote computer, don't forget that by default your firewall will be blocking many of these ports and you will have to either disable the firewall temporarily or change the firewall settings to allow that traffic through.

You can do either of these options using Yast: Open Yast, go to the Security and Users section and click the Firewall setting. The firewall settings will open, and you can start and stop the firewall (this is temporary, and the firewall will start again when you next reboot). You can click on the Allowed Services option on the left to configure what services are allowed to pass through the firewall, such as the HTTP server. Note that changes to allowed services are permanent, and will not be reset the next time you reboot (unlike the start/stop firewall option on the Start-up section).

Be careful about performing an auto-update of your software packages, since Yast will include a kernel update by default which can cause problems. You may want to uncheck the kernel from the auto software update so that the kernel stays the same, which might be easier.

How to configure CUPS printing

There are many resources on configuring cups for printing in linux, which short for Common Unix Printing System, but I hit one snag in getting started which might be useful to note here. This section assumes that you have cups installed on your system. If not, add cups using YaST before continuing.

As is noted in the cups documentation, the cups server listens by default on port 631. To access the cups server, open http://localhost:631/ in your web browser. You should see the main cups web page with links to perform various printing-related setup tasks, including a link to cups administration.

To access cups administration, you need a username and password, which is not configured by default in Suse. Some linux distributions add the root user (and possibly others) by default to cups, but not Suse. By default, in Suse 10, no users are added to the cups password file, which can be found at /etc/cups/passwd.md5. If that file does not exist on your system, then you probably haven't configured cups yet, or at least, you haven't added any users to cups.

If you attempt to access cups administration by clicking on the link from the main cups page or typing http://localhost:631/admin/ directly into your browser, you will be asked for a username and password. If no users are set up, you will not be able to log in successfully. Check the /var/log/cups/error_log after an unsuccessful login attempt, and you'll probably see something like Unable to open /etc/cups/passwd.md5 - No such file or directory error message, indicating that your password file has not yet been configured. Fortunately, this is easy to do.

To configure your cups password file, use the command lppasswd -a <username> (as root), where <username> is the username you wish to use to work with cups. You will be prompted for a password. Once you have done this, you will be able to log into cups administration using that username and password and configure cups. Note that the username you supply to lppasswd does not have to be a valid username on your linux system. However, if the password does match a user on your system, then that user can run the lppasswd command (with no arguments) to change their password.

Beyond this, I'll let these two linux printing resources tell the rest of the tale, rather than needlessly reproduce their content here.

Configuring Email - Outgoing SMTP Blocked By Some ISP/Workplaces

You can receive email but you cannot send email? You may be the victim of a blocked SMTP port by your ISP or workplace. If you are like me and you bring your linux laptop everywhere (including work), you may experience this problem. To get around this, I use my workplace's SMTP server to send email when I'm at work, and either my ISPs or Lunarpage's SMTP server on a non-standard port to send email from home or on the road. Read on for more details...

Whether you are using Evolution as your email client or some other email client, there are some things you might need to be aware of. If you are just using your ISP or workplace email server to access your email then you probably will not have any problems. However, if you are trying to connect to an external email server such as Gmail (which allows POP access) or another email service, you may experience problems sending email.

When trying to access an external email server from your workplace, you may have trouble sending email if you try configuring your email client to use the external email server's SMTP server. The reason for this is that many workplaces block most ports below 1024, including SMTP ports. The workaround here is to configure your email client to use the workplaces SMTP server to send mail.

You might expect that your home internet connection is unfiltered by your ISP. You are probably mistaken. Many ISPs b lock the SMTP port for your outgoing connection, so your only choice is to complain to your ISP and hope they open it (unlikely), just use your ISPs SMTP server to send email, or you may get lucky if your email provider (such as Lunarpages opens non-standard ports for SMTP access.

You may not run into this, but if you seem to be able to receive email fine but can't send it and you're not using your workplace email SMTP server (from work) or your ISP SMTP server (when connected through your ISP) you may be affected by this. While you need to use your email servers POP server to receive email (obviously!), it does not matter what server you use to send email, so feel free to use whatever SMTP server works for you (your workplace, your ISP, etc). Just FYI!

Apache Web Server on Suse 10

If you installed the Apache web server, you'll find the document root in /srv/www/htdocs. The web server is probably running by default, but to start it type rcapache2 start. To stop it type rcapache2 stop.

Getting an error such as undefined symbol: dav_svn_split_uri when apache2 fails to load? Yast doesn't always know what order modules need to be loaded in. In this particular case, I am using the Subversion SCM for a source-code repository. I installed the Subversion apache module to enable access to my repository over http, but Yast configured the modules in the wrong order. To fix this, I had to manually edit the apache configuration and change the order of the two modules.

The file you need to modify to change the order that modules are loaded is /etc/sysconfig/apache2. The line beginning with APACHE_MODULES is the line you need to change. For some reason Yast kept putting authz_svn in front of dav_svn, which is wrong - dav_svn must load before authz_svn. Changing the order to ensure that dav_svn is before authz_svn in the list fixed my problem and allowed apache2 to load again. For Subversion apache2 modules the order needs to be mod_dav, mod_dav_svn, and then mod_authz_svn.

As an aside, you might be interested to know (if you don't already) that rcapache2 (and other 'rc' commands can be found in /usr/sbin. These files are links to the actual shell scripts. For example, /usr/sbin/rcapache2 is a link to /etc/init.d/apache2.

Jakarta Tomcat Web Server on Suse 10

If you installed the Tomcat web server, you'll find the document root in /srv/www/tomcat5/base/webapps. The Tomcat server is probably running by default, but to start it type rctomcat5 start. To stop it type rctomcat5 stop.

FTP Server on Suse 10

If you installed the ftp server vsftpd, you'll find the ftp root in /srv/ftp. To start the ftp server type vsftpd & as root. To stop the ftp server, type killall vsftpd. There is a useful article on Novell's website for additional information on setting up vsftpd.

SSH Server on Suse 10

If you installed the ssh server (it is installed as part of the default packages for a Suse 10 install) OpenSSH, you can connect securely to your machine remotely. To start the SSH server type rcsshd start as root. To stop the SSH server, type rcsshd stop.

Adding MP3 Support to xmms

xmms does not come with MP3 support in OpenSuse (it does come with the commercial version though). To add MP3 support, download and install the xmms-lib-mad rpm. You'll also need to have installed the lib-mad package as well which is available through YaST.

Take a look at this thread at the Suse linux support forums on installing MP3 support for XMMS for additional insight (read through the thread, the first post does not solve the problem).

Adding DVD Playback Support to Suse

Want to watch an encrypted DVD? Suse does not include the libdvdcss support, so to watch a DVD encrypted with CSS you will need to install the libdvdcss library. Spin Ink has an article that describes how, or go directly to libdvdcss downloads.

Wireless Notes

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

Here are instructions for how to configure your wireless card to work with Suse 10. 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 your 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 (I don't have any experience to compare it to in other distros).

Note that in the steps below, you must run the commands as root.

  1. First, you need to install the ndiswrapper software if you have not already. This is available as part of the Suse 10 installation, so it is easy to install it using Yast if you haven't already. You will also want to install Wireless Tools while you're at it, 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 source, so it is easy to install using Yast.
  2. 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'll need a windows PC to run the self-extracting archive (e.g. R94827.exe) to get access to your .inf and .sys file.
  3. From the directory containing the driver files (e.g. bcmwlf.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.
  4. 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).
  5. 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
  6. 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:84:fb:8b:43 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!

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 MyWifiRouter mode managed enc 8DE2F307E3A33F6A5A2D7B838E [1] open channel 11
will attempt to associate with an access point with SSID of MyWifiWrouter 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):

Slow USB - Solution

How to resolve slow USB writes in Suse 10

Suse 10 has an issue in writing to USB devices such as USB keys. It works, but it's terrible slow. If you Google suse+slow+usb+transfer you'll find quite a few pages devoted to the issue.

If you want to resolve this, consider upgrading to Suse 10,1, which resolves this issue. I have a writeup on Installing and Configuring Suse 10.1 on a Dell Laptop, which might be of interest.

This should be resolved in Suse 10.1, but for now the workaround in Suse 10 is to disable synch on the USB devices. The bug is listed on Novell's website as Bug 105871, where the bug is initially reported, discussed, and a workaround found. Look at post #19 and #41 in particular for the details.

For convenience, I'll list the details here (thanks to Andreas Schneider and Danny Kukawka!). Note that the commands below should be executed as root.

  1. Create the directory /usr/share/hal/fdi/policy/95userpolicy with the mkdir command (the -p option creates parent directories if necessary):
    mkdir -p /usr/share/hal/fdi/policy/95userpolicy/
    Note that the /usr/share/hal/fdi/policy directory already exists, you are just creating the 95userpolicy directory.
  2. Create a file in the directory we just created with the name nosync.fdi using the touch command:
    touch /usr/share/hal/fdi/policy/95userpolicy/nosync.fdi
    Touch is often used to modify the timestamp of a file, though it will also create a file if it does not exist, which is what we are doing here.
  3. Now edit the file we just created with your editor of choice (such as gedit (for Gnome) or kedit (for KDE)):
    gedit /usr/share/hal/fdi/policy/95userpolicy/nosync.fdi
    And enter the following contents into that file:
    <?xml version="1.0" encoding="UTF-8"?>
    <deviceinfo version="0.2">
      <device>
        <!-- disable sync for mount -->
        <match key="block.is_volume" bool="true">
          <match key="volume.fsusage" string="filesystem">
            <match key="@info.parent:storage.bus" string="usb">
              <merge key="volume.policy.mount_option.sync" type="bool">false</merge>
            </match>
          </match>
        </match>
      </device>
    </deviceinfo>
    
  4. When you have finished entering the contents as noted above, save and close the nosync.fdi file.
  5. Now restart the HAL service with the following command:
    rchal restart
    Which should result in output such as the following:
    Shutting down HAL daemon done
    Starting HAL daemon done

That should do it.

Links and Resources