Raspberry Pi で USB接続のSSDが不安定な場合、UASP(USB Attached SCSI Protocol)というUSBを高速化するための仕組が正常に機能していないかも知れない。
以下コマンドで、UASPが有効かどうか確認。
1 2 3 4 5 6 7 8 9 10 |
pi@raspberrypi:~ $ lsusb Bus 002 Device 002: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS567 SATA 6Gb/s bridge Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub pi@raspberrypi:~ $ lsusb -t /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M |
”Bus 02.port 2″のデバイスのドライバが”uas”になっています。
特定デバイスでUASPを無効にする方法は、いくつかあるのだと思いますが、ブートオプションで無効にする方法を紹介します。
”/boot/cmdline.txt”の末尾に、”usb-storage.quirks=152d:0578:u”と追記します。
”152d:0578″の部分は”lsusb”で確認したデバイスIDに適宜変えます。
1 |
sudo nano /boot/cmdline.txt |
1 |
console=serial0,115200 console=tty1 root=PARTUUID=12345678-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles usb-storage.quirks=152d:0578:u |
無効化されたか、再起動して確認します。
1 2 3 4 5 |
pi@raspberrypi:~ $ lsusb -t /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M |
”Bus 02.port 2″のデバイスのドライバが”usb-storage”になっていれば成功です。