halting problem :: Ubuntu on a Packard-Bell EasyNote E6300

:: ~4 min read

Ubuntu Linux Installation Notes

I’ve recently purchased a Packard Bell EasyNote (E6300) notebook. After removing Windows XP that comes pre-installed (you might want to try and get your money back; I just didn’t think that it was worth the troubles, paper and phone-time), I’ve installed Ubuntu Linux on it.

Thanks to the tremendous effort of the entire Ubuntu community, the installation process was basically painless. There are some notes, though, worth to be pointed out.

Status

HardwareStatus under LinuxNotes
AMD Sempron 3000+WorksSee cpu frequency scaling
15” LCD screenWorks 
VIA Unichrome Pro K8M800WorksSee video card
512 MB RAM, 2 DIMMWorksRecognized by lm-sensors
35 GB HDD ATA100Works 
NEC 4x DVD+/-R DriveWorks 
VIA Rhine II Ethernet AdapterWorks 
ENE CardBusWorksSee Cardbus
Internal AC97 ModemUntested 
Internal AC97 Multimedia Audio ControllerWorks 
Synaptics touchpadWorks 
Suspend/ResumeWorksSee ACPI Suspend

Hardware: Video Card

The video card shipped with this notebook is a VIA/S3G Unichrome K8M800 (Vendor ID: 0x1106, Device ID: 0x3108). It is not yet supported by the guys at X.org - but watch out for updates on the Unichrome Project website, on Sourceforge. The VESA driver will work perfectly, but it won’t have any hardware acceleration. The VGA/S-Video tv-out is controlled by the same chipset, so it won’t work too.

The Unichrome driver, as of the 17.01, has been included in the X.org package for Ubuntu Hoary. The K8M800 is recognized on X startup, but it’s not yet fully supported, though; so far, the X server loads, but it does not find a suitable modeline, and the screen just blanks. As far as I know, the LCD handling of the K8M800 is yet to be ported from the CLE266 chipset codebase.

Hardware: CPU Frequency Scaling

In order to enable the CPU frequency scaling you’ll need to load the powernow-k8 kernel module:

  sudo modprobe -a powernow-k8

You should read the following lines inside /var/log/messages:

  powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.00.09e)
  powernow-k8:    0 : fid 0xa (1800 MHz), vid 0x8 (1350 mV)
  powernow-k8:    1 : fid 0x8 (1600 MHz), vid 0xa (1300 mV)
  powernow-k8:    2 : fid 0x0 (800 MHz), vid 0x13 (1075 mV)
  cpu_init done, current fid 0xa, vid 0x8

Now, install the daemon that handles the scaling in userspace, powernowd

  sudo apt-get install powernowd

In order to enable the frequency scaling at boot, just add the module name inside /etc/modules. Add the CPU Frequency scaling monitor applet for Gnome to a panel, and voilà:

Gnome CPU Frequency Scaling Monitor Screenshot

Hardware: Internal Model

The internal modem is an AC97 compliant modem; I haven’t tried to make it work, since I’m not using it.

PC Card manager

The CardBus inside the E6300 is a ENE CB1410, as stated by lspci:

  0000:00:09.0 CardBus bridge: ENE Technology Inc CB1410 Cardbus Controller (rev 01)

Unfortunately, there’s a resource management problem, resulting in a wrong resource allocation; that is: the cardbus does not apply power to the card on insertion. Even reserving an higher memory area doesn’t solve this issue, and I’m waiting for the linux-pcmcia people to do further investigations.

Update: I’ve finally been able to make the cardbus manager work. First of all, upgrade the kernel to the 2.6.11 release (it fixes some resource allocation issues) and pass the override_bios=1 option to the yenta-socket module, by creating a file named yenta-socket inside the /etc/modprobe.d directory, and adding the line:

options yenta-socket override_bios=1

to that file. Rebuild the modprobe preferences using:

sudo update-modules

And reboot, in order to see if it works. If this does not do the trick, you have to reserve a memory area for resource allocation. You can do this by passing a reserve option to the kernel. Open the configuration file for your boot manager (I’m using LILO), and add this option:

reserve=0x1c000000,0x4000000

To the common kernel parameters list (e.g. in the append keyword for LILO). Remember to update your boot manager, if it needs to. Reboot, and the cardbus should now work. If it doesn’t, contact the linux-pcmcia people.

Hotplug Errors on Boot

When rebooting, hotplug will spew these error lines:

  modprobe: FATAL: Error inserting pciehp (/lib/modules/.../kernel/drivers/hotplug/pciehp.ko)
  Operation not permitted
  modprobe: FATAL: Error inserting shpchp (/lib/modules/.../kernel/drivers/hotplug/shpchp.ko)
  Operation not permitted
  modprobe: FATAL: Error inserting pciehp (/lib/modules/../kernel/drivers/hotplug/pciehp.ko)
  Operation not permitted
  modprobe: FATAL: Error inserting shpchp (/lib/modules/2.6.8.1-4-686/kernel/drivers/hotplug/shpchp.ko)
  Operation not permitted

In order to remove them, just add these to /etc/hotplug/blacklist

  # Not loading on boot. Removed from sight :)
  pciehp
  shpchp

Thanks to Craige McWirther for this one.

ACPI Suspend

By default, the Suspend button (Fn + F12) is disabled. In order to enable software suspend, you’ll need to edit the /etc/default/acpi-support file:

ACPI_SLEEP=true
ACPI_HIBERNATE=true
ACPI_SLEEP_MODE=mem
# Add here modules you want to disable before going to sleep;
# I've put here the network modules, since I don't want wakeup from LAN
MODULES="mii via-rhine"
SAVE_VBE_STATE=true
VBESTATE=/var/lib/acpi-support/vbestate
POST_VIDEO=true
USE_DPMS=true
HIBERNATE_MODE=platform
LOCK_SCREEN=true
# put here the services you want to disable before going to sleep
STOP_SERVICES=""

Next, you must have a swap partition enabled on your system, and it must be big enough to hold the entire content of an “image” of your system memory; that is, if you have 256 MB of RAM, you should have a swap partition at least of 256 MB in size.

In order to suspend to disk, edit the RESUME setting in the /etc/mkinitrd/mkinitrd.conf file, in order to specify the device where your swap partition is set, e.g. if you have the swap partition on /dev/hda3, you have to write:

RESUME=/dev/hda3

If you don’t know or remember where your swap partition is, use the fdisk command:

$ sudo fdisk -l

Disk /dev/hda: 40.0 GB, 40007761920 bytes
255 heads, 63 sectors/track, 4864 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1         523     4200966   1b  Hidden W95 FAT32
/dev/hda2   *         524        1548     8233312+  83  Linux
/dev/hda3            4798        4864      538177+  82  Linux swap / Solaris
/dev/hda4            1549        4797    26097592+  83  Linux

Partition table entries are not in disk order

After a reboot, you should be able to put the notebook to sleep using the Fn + F12 combination.

context-switch wordpress old-blog

Follow me on Mastodon