Re: Hack to fix not working spindown over Firewire

Stefan Richter
2008-05-10T15:32:19Z

I wrote:
> 1) FireWire to IDE or to SATA chipset
> 2) start bit is honored:
> "sg_start --stop" stops the motor and "sg_start" restarts it
> 3) power condition field is honored:
> "sg_start --pc=3" stops the motor and "sg_start --pc=1 restarts it
> 4) peripheral device type claimed by the firmware
> 5) vendor and model of the enclosure
>
>
> 1) 2) 3) 4) 5)
> bridge start pc PDT enclosure
> --------------------------------------------------------------
> INIC-2430 yes yes SBC AVLAB 2.5" Drive Kit
> INIC-2430 yes yes SBC IOI FWB-IDE01AB, 1 HDD
> INIC-2430 yes yes SBC IOI FWB-IDE01AB, 2 HDDs, JBOD
>
> OXFW911 yes yes RBC MacPower Icecube
> OXUF922 yes yes RBC MacPower Icecube 800+
> OXFW912 yes yes RBC MacPower Igloo
> OXFW912 yes yes RBC VulcanTech DualDrive 2nd gen.
> OXUF924DSB yes yes SBC MacPower Taurus, 1 HDD
> OXUF924DSB no no SBC MacPower Taurus, 2 HDDs, JBOD
>
> PL-3507 no no RBC MacPower Prefect II ¹

PL-3507 no yes RBC Mapower MAP-KC21C1 ²

> TSB42AA9 no yes SBC DViCO MomoBay CX-1
> TSB42AA9A yes yes RBC DViCO MomoBay FX-3A

EFI firmware no no RBC Apple Mac mini x86 in target mode ³

¹) As mentioned, with firmware from MacPower.

²) Same firmware_revision as with Tino's disk, i.e. apparently firmware
from Prolific. Same findings as Tino's:
"sg_start --stop" is accepted but does not stop the motor.
"sg_start --pc=3" or "=2" stop the motor.
"sg_start --pc=1" or a read command restarts the motor.
"sg_start" does not restart the motor.

³) "sg_start --stop" is accepted but does not stop the motor.
"sg_start --pc=3" or "=1" fails with "invalid field in cdb".
This is of course against the spec, because RBC includes power
condition.

Moreover, when OS X shuts down, it apparently sends START STOP UNIT
without power condition to FireWire disks. Therefore we also should
rather _not_ use power condition per default.

I will send a patch which uses the power condition field only for
PL-3507 and DViCO CX-1.
--
Stefan Richter
-=====-==--- -=-= -=-=-