Le Wed, 30 Apr 2008 13:32:23 -0400,
"Martin K. Petersen" <[EMAIL PROTECTED]> :

Hello,

> >>>>> "phk" == Poul-Henning Kamp <[EMAIL PROTECTED]> writes:
> 
> phk> The UDMA33/UDMA66 cable recognition depends on one particular
> phk> wire to be not connected as far as I recall.  My guess is that
> phk> soren connected that.
> 
> It's up to the system BIOS to configure this depending on whether pin
> 34 in the cable connector is grounded or not.
> 
> Last I looked Søren returned 0 in both config register bits for
> 80-wire cable (IDE_CFG[17:16]).
> 
> Assuming the wiring is in place on the board, the correct solution
> would be for comBIOS to set the appropriate bit to 1 when the SATA
> bridge is being used.

I think this is the problem. 

The wiring on the board seems ok. I removed the check of the cable in
the FreeBSD ata driver and i'm able to use UDMA100 without any problem
(the box survived to a 'make buildworld' and some copies of large
files).

A quick test with dd shows me some improvements, around 26 MB/s in
UDMA33, 33 MB/s in UDMA66/UDMA100.

Many thanks for yours replies.
Best regards.

------ FreeBSD 7-STABLE sys/dev/ata/ata-chipset.c

--- ata-chipset.c.bak   2008-04-30 19:30:49.000000000 +0200
+++ ata-chipset.c       2008-04-30 19:44:16.000000000 +0200
@@ -5821,6 +5821,7 @@ ata_check_80pin(device_t dev, int mode)
 {
     struct ata_device *atadev = device_get_softc(dev);
 
+    return mode;
     if (mode > ATA_UDMA2 && !(atadev->param.hwres & ATA_CABLE_ID)) {
        ata_print_cable(dev, "device");
        mode = ATA_UDMA2;

_______________________________________________
Soekris-tech mailing list
[email protected]
http://lists.soekris.com/mailman/listinfo/soekris-tech

Reply via email to