Talk:Problems with SATA and Linux

From ThinkWiki
Revision as of 21:23, 16 November 2005 by Gsmenden (Talk | contribs)
Jump to: navigation, search

That's strange - with the libata passthrough (IDE driver not in kernel) as set up in the text, my t43p DVD drive also will not record as hinted in the wikipage... DMA works fine, so DVD playing / ripping is smooth and quick. CD record functions also are absent. I have PATA enabled, and the suspend + SMART patches applied over

regarding the "BIOS error 2010 on user-installed hard disk": the text says that corruption occurs if you use a harddisk without the specific ibm bios. would be interesting if it is possible to fix this problem in the kernel so that you can use any disk and the kernel doesn't use specific ATA commands which are known to cause problems.

in the tabook i didn't find any specification of the SATA bridge. it would be interesting: 1) what type it is 2) if it is fixed on the mainboard or if it is possible to solder in a new one

Another interesting question is whether these ThinkPads can be hacked to accept a real SATA system disk, by bypassing the SATA-to-PATA bridge (this would probably involve some soldering and cutting). If the BIOS can also handle that then it may come in handy, since some new high-capacity 2.5" disks have only SATA versions. --Thinker 02:56, 8 Oct 2005 (CEST)

Z series

Since the Z series uses a SATA controller and disk, without the bridge, would it be possible to make SATA ATAPI support as a module that you could load only when using the optical drive? Then, for everyday use, the experimental options of PATA and ATAPI with ata_piix would not be needed, moving you one step further in the direction of stability.

I have an R52 with Ubuntu Breezy and no problems with SATA (I personally asked the developers to include the needed patches).

However, I'd like to know wheter there are any advantages with this configuration. Future proof? Power saving? Speed?

Anybody cares to comment?

-- Michele

Straight SATA, like in the Z60m/t, will provide better upgrade options in the long run (the hard disk industry is slowly but surely moving to SATA), and maybe a small performance increase if your drive, controller and OS support command queueing (they probably don't). However, with the hybrid ThinkPad models that use a SATA-to-PATA bridge, like your R52, you get all the drawbacks and none of the benefits; plus there's the horrible issue with drive compatibility. My impression is that Lenovo did this just as a convenient (for them!) transition path, in order to use new chipsets without comitting to (temporarily) scarcer and more expensive drives. In any case, they didn't even have the decency to make the UltraBay Slim accept SATA drives.

--Thinker 18:10, 3 Nov 2005 (CET)

There is a UltraBay Slim SATA HDD Adapter, but only compatible with the Z series (at least for the moment).

--Tonko 03:12, 4 Nov 2005 (CET)

updated libata_passthru.patch

FYI: when using the Suspend-to-RAM patch from against 2.6.14 the libata_passthru.patch from the article doesn't apply any more, so I've put up an updated version at

I give no warranties whatsoever whether it works or kills your hardware, but since I just removed duplicate parts already in the Suspend-to-RAM patch it should be ok.

--spiney 19:04, 4 Nov 2005 (CET)


Spiney, could you extend the article to explain what and why are the PCI IDs in the footnote about ATA_ENABLE_PATA?

--Thinker 21:59, 4 Nov 2005 (CET)

Ok, done, feel free to fix the table because I'm a bit struggling with Wiki-style editing. ;) As for the why, those PCI IDs are the only ones affected by the ATA_ENABLE_PATA, as seen in drivers/scsi/ata_piix.c in the kernel source.

--spiney 11:19, 5 Nov 2005 (CET)

Will other cards work without ATA_ENABLE_PATA, or just fail? In the former case your instructions are right, but in the latter case we should tell the user to check the list of IDs in his current kernel and, if there's no match, to give up in the first place instead of following the rest of the instructions.

--Thinker 12:48, 5 Nov 2005 (CET)

AFAICT if the chipset is supported by libata it will work, regardless of what low-level driver is used. Of course if there is no low-level driver for the chipset then even using the harddisk via libata will fail, but that's a different story. At least ATA_ENABLE_PATA will then make no difference since it's Intel PIIX (and compatible) only.

--spiney 13:24, 5 Nov 2005 (CET)

Not sure I got you. Is there any case where the instructions will work without ATA_ENABLE_PATA, given that all ThinkPad optical drives are PATA?

--Thinker 13:41, 5 Nov 2005 (CET)

The instructions will work without ATA_ENABLE_PATA unless the Thinkpad uses one of the three chipsets listed in the article, as long as libata works at all, i.e. the system drive shows up as /dev/sda. The #define doesn't change the behaviour of libata for any other chipset, it's ata_piix only.

Since I don't have a machine with one of the three chipsets (anyone?), I can't tell whether those work at all with libata, but I guess there's a reason why they're not enabled by default. It's just that defining ATA_ENABLE_PATA is only making sense for these three chipsets.

Any clearer now? If not, just run grep -r ATA_ENABLE_PATA /path/to/kernelsource and see how seldom and where the #define is used.

--spiney 14:55, 5 Nov 2005 (CET)

All clear now. I thought it will work only if you have these chipsets and ATA_ENABLE_PATA=1. Thanks for the explanation!

--Thinker 15:12, 5 Nov 2005 (CET)

Does any of the relevant ThinkPad models (listed in the article) use these chips? They look too old to be found on the SATA models.

--Thinker 23:35, 9 Nov 2005 (CET)

I don't think so, I was about to add "in the unlikely event that you own one of these chipsets" or something.

--spiney 07:56, 10 Nov 2005 (CET)

DVD DMA with ide/sata as module

Did anyone get DVD DMA to work with either the IDE or SATA drivers compiled as modules? If so, please fill in the missing details in that section. I have it working only with both IDE and SATA built-in.

--Thinker 17:58, 16 Nov 2005 (CET)

Basically using a Live-CD with a recent kernel (is there one with 2.6.14 already?) would be sufficient, since they usually use an initrd or something similar, don't they? I'll give the Debian distribution kernel a try when I get around to it (bit busy atm), after all there's 2.6.14 in sid.

But for people using their own kernel compiled from source I see no point in doing the module+initrd thing anyway, unless you want LVM for the root filesystem or other funky stuff.

--spiney 19:22, 16 Nov 2005 (CET)