0

I am running a 3ware 9650SE RAID in Fedora. I would like to be able to manually suspend & wake (power off & on) the RAID only. The system does not reside on the RAID. How can I do this? I assume that this has to be possible because suspend & wake work just fine when the complete system goes to suspend. PS: ACPI is enabled.

What I already tried:

The 3ware CLI tw_cli does not seem to provide a suspend command, according to: http://www.cyberciti.biz/files/tw_cli.8.html

echo -n "auto" > /sys/devices/.../power/control has no effect

echo -n 0 > /sys/devices/.../power/autosuspend_delay_ms returns an IO error, which means it is not supported, according to: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-devices-power

unbinding the driver from the device according to: How can I tell Windows or Linux to put a specific (PCI[e]) device into sleep/off (D3) state? with: echo -n "0000:02:00.0" > /sys/bus/pci/drivers/3w-9xxx/unbind "unplugs" the RAID, but does not suspend it

echo -n "1" > /sys/devices/.../remove does not have the desired effect

I have not yet tried to switch the PCI power state from D0 to D3 manually with setpci because I do not know how to do that.

lspci returns the following device information:

02:00.0 RAID bus controller: 3ware Inc 9650SE SATA-II RAID PCIe (rev 01)
Subsystem: 3ware Inc 9650SE SATA-II RAID PCIe
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 16
Region 0: Memory at e4000000 (64-bit, prefetchable) [size=32M]
Region 2: Memory at e7000000 (64-bit, non-prefetchable) [size=4K]
Region 4: I/O ports at a000 [size=256]
[virtual] Expansion ROM at e6000000 [disabled] [size=128K]
Capabilities: [40] Power Management version 2
    Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
    Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] MSI: Enable- Count=1/32 Maskable- 64bit+
    Address: 0000000000000000  Data: 0000
Capabilities: [70] Express (v1) Legacy Endpoint, MSI 00
    DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <128ns, L1 <2us
        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
    DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
        MaxPayload 128 bytes, MaxReadReq 512 bytes
    DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr- TransPend-
    LnkCap: Port #0, Speed 2.5GT/s, Width x8, ASPM L0s L1, Exit Latency L0s <512ns, L1 <64us
        ClockPM- Surprise- LLActRep+ BwNot-
    LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- CommClk-
        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
    LnkSta: Speed 2.5GT/s, Width x4, TrErr- Train- SlotClk- DLActive+ BWMgmt- ABWMgmt-
Capabilities: [100 v1] Advanced Error Reporting
    UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
    UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
    UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
    CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
    CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
    AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
Kernel driver in use: 3w-9xxx

I would appeciate your help.

1 Answer 1

0

I just found a solution myself: for all drives...

sudo smartctl -d 3ware,0 -s standby,now /dev/twa0

The only important thing is to make sure the RAID is not accessed. Otherwise the drives will come back online automatically.

Reference: http://smartmontools.sourceforge.net/man/smartctl.8.html

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .