Novell is now a part of Micro Focus

HowTo: SUSE 9.3 plus sound & wireless on an IBM Thinkpad 600

Novell Cool Solutions: Feature
By Stomfi

Digg This - Slashdot This

Posted: 24 Aug 2005

StomfiLearning to use Linux at Home and Work
Welcome to my ongoing series of HowTo articles designed to help Linux newbies get comfortable with Linux. Before trying any of these HowTos, take a few minutes to study the prerequisites so you can hit the ground running.
The IBM Thinkpad 600 is a very robust P2 laptop. Mine has 128MB RAM, 3.7GB hard drive and a CD-ROM drive. The useful interfaces are USB and 2 PCMCIA slots. It has a great sound system.

I wasn't sure I could load 9.3 onto the system as I only had 128MB RAM so I tried first with 9.2, which went on without any trouble. I then used this install to start the 9.3 CD as it would expect me to do an upgrade, but I chose a new install instead.

I didn't put my pcmcia Ethernet card in the slot as I didn't want to add any upgrades at this stage. I went with the YaST recommendations for the install which went without a hitch.

Once I had the full SUSE 9.3 system going and the GUI on screen I put the Ethernet card and let YaST configure it to DHCP which connects to the Internet and the rest of my via my Speech Touch 530 ADSL.

I reset the /etc/inittab script to default to a full networking system without GUI, which is run level 3. Going from the GUI to run level 3 is simply a matter of typing init 3 in a root console.

The reason for using run level 3 is to save system resources while setting up the rest of the system. One can always start the GUI interface with the startx command if you need it.

Finding the audio system gave me a few problems. I downloaded the IBM technical specs from their website and found out the 600 model has a Cirrus Logic 4237B chipset, so I used alsaconf from the command line, which unfortunately didn't find it. Searching the SUSE forums came up with several writings on the subject, one of which gave the clue.

This one told me to initialise the system by pressing the F1 key on boot to enter the system Easy-Setup menu and use the Config ? Initialise function. Make sure that you use the mouse to select the items and that an OK screen appears after you click Initialise. Restarting the system through the set up menu restarted SUSE. This time alsaconf found the chip which it configured to use the cs4236 driver. Knowing which chip you are looking for saves quite a bit of time. In the alsaconf Driver Selection screen only put an X in the cs4236 item.

I started the GUI and popped in a Jimi Hendrix CD. It played perfectly. Shutting down the GUI didn't stop it playing so I was able to continue the rest of the set up to the strains of Electric Ladyland. Firstly though I thought a reboot was in order to make sure the sound card was able to be initialised on boot up. No it wasn't. So I repeated the Initialisation phase hoping that would fix it. I found that I had to switch the power off and restart before the Initialisation would show me the OK screen. But this fixed the sound problem. Just to make sure that everything was set up and saved properly for SUSE, I started "yast sound" from the command line, which showed me the configuration, and saved all my settings on exit.

It's a bit of a pain to have to Initialise each time, but a small price to pay for good sound in Linux. (I remember that back in the early days of Linux, you had to use DOS to initialise some sound cards. I wonder if one could do this in Grub. I could use a small FreeDos partition to initialise the card and use Loadlin to activate Linux).

Next I needed to set up my PCMCIA or cardbus cards. I have a no-name 10/100 Ethernet card and a Dlink DWL g630 wireless card.

From the command line I started "yast network".

This picked up that I had a Realtek RT8139 Ethernet card and a Dlink WLAN Controller. I configured the Ethernet card to use DHCP and the wireless card as static I have printed out the screens using YaST in the GUI to show you the steps.

Click or select Configure.

Click or select Host Name.

Use your own settings. OK will take you back to the first screen where you can select another card or finish. I my case I select the wireless card and give it a static address for my internal wireless network.

Click or select the Advanced button and select Details.

I have selected Manually for device activation, User Controlled, and set the Firewall Zone to internal. If you want to Masquerade your local LAN as if it was your primary Internet connection, you have to have an internal zone.

Click or select OK. This screen will appear.

I have initially set the mode to Ad-Hoc. I had to change this to managed to get the laptop card to work. If you have a wireless router to your Internet connection you have to set this as Managed. Don't forget to do this for all your wireless interfaces on your other boxes.

Click on Expert Settings. You will have to say OK to the Open mode security warning.

I have set my channel to 6. If you have trouble connecting you can raise this channel number until you find one which is best. Some say 14 is good, but try all the numbers until you get the best connection signal strength. Remember you will have to set all your wireless cards of each machine the same, or don't set this and set the router channel.

Click OK and finish until you get back to a screen like this one from my desktop.

Click or select Finish and YaST will save the settings and restart your network.

Using the "ifconfig" command line tool on the laptop, showed the Realtek card as eth0 and the wireless card as ath0 with appropriate addresses. I was able to test the Ethernet card by pinging my Desktop machine with "ping -c 5", but had trouble connecting with the Dlink until I read up on the Internet that the madwifi driver used by this card has problems with ad-hoc networking, so I set up an old i486 desktop with Metrix Pebble Linux to act as an Access point and all was well.

I shall tell you more about this in a later article as Community Wireless is a great almost free way for the digital divide to network amongst themselves and with an after hours Internet connection sponsor, get free Internet access. Using Metrix Pebble is a simple matter of booting from a Live CD with a serial terminal plugged into the serial port. As long as the hardware and wireless card is supported is should work out of the box. Actually those with technical skills could quite easily analyse the Metrix/Pebble distros and create a SUSE 9.3 based system running on some more powerful hardware, with the advantage of all the modern SUSE drivers and the 2.6 kernel.

I tested the link by transferring the screens shots over each link to my desktop with NFS. I have set up /usr/local/public with read write permissions on the desktop and a folder on the laptop as /mnt/nfs, so the command lines from the laptop looks like these:

mount -t nfs /mnt/nfs

cp /usr/local/src/snapshot1.jpg /mnt/nfs

umount /mnt/nfs

mount -t nfs /mnt/nfs

cp /usr/local/src/snapshot2.jpg /mnt/nfs

umount /mnt/nfs

If you enter the GUI there is a handy tool for testing your wireless link called KInternet (/opt/kde3/bin/kinternet). Starting this in KDE puts a plug icon in the desktop panel or in GNOME is little window on the desktop. Right clicking the icon brings up various connection options like this:

This one shows the interfaces. Select the wireless connection. Right click again.

Click on Wireless connection.

This shows that the wireless card is working and its various settings. Click the Scan for Wireless Networks tab.

If you haven't got a view like this, click Start Active Scan to find your network till you have this view. Click on Connect.

You will see that I have WEP set to off. This is not a good idea as anyone in range can connect through your network. Once you have a working network, set up some security using the YaST network configuration tool. WEP is minimal and you should read the SUSE documentation to see what encryption security to use.

If your connection signal strength is low or if the connection drops out intermittently, you should get a stronger aerial. Dlink have a couple which are good. One is omnidirectional but lower power, and the other fixed direction but higher power. They have a long cable so you can set these up on the wall and get a good signal to many parts of your link area. It is a good idea to get one of these as the short aerials which come with wireless cards often get trapped in between the computer box and a wall, which can severely degrade the signal.

Time for another reboot to make sure the boot up initialisations are working. This sounds like windows, but since I do power down my laptop, something I rarely do with a Linux desktop, I must take this very necessary step.

The result were excellent. The sound card is working after an Initialise, and all the cardbus interfaces are there. So if you know someone with a Thinkpad 600, or would like a tutorial on setting up a wireless network, point them to this article.

Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions.

© Copyright Micro Focus or one of its affiliates