Debian + USB3 HDD + UAS: I/O errors

Clash Royale CLAN TAG#URR8PPP
up vote
3
down vote
favorite
I'm running rsync to backup a remote machine to a USB hard drive on an ARM SBC and sometimes rsync just stops with "read error from input device (I/O error)". I believe the issue is related to UAS + USB 3.0 + rsync causing high I/O load, because of uas_eh_device_reset_handler on /var/log/messages:
sd 0:0:0:0: [sda] tag#1 data cmplt err -32 uas-tag 2 inflight:
sd 0:0:0:0: [sda] tag#1 CDB: opcode=0x28 28 00 38 80 0a 68 00 00 a0 00
sd 0:0:0:0: [sda] tag#0 data cmplt err -32 uas-tag 1 inflight: CMD
sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x2a 2a 00 57 50 28 78 00 03 00 00
sd 0:0:0:0: [sda] tag#1 uas_eh_abort_handler 0 uas-tag 2 inflight: CMD
sd 0:0:0:0: [sda] tag#1 CDB: opcode=0x28 28 00 38 80 0a 68 00 00 a0 00
sd 0:0:0:0: [sda] tag#2 uas_eh_abort_handler 0 uas-tag 3 inflight: CMD
sd 0:0:0:0: [sda] tag#2 CDB: opcode=0x2a 2a 00 19 47 7f 20 00 00 90 00
sd 0:0:0:0: [sda] tag#0 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD
sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x2a 2a 00 57 50 28 78 00 03 00 00
scsi host0: uas_eh_device_reset_handler start
usb 5-1: reset high-speed USB device number 2 using ehci-platform
scsi host0: uas_eh_device_reset_handler success
sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x00 driverbyte=0x08
sd 0:0:0:0: [sda] tag#0 Sense Key : 0x2 [current]
sd 0:0:0:0: [sda] tag#0 ASC=0x3a ASCQ=0x0
sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x2a 2a 00 57 50 28 78 00 03 00 00
sd 0:0:0:0: [sda] tag#1 UNKNOWN(0x2003) Result: hostbyte=0x00 driverbyte=0x08
sd 0:0:0:0: [sda] tag#1 Sense Key : 0x2 [current]
sd 0:0:0:0: [sda] tag#1 ASC=0x3a ASCQ=0x0
sd 0:0:0:0: [sda] tag#1 CDB: opcode=0x2a 2a 00 19 47 7f 20 00 00 90 00
EXT4-fs warning (device sda1): ext4_end_bio:323: I/O error 10 writing to inode 13001563 (offset 0 size 73728 starting block 53014518)
This SBC doesn't have a USB 3 port, however it still loads the hard drive with UAS. According to this, UAS is broken on some HD enclosure chips. The solution provided is to disable UAS, however:
1- If I blacklist UAS completely with blacklist uas into /etc/modprobe.d/blacklist-uas.conf I get:
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=, 480M
Looking at Class=Mass Storage, Driver=, 480M => seems like the system doesn't load any other way to deal with the drive.
2- If I just try to disable UAS for a specific USB device, like the post recommended, it still loads with UAS:
echo options usb-storage quirks=174c:55aa:u | tee /etc/modprobe.d/blacklist-uas.conf
update-initramfs -u
reboot
(...)
dmesg | grep sda
[ 2.488105] sd 0:0:0:0: [sda] 2930277168 512-byte logical blocks: (1.50 TB/1.36 TiB)
[ 2.488584] sd 0:0:0:0: [sda] Write Protect is off
[ 2.488592] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
[ 2.489335] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 2.539288] sda: sda1
[ 2.543875] sd 0:0:0:0: [sda] Attached SCSI disk
[ 6.898109] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: errors=remount-ro,data=ordered
lsusb | grep ASMedia
Bus 005 Device 002: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge
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=uas, 480M
What am I doing wrong? Is it possible to disable UAS and make the system still use the HD any other way? Why does options usb-storage quirks=174c:55aa:u doesn't disable UAS as it should?
Thank you.
Some notes:
- OS: Debian GNU/Linux 9.4 (stretch) kernel
4.14.18-sunxi64from armbian - SBC: NanoPi NEO2
debian usb-drive modprobe
add a comment |Â
up vote
3
down vote
favorite
I'm running rsync to backup a remote machine to a USB hard drive on an ARM SBC and sometimes rsync just stops with "read error from input device (I/O error)". I believe the issue is related to UAS + USB 3.0 + rsync causing high I/O load, because of uas_eh_device_reset_handler on /var/log/messages:
sd 0:0:0:0: [sda] tag#1 data cmplt err -32 uas-tag 2 inflight:
sd 0:0:0:0: [sda] tag#1 CDB: opcode=0x28 28 00 38 80 0a 68 00 00 a0 00
sd 0:0:0:0: [sda] tag#0 data cmplt err -32 uas-tag 1 inflight: CMD
sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x2a 2a 00 57 50 28 78 00 03 00 00
sd 0:0:0:0: [sda] tag#1 uas_eh_abort_handler 0 uas-tag 2 inflight: CMD
sd 0:0:0:0: [sda] tag#1 CDB: opcode=0x28 28 00 38 80 0a 68 00 00 a0 00
sd 0:0:0:0: [sda] tag#2 uas_eh_abort_handler 0 uas-tag 3 inflight: CMD
sd 0:0:0:0: [sda] tag#2 CDB: opcode=0x2a 2a 00 19 47 7f 20 00 00 90 00
sd 0:0:0:0: [sda] tag#0 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD
sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x2a 2a 00 57 50 28 78 00 03 00 00
scsi host0: uas_eh_device_reset_handler start
usb 5-1: reset high-speed USB device number 2 using ehci-platform
scsi host0: uas_eh_device_reset_handler success
sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x00 driverbyte=0x08
sd 0:0:0:0: [sda] tag#0 Sense Key : 0x2 [current]
sd 0:0:0:0: [sda] tag#0 ASC=0x3a ASCQ=0x0
sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x2a 2a 00 57 50 28 78 00 03 00 00
sd 0:0:0:0: [sda] tag#1 UNKNOWN(0x2003) Result: hostbyte=0x00 driverbyte=0x08
sd 0:0:0:0: [sda] tag#1 Sense Key : 0x2 [current]
sd 0:0:0:0: [sda] tag#1 ASC=0x3a ASCQ=0x0
sd 0:0:0:0: [sda] tag#1 CDB: opcode=0x2a 2a 00 19 47 7f 20 00 00 90 00
EXT4-fs warning (device sda1): ext4_end_bio:323: I/O error 10 writing to inode 13001563 (offset 0 size 73728 starting block 53014518)
This SBC doesn't have a USB 3 port, however it still loads the hard drive with UAS. According to this, UAS is broken on some HD enclosure chips. The solution provided is to disable UAS, however:
1- If I blacklist UAS completely with blacklist uas into /etc/modprobe.d/blacklist-uas.conf I get:
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=, 480M
Looking at Class=Mass Storage, Driver=, 480M => seems like the system doesn't load any other way to deal with the drive.
2- If I just try to disable UAS for a specific USB device, like the post recommended, it still loads with UAS:
echo options usb-storage quirks=174c:55aa:u | tee /etc/modprobe.d/blacklist-uas.conf
update-initramfs -u
reboot
(...)
dmesg | grep sda
[ 2.488105] sd 0:0:0:0: [sda] 2930277168 512-byte logical blocks: (1.50 TB/1.36 TiB)
[ 2.488584] sd 0:0:0:0: [sda] Write Protect is off
[ 2.488592] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
[ 2.489335] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 2.539288] sda: sda1
[ 2.543875] sd 0:0:0:0: [sda] Attached SCSI disk
[ 6.898109] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: errors=remount-ro,data=ordered
lsusb | grep ASMedia
Bus 005 Device 002: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge
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=uas, 480M
What am I doing wrong? Is it possible to disable UAS and make the system still use the HD any other way? Why does options usb-storage quirks=174c:55aa:u doesn't disable UAS as it should?
Thank you.
Some notes:
- OS: Debian GNU/Linux 9.4 (stretch) kernel
4.14.18-sunxi64from armbian - SBC: NanoPi NEO2
debian usb-drive modprobe
The option doesn't actually apply to the uas module: it applies to the usb_storage module. Is that a stock Debian kernel? 1/ are you sure usb_storage is a module and not built-in? 2/ built-in = you have to adapt & move the option to the kernel boot 3/ if a module: if the module is loaded at the initramfs phase, reboot is not enough. You have to rebuild the initramfs. usually with update-initramfs -u -k $(uname -r). Some ARM bootloaders after this require an other step (mkimage)
â A.B
May 4 at 6:34
I red rebuild the image usingupdate-initramfs -u. The kernel is4.14.18-sunxi64from armbian.usb_storagedoesn't show underlsmodso I guess it is build in. How should I "move the option to the kernel boot"? Thank you.
â TCB13
May 4 at 11:47
@A.B from what I've read here I can possible tryecho "174c:55aa:u" >/sys/module/usb_storage/parameters/quirksbut how permanent is this? Will it survive a reboot? If no, where should I put it?
â TCB13
May 4 at 12:01
add a comment |Â
up vote
3
down vote
favorite
up vote
3
down vote
favorite
I'm running rsync to backup a remote machine to a USB hard drive on an ARM SBC and sometimes rsync just stops with "read error from input device (I/O error)". I believe the issue is related to UAS + USB 3.0 + rsync causing high I/O load, because of uas_eh_device_reset_handler on /var/log/messages:
sd 0:0:0:0: [sda] tag#1 data cmplt err -32 uas-tag 2 inflight:
sd 0:0:0:0: [sda] tag#1 CDB: opcode=0x28 28 00 38 80 0a 68 00 00 a0 00
sd 0:0:0:0: [sda] tag#0 data cmplt err -32 uas-tag 1 inflight: CMD
sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x2a 2a 00 57 50 28 78 00 03 00 00
sd 0:0:0:0: [sda] tag#1 uas_eh_abort_handler 0 uas-tag 2 inflight: CMD
sd 0:0:0:0: [sda] tag#1 CDB: opcode=0x28 28 00 38 80 0a 68 00 00 a0 00
sd 0:0:0:0: [sda] tag#2 uas_eh_abort_handler 0 uas-tag 3 inflight: CMD
sd 0:0:0:0: [sda] tag#2 CDB: opcode=0x2a 2a 00 19 47 7f 20 00 00 90 00
sd 0:0:0:0: [sda] tag#0 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD
sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x2a 2a 00 57 50 28 78 00 03 00 00
scsi host0: uas_eh_device_reset_handler start
usb 5-1: reset high-speed USB device number 2 using ehci-platform
scsi host0: uas_eh_device_reset_handler success
sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x00 driverbyte=0x08
sd 0:0:0:0: [sda] tag#0 Sense Key : 0x2 [current]
sd 0:0:0:0: [sda] tag#0 ASC=0x3a ASCQ=0x0
sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x2a 2a 00 57 50 28 78 00 03 00 00
sd 0:0:0:0: [sda] tag#1 UNKNOWN(0x2003) Result: hostbyte=0x00 driverbyte=0x08
sd 0:0:0:0: [sda] tag#1 Sense Key : 0x2 [current]
sd 0:0:0:0: [sda] tag#1 ASC=0x3a ASCQ=0x0
sd 0:0:0:0: [sda] tag#1 CDB: opcode=0x2a 2a 00 19 47 7f 20 00 00 90 00
EXT4-fs warning (device sda1): ext4_end_bio:323: I/O error 10 writing to inode 13001563 (offset 0 size 73728 starting block 53014518)
This SBC doesn't have a USB 3 port, however it still loads the hard drive with UAS. According to this, UAS is broken on some HD enclosure chips. The solution provided is to disable UAS, however:
1- If I blacklist UAS completely with blacklist uas into /etc/modprobe.d/blacklist-uas.conf I get:
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=, 480M
Looking at Class=Mass Storage, Driver=, 480M => seems like the system doesn't load any other way to deal with the drive.
2- If I just try to disable UAS for a specific USB device, like the post recommended, it still loads with UAS:
echo options usb-storage quirks=174c:55aa:u | tee /etc/modprobe.d/blacklist-uas.conf
update-initramfs -u
reboot
(...)
dmesg | grep sda
[ 2.488105] sd 0:0:0:0: [sda] 2930277168 512-byte logical blocks: (1.50 TB/1.36 TiB)
[ 2.488584] sd 0:0:0:0: [sda] Write Protect is off
[ 2.488592] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
[ 2.489335] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 2.539288] sda: sda1
[ 2.543875] sd 0:0:0:0: [sda] Attached SCSI disk
[ 6.898109] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: errors=remount-ro,data=ordered
lsusb | grep ASMedia
Bus 005 Device 002: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge
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=uas, 480M
What am I doing wrong? Is it possible to disable UAS and make the system still use the HD any other way? Why does options usb-storage quirks=174c:55aa:u doesn't disable UAS as it should?
Thank you.
Some notes:
- OS: Debian GNU/Linux 9.4 (stretch) kernel
4.14.18-sunxi64from armbian - SBC: NanoPi NEO2
debian usb-drive modprobe
I'm running rsync to backup a remote machine to a USB hard drive on an ARM SBC and sometimes rsync just stops with "read error from input device (I/O error)". I believe the issue is related to UAS + USB 3.0 + rsync causing high I/O load, because of uas_eh_device_reset_handler on /var/log/messages:
sd 0:0:0:0: [sda] tag#1 data cmplt err -32 uas-tag 2 inflight:
sd 0:0:0:0: [sda] tag#1 CDB: opcode=0x28 28 00 38 80 0a 68 00 00 a0 00
sd 0:0:0:0: [sda] tag#0 data cmplt err -32 uas-tag 1 inflight: CMD
sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x2a 2a 00 57 50 28 78 00 03 00 00
sd 0:0:0:0: [sda] tag#1 uas_eh_abort_handler 0 uas-tag 2 inflight: CMD
sd 0:0:0:0: [sda] tag#1 CDB: opcode=0x28 28 00 38 80 0a 68 00 00 a0 00
sd 0:0:0:0: [sda] tag#2 uas_eh_abort_handler 0 uas-tag 3 inflight: CMD
sd 0:0:0:0: [sda] tag#2 CDB: opcode=0x2a 2a 00 19 47 7f 20 00 00 90 00
sd 0:0:0:0: [sda] tag#0 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD
sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x2a 2a 00 57 50 28 78 00 03 00 00
scsi host0: uas_eh_device_reset_handler start
usb 5-1: reset high-speed USB device number 2 using ehci-platform
scsi host0: uas_eh_device_reset_handler success
sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x00 driverbyte=0x08
sd 0:0:0:0: [sda] tag#0 Sense Key : 0x2 [current]
sd 0:0:0:0: [sda] tag#0 ASC=0x3a ASCQ=0x0
sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x2a 2a 00 57 50 28 78 00 03 00 00
sd 0:0:0:0: [sda] tag#1 UNKNOWN(0x2003) Result: hostbyte=0x00 driverbyte=0x08
sd 0:0:0:0: [sda] tag#1 Sense Key : 0x2 [current]
sd 0:0:0:0: [sda] tag#1 ASC=0x3a ASCQ=0x0
sd 0:0:0:0: [sda] tag#1 CDB: opcode=0x2a 2a 00 19 47 7f 20 00 00 90 00
EXT4-fs warning (device sda1): ext4_end_bio:323: I/O error 10 writing to inode 13001563 (offset 0 size 73728 starting block 53014518)
This SBC doesn't have a USB 3 port, however it still loads the hard drive with UAS. According to this, UAS is broken on some HD enclosure chips. The solution provided is to disable UAS, however:
1- If I blacklist UAS completely with blacklist uas into /etc/modprobe.d/blacklist-uas.conf I get:
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=, 480M
Looking at Class=Mass Storage, Driver=, 480M => seems like the system doesn't load any other way to deal with the drive.
2- If I just try to disable UAS for a specific USB device, like the post recommended, it still loads with UAS:
echo options usb-storage quirks=174c:55aa:u | tee /etc/modprobe.d/blacklist-uas.conf
update-initramfs -u
reboot
(...)
dmesg | grep sda
[ 2.488105] sd 0:0:0:0: [sda] 2930277168 512-byte logical blocks: (1.50 TB/1.36 TiB)
[ 2.488584] sd 0:0:0:0: [sda] Write Protect is off
[ 2.488592] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
[ 2.489335] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 2.539288] sda: sda1
[ 2.543875] sd 0:0:0:0: [sda] Attached SCSI disk
[ 6.898109] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: errors=remount-ro,data=ordered
lsusb | grep ASMedia
Bus 005 Device 002: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge
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=uas, 480M
What am I doing wrong? Is it possible to disable UAS and make the system still use the HD any other way? Why does options usb-storage quirks=174c:55aa:u doesn't disable UAS as it should?
Thank you.
Some notes:
- OS: Debian GNU/Linux 9.4 (stretch) kernel
4.14.18-sunxi64from armbian - SBC: NanoPi NEO2
debian usb-drive modprobe
edited May 4 at 11:48
asked May 3 at 21:52
TCB13
364415
364415
The option doesn't actually apply to the uas module: it applies to the usb_storage module. Is that a stock Debian kernel? 1/ are you sure usb_storage is a module and not built-in? 2/ built-in = you have to adapt & move the option to the kernel boot 3/ if a module: if the module is loaded at the initramfs phase, reboot is not enough. You have to rebuild the initramfs. usually with update-initramfs -u -k $(uname -r). Some ARM bootloaders after this require an other step (mkimage)
â A.B
May 4 at 6:34
I red rebuild the image usingupdate-initramfs -u. The kernel is4.14.18-sunxi64from armbian.usb_storagedoesn't show underlsmodso I guess it is build in. How should I "move the option to the kernel boot"? Thank you.
â TCB13
May 4 at 11:47
@A.B from what I've read here I can possible tryecho "174c:55aa:u" >/sys/module/usb_storage/parameters/quirksbut how permanent is this? Will it survive a reboot? If no, where should I put it?
â TCB13
May 4 at 12:01
add a comment |Â
The option doesn't actually apply to the uas module: it applies to the usb_storage module. Is that a stock Debian kernel? 1/ are you sure usb_storage is a module and not built-in? 2/ built-in = you have to adapt & move the option to the kernel boot 3/ if a module: if the module is loaded at the initramfs phase, reboot is not enough. You have to rebuild the initramfs. usually with update-initramfs -u -k $(uname -r). Some ARM bootloaders after this require an other step (mkimage)
â A.B
May 4 at 6:34
I red rebuild the image usingupdate-initramfs -u. The kernel is4.14.18-sunxi64from armbian.usb_storagedoesn't show underlsmodso I guess it is build in. How should I "move the option to the kernel boot"? Thank you.
â TCB13
May 4 at 11:47
@A.B from what I've read here I can possible tryecho "174c:55aa:u" >/sys/module/usb_storage/parameters/quirksbut how permanent is this? Will it survive a reboot? If no, where should I put it?
â TCB13
May 4 at 12:01
The option doesn't actually apply to the uas module: it applies to the usb_storage module. Is that a stock Debian kernel? 1/ are you sure usb_storage is a module and not built-in? 2/ built-in = you have to adapt & move the option to the kernel boot 3/ if a module: if the module is loaded at the initramfs phase, reboot is not enough. You have to rebuild the initramfs. usually with update-initramfs -u -k $(uname -r). Some ARM bootloaders after this require an other step (mkimage)
â A.B
May 4 at 6:34
The option doesn't actually apply to the uas module: it applies to the usb_storage module. Is that a stock Debian kernel? 1/ are you sure usb_storage is a module and not built-in? 2/ built-in = you have to adapt & move the option to the kernel boot 3/ if a module: if the module is loaded at the initramfs phase, reboot is not enough. You have to rebuild the initramfs. usually with update-initramfs -u -k $(uname -r). Some ARM bootloaders after this require an other step (mkimage)
â A.B
May 4 at 6:34
I red rebuild the image using
update-initramfs -u. The kernel is 4.14.18-sunxi64 from armbian. usb_storage doesn't show under lsmod so I guess it is build in. How should I "move the option to the kernel boot"? Thank you.â TCB13
May 4 at 11:47
I red rebuild the image using
update-initramfs -u. The kernel is 4.14.18-sunxi64 from armbian. usb_storage doesn't show under lsmod so I guess it is build in. How should I "move the option to the kernel boot"? Thank you.â TCB13
May 4 at 11:47
@A.B from what I've read here I can possible try
echo "174c:55aa:u" >/sys/module/usb_storage/parameters/quirks but how permanent is this? Will it survive a reboot? If no, where should I put it?â TCB13
May 4 at 12:01
@A.B from what I've read here I can possible try
echo "174c:55aa:u" >/sys/module/usb_storage/parameters/quirks but how permanent is this? Will it survive a reboot? If no, where should I put it?â TCB13
May 4 at 12:01
add a comment |Â
1 Answer
1
active
oldest
votes
up vote
4
down vote
accepted
With the precious help from @A.B I managed to fix this. As he said, my kernel (probably every armbian SBC kernel) doesn't have usb_storage loaded as a module, it is built-in.
In this case, we need to change the boot options that are visible under /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
At the end there is usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u already set. We can't edit this file directly, in armbian this options are stored on the file /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
So I just added my device in the last line as ,174c:55aa:u, making it:
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u,174c:55aa:u
Just in case I re-run update-initramfs -u and after a reboot the USB HD now uses only usb-store instead of 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
As you can see here, uas is now properly blacklisted for the device:
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
Hope this helps someone!
2
Quick update: after +24h runningrsyncand some other I/O intensive tasks on the USB HD everything is working fine so far.
â TCB13
May 6 at 1:28
add a comment |Â
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
4
down vote
accepted
With the precious help from @A.B I managed to fix this. As he said, my kernel (probably every armbian SBC kernel) doesn't have usb_storage loaded as a module, it is built-in.
In this case, we need to change the boot options that are visible under /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
At the end there is usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u already set. We can't edit this file directly, in armbian this options are stored on the file /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
So I just added my device in the last line as ,174c:55aa:u, making it:
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u,174c:55aa:u
Just in case I re-run update-initramfs -u and after a reboot the USB HD now uses only usb-store instead of 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
As you can see here, uas is now properly blacklisted for the device:
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
Hope this helps someone!
2
Quick update: after +24h runningrsyncand some other I/O intensive tasks on the USB HD everything is working fine so far.
â TCB13
May 6 at 1:28
add a comment |Â
up vote
4
down vote
accepted
With the precious help from @A.B I managed to fix this. As he said, my kernel (probably every armbian SBC kernel) doesn't have usb_storage loaded as a module, it is built-in.
In this case, we need to change the boot options that are visible under /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
At the end there is usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u already set. We can't edit this file directly, in armbian this options are stored on the file /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
So I just added my device in the last line as ,174c:55aa:u, making it:
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u,174c:55aa:u
Just in case I re-run update-initramfs -u and after a reboot the USB HD now uses only usb-store instead of 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
As you can see here, uas is now properly blacklisted for the device:
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
Hope this helps someone!
2
Quick update: after +24h runningrsyncand some other I/O intensive tasks on the USB HD everything is working fine so far.
â TCB13
May 6 at 1:28
add a comment |Â
up vote
4
down vote
accepted
up vote
4
down vote
accepted
With the precious help from @A.B I managed to fix this. As he said, my kernel (probably every armbian SBC kernel) doesn't have usb_storage loaded as a module, it is built-in.
In this case, we need to change the boot options that are visible under /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
At the end there is usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u already set. We can't edit this file directly, in armbian this options are stored on the file /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
So I just added my device in the last line as ,174c:55aa:u, making it:
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u,174c:55aa:u
Just in case I re-run update-initramfs -u and after a reboot the USB HD now uses only usb-store instead of 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
As you can see here, uas is now properly blacklisted for the device:
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
Hope this helps someone!
With the precious help from @A.B I managed to fix this. As he said, my kernel (probably every armbian SBC kernel) doesn't have usb_storage loaded as a module, it is built-in.
In this case, we need to change the boot options that are visible under /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
At the end there is usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u already set. We can't edit this file directly, in armbian this options are stored on the file /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
So I just added my device in the last line as ,174c:55aa:u, making it:
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u,174c:55aa:u
Just in case I re-run update-initramfs -u and after a reboot the USB HD now uses only usb-store instead of 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
As you can see here, uas is now properly blacklisted for the device:
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
Hope this helps someone!
edited May 6 at 1:29
answered May 4 at 12:22
TCB13
364415
364415
2
Quick update: after +24h runningrsyncand some other I/O intensive tasks on the USB HD everything is working fine so far.
â TCB13
May 6 at 1:28
add a comment |Â
2
Quick update: after +24h runningrsyncand some other I/O intensive tasks on the USB HD everything is working fine so far.
â TCB13
May 6 at 1:28
2
2
Quick update: after +24h running
rsync and some other I/O intensive tasks on the USB HD everything is working fine so far.â TCB13
May 6 at 1:28
Quick update: after +24h running
rsync and some other I/O intensive tasks on the USB HD everything is working fine so far.â TCB13
May 6 at 1:28
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f441668%2fdebian-usb3-hdd-uas-i-o-errors%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
The option doesn't actually apply to the uas module: it applies to the usb_storage module. Is that a stock Debian kernel? 1/ are you sure usb_storage is a module and not built-in? 2/ built-in = you have to adapt & move the option to the kernel boot 3/ if a module: if the module is loaded at the initramfs phase, reboot is not enough. You have to rebuild the initramfs. usually with update-initramfs -u -k $(uname -r). Some ARM bootloaders after this require an other step (mkimage)
â A.B
May 4 at 6:34
I red rebuild the image using
update-initramfs -u. The kernel is4.14.18-sunxi64from armbian.usb_storagedoesn't show underlsmodso I guess it is build in. How should I "move the option to the kernel boot"? Thank you.â TCB13
May 4 at 11:47
@A.B from what I've read here I can possible try
echo "174c:55aa:u" >/sys/module/usb_storage/parameters/quirksbut how permanent is this? Will it survive a reboot? If no, where should I put it?â TCB13
May 4 at 12:01