I didn't hear back from anyone on this and am replying to give it a second chance.... If this is not the right mailing list for questions like this please let me know and I will move the discussion elsewhere. Thanks, Tim On Sep 8, 2011, at 8:35 PM, Tim Nufire wrote: > Hello, > > A quick update on this... With the help of Mark Lord from the hdparm team I found the following code in libata-core.c which should do what I need: > > if (!tried_spinup && (id[2] == 0x37c8 || id[2] == 0x738c)) { > tried_spinup = 1; > /* > * Drive powered-up in standby mode, and requires a specific > * SET_FEATURES spin-up subcommand before it will accept > * anything other than the original IDENTIFY command. > */ > err_mask = ata_dev_set_feature(dev, SETFEATURES_SPINUP, 0); > if (err_mask && id[2] != 0x738c) { > rc = -EIO; > reason = "SPINUP failed"; > goto err_out; > } > /* > * If the drive initially returned incomplete IDENTIFY info, > * we now must reissue the IDENTIFY command. > */ > if (id[2] == 0x37c8) > goto retry; > } > > I've verified that this is in 2.6.32 but it isn't working on my system which uses Silicon Image port multipliers to connect 45 drives. On a hunch, I downgraded to Debian 4 with 2.6.26 and everything working as expected... This means that either something broke between 2.6.26 and 2.6.32 *or* the Debian team is compiling the kernel without support for this. > > Does anyone have a guess as to what's going on here? > > Thanks! > > Tim > > > On Sep 1, 2011, at 2:34 PM, Tim Nufire wrote: > >> Hello, >> >> I'm using 3TB Hitachi Deskstar 5K3000 drives in a custom 45 drive high density enclosure (http://blog.backblaze.com/2011/07/20/petabytes-on-a-budget-v2-0revealing-more-secrets) and need to limit the inrush current at startup by stagger the drive spin-up. Since I can't control drive power through by backplanes, the best way to do this appears to be by enabling the Power-Up In Standby feature on the drives via 'hdparm -s1'. Unfortunately this is not working for me.... >> >> I believe the problem I'm having is that the Hitachi Deskstar 5K3000 drives require a SET FEATURES subcommand to spin-up to active state when the device has powered-up into Standby. I'm getting this from section 9.1 in the following spec: >> >> http://www.hitachigst.com/tech/techlib.nsf/techdocs/FFDF1FA949853DBD8825785A005CBC55/$file/DS5K3000_US5K3000_OEMSpecRev1.1.pdf >> >> Section 4.17 in the ATA spec that I found at http://t13.org/Documents/UploadedDocuments/docs2006/D1699r3f-ATA8-ACS.pdf says the following: >> >> A device may implement a SET FEATURES subcommand that notifies the device to spin-up to the Active state when the >> device has powered-up into Standby. If the device implements this SET FEATURES subcommand and power-up into Standby >> is enabled, the device shall remain in Standby until the SET FEATURES subcommand is received. If the device implements >> this SET FEATURES subcommand, the fact that the feature is implemented is reported in the IDENTIFY DEVICE or IDENTIFY >> PACKET DEVICE data. >> . >> . >> . >> If the device does not implement the SET FEATURES subcommand to spin-up the device after power-up and power-up into >> Standby is enabled, the device shall spin-up upon receipt of the first command that requires the device to access the >> media. >> >> Section 7.47.8 then says: >> >> Subcommand code 07h shall cause a device that has powered-up into Standby to go to the Active state (see 4.17 and figure 7). >> >> From this I'm concluding the following: >> >> 1) Not all drives require the spin up subcommand which explains why this works for some drives >> >> 2) Our Hitachi drives require this command and the libATA drivers don't appear to support it >> >> Is this right? If so, is there a reason why the libATA does not support this feature? I'm running Debian 5 with a 2.6.32 kernel... Has this been implemented upstream? Would this be a feature hard to add/backport? >> >> Thanks, >> Tim-- >> To unsubscribe from this list: send the line "unsubscribe linux-ide" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- > To unsubscribe from this list: send the line "unsubscribe linux-ide" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html