LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Serial ATA Hard Disk Drives under Linux (https://www.linuxquestions.org/questions/linux-hardware-18/serial-ata-hard-disk-drives-under-linux-149617/)

teresa 02-23-2004 02:01 PM

Serial ATA Hard Disk Drives under Linux
 
Hi!

I recently bought a server with a Serial ATA HDD. The drive is directly attached to the motherboard by a Serial ATA cable.

My question is, how do I configure my linux kernel / system to use the HDD as a Serial ATA drive rather than as a regular ATA drive ?

I saw some people saying that you must configure the SCSI emulation. But I think Serial ATA should be transparently compatible with all ATA drivers. Shouldn't it ?

Another question : Once my system is up and running, How can I Know if I'm using my HDD as a Serial ATA drive or as a regular ATA drive ?

Is it shown in hdparm information ? or in dmesg ?

I haven't found any FAQ nor HOWTO about Serial ATA in Linux.

Thanks in advance.
Cheers,

Teresa.

hw-tph 02-23-2004 02:26 PM

Quote:

My question is, how do I configure my linux kernel / system to use the HDD as a Serial ATA drive rather than as a regular ATA drive ?
You need to use a kernel with support for your SATA chip. The most common variants include the Intel ICH5 and the Silicon Image 3112 chips and variants of them. Both are supported in the standard kernel but you may need to do some serious tweaking to get it working properly. In the kernel configuration you will find both chips listed under ATA/IDE devices.

If your SATA drive is connected using a SATA cable to the SATA controller you are using it "as a SATA" drive. Serial-ATA is really a variant of traditional parallell ATA and includes in extension to the ATA command set a new set of SCSI-like commands. I believe no single chip supports the full SATA command set as of yet but we will probably see new controller chips soon that take full advantage of the SATA-specific features.

Quote:

I saw some people saying that you must configure the SCSI emulation. But I think Serial ATA should be transparently compatible with all ATA drivers. Shouldn't it ?
No. As I stated above, SATA includes more commands than traditional ATA, and some "regular" ATA commands are altered as well, making the hardware behave in an unexpected way or not at all. Plus, the chips are more or less all new so new device drivers must be written for these chips.

Quote:

I saw some people saying that you must configure the SCSI emulation. But I think Serial ATA should be transparently compatible with all ATA drivers. Shouldn't it ?
That depends. Both on your chipset and your preferences. I haven't tried libata yet (but I intend to as soon as I get some time alone with my NF7-Sr2 based system), which is a means of accessing SATA drives through SCSI emulation. These drivers are not in the shipping kernel (yet), but you can patch the kernel source and build a kernel if you want to try them. The in-kernel drivers use a traditional IDE approach rather than using the SCSI subsystem.

Quote:

Another question : Once my system is up and running, How can I Know if I'm using my HDD as a Serial ATA drive or as a regular ATA drive ?
Check the cables connecting the drives to your motherboard. ;)
As long as you don't use a SATA-to-PATA connector (a device you attach between the SATA controller and the drive itself) you will be using SATA.

Quote:

Is it shown in hdparm information ? or in dmesg ?
In dmesg you should see the device startup and information about connected drives, in hdparm you will probably not see anything specific to SATA, at least not with the current version, only the usual transfer mode (SATA drives should use udma).

There probably are a couple of FAQs out there but for now it's all dependent on your controller chip. Use google.com/linux to search for information about the chipset you're using and the kernel version or distribution you intend to use. I have my NF7-Sr2 running Gentoo off of a Seagate 160GB SATA drive using the 2.6.2 kernel drivers, which works....OK. Not great at all - I get device timeouts for hdg (which isn't there in the first place) but that's easily solved by appending a <device>=disable parameter to the kernel command line, and performance is downright horrible. But it works, and I'll try libata as soon as I can as I've heard lots of good things about it, especially performance-wise.


Håkan


All times are GMT -5. The time now is 06:21 AM.