Redhat 9.0 / Fedora Core 2 Linux on Dell Inspiron 8600

Note : As of now I am still working on fixing the devices as my time permits.  Check back frequently to see the updates.

Summary and brief Update

Hardware/Software System Status
Updated On
Comments                                                                                              
Disk IDE(U)DMA
Working
19/01/2004
DMA works with 2.4.24.  CONFIG_BLK_DEV_PIIX=y
XServer Nvidia Geforce4 4420
Working
19/01/2004
Binary drivers from nividia.  Tweaking of XF86Config is needed. Broken binaries for 2.6.* with fedora.
Ethernet BCM4401
Working

Driver from broadcom.  Works fine.
Internal Modem BCM9415M
???
06/02/2004
Still searching for drivers.  Got an external modem.  Working fine.
USB
Working

Works for USB mouse and USB flash drive
Firewire
???

Driver loads fine. Untested
Infrared
???

Drivers loads fine.  Untested.
Dell True Mobile 1400
Mini PCI/Wireless

Working 16/08/2004
Works with ndiswrapper.  Downloaded R81435 from dell to get the necessary BCM drivers.
PCMCIA
Working
Part of 2.6.8.1 kernel.  Supports plug and play.
ACPI
Working
ACPI configured and working fine in 2.6.8-1.521.
BIOS
Still to go

V02.  Need to update the broken BIOS which dell supplied.
CD-RW/DVD-ROM
Ongoing
02/09/2004
Downloaded xine from sourceforge and compiling
Suspend/Resume
Still to go


Keyboard/Multimedia keys
Working

configured for the special multimedia keys
XMMS mp3 support
Working
13/01/2004
Downloaded from guru labs, compiled and installed the patch.
ALSA Sound Drivers
Working

Downloaded and installed 1.01 version.
Redhat Stock Kernel 2.4.20-8
Not Working

I tried building this in vain before getting hold of 2.4.24.
2.4.24 Kernel
Working
25/01/2004
Waiting for latency and preemptible patches.
2.6.1 Kernel
Working

kernel update went fine.  But later on started panicking when checking for new haredware
Fedora Core 1
Working
26/02/2004
Updated from Redhat9.  Works cleanly out of the box.
Fedora Core 2
Working
13/08/2004
Updated from FC1.  Installed the patches to upgrade kernel to 2.6.7-1.494.2.2.
2.6.8.1
Working
23/08/2004
Vanilla kernel from kernel.org.  Downloaded, configured for not 4K stacks, built for nvidia drivers
Bluetooth
Working/to go
23/02/2004
Trying to sync my SE T68i with laptop.

Last update on 11 September 2004.

Step by step details of what I did can be found at http://nsupathy.blogspot.com

Hardware Details

I got one of the latest models of Dell.  My aim was to work and tweak with linux as I was very much deprived!.  I purchased a RH boxed set and installed.

Mobile Intel Pentium-4 1.4GHz
512 MB DDR SDRAM
40 GB HDD     IC25N040ATMR04-0  
1920x1200 WUXGA active TFT Panel
64MB NVIDIA Geforce4 4200 Go
CD RW/DVD ROM HL-DT-ST RW/DVD GCC-4241N
Broadcom 4401  Ethernet device (10/100T)
Dell Mini PCI wireless card
Dell TrueMobile Bluetooth card (WIDCOMM)
Broadcom BCM9415M Internal Model V.92
Integrated Firewire and USB ports (2)
BIOS version A02

[root@CapsOnLaps root]# lspci
00:00.0 Host bridge: Intel Corp.: Unknown device 3340 (rev 03)
00:01.0 PCI bridge: Intel Corp.: Unknown device 3341 (rev 03)
00:1d.0 USB Controller: Intel Corp. 82801DB USB (Hub #1) (rev 01)
00:1d.1 USB Controller: Intel Corp. 82801DB USB (Hub #2) (rev 01)
00:1d.2 USB Controller: Intel Corp. 82801DB USB (Hub #3) (rev 01)
00:1d.7 USB Controller: Intel Corp. 82801DB USB EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 81)
00:1f.0 ISA bridge: Intel Corp.: Unknown device 24cc (rev 01)
00:1f.1 IDE interface: Intel Corp.: Unknown device 24ca (rev 01)
00:1f.5 Multimedia audio controller: Intel Corp. 82801DB AC'97 Audio (rev 01)
00:1f.6 Modem: Intel Corp. 82801DB AC'97 Modem (rev 01)
01:00.0 VGA compatible controller: nVidia Corporation: Unknown device 0286 (rev a1)
02:00.0 Ethernet controller: Broadcom Corporation BCM4401 100Base-T (rev 01)
02:01.0 CardBus bridge: Texas Instruments: Unknown device ac44 (rev 02)
02:01.1 FireWire (IEEE 1394): Texas Instruments: Unknown device 8029
02:03.0 Network controller: Broadcom Corporation: Unknown device 4320 (rev 02)

Installation

The laptop has one 40 GB NTFS partition.  I didnt want to tamper with windows as well as the Dell utilities paritition.  I got a copy of partition magic to repartition the 40 GB NTFS partition.

I generously left 8 GB for WinXP. Of the rest 1 GB for / (as I mostly try and install new linux kernels including beta), 1 VolumeGroup of 11 GB.  After installation it looked as follows.
Device Boot       Start       End    Blocks   Id  System
/dev/hda1             1         6     48163+  de  Dell Utility
/dev/hda2   *         7      1039   8297572+   7  HPFS/NTFS
/dev/hda3          1040      1170   1052257+  83  Linux
/dev/hda4          1171      4864  29672055    f  Win95 Ext'd (LBA)
/dev/hda5          1171      2572  11261533+  8e  Linux LVM
/dev/hda6          2573      3847  10241406    b  Win95 FAT32

Filesystem             1M-blocks      Used Available Use% Mounted on
/dev/hda3                  1012       121       840  13% /
/dev/Volume00/LogVol05     1008        35       923   4% /home
/dev/Volume00/LogVol02     985         17       919   2% /opt
none                       251          0       251   0% /dev/shm
/dev/Volume00/LogVol04     388          9       360   3% /tmp
/dev/Volume00/LogVol01     4922      2191      2481  47% /usr
/dev/Volume00/LogVol03     485         54       406  12% /var
/dev/sda1                  122          1       122   1% /mnt/usb_disk
/dev/hda6                  9992         1      9992   1% /mnt/my_shared

Having /opt is necessary since I ran out of disk space in / two times when I tried to install.  The third time, I had /opt created and it went through fine.

Now comes the hardest part.  I was planning to use all the devices in the laptop as well as new ones.  

Network Controller eth0 - BCM4401

The ethernet controller was Broadcom 4401 100Base T rev 01.  I downloaded the broadcom drivers from here and installed as per the procedures. 
Download the drivers.   I selected 3.0.7 version under BCM 4401 drivers. 
The driver is in two packaging formats.  Both source RPM and compressed tar are available. 

Installing from Source RPM Package
$ rpm -ivh bcm4400-<version>.src.rpm
$ cd /usr/src/{redhat,OpenLinux,turbo,packages,rpm ..}
$ rpm -bb SPECS/bcm4400.spec
or
$ rpmbuild -bb SPECS/bcm4400.spec (for RPM version 4.x.x)
$ rpm -ivh RPMS/i386/bcm4400-<version>.i386.rpm

The driver is found in /lib/modules/<kernel_version>/kernel/drivers/net/bcm4400.o

$ insmod bcm4400

Internal Modem (WinModem) - BCM9415M

The internal modem that came with 8600 was BCM9415M.  Currently there are no drivers which support this modem.  I tried installing PCTel, Conexant  drivers in vain.  BCOM_WAN_V20_RH73_RPM_A_1.tar.gz also doesnt work.  I read somewhere that Dell is not going to support in near future.  So, planning to buy an external modem.  I am looking for the choices.

Update:  Bought USRobotics 15630B External Fax modem V.92.  For those who dont know how to setup the modem refer here.

Display - NVidia Geforce4 4200 Go

The drivers are available here.  Download NVIDIA-Linux-x86-1.0-5328-pkg1.run and run as
sh NVIDIA-Linux-x86-1.0-5328-pkg1.run.  Update XF86Config as per /usr/share/doc/NVIDIA_GLX-1.0/README

They are proprietary.  Only the binary drivers are available.

The updated XF86Config.

Kernel Building - 2.4.24

I was trying to build the Redhat Stock Kernel 2.4.20-8 which came with Shrike.  It was failing with unresolved symbols as dependencies mostly due to the redhatconfig file (rhconfig).  Both nvidia and alsa were failing with errors.  So, I stopped going ahead and downloaded 2.4.24.  Remember _not_ to select the crypto options.  It was failing for unresolved symbols in crypto.o.  Will have to see this later.
The Redhat Stock Kernel 2.4.20-8 doesnot recognize the IDE Chipset and uses a slow access method.  However, with 2.4.24  it was recognized
I am posting the config file here.  This will get updated as I go on fine tuning the kernel and removing unnecessary modules.

Preemptilble and Low latency patches are not availabe for 2.4.24.  So I have to wait till it comes out.
The hard disk can be made to work at DMA speed.  Intially with 2.4.20-8 kernel

[root@CapsOnLaps caps]# /sbin/hdparm -t /dev/hda
/dev/hda:
 Timing buffered disk reads:  64 MB in  24.68 seconds = 2.59 MB/sec

[root@CapsOnLaps caps]# /sbin/hdparm -d1 /dev/hda
/dev/hda:
 setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
 using_dma    =  0 (off)

Now with the improved 2.4.24 it reads

[root@CapsOnLaps caps]# /sbin/hdparm -t /dev/hda
/dev/hda:
 Timing buffered disk reads:  64 MB in  2.26 seconds = 28.32 MB/sec

[root@CapsOnLaps caps]# /sbin/hdparm -d1 /dev/hda
/dev/hda:
 setting using_dma to 1 (on)
 using_dma    =  1 (on)

Fedora Core 1

Downloaded from many of the mirrors of Fedora Distribution and burnt to cdrom.  Here is a small snippet of how to burn iso image to a cdrom.

Backed up /etc and /home and upgraded the existing installation of Redhat 9.0.  It ships with 2.4.22-* kernel.  But I continue to use 2.4.24 which I had build
with Redhat 9.

Fedora Core2

Downloaded from Fedora distribution mirrors.  The kernel was 2.6.5-1.358.  After installing, configured the rehat network and updated the kernel to 2.6.7-1.494.2.2.

Dell Truemobile 1400 WLAN mini pci card a.k.a  Broadcom 4306 MP WLAN 802.11 b/g card

At first I was stuggling to configure this card.  Downloaded both ndiswrapper and linuxant driverloader and ended up loading both which didnt work out. 
Downloaded the latest driver pack for windows from dell.  It was R81435.  Copied the bcmw15a.inf and bcmw15.sys from AR subdir of the driver to the linux. 
Downloaded the ndiswrapper-0.9 from sourceforge.  Untarred and installed the app. 

ndiswrapper -i /etc/bcmw15a.inf

ndiswrapper -l
Installed ndis drivers:
bcmwl5a hardware present

ndiswrapper -m
This put an entry to /etc/modprobe.conf

iwconfig eth1 Mode managed
iwconfig eth1 enc restricted
iwconfig eth1 key <your_key_here>
iwconfig eth1 essid <home_network>

iwconfig
Will display the details of the eth1 interface.

eth1      IEEE 802.11g  ESSID:"<home_network>"  Nickname:"localhost.localdomain"
          Mode:Managed  Frequency:2.462GHz  Access Point: <access_point_no>00:09:5B:DF:C6:B2
          Bit Rate=54Mb/s   Tx-Power:25 dBm
          RTS thr=2347 B   Fragment thr=2346 B
          Encryption key:off
          Power Management:off
          Link Quality:100/100  Signal level:-56 dBm  Noise level:-256 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:163  Invalid misc:484341   Missed beacon:0


ifconfig eth1 up

In /var/log/messages

Aug 16 20:13:03 localhost kernel: ndiswrapper version 0.9 loaded
Aug 16 20:13:03 localhost kernel: ndiswrapper: driver bcmwl5.sys added
Aug 16 20:13:03 localhost kernel: ndiswrapper: using irq 7
Aug 16 20:13:03 localhost kernel: wlan0: ndiswrapper ethernet device 00:90:4b:1b:9f:6b using driver bcmwl5.sys
Aug 16 20:13:03 localhost kernel: ndiswrapper device wlan0 supports WPA with AES/CCMP and TKIP ciphers
Aug 16 20:13:03 localhost kernel: ndiswrapper (iw_set_encr:657): adding encryption key 0 failed (C0010015)

edit the /etc/sysconfig/network-scripts/ifcfg-eth1 to make changes permanent.

CD-RW/DVD-ROM

There is no such special for cdrw.  Basically fedora lacks a good utility for watching movies especially from CDROM (I may not be aware of any such tools that comes with the ISOs).  I prefer xine from sourceforge.  Downloaded xine and compiled xine-lib-1-rc3a followed by gxine-0.3.3.  Currently trying to configure xine-vcdx.

ACPI

The kernel should be started with acpi=on.  Edit the /etc/grub.conf to make the results permanent.  I see only ac, battery and button loaded modules. The rest fan, processor and thermal are missing. Need to look into that. Dell laptops are very popular for broken BIOS. I need to update the BIOS and DSDTs before proceeding any further. The cpu-freq scaling and disk spin down are the other options that need an immediate look.
With battery
cat /proc/acpi/ac_adapter/AC/state
state: off-line
cat /proc/acpi/battery/BAT0/state
present: yes
capacity state: ok
charging state: discharging
present rate: 21537 mW
remaining capacity: 39770 mWh
present voltage: 11241 mV

With the power on
cat /proc/acpi/ac_adapter/AC/state
state: on-line
cat /proc/acpi/battery/BAT0/state
present: yes
capacity state: ok
charging state: charging
present rate: 32702 mW
remaining capacity: 39750 mWh
present voltage: 11755 mV

When I press the button, the kernel goes off graciously shutting down all the services.

If you are running GNOME, you can enable the battery monitor applet.  Right click  on the task bar, Add to Panel -> Utility -> Battery Charge Monitor. 

Other Support

XMMS-MP3

Redhat doesnt ship xmms with mp3 support due to some patent regulations.  Get the binary rpm from here or get the source and compile.  It has many dependencies

arts-devel (3rd CD)
gtk+-devel;; glib-devel, XFree86-devel, fontconfig-devel;;freetype-devel (2nd CD)
esound-devel;;audiofile-devel, autconf213-2.13-6.noarch.rpm (2nd CD)

$ rpmbuild -v -bb SPECS/xmms.spec

Audio - ALSA - Sound driver

ALSA is better than i810_audio.   Download all the five (driver, lib, utils, oss and tools), configure, make and install them.  I downloaded 1.0.1 version.
for alsa-driver  run ./configure --with-cards=intel8x0 --with-oss=yes --with-sequencer=yes

I added the following lines to /etc/modules.conf
alias sound-slot-0 snd-intel8x0
alias char-major-116 snd
alias char-major-14 soundcore
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 || :
pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :

This can be added as a service also.
/sbin/service chkconfig --add alsasound
/sbin/service alsasound start

Mounting USB Mass storage devices

I bought one 128MB USB extenal flash drive to move files easily from office and home.  The usb flash drives can be mounted in linux.

/sbin/fdisk -l
 
Device Boot    Start       End    Blocks   Id  System
/dev/sda1   *         1       489    125168    6  FAT16
 
/bin/mount -t vfat /dev/sda1 /mnt/<flash_drive_name>

Setup External Modem

I suggest to buy an external modem which is hayes compatible.  First the serial port needs to be setup.  Modem howto and Serial howto are excellent materials for this info.

[root@CapsOnLaps alsa]# setserial /dev/modem
/dev/modem, UART: 16550A, Port: 0x03f8, IRQ: 4

Mostly the modem is set in /dev/ttyS0 or S1 or S2.  Find that out with the setserial command.  A variety of front ends is there for configuring the modem to internet.
wvdial.conf is my favorite.  Run wvdial.conf at first.  This will probe the serial devices and sets with modem for you with the necessary init commands.
Update your ISP details in /etc/wvdial.conf.  Another of my favorite is kppp.  Remember to set the correct options in /etc/ppp/options as per your ISP.

Normally net connection to an ISP doesnt need an authentication of the server from our side.  So put noauthin /etc/ppp/options.  Also check what type of authentication
your ISP supports (CHAP or PAP).  Consult PPP Howto for more info.

Burn iso image to cdrom

You need to have cdrecord package installed.
cdrecord -v speed=24 dev=0,0,0 -data /mnt/fdcore1/yarrow-i386-disc1.iso

where the speed and dev can be changed according to your cdburner capacity and scsi id respectively.  To determine the later do this

[root@CapsOnLaps caps]# cdrecord -scanbus
scsibus0:
        0,0,0     0) 'HL-DT-ST' 'RW/DVD GCC-4241N' 'A100' Removable CD-ROM
        0,1,0     1) *
        0,2,0     2) *
        0,3,0     3) *
        0,4,0     4) *
        0,5,0     5) *
        0,6,0     6) *
        0,7,0     7) *

Acknowledgements: 

I owe many to this following authors and their respective pages to make my transition smooth.  I usually go over the road less travelled, but this does seem to be road frequently travelled :-).

http://www.cs.ucsd.edu/~dgupta/articles/linux-dell-8600.html
http://www.user.fast.net/~eclectic/debian-8600.html
http://tuxmobil.org/modem_linux_tips.html
http://www.linuxant.com/drivers/modemident.php
http://myweb.cableone.net/eviltwin69/Arcana.html
http://Itswww.epfl.ch/~dsanta/resources/dell-i8500-linux.html

Future Plans

Enabling Dynamic CPU Frequency Scaling.
Configuring multimedia hot keys.
Enabling the Bluetooth services.



contact
back to home page
Counter Get Firefox!
Hosted by www.Geocities.ws

1