Благодаря бесценной помощи @A.B мне удалось это исправить. Как он сказал, мое ядро (, вероятно, каждое ядро armbian SBC )не загружено usb_storage
как модуль, оно встроено -.
В этом случае нам нужно изменить параметры загрузки, которые видны под/proc/cmdline
:
root=UUID=b58.... rootfstype=ext4 console=tty1 console=ttyS0,115200 panic=10 consoleblank=0 loglevel=1 ubootpart=096d26e5-01 usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u cgroup_enable=memory swapaccount=1
В конце уже установлено usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u
. Мы не можем редактировать этот файл напрямую, в armbian эти опции хранятся в файле/boot/armbianEnv.txt
:
verbosity=1
console=both
overlay_prefix=sun50i-h5
overlays=usbhost1 usbhost2
rootdev=UUID=b58048d3-ca7b-4ea6-9812-95d403fddadd
rootfstype=ext4
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u
Поэтому я просто добавил свое устройство в последнюю строку как ,174c:55aa:u
, сделав его:
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u,174c:55aa:u
На всякий случай, если я повторно -запускаю update-initramfs -u
, и после перезагрузки USB HD теперь использует только usb-store
вместоuas
:
lsusb -t
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M
Как вы можете видеть здесь, uas
теперь должным образом занесен в черный список для устройства:
dmesg | grep "usb 5-1"
[ 2.308569] usb 5-1: new high-speed USB device number 2 using ehci-platform
[ 2.467087] usb 5-1: New USB device found, idVendor=174c, idProduct=55aa
[ 2.467106] usb 5-1: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[ 2.467117] usb 5-1: Product: ASM1153E
[ 2.467127] usb 5-1: Manufacturer: Inateck
[ 2.467137] usb 5-1: SerialNumber: 12345678910E
[ 2.468297] usb 5-1: UAS is blacklisted for this device, using usb-storage instead
У меня была аналогичная проблема в Debian 9, и мой ответ оказался очень похожим, но не совсем таким же:
(как корень:)
echo "options usb-storage quirks=4971:8017:u" >> /etc/modprobe.d/usb-storage-quirks.conf
update-initramfs -u
Идентификатор устройства 4971 :8017 — это корпус «SimpleTech» на базе Rosewill RX307 -PU3 -35B USB -3 диска, заявленный как поддерживающий UASB. По крайней мере, для некоторых дисков его приходится часто сбрасывать, что приводит к появлению множества тревожных сообщений в системном журнале, подобных этому:
Nov 16 13:12:10 guy kernel: [226970.895835] sd 8:0:0:0: [sda] tag#8 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD IN
Nov 16 13:12:10 guy kernel: [226970.895840] sd 8:0:0:0: [sda] tag#8 CDB: ATA command pass through(16) 85 08 0e 00 d0 00 01 00 00 00 4f 00 c2 00 b0 00
Nov 16 13:12:10 guy kernel: [226970.919935] scsi host8: uas_eh_device_reset_handler start
Nov 16 13:12:10 guy smartd[1079]: Device: /dev/sda [SAT], failed to read SMART Attribute Data
Nov 16 13:12:10 guy kernel: [226971.217025] scsi host8: uas_eh_device_reset_handler success
Nov 16 13:13:11 guy kernel: [227032.337409] sd 8:0:0:0: [sda] tag#8 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD IN
Nov 16 13:13:11 guy kernel: [227032.337412] sd 8:0:0:0: [sda] tag#8 CDB: ATA command pass through(16) 85 08 0e 00 d5 00 01 00 06 00 4f 00 c2 00 b0 00
Nov 16 13:13:11 guy kernel: [227032.361403] scsi host8: uas_eh_device_reset_handler start
Nov 16 13:13:12 guy smartd[1079]: Device: /dev/sda [SAT], Read SMART Self Test Log Failed
Nov 16 13:13:12 guy kernel: [227032.654494] scsi host8: uas_eh_device_reset_handler success
Странно, но, по крайней мере, для передачи больших объемов данных, теперь он работает быстрее, чем с драйвером uas!
В моем случае проблемы с вводом-выводом были вызваны недостаточным питанием от моего компьютера к адаптеру USB SATA3. Сообщения журнала выглядели так же, как здесь.
Игра с параметрами uas не помогла. Покупка концентратора USB3 с питанием решила проблему.