Re: Kernel 2.6.37 erroneously limiting to UDMA/33
From: Stephen Clark <hidden>
Date: 2011-01-06 15:29:34
Also in:
lkml
On 01/06/2011 05:30 AM, Andreas Mohr wrote:
Hi, Robert Hancock wrote:quoted
On 01/05/2011 12:33 PM, Stephen Clark wrote:quoted
Hello, Why is the kernel limiting me to udma/33 when the device says it can do ata2.01: CFA: TRANSCEND, 20070831, max UDMA/66 There is no cable the compact flash is a socket on the motherboard!The kernel has no way to know that, and presumably the board isn't connecting the signal for IDE pin 34 to ground in order to properly signal that an 80-wire cable (or equivalent) is connected so that speeds over UDMA33 can be used. You should be able to use the libata.force=80c option on the kernel command line to override the cable detection.Further comments for the OP: If 80c happens to be correct for this machine (since it's soldered it's quite obvious) and the machine is quite wide-spread, perhaps one needs to add overrides within drivers/ata/pata_via.c/via_cable_detect() functionality, analogous to the ata_piix.c/ich_pata_cable_detect() case where it uses an entire ich_laptop device list to match against, to detect special 80c compatible cases. But since pata_via.c has the insightful comment "Perform cable detection. Actually for the VIA case the BIOS already did this for us." it looks like your BIOS might be considered "broken" due to not indicating 80c for such a solder job --> BIOS upgrade available?
Will check. The machine is an Acrosser AR-M0898B micro box, for use such as a firewall, vpn appliance, etc.
And perhaps better avoid mentioning a specific kernel in the subject line unless it's a regression (which likely isn't the case here), or write it like "..... (on 2.6.XXX)".
Good point.
Andreas Mohr
-- "They that give up essential liberty to obtain temporary safety, deserve neither liberty nor safety." (Ben Franklin) "The course of history shows that as a government grows, liberty decreases." (Thomas Jefferson)