在 Linux 上喚醒休眠的外部 USB 儲存裝置?

在 Linux 上喚醒休眠的外部 USB 儲存裝置?

所以我買了一個 Seagate 外接 USB 儲存設備,它會在 90 分鐘後進入睡眠狀態。它的所有電源都來自 USB。
在 dmesg 中,會發生以下情況:

[Dom Jun 29 17:25:08 2014] sd 7:0:0:0: Attached scsi generic sg4 type 0
...
[Dom Jun 29 19:06:48 2014] sd 7:0:0:0: Device offlined - not ready after error recovery

不管這代表什麼,如果我拔掉插頭再插回去,它就可以正常運作。

有幾個答案談到sdparmhdparm保持驅動器清醒。
我正在尋找的是如何讓它在 15 分鐘不使用的情況下進入睡眠狀態,以及如何在不重新插入 USB 電纜的情況下將其喚醒?

當它「離線」時,這些/dev/sde資訊就會消失;它的條目lsusb也消失了。

dmesg 日誌;我把我認為相關的一切都放進去;我看到很多錯誤和問題;現在我不確定它是否真的要睡覺了?我還使用 2m 長的 USB 電纜。

dmesg -T |grep "sde\|7:0:0:0\|8-2:"

[Seg Jun 30 15:02:09 2014] usb 8-2: new high-speed USB device number 2 using xhci_hcd
[Seg Jun 30 15:02:09 2014] usb 8-2: New USB device found, idVendor=0bc2, idProduct=2300
[Seg Jun 30 15:02:09 2014] usb 8-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[Seg Jun 30 15:02:09 2014] usb 8-2: Product: Portable        
[Seg Jun 30 15:02:09 2014] usb 8-2: Manufacturer: Seagate 
[Seg Jun 30 15:02:09 2014] usb-storage 8-2:1.0: USB Mass Storage device detected
[Seg Jun 30 15:02:09 2014] usb-storage 8-2:1.0: Quirks match for vid 0bc2 pid 2300: 200000
[Seg Jun 30 15:02:09 2014] scsi7 : usb-storage 8-2:1.0
[Seg Jun 30 15:02:10 2014] scsi 7:0:0:0: Direct-Access     Seagate  Portable         0130 PQ: 0 ANSI: 4
[Seg Jun 30 15:02:10 2014] sd 7:0:0:0: Attached scsi generic sg4 type 0
[Seg Jun 30 15:02:10 2014] sd 7:0:0:0: [sde] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB)
[Seg Jun 30 15:02:10 2014] sd 7:0:0:0: [sde] Write Protect is off
[Seg Jun 30 15:02:10 2014] sd 7:0:0:0: [sde] Mode Sense: 2f 08 00 00
[Seg Jun 30 15:02:10 2014] sd 7:0:0:0: [sde] No Caching mode page found
[Seg Jun 30 15:02:10 2014] sd 7:0:0:0: [sde] Assuming drive cache: write back
[Seg Jun 30 15:02:10 2014]  sde: sde1 sde3
[Seg Jun 30 15:02:10 2014] sd 7:0:0:0: [sde] Attached SCSI disk
[Seg Jun 30 15:02:54 2014] FAT-fs (sde1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[Seg Jun 30 15:02:54 2014] EXT4-fs (sde3): mounted filesystem with ordered data mode. Opts: (null)
[Seg Jun 30 15:24:51 2014] sd 7:0:0:0: Device offlined - not ready after error recovery
[Seg Jun 30 15:24:51 2014] sd 7:0:0:0: [sde] Unhandled error code
[Seg Jun 30 15:24:51 2014] sd 7:0:0:0: [sde]  
[Seg Jun 30 15:24:51 2014] usb 8-2: USB disconnect, device number 2
[Seg Jun 30 15:24:51 2014] sd 7:0:0:0: [sde] CDB: 
[Seg Jun 30 15:24:51 2014] end_request: I/O error, dev sde, sector 1100056568
[Seg Jun 30 15:24:51 2014] EXT4-fs warning (device sde3): __ext4_read_dirblock:908: error reading directory block (ino 33032637, block 0)
[Seg Jun 30 15:24:51 2014] end_request: I/O error, dev sde, sector 0
[Seg Jun 30 15:24:51 2014] sd 7:0:0:0: [sde] Synchronizing SCSI cache
[Seg Jun 30 15:24:51 2014] sd 7:0:0:0: [sde]  
[Seg Jun 30 15:24:51 2014] Buffer I/O error on device sde3, logical block 119046144
[Seg Jun 30 15:24:51 2014] lost page write due to I/O error on sde3
[Seg Jun 30 15:24:51 2014] JBD2: Error -5 detected when updating journal superblock for sde3-8.

但使用後fsck,問題減少了:現在,在保持 sde3 卸載 10 小時後,如果我嘗試安裝它,它不會給出任何錯誤!但是,如果我忘記安裝它,一段時間後它會進入睡眠狀態(?),然後,如果我嘗試訪問它,我會收到一些錯誤,它會被卸載,它似乎會重新啟動但失敗,然後我被迫重新連接USB 電纜...所以問題似乎仍然與睡眠有關?不確定,我需要做更多測試,但我認為如果一段時間(在睡眠時間之前)沒有活動,它應該會自動卸載,以防止重新連接 USB 問題。

答案1

日誌中仍然沒有明顯的錯誤,但 CDB 錯誤除外,該錯誤是在阻止磁碟的錯誤復原之後發生的。所以我建議你安裝智慧監控工具並運行智慧控制在你的磁碟上。您應該運行擴展測試,這是最有幫助的,

 sudo smartctl -t log /dev/sde

如果您想了解 yu 可以運行多長時間的估計,這將需要一些時間

 sudo smartctl -c /dev/sde

第一個命令,它會告訴你需要多長時間。

很明顯,您的磁碟離線不是由於睡眠命令的結果,而是由於不可恢復的錯誤。 smartctl 將幫助您找到磁碟上的所有錯誤,我們已經確定其中有許多錯誤。

相關內容