39.26 Ganesha Maintenance

20201011 Ganesha is a Dell Inspiron 6400. See Section ?? for details.

29 Apr 2006

Standard install (see Section ??). Choose boot media with F12 on boot. MS/Windows XP Professional is already installed, so use the Debian GNU/Linux installer to reduce the NTFS partition size, but keep it, and repartition the remainder, ending up with a dual boot machine.

Install: lang=English, location=Australia, kb=American English, network through DHCP, hostname=ganesha, resize NT partition.

The repartitioning of the pre-existing MS/Windows NTFS partition is handled directly by the Debian GNU/Linux installer. To resize the NTFS partition, select the partition:

  #2 primary 95.2GB ntfs

Press Enter to invoke ntfsresize to get information about what can be done. This can take some time. We want to keep this NTFS partition but make it smaller. Choose the size (20GB) and write changes to disk.

Then partition the new free space as a Desktop Machine. The default Desktop partition was then:

Spec Details
/ 7G & sda5
/home 65G & sda7
swap 3G & sda6

Grub automatically noticed MS/Windows XP and added an appropriate entry for booting.

The machine is now rebooted. Rebooting into MS/Windows resulted in a dirty volume being noticed, and MS/Windows ran chkdisk to verify files, indexes, and security, and all was okay.

Reboot back into Debian.

Set root passwd, user account, apt install.

Package installs: exim4 (smarthost with no local delivery).

Point apt to unstable and install sudo and wajig, and all the rest!

StartX (choosing defaults for setup) seems okay (choosing vesa driver). Replace with i810 driver.

Install kernel-image-2.6.16-1-686-smp. In /etc/fstab change the /dev/hda to /dev/sda and tell Grub to boot from /dev/sda5:

  # kopt=root=/dev/sda5 ro

21 April 2011

This laptop is now a FreedomBox server for my home network. See Chapter 33 for details.

15 December 2013

Set up the laptop as a prototype server for ecosysl.com.

Download the Ubuntu 13.10 image for 32bit install and burn to DVD on Nyx.

Backup the current full disk (16 GB) to a USB disk

$ sudo rsync -av . kayon@nyx:/media/sabrina/ganesha.131211

Reboot and choose F12 to boot from DVD. Test Ubuntu out from DVD. Noted the screen resolution looks great — 1600x1050 — running the i915 video modules. Interaction just fine and network connected.

Clean install of Ubuntu 13.10 from DVD using dash icon. Choose English. Choose to download updates while installing. Choose to install third-party software. Replace Debian GNU/Linux (7.2) with Ubuntu. Choose to encrypt the new Ubuntu installation for security—a passphrase will be required for each reboot—as a server we would want it to reboot without a passphrase after a power failure, but since the battery is kept charged, a power failure is unlikely to require a reboot anyhow. Choose to use LVM with the new Ubuntu installation. Enter a passphrase. Choose to overwrite empty disk space. Choose English (US) keyboard. Enter Name, computer name, username, password, encrypt home folder. Log into Ubuntu One.

To now set it up as ecosysl.com. Install wajig and ensure everything is up to date. Install apps:

$ wajig install lamp-server^ ssh nfs-kernel-server meld most emacs
$ wajig install bzr bzr-email ssmtp mailutils
$ wajig install fail2ban python-gamin

Enter password for mysql. Notice I install ssmtp as a very simple sendmail since all I want is to be able to send mail via smtp and not receive email on this server (at least for now). I can send email via my ISP directly using SMTP without additional username and password log on. Also needs mailutils to provide the mail program.

Troubleshooting

Useful resources include: http://jackyvuillemin.free.fr/dellinspiron6400.html.

Kenrnel hda to sda

Kernel 2.6.16 was installed early on but the machine would not boot. It sat at some stage in the boot process while it seemed to be trying to access the disk. The problem seems to have been that the hard disk that was recognised under the 2.6.8 kernel as IDE (/dev/hda5) was now SCSI (/dev/sda5). So I edited /boot/grub/menu.lst assuming that newer kernels will have the same behaviour, and the default 2.6.8 will have the old:

  # kopt=root=/dev/sda5 ro
  # kopt_2_6_8=root=/dev/hda5 ro

Consequently, also had to update /etc/fstab, replacing the hda’s with sda’s.

Unfortunately I then lost the CD/DVD driver!

XOrg

The vesa video driver was chosen by default, but i810 should be used. To get a proper 1680x1050 (8:5) resolution install the 915resolution package and edit /etc/default/915resolution to set MODE to 32, XRESO to 1680, and YRESO to 1050. Then:

  $ wajig restart 915resolution

Edit /etc/X11/xorg.conf to include a 1680x1050 resolution:

   SubSection "Display"
           Depth           24
           Modes           "1680x1050" "1280x1024" "800x640" "600x400"
   EndSubSection

Wireless

The required wireless module for the kernel is available as a Debian package from kernel version 2.6.18. You will want to install ipw3945-modules-2.6.18-3-686, firmware-ipw3945, and ipw3945d.

If you are using a kernel version without such a module pre-compiled for you, it is easy to build one for your kernel:

  $ wajig install ipw3945-source
  $ sudo module-assistant prepare ipw3945
  $ sudo module-assistant auto-install ipw3945
  $ sudo modprobe ipw3945

For my 2.6.21 kernel, for example, this builds and install the package ipw3945-modules-2.6.21-1-686.

For older kernels, to get the wireless card working a bit of manual labour is needed to obtain and install the ipw3945 driver from http://ipw3945.sourceforge.net/. The web site indicates that version 1.1.11 or newer of ieee80211 is needed — older Debian versions had an older version so we illustrate the install of the module from scratch. This is for historic purposes, and should no longer be necessary.

From http://ieee80211.sourceforge.net/ download ieee80211-1.1.13.tgz. From http://ipw3945.sourceforge.net/ download ipw3945-1.0.0.tgz, ipw3945d-1.7.18.tgz, and ipw3945-ucode-1.13.tgz. Install it:

  $ tar zxvf ieee80211-1.1.13.tgz
  $ tar zxvf ipw3945-1.0.0.tgz
  $ tar zxvf ipw3945d-1.7.18.tgz
  $ tar zxvf ipw3945-ucode-1.13.tgz
  $ cd ieee80211-1.1.13
  $ sudo make
   (answer yes to all questions)
  $ sudo make install
  $ cd ../ipw3945-1.0.0
  $ sudo make
  $ sudo make install
  $ cd ../ipw3945-ucode-1.13
  $ sudo cp ipw3945.ucode /lib/firmware
  $ cd ../ipw3945d-1.7.18
  $ sudo cp x86/ipw3945d /sbin
  $ cd ../ipw3945-1.0.0
  $ sudo ./load

This resulted in:

ieee80211_crypt: registered algorithm 'NULL'
ieee80211: 802.11 data/management/control stack, 1.1.13
ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>
ipw3945: Intel(R) PRO/Wireless 3945 Network Connection driver for Linux, 1.0.0
ipw3945: Copyright(c) 2003-2006 Intel Corporation
ACPI: PCI Interrupt 0000:0b:00.0[A] -> GSI 16 (level, low) -> IRQ 169
PCI: Setting latency timer of device 0000:0b:00.0 to 64
ipw3945: Detected Intel PRO/Wireless 3945ABG Network Connection
ipw3945: Detected geography ABG (13 802.11bg channels, 4 802.11a channels)
ipw3945: Radio Frequency Kill Switch is On:
Kill switch must be turned off for wireless networking to work.

The last two lines were a worry, but Jacques Vuillemin suggested that Fn-F2 is the magic to turn off the Kill Switch. If this doesn’t work then modify the BIOS (F2 on boot) to disable the wireless hotley. The wireless load command worked for me after Fn-F2.

In /etc/network/interfaces add:

iface eth2 inet dhcp
  wpa-conf managed
  wpa-ssid belkin54g
  wpa-key-mgmt WPA-PSK
  wpa-psk 123456789abcdef787f44b6611bf17ba......

setting the ssid to match that of your wireless, and the psk key is generated using wpa_passphrase amd supplying your ssid and your passphrase..

Then:

  $ sudo sh ipw3945-1.0.0/load
  $ sudo ifup eth2

I reconfigured the Debian package laptop-net to indicate the MII is supported, so that the system can automatically detect that there is no Ethernet cable connected and so won’t try to start up networking on boot (and hence time out with DHCP after multiple attempts).

Some other useful wireless commands:

  $ iwlist eth2 scan               # List any found wireless access points

The network-manager-gnome package provides a simple applet that monitors available wireless networks and allows you to select one to connect to. This is now (since kernel version 2.6.17) the recommended path, but make sure there are no netwrok interfaces configured in /etc/network/interfaces since if there are, the network manager will not manage those networks.

Power Management

CPU frequency scaling works following the advice on http://tkrat.org/d810/ and the README.Debian in the powernowd package. Ensure the relevant modules are loaded at boot by adding the following to /etc/modules

  cpufreq_userspace 
  speedstep_centrino

Then install powernowd (the standard Debian kernels have the appropriate configuration).

The powernowd daemon measures the CPU load and based on this will step the frequency of the CPU to slow it down if the CPU is not being used, and thus saves power. By default, once the package is installed, the daemon will switch to full power once the CPU usage goes above 80%.

SATA CD/DVD

The CD/DVD drive is attached to the SATA, and support for this in the 2.6.16 kernel requires setting atapi_enabled=1 for libata. The default, after my installation, was to load ide-generic, and when this is loaded the IDE is trying to get hold of the devices already claimed by ATA, and we get the message:

  $ sudo modeprobe ide-generic
  $ demsg | tail -4 
  ide0: I/O resource 0x1F0-0x1F7 not free.
  ide0: ports already in use, skipping probe
  ide1: I/O resource 0x170-0x177 not free.
  ide1: ports already in use, skipping probe

The second one here is the DVD device (at 0X170). Looking at the ATA information in dmesg:

ata2: SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xBFA8 irq 15
ata2: dev 0 cfg 49:0b00 82:0210 83:0000 84:0000 85:0000 86:0000 87:0000 88:0407
ata2: dev 0 ATAPI, max UDMA/33
ata2: dev 0 configured for UDMA/33
scsi1 : ata_piix
ata2(0): WARNING: ATAPI is disabled, device ignored.

We can see that ATA has claimed the device (at 0X170), even though the final message indicates ATAPI support is disabled.

To enable ATAPI, and since the module is loaded very early at boot time (since it needs to access the hard disk), you need to create a new initrd with the appropriate option to be loaded at boot time. I attempted kernel command line via grub setting libata.atapi_enabled=1 and also setting it in /etc/modprobe.d/ but neither took effect). Edit /etc/mkinitrd/modules to add the line:

  libata atapi_enabled=1

Then create the new initrd:

  $ cd /boot
  $ sudo mv initrd.img-2.6.16-1-686-smp initrd.img-2.6.16-1-686-smp-orig
  $ sudo mkinitrd -o initrd.img-2.6.16-1-686-smp
  $ sudo reboot

The CD/DVD was then recognised on the reboot:

  $ dmesg
  ...
  ata2: SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xBFA8 irq 15
  ata2: dev 0 cfg 49:0b00 82:0210 83:0000 84:0000 85:0000 86:0000 87:0000 88:0407
  ata2: dev 0 ATAPI, max UDMA/33
  ata2: dev 0 configured for UDMA/33
  scsi1 : ata_piix
    Vendor: PHILIPS   Model: DVD+-RW SDVD8820  Rev: AD15
    Type:   CD-ROM                             ANSI SCSI revision: 05
  ...

The alternative of adding libata.atapi_enabled=1 to the kernel boot parameters in Grub by adding the following in /boot/grub/menu.lst:

  \# kopt_2_6_16=root=/dev/sda5 ro libata.atapi_enabled=1

and then running the update-grub command, will report:

  Kernel command line: root=/dev/sda5 ro libata.atapi_enabled=1
  Unknown boot option `libata.atapi_enabled=1': ignoring 

According to http://tkrat.org/d810/ support for CD-ROM devices on a SATA bus is still experimental in the kernel (at least 2.6.15) and they compiled their own kernel to turn on the support (and to support software suspend 2). Also see http://www.sirlab.de/linux/debian_dell_d610.html

USB

This just works! Add a Disk Mount applet to your GNOME panel, plug in a USB Flash Stick, and you will see a mount button for the device appear. Click it to pop up a menu, and then Mount it to access the device. Older versions of GNU/Linux required some setting up to get this functionality working — now it is automatic!

External Beamer

When using with an external beamer the image originally shimmered. Under MS/Windows it reset the resolution on Alt-F8 toggle automatically (which seems like a nice idea) to bring it down from the 1600x1050 to whatever the projectors normally handle. And while the image was solid, it generated an image that did not fill the projectors full area.

The XOrg configuration was changed (/etc/X11/xorg.conf) to turn on Clone and to add the MonitorLayout option to show both the lcd and the crt:

  Section "Device"
          Identifier      "Generic Video Card"
          Driver          "i810"
          Option          "MonitorLayout" "CRT,LFP"
          Option          "Clone"         "true"
  EndSection

Once an external Beamer was connected a rock solid image resulted. The image was truncated at the edges but when displaying a slide show the slides were all visible!

Sound

Sound words just fine with at least kernel 2.6.18 using the snd-hda-intel module.

Sound did not originally work with kernel 2.6.16 — the card is recognised, and the driver seems to be working (applications run just fine and claim to be working) but no sound (and not muted!).

It appears (and is corroborated with other comments) that this sound driver doesn’t work with 2.6.16 kernel!

The front panel media buttons were mapped using the GNOME Keyboard Shortcuts utility to appropriate functions in GNOME (mute, decrease and increase volume). The keyboard function keys are also mapped. They seem to work (but still can’t get sound to work).

Flash Card Reader

The sdhci driver for the Ricoh SD Card Reader has been merged in the main kernel tree starting with 2.6.17-rc1. See http://individual.utoronto.ca/jaelle_kitty/inspiron6400/. With kernel 2.6.18 the card reader just works!

Software Suspend

According to http://tkrat.org/d810/ you need to compile your own kernel to turn on the support for software suspend 2.

CPU Temperature

As suggested in http://copland.udel.edu/~doke/dell_d810/, you can get the cpu temperature from /proc/acpi/thermal_zone/THM/temperature. When the laptop is at rest, I get about 38C. When it is active, I get around XXC. When it is active, and on my lap (with my legs blocking the air vents on the bottom), it goes up to XXC. The safety auto-shutdown threshold seems to be 95C?

Lid

Originally, closing the lid and reopening it rendered the laptop unusable. The screen remains blank, although it is still functioning. If it is network connected it is still alive, and presumably anything I am doing on the keyboard or mouse, is going through! The solution mentioned in http://www.sirlab.de/linux/debian_dell_d610.html did not work.

On moving to kernel 2.6.18, at least, the problem disappeared.

TV Out S-Video

Not yet tested.

Keeping the Machine Quiet

As a notebook that is taken around while travelling, and used in public areas (like whilst listening to presentations at conferences) it is not so nice to have the computer making any noise whilst booting or shutting down, or any other time, unexpectedly. It is always annoying hearing MW/Windows booting with its familiar opening signature tune (and I wish those users would find the configuration option to turn the sound off on a boot). The apparently uncontrollable beep emitted by Ganesha on booting (which seems to be around the starting up of hald) was an annoyance!

Trying lots of alternatives and searching, I finally have several places where I quieten things down so that I now have a quiet system, unless I run a music player, but that is purposeful noise!

The first task was to get rid of any beeps from any daemons as they start up. As best I could tell, there is just one that was emitting an audible beep during the boot, and it was around the time the following message appears, but I could not track it down specifically:

Starting Hardware Abstraction Layer: hald

A solution mentioned on http://doc.gwos.org/index.php/TurnOffBeep is to remove the PC speaker driver with the command:

modprobe -r pcspkr

That works to an extent, placing it into /etc/rc.local. But this gets executed very late in the boot process. So noticing that /etc/init.d/sysklogd looks to be executed pretty early in the boot process, I added the line at the end of this script (just before the exit 0). This seems to fix the beeps! (But a future update may overwrite the change!)

I have also seen a suggestion (081116, http://debian.helicroc.com/inspiron.html) that we just need to edit /etc/modprobe.d/blacklist to add:

blacklist pcspkr

Also, to tell gdm not to beep on starting up the display manager, I added the following to the end of /etc/gdm/Init/Default:

xset -b

Peace and quiet at last!



Your donation will support ongoing availability and give you access to the PDF version of the book. Desktop Survival Guides include Data Science, GNU/Linux, and MLHub. Books available on Amazon include Data Mining with Rattle and Essentials of Data Science. Popular open source software includes rattle, wajig, and mlhub. Hosted by Togaware, a pioneer of free and open source software since 1984. Copyright © 1995-2021 Graham.Williams@togaware.com Creative Commons Attribution-ShareAlike 4.0.