최근에 USB 3.0 도킹 스테이션을 통해 3TB 하드 드라이브를 Odroid XU4에 연결했습니다. 올바르게 감지되어 설치되었습니다.
그런데 10GB 정도의 데이터를 쓰고 나니 오류가 많이 나더라구요. 내 /var/log/syslog는 다음과 같습니다.
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
제거되었는데 다시 설치할 수 없습니다. USB 케이블을 분리했다가 다시 연결해야 했습니다.
그래서 SMART를 확인해 보니...오류는 발견되지 않았습니다. USB 2.0에서 작동하는 것으로 나타났습니다. 이제 몇 시간 동안 오류 없이 데이터를 복사하고 있습니다. USB 3.0을 통해 다른 HDD를 사용해 보았지만 비슷한 결과를 얻었습니다. 일부를 쓴 후 연결이 끊어졌습니다.
어떤 아이디어가 있나요?
답변1
이는 UAS(USB-SCSI) 모델. USB 3.0부터 공식적으로만 사용할 수 있으므로 USB 2.0이 제대로 작동하는 이유를 설명합니다(UAS가 선택되지 않음).
문제는 일반적으로 부적절한 펌웨어 구현과 관련되어 있습니다.어댑터, 또는 어쨌든 Linux 드라이버와 통신할 때 상호 운용성 문제가 있습니다. 하드웨어/펌웨어 공급업체가 만든 상용 드라이버에는 이러한 버그가 공급업체에 알려져 있기 때문에 이러한 버그를 특별하게 처리할 수 있습니다.
그래도 문제가 해결되지 않으면 특정 기능을 비활성화하여 문제를 해결할 수도 있습니다. 리눅스에는UAS 기능을 비활성화하기 위한 최소 5개의 USB 저장소 이상한 플래그(f,g,j,t,u) 수동으로. 모델이 오작동하는 것으로 명시적으로 식별되면 이러한 특징을 자동으로 적용하기 위해 내부 블랙리스트에 추가됩니다. 부팅 옵션이나 USB 메모리 모듈 옵션을 수동으로 추가해야 합니다.
따라서 먼저 quirk u를 사용하여 UAS를 완전히 비활성화하고 문제가 해결되는지 확인하십시오. 예를 들어 u 대신 t 또는 g 옵션을 사용하는 것이 충분한지 나중에 확인하세요.
커널 명령줄 부팅 옵션(로그에 표시된 VID:PID 사용):
usb-storage.quirks=067b:2773:u
모듈 옵션(/etc/modprobe.d에 파일 생성):
options usb-storage quirks=067b:2773:u
UAV 시스템은 오버헤드가 적습니다. 그렇지 않으면 문제가 되지 않습니다.
다른 하드 드라이브를 사용해 보세요어댑터UAS 모드에서 동작에 차이가 있는지 실제로 확인하기 위한 다른 공급업체(다른 VID)의 정보입니다.