Saturday, May 22, 2010

Seagate firmware upgrade and grub error 18

I use Pentium 4 (2.0 GHz) PC having Intel 845 chipset based motherboard. The computer has 1.2GiB 133 MHz SDRAM and originally had one Samsung-make 60GB IDE hard-disk with Windows XP and an old linux operating system.

The motherboard had one spare IDE port and supported Ultra ATA100 IDE hard-disk. As the IDE hard disks are fast becoming obsolete, I decided to procure a SATA hard-disk alongwith a converter that converts SATA/ SATA2 to Ultra ATA133 hard disk or vice versa. [This converter costed about Rs 300 (Indian)]. I knew that Ultra ATA133 is backward compatible with Ultra ATA100.

I procured Seagate make 500 GB SATA hard disk (Barracuda 7200.11, ST3500820AS) and installed it on the PC using the converter. BIOS recognized the hard disk after I used the hard disk's jumper required to limit its speed. The hard disk was partitioned: first 118 GB NTFS partition, next 210 MB ext4 linux (Fedora 12) boot partition, then 354 GB extended partition (containing three secondary 118 GB NTFS partitions) and finally 28 GB ext4 LVM2 volume. Grub was loaded on MBR of the new hard disk with options to boot linux from this drive or Windows or linux from the older drive.

The PC worked perfectly for quite some time. Then, I started getting following grub error intermittently on booting Fedora 12 (linux from the new Seagate disk) :

Error 18: Selected Cylinder exceeds maximum supported by BIOS

Many a times (though not always), the error went off after rebooting if the PC was first booted using an OS of the first disk. fscking (using liveCD) the boot partition of Fedora 12 never showed any error. Self-tests on the disk carried out using Palimpsest Disk Utility were always automatically aborted.

I was managing this way. However, once there occurred a superblock on the LVM2 partition, which was impossible to remove using any options with fsck. It was not possible to boot Fedora 12. Stopping X (with Alt-Ctrl-Bkspce) used to give long message with DRDY ERR on the Seagate drive. The data of the partition, however, was accessible using ext2explore for Windows (with Windows being booted from the Samsung drive). NTFS partitions of the Seagate drive were also accessible using Windows. Sooner, the BIOS intermittently stopped recognizing the Seagate drive. I procured a new SATA to IDE and IDE to SATA converter, but there was no improvement. I decided to replace the hard disk and went to Seagate site to check if any warranty was available and I learnt about the firmware upgrade being available for the disk. The firmware originally installed on the disk was SD25 and the recommended one was SD1A. According to the site, without the upgrade, the hard disk may lock itself and may not be recognized by the BIOS. Attempts to upgrade the firmware through Windows did not succeed, thus I downloaded the firmware upgrade boot ISO, burnt it on a CD and booted the PC and upgraded the firmware.

The firware upgrade did not immediately led to the booting of Fedora 12. However, the site repeatedly warns that 20% of the hard disks returned during warranty do not really have any problem and advises to use Seatools software (available on the Seagate site) for diagnosis. One has to burn Seatools for DOS ISO (available from Seagate site) on a CD and boot the PC through it. Seatools found errors with the disk and repaired them all.

Fedora 12 boots normally now and I have never got the grub 18 error since then. Palimpsest Disk Utility still cannot complete the self-test on this disk, but the disk works normally otherwise.

I am not fully sure if there is a connection between the firmware upgrade and intermittent grub 18 error, which did not appear to have a logical pattern. However, if you are using a Seagate disk and get this error, you may consider visiting Seagate site; many disks are affected due to old firmwares.

1 comment:

  1. Faulty data cable could as well be the cause.

    ReplyDelete