Ubuntu 7.04/Issues/USB-SATA race condition causes hang

From DellLinuxWiki

< Ubuntu 7.04(Difference between revisions)
Jump to: navigation, search
 
Line 2: Line 2:
<br>'''Systems Affected:''' Dimension 530n.
<br>'''Systems Affected:''' Dimension 530n.
<br>'''Impact:''' Systems hangs during boot up.
<br>'''Impact:''' Systems hangs during boot up.
-
<br>'''Workaround:''' Force piix driver to load before usb driver. Use following script and run as root:
+
<br>'''Workaround:''' Force SATA driver to load before USB driver. Create a script named load_ata_piix in /usr/share/initramfs-tools/scripts/init-top/ with the following contents:
   #!/bin/sh
   #!/bin/sh
-
  # Place this in /usr/share/initramfs-tools/scripts/init-top/
 
   PREREQ=""
   PREREQ=""
   prereqs()
   prereqs()
Line 20: Line 19:
   modprobe -Qb ata_piix
   modprobe -Qb ata_piix
-
After running this script, execute as root:
+
Execute the script:
-
  $ update-initramfs -u -k all
+
  $ sudo /usr/share/initramfs-tools/scripts/init-top/load_ata_piix
-
This command will rebuild the initrd so that the kernel will probe for the SATA driver before the USB driver.
+
Next, rebuild the initrd so that the kernel will probe for the SATA driver before the USB driver:
-
'''Fix:''' In progress.<br>
+
$ sudo update-initramfs -u -k all

Latest revision as of 14:34, 1 November 2007


Description: USB device misreads interrupts intermittently due to race condition with ATA driver.
Systems Affected: Dimension 530n.
Impact: Systems hangs during boot up.
Workaround: Force SATA driver to load before USB driver. Create a script named load_ata_piix in /usr/share/initramfs-tools/scripts/init-top/ with the following contents:

 #!/bin/sh
 PREREQ=""
 prereqs()
 {
        echo "$PREREQ"
 }
 case $1 in
 # get pre-requisites
 prereqs)
        prereqs
        exit 0
        ;;
 esac
 modprobe -Qb ata_piix

Execute the script:

$ sudo /usr/share/initramfs-tools/scripts/init-top/load_ata_piix

Next, rebuild the initrd so that the kernel will probe for the SATA driver before the USB driver:

$ sudo update-initramfs -u -k all
Personal tools
Distributions