Raspbian:USB 裝置電源循環後 USB 儲存裝置名稱變化

Raspbian:USB 裝置電源循環後 USB 儲存裝置名稱變化

我在連接了兩個 USB 儲存裝置的 Raspberry PI 上執行 Raspbian 7.4。此 Raspberry PI 將在電源故障期間保持運行,因為它連接了控制台電纜,可提供連續的電源。

我的問題是,當我的房子停電時,Raspberry PI 會看到 USB 儲存裝置消失「USB disconnect」訊息,但是當電源恢復並且 USB 裝置重新連接時,它們會被分配新的裝置名稱。

問題是mount顯示的磁碟機及其先前的裝置名稱已不再存在。此時,任何使用磁碟機安裝點名稱存取磁碟機的嘗試都會失敗,並出現 I/O 錯誤。我必須手動umount重新安裝驅動器。

我使用磁碟機的 UUID 來/etc/fstab避免裝置名稱出現任何問題,並保持磁碟機安裝到安裝點的方式的一致性。

我是否應該使用udev規則為每個磁碟機使用磁碟機的唯一序號建立 SYMLINK 別名,並將其變更/etc/fstab為使用這些磁碟機別名而不是 UUID 進行安裝?

下面的系統日誌顯示磁碟機消失然後返回為sdcsdd。他們是sdasdb停電之前。

當然,我可以將 USB 驅動器放在小型 UPS 上,無論如何我可能都會這樣做,但我想知道處理此類問題的最佳方法,即具有一致的 USB 磁碟裝置命名。

Dec 31 06:45:46 raspberrypi kernel: [8332934.611538] smsc95xx 1-1.1:1.0 eth0: link down
Dec 31 06:45:47 raspberrypi ifplugd(eth0)[27446]: Link beat lost.
Dec 31 06:45:48 raspberrypi kernel: [8332935.871532] usb 1-1.2.3: USB disconnect, device number 47
Dec 31 06:45:48 raspberrypi kernel: [8332936.048631] usb 1-1.2.4: USB disconnect, device number 48
Dec 31 06:45:57 raspberrypi ifplugd(eth0)[27446]: Executing '/etc/ifplugd/ifplugd.action eth0 down'.
Dec 31 06:45:57 raspberrypi ifplugd(eth0)[27446]: client: /sbin/ifdown: interface eth0 not configured
Dec 31 06:45:57 raspberrypi ifplugd(eth0)[27446]: Program executed successfully.
Dec 31 06:46:22 raspberrypi kernel: [8332970.159145] usb 1-1.2.3: new high-speed USB device number 52 using dwc_otg
Dec 31 06:46:22 raspberrypi kernel: [8332970.176208] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
Dec 31 06:46:22 raspberrypi kernel: [8332970.261060] usb 1-1.2.3: New USB device found, idVendor=0480, idProduct=d010
Dec 31 06:46:22 raspberrypi kernel: [8332970.261096] usb 1-1.2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Dec 31 06:46:22 raspberrypi kernel: [8332970.261111] usb 1-1.2.3: Product: External USB 3.0
Dec 31 06:46:22 raspberrypi kernel: [8332970.261128] usb 1-1.2.3: Manufacturer: TOSHIBA
Dec 31 06:46:22 raspberrypi kernel: [8332970.261142] usb 1-1.2.3: SerialNumber: 20131223xxxxxx
Dec 31 06:46:22 raspberrypi kernel: [8332970.267325] usb-storage 1-1.2.3:1.0: USB Mass Storage device detected
Dec 31 06:46:22 raspberrypi kernel: [8332970.268372] scsi16 : usb-storage 1-1.2.3:1.0
Dec 31 06:46:22 raspberrypi kernel: [8332970.509204] usb 1-1.2.4: new high-speed USB device number 53 using dwc_otg
Dec 31 06:46:22 raspberrypi kernel: [8332970.611100] usb 1-1.2.4: New USB device found, idVendor=0480, idProduct=d010
Dec 31 06:46:22 raspberrypi kernel: [8332970.611136] usb 1-1.2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Dec 31 06:46:22 raspberrypi kernel: [8332970.611154] usb 1-1.2.4: Product: External USB 3.0
Dec 31 06:46:22 raspberrypi kernel: [8332970.611171] usb 1-1.2.4: Manufacturer: TOSHIBA
Dec 31 06:46:22 raspberrypi kernel: [8332970.611186] usb 1-1.2.4: SerialNumber: 20131223xxxxxx
Dec 31 06:46:22 raspberrypi kernel: [8332970.612810] usb-storage 1-1.2.4:1.0: USB Mass Storage device detected
Dec 31 06:46:22 raspberrypi kernel: [8332970.616236] scsi17 : usb-storage 1-1.2.4:1.0
Dec 31 06:46:23 raspberrypi ifplugd(eth0)[27446]: Link beat detected.

Dec 31 06:46:31 raspberrypi kernel: [8332979.800679] scsi 17:0:0:0: Direct-Access     TOSHIBA  External USB 3.0 0201 PQ: 0 ANSI: 6
Dec 31 06:46:31 raspberrypi kernel: [8332979.803181] sd 17:0:0:0: Attached scsi generic sg0 type 0
Dec 31 06:46:31 raspberrypi kernel: [8332979.804978] sd 17:0:0:0: [sdc] Very big device. Trying to use READ CAPACITY(16).
Dec 31 06:46:32 raspberrypi kernel: [8332979.828186] sd 17:0:0:0: [sdc] 732566645 4096-byte logical blocks: (3.00 TB/2.72 TiB)
Dec 31 06:46:32 raspberrypi kernel: [8332979.828999] sd 17:0:0:0: [sdc] Write Protect is off
Dec 31 06:46:32 raspberrypi kernel: [8332979.829037] sd 17:0:0:0: [sdc] Mode Sense: 2b 00 00 00
Dec 31 06:46:32 raspberrypi kernel: [8332979.831227] sd 17:0:0:0: [sdc] Write cache: disabled, read cache: enabled, doesn't sup
port DPO or FUA
Dec 31 06:46:32 raspberrypi kernel: [8332979.834218] sd 17:0:0:0: [sdc] 732566645 4096-byte logical blocks: (3.00 TB/2.72 TiB)
Dec 31 06:46:32 raspberrypi kernel: [8332979.865016]  sdc: sdc1
Dec 31 06:46:32 raspberrypi kernel: [8332979.871007] sd 17:0:0:0: [sdc] 732566645 4096-byte logical blocks: (3.00 TB/2.72 TiB)
Dec 31 06:46:32 raspberrypi kernel: [8332979.872197] sd 17:0:0:0: [sdc] Attached SCSI disk
Dec 31 06:46:32 raspberrypi kernel: [8332980.064257] scsi 16:0:0:0: Direct-Access     TOSHIBA  External USB 3.0 0201 PQ: 0 ANSI: 6
Dec 31 06:46:32 raspberrypi kernel: [8332980.065680] sd 16:0:0:0: Attached scsi generic sg1 type 0
Dec 31 06:46:32 raspberrypi kernel: [8332980.067627] sd 16:0:0:0: [sdd] Very big device. Trying to use READ CAPACITY(16).
Dec 31 06:46:32 raspberrypi kernel: [8332980.092080] sd 16:0:0:0: [sdd] 732566645 4096-byte logical blocks: (3.00 TB/2.72 TiB)
Dec 31 06:46:32 raspberrypi kernel: [8332980.092708] sd 16:0:0:0: [sdd] Write Protect is off

答案1

如果 Pi 和供電儲存設備都在 UPS 上,您的問題就可以解決。

這是 /media 的常見問題。如果在拔下然後重新插入(或斷開儲存設備電源然後重新啟動儲存設備)之前它尚未清除快取(通常需要重新啟動),它將採用分配的名稱並開始添加數字。


相反,有一件事始終保持不變:與(第一個)Arduino Nano 的USB 連接始終命名為/dev/ttyUSB0,與Arduino Uno 的(第一個)USB 連接是/dev/ttyACM0 ——它們在拔下插頭後就會消失然後重新插入電源後立即返回。

混淆它們的唯一方法是,如果您有多個相同類型(Nano 或 Uno),並且您以與最初不同的順序重新插入它們。

這僅在 Rpi 上的 Arduino IDE 中重要,因為如果您有多個相同類型的設備,除了知道插入它們的順序之外,沒有其他方法可以區分它們。

如果你忘記了,那麼關閉IDE,拔掉它們,然後使用

ls /dev/tty*

反覆觀察當您重新插入它們時會發生什麼變化。

然後您可以重新啟動 IDE,它們將顯示為可用連接埠。

相關內容