Comment 142 for bug 346691

Revision history for this message
Julius Schwartzenberg (jschwart) wrote :

It seems i have found a solution which should work for at least Compal notebooks. I found this based on information I found in one of the duplicate bugs. It seems at least the ICH9 controllers have two modes of operation. One is called IDE compatible or no-AHCI mode and is enabled by default. This uses the ata-piix driver. If you manage to switch the controller to AHCI mode it should use the ahci driver instead, which does not seem to have any problems.

You can check what mode your controller is in using lspci. It will show either IDE or AHCI depending on what mode is set. You can also check the dmesg output for ata-piix or ahci.

Switching the controller to AHCI mode can be quite tricky. I was able to do it using a Dos program from Compal's site. Here are the instructions:
1. Make sure syslinux is installed
2. Get https://haar.student.utwente.nl/~julius/ahci.dsk.gz
3. Gunzip the archive and put it in /boot
4. Add the following lines to /boot/grub/menu.lst:
title FreeDOS AHCI switch disk
root (hd0,1) #copy this from the other Ubuntu item
kernel /usr/lib/syslinux/memdisk #if your /boot is on a different partition, copy this file to /boot and put /boot/memdisk here
initrd /boot/ahci.dsk
5. Boot the new boot item from grub (just press enter on the time & date prompt, there is no config.sys)
6. Run ahci_en

This should enable AHCI mode. You can verify this by running lspci or checking the dmesg output. I built this bootdisk myself based on FreeDOS and the program from Compal's website. You can also disable AHCI again with this disk.
I was able to do a clean Jaunty AMD64 install, do an update and run quite a few applications after I had done this. fsck doesn't find any problems at all after this and there were no strange crashes anymore.

I suspect that mainly Compal notebooks come with this mode set to no-AHCI, which is why there are so many reports of this problem with Compal notebooks.
For others without Compal notebooks with this problem, verify your hardware is in no-AHCI mode and try to switch it to AHCI mode through a similar tool. My bootdisk probably won't work.

I understand that AHCI mode also gives better performance, so this should be an optimal solution. The problem with the ata-piix driver in this kernel should still be considered a bug though.