Re: Serial ata and ide drives

From: Rod Smith (rodsmith_at_nessus.rodsbooks.com)
Date: 04/17/04


Date: Fri, 16 Apr 2004 22:24:55 -0400

In article <kgi7jwfq5k4.fsf@komarr.grenoble.hp.com>,
        Dominique Dumont <domi@komarr.grenoble.hp.com> writes:
>
> smokydid@yahoo.fr (Didier) writes:
>
>> I've just bought a new computer with A7N8X main board. I've got 2 IDE
>> cdrom, 1 IDE hard disk and a serial ata HD.
>>
>> I installed a linux on the IDE disk, I compile a kernel with generic
>> ide controller inside, and siimage as module. When I run "modprobe
>> siimage", the two controllers are detected as ide0 and ide1 so there
>> is a conflict between ide and sata. I tried with siimage and generic
>> ide included in the kernel, and the same thing happens.
>>
>> I'd like to know how can I force my sata controllers to be as ide2 and
>> ide3 !

This certainly sounds like a bug. I've never run into this problem, or
used hardware in quite this way, but four options seem possible:

1) For the driver compiled in the kernel, try passing the kernel an
   option like "ide2=siimage". You'd do this in /etc/lilo.conf or
   your GRUB configuration file (/boot/grub/grub.conf or
   /boot/grub/menu.lst), depending on the boot loader you use. I'm
   basically guessing at the syntax here; this might not work.
2) For the driver compiled as a module, try editing /etc/modules.conf.
   You can try setting an alias, as in "alias ide-2 siimage". Again, I'm
   basically just guessing at the precise form you'd use for this,
   extrapolating what I see for other drivers in my modules.conf file.
3) Compile the Silicon Image driver into the kernel and compile the
   driver for whatever handles your parallel ATA disks as a module. With
   luck, the latter will then install itself and use the ide2 and ide3
   positions rather than cause a conflict. This would require either
   re-installing Linux on (or moving Linux to) the SATA disk or putting
   together an initial RAM disk configuration so that the kernel can load
   the driver for the PATA disk in order to mount the root filesystem. If
   successful, it'd also change the device identifiers for your root
   filesystem, and anything else on the PATA disk.
4) Completely disable the Silicon Image ATA driver and instead use the
   Silicon Image libata driver. As I understand it, this driver is
   considered experimental through at least kernel 2.6.4. Thus, you'll
   need to enable support for experimental drivers when you configure
   your kernel if you want to try this. I think I saw something in a
   changelog about it becoming non-experimental in 2.6.5, but I'm not
   positive of that. In any event, the libata driver is listed in the
   SCSI devices area; there's a main libata driver (the option is called
   "Serial ATA (SATA) Support"), and you'd then select the Silicon Image
   sub-driver. Going this route will have the advantage of making your
   drive appear as a SCSI device rather than an ATA device, so there
   shouldn't be any conflict.

> AFAIR, sata controllers are seen as SCSI controller by the user.
>
> Try to run cdrecord -scanbus to check this out.

This is true of the libata drivers I described, and perhaps some others;
but plenty of SATA drivers are in the regular ATA kernel configuration
area and cause SATA drives to appear as ATA disks. Many controllers,
including the Silicon Image controllers, have *BOTH* ATA and SCSI
drivers. Because the OP reported that the driver is picking up the ide0
and ide1 identifiers, it seems likely that the OP is using the ATA
drivers. Of course, double-checking this in some way, as you suggest,
won't hurt. FWIW, I've got a VIA VT8237, which also has both ATA and
libata (SCSI) drivers, and I've used my SATA disk in both ways; it turns
up as /dev/hdg under the ATA driver and /dev/sdb under the SCSI driver.
(I've got a genuine SCSI Zip disk that nabs the /dev/sda identifier.)

-- 
Rod Smith, rodsmith@rodsbooks.com
http://www.rodsbooks.com
Author of books on Linux, FreeBSD, and networking


Relevant Pages

  • Re: SUSE 9.2: SoftRAID infinte sync!
    ... Use a different kernel or softraid driver. ... Setup sw raid on an already ... the order of write requests hitting the disk matches the order of write ...
    (comp.os.linux.setup)
  • sata_nv + SMP = broken?
    ... the sata driver would randomly hang after a bit of disk ... Hereby come extra info about the machine and kernel configuration (the ... # ACPI Support ...
    (Linux-Kernel)
  • Re: Optimum page file size for 1 GB?
    ... your filesystem driver may be screwed all over ... you are talking about kernel crashes! ... and save an application dump for postmortem debugging. ... The right way to do this is to not touch the disk at all after akernel ...
    (comp.sys.ibm.pc.hardware.storage)
  • Re: 2.6.16-rc4: known regressions
    ... the kernel, ... The asynchronous device discovery is caused/required by hotplug. ... It leaves it pretty open what that driver will actually _do_. ... disk is, or how disk discovery takes place. ...
    (Linux-Kernel)
  • Debian Woody sees only 130G of 200G Maxtor 6Y200P0 HD
    ... a 200 GB Maxtor 6Y200P0 ATA unit. ... I seem to remember it had a 2.4.21 kernel. ... Why isn't Debian able to use the full disk? ...
    (comp.os.linux.setup)