Odroid XU4: HDD morre após 10 minutos em USB 3.0

1

Conectei recentemente um disco rígido de 3 TB ao meu Odroid XU4 em uma estação de encaixe USB 3.0. Foi detectado corretamente e eu o montei.

Mas depois de escrever cerca de 10 GB de dados, recebi muitos erros. Meu / var / log / syslog ficou assim:

odroid kernel: [410867.640870] usb 4-1.2: new SuperSpeed USB device number 3 using xhci-hcd
odroid kernel: [410867.662186] usb 4-1.2: New USB device found, idVendor=067b, idProduct=2773
odroid kernel: [410867.662217] usb 4-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
odroid kernel: [410867.662240] usb 4-1.2: Product: Quickport Combo U3
odroid kernel: [410867.662262] usb 4-1.2: Manufacturer: SHARKOON
odroid kernel: [410867.662283] usb 4-1.2: SerialNumber: SHARK000000002
odroid kernel: [410867.666319] usb-storage 4-1.2:1.0: USB Mass Storage device detected
odroid kernel: [410867.672956] scsi host0: usb-storage 4-1.2:1.0
odroid mtp-probe: checking bus 4, device 3: "/sys/devices/platform/soc:/soc:usb3-0:/12000000.dwc3:/xhci-hcd.2.auto/usb4/4-1/4-1.2"
odroid mtp-probe: bus: 4, device: 3 was not an MTP device
odroid kernel: [410867.773185] usbcore: registered new interface driver uas
odroid kernel: [410868.753587] scsi 0:0:0:0: Direct-Access     ST3000DM 001-1CH166       CC29 PQ: 0 ANSI: 0
odroid kernel: [410868.758912] sd 0:0:0:0: [sda] Very big device. Trying to use READ CAPACITY(16).
odroid kernel: [410868.759096] sd 0:0:0:0: Attached scsi generic sg0 type 0
odroid kernel: [410868.760501] sd 0:0:0:0: [sda] 5860533168 512-byte logical blocks: (3.00 TB/2.73 TiB)
odroid kernel: [410868.761937] sd 0:0:0:0: [sda] Write Protect is off
odroid kernel: [410868.762049] sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
odroid kernel: [410868.763561] sd 0:0:0:0: [sda] No Caching mode page found
odroid kernel: [410868.767656] sd 0:0:0:0: [sda] Assuming drive cache: write through
odroid kernel: [410868.777812] sd 0:0:0:0: [sda] Very big device. Trying to use READ CAPACITY(16).
odroid kernel: [410868.847735]  sda: sda1 sda2 sda3
odroid kernel: [410868.861331] sd 0:0:0:0: [sda] Very big device. Trying to use READ CAPACITY(16).
odroid kernel: [410868.865234] sd 0:0:0:0: [sda] Attached SCSI disk
odroid systemd[1]: dev-disk-by\x2dpartlabel-Basic\x5cx20data\x5cx20partition.device: Dev dev-disk-by\x2dpartlabel-Basic\x5cx20data\x5cx20partition.device appeared twice with different sysfs paths /sys/devices/platform/soc:/soc:usb3-0:/12000000.dwc3:/xhci-hcd.2.auto/usb4/4-1/4-1.2/4-1.2:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda3 and /sys/devices/platform/soc:/soc:usb3-0:/12000000.dwc3:/xhci-hcd.2.auto/usb4/4-1/4-1.2/4-1.2:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda2
odroid systemd[944]: dev-disk-by\x2dpartlabel-Basic\x5cx20data\x5cx20partition.device: Dev dev-disk-by\x2dpartlabel-Basic\x5cx20data\x5cx20partition.device appeared twice with different sysfs paths /sys/devices/platform/soc:/soc:usb3-0:/12000000.dwc3:/xhci-hcd.2.auto/usb4/4-1/4-1.2/4-1.2:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda3 and /sys/devices/platform/soc:/soc:usb3-0:/12000000.dwc3:/xhci-hcd.2.auto/usb4/4-1/4-1.2/4-1.2:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda2
odroid systemd[20118]: dev-disk-by\x2dpartlabel-Basic\x5cx20data\x5cx20partition.device: Dev dev-disk-by\x2dpartlabel-Basic\x5cx20data\x5cx20partition.device appeared twice with different sysfs paths /sys/devices/platform/soc:/soc:usb3-0:/12000000.dwc3:/xhci-hcd.2.auto/usb4/4-1/4-1.2/4-1.2:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda2 and /sys/devices/platform/soc:/soc:usb3-0:/12000000.dwc3:/xhci-hcd.2.auto/usb4/4-1/4-1.2/4-1.2:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda3
odroid kernel: [411003.006383] EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: (null)
odroid systemd[20118]: dev-disk-by\x2dpartlabel-Basic\x5cx20data\x5cx20partition.device: Dev dev-disk-by\x2dpartlabel-Basic\x5cx20data\x5cx20partition.device appeared twice with different sysfs paths /sys/devices/platform/soc:/soc:usb3-0:/12000000.dwc3:/xhci-hcd.2.auto/usb4/4-1/4-1.2/4-1.2:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda2 and /sys/devices/platform/soc:/soc:usb3-0:/12000000.dwc3:/xhci-hcd.2.auto/usb4/4-1/4-1.2/4-1.2:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda3
odroid kernel: [411443.428924] usb 4-1.2: reset SuperSpeed USB device number 3 using xhci-hcd
odroid kernel: [411443.449604] usb 4-1.2: device firmware changed
odroid kernel: [411444.469255] usb 4-1-port2: cannot disable (err = -110)
odroid kernel: [411444.569096] sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07 driverbyte=0x00
odroid kernel: [411444.569151] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x88 88 00 00 00 00 00 01 c4 13 00 00 00 01 00 00 00
odroid kernel: [411444.569188] blk_update_request: I/O error, dev sda, sector 29627136
odroid kernel: [411444.673957] sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07 driverbyte=0x00
odroid kernel: [411444.673993] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x88 88 00 00 00 00 00 b0 13 88 00 00 00 00 08 00 00
odroid kernel: [411444.674017] blk_update_request: I/O error, dev sda, sector 2954070016
odroid kernel: [411444.679304] EXT4-fs error (device sda3): ext4_wait_block_bitmap:503: comm kworker/u16:0: Cannot read block bitmap - block_group = 96, block_bitmap = 3145728
odroid kernel: [411444.770110] sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07 driverbyte=0x00
odroid kernel: [411444.770145] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x8a 8a 00 00 00 00 00 b0 13 48 00 00 00 08 00 00 00
odroid kernel: [411444.770169] blk_update_request: I/O error, dev sda, sector 2954053632
odroid kernel: [411444.775389] EXT4-fs warning (device sda3): ext4_end_bio:314: I/O error -5 writing to inode 122 (offset 0 size 8388608 starting block 369256960)
odroid kernel: [411444.775430] Buffer I/O error on device sda3, logical block 3143680
odroid kernel: [411444.781543] Buffer I/O error on device sda3, logical block 3143681
odroid kernel: [411444.787798] Buffer I/O error on device sda3, logical block 3143682
odroid kernel: [411444.794033] Buffer I/O error on device sda3, logical block 3143683
odroid kernel: [411444.800266] Buffer I/O error on device sda3, logical block 3143684
odroid kernel: [411444.806506] Buffer I/O error on device sda3, logical block 3143685
odroid kernel: [411444.812743] Buffer I/O error on device sda3, logical block 3143686
odroid kernel: [411444.818985] Buffer I/O error on device sda3, logical block 3143687
odroid kernel: [411444.825237] Buffer I/O error on device sda3, logical block 3143688
odroid kernel: [411444.831461] Buffer I/O error on device sda3, logical block 3143689
odroid kernel: [411444.928916] sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07 driverbyte=0x00
odroid kernel: [411444.928946] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x8a 8a 00 00 00 00 00 ae 93 88 00 00 00 00 08 00 00
odroid kernel: [411444.928965] blk_update_request: I/O error, dev sda, sector 2928904192
odroid kernel: [411444.934145] Buffer I/O error on dev sda3, logical block 0, lost sync page write
odroid kernel: [411444.941579] EXT4-fs (sda3): Delayed block allocation failed for inode 122 at logical offset 2048 with max blocks 2048 with error 5
odroid kernel: [411444.953239] EXT4-fs (sda3): This should not happen!! Data will be lost

Ele é desmontado e não consigo montá-lo novamente. Tenho que desconectar o cabo USB e conectá-lo novamente.

Então eu verifiquei S.M.A.R.T ... nenhum erro encontrado. Acontece que funciona bem com o USB 2.0. Copiando dados por horas agora sem erros. Eu tentei um disco rígido diferente sobre USB 3.0 e obtive resultados similares. Depois de escrever, é desconectado.

Alguma idéia?

    
por mirokai 11.04.2018 / 16:40

1 resposta

0

É provavelmente relacionado ao modo UAS ( USB Attached SCSI ). Ele está disponível oficialmente apenas a partir do USB 3.0, então isso explicaria por que o USB 2.0 funciona bem (o UAS não está selecionado).

O problema geralmente está relacionado a firmwares talvez mal implementados no adaptador , ou de qualquer forma um problema de interoperabilidade na comunicação com drivers Linux. Os drivers comerciais feitos pelo fornecedor de hardware / firmware podem ter um tratamento especial desses bugs porque são conhecidos pelo fornecedor.

Se não houver uma maneira de corrigir o problema, às vezes é possível contornar isso desabilitando alguns recursos. No Linux há pelo menos 5 peculiaridades de Armazenamento Usb sinalizam para desativar os recursos do UAS (f, g, j, t, u) manualmente. Quando os modelos são claramente identificados como mal comportados, eles são adicionados a uma lista negra interna para aplicar essas peculiaridades automaticamente. Manualmente você precisa adicionar uma opção de inicialização ou uma opção de módulo de armazenamento usb.

Então, primeiro tente desabilitar o UAS completamente com o quirk u, veja se isso resolve o problema. Veja mais tarde se, por exemplo, usar a opção t ou g em vez de u pode ser suficiente.

opção de inicialização do cmdline do kernel (usando o VID: PID visto em seus logs):

usb-storage.quirks=067b:2773:u
Opção

module (crie um arquivo em /etc/modprobe.d):

options usb-storage quirks=067b:2773:u

O UAS oferece menos sobrecarga, caso contrário, isso não deve ser um problema.

Você deve tentar o mesmo HDD com um adaptador diferente de outro fornecedor (VID diferente) para realmente ver se há uma diferença no comportamento no modo UAS.

    
por 11.04.2018 / 18:49