バグを説明する
hdparm -I /dev/sda
が機能しておらず、 hdparm -y /dev/sda
ような同様のハードディスクコマンドも失敗します。
root<strong i="10">@raspberrypi</strong>:/home/pi# hdparm -I /dev/sda
/dev/sda:
SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 00 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ATA device, with non-removable media
Standards:
Likely used: 1
Configuration:
Logical max current
cylinders 0 0
heads 0 0
sectors/track 0 0
--
Logical/Physical Sector size: 512 bytes
device size with M = 1024*1024: 0 MBytes
device size with M = 1000*1000: 0 MBytes
cache/buffer size = unknown
Capabilities:
IORDY not likely
Cannot perform double-word IO
R/W multiple sector transfer: not supported
DMA: not supported
PIO: pio0
再現するには
hdparm -I / dev / sda
hdparm -y / dev / sda
hdparm -C / dev / sda
期待される動作
ハードディスクのスピンダウン時間の設定をサポートします。
pi3では、すべてが正常に機能します
同じUSBハードディスクを使用してpi3で同じコマンドを実行すると、すべて正常に動作します。
root<strong i="23">@raspberrypi</strong>:/home/pi# uname -a
Linux raspberrypi 4.19.75-v7+ #1270 SMP Tue Sep 24 18:45:11 BST 2019 armv7l GNU/Linux
root<strong i="24">@raspberrypi</strong>:/home/pi# hdparm -I /dev/sda
/dev/sda:
ATA device, with non-removable media
Model Number: ST4000LM024-2AN17V
Serial Number: WCK2PTAP
Firmware Revision: 0001
Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
Standards:
Used: unknown (minor revision code 0x006d)
Supported: 10 9 8 7 6 5
Likely used: 10
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 268435455
LBA48 user addressable sectors: 7814037168
Logical Sector size: 512 bytes
Physical Sector size: 4096 bytes
Logical Sector-0 offset: 0 bytes
device size with M = 1024*1024: 3815447 MBytes
device size with M = 1000*1000: 4000787 MBytes (4000 GB)
cache/buffer size = unknown
Form Factor: 2.5 inch
Nominal Media Rotation Rate: 5526
Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 32
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = ?
Advanced power management level: 254
Recommended acoustic management value: 208, current value: 208
DMA: mdma0 mdma1 *mdma2 udma0 udma1 udma2 udma3 udma4 udma5 udma6
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* SMART feature set
Security Mode feature set
* Power Management feature set
* Write cache
* Look-ahead
* Host Protected Area feature set
* WRITE_BUFFER command
* READ_BUFFER command
* DOWNLOAD_MICROCODE
* Advanced Power Management feature set
Power-Up In Standby feature set
* SET_FEATURES required to spinup after power up
SET_MAX security extension
* 48-bit Address feature set
* Device Configuration Overlay feature set
* Mandatory FLUSH_CACHE
* FLUSH_CACHE_EXT
* SMART error logging
* SMART self-test
* General Purpose Logging feature set
* WRITE_{DMA|MULTIPLE}_FUA_EXT
* 64-bit World wide name
* WRITE_UNCORRECTABLE_EXT command
* {READ,WRITE}_DMA_EXT_GPL commands
* Segmented DOWNLOAD_MICROCODE
unknown 119[6]
* Gen1 signaling speed (1.5Gb/s)
* Gen2 signaling speed (3.0Gb/s)
* Gen3 signaling speed (6.0Gb/s)
* Native Command Queueing (NCQ)
* Phy event counters
* READ_LOG_DMA_EXT equivalent to READ_LOG_EXT
DMA Setup Auto-Activate optimization
Device-initiated interface power management
Software settings preservation
unknown 78[7]
* SMART Command Transport (SCT) feature set
* SCT Write Same (AC2)
* SCT Data Tables (AC5)
unknown 206[7]
unknown 206[12] (vendor specific)
unknown 206[13] (vendor specific)
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
supported: enhanced erase
654min for SECURITY ERASE UNIT. 654min for ENHANCED SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: 5000c500b9af9856
NAA : 5
IEEE OUI : 000c50
Unique ID : 0b9af9856
Checksum: correct
システム
cat /etc/rpi-issue
)?vcgencmd version
)?uname -a
)?ログ
PI4のdmesg
[ 4683.050535] usb 2-1: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
[ 4683.081946] usb 2-1: New USB device found, idVendor=0bc2, idProduct=231a, bcdDevice= 7.08
[ 4683.081962] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4683.081974] usb 2-1: Product: Expansion
[ 4683.081986] usb 2-1: Manufacturer: Seagate
[ 4683.081998] usb 2-1: SerialNumber: NAA3GRTM
[ 4683.114373] scsi host0: uas
[ 4683.116667] scsi 0:0:0:0: Direct-Access Seagate Expansion 0708 PQ: 0 ANSI: 6
[ 4683.120453] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 4689.456539] sd 0:0:0:0: [sda] 7814037167 512-byte logical blocks: (4.00 TB/3.64 TiB)
[ 4689.456546] sd 0:0:0:0: [sda] 4096-byte physical blocks
[ 4689.456979] sd 0:0:0:0: [sda] Write Protect is off
[ 4689.456985] sd 0:0:0:0: [sda] Mode Sense: 53 00 00 08
[ 4689.457472] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 4689.458243] sd 0:0:0:0: [sda] Optimal transfer size 33553920 bytes not a multiple of physical block size (4096 bytes)
[ 4689.632963] sda: sda1 sda2
[ 4689.635493] sd 0:0:0:0: [sda] Attached SCSI disk
[ 4690.795363] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
pi3のdmsgログに同じディスクがあります。これは正常に機能します
[47035.952673] usb 1-1.4: new high-speed USB device number 6 using dwc_otg
[47036.163929] usb 1-1.4: New USB device found, idVendor=0bc2, idProduct=231a, bcdDevice= 7.08
[47036.163944] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[47036.163954] usb 1-1.4: Product: Expansion
[47036.163964] usb 1-1.4: Manufacturer: Seagate
[47036.163974] usb 1-1.4: SerialNumber: NAA3GRTM
[47036.164821] usb 1-1.4: The driver for the USB controller dwc_otg_hcd does not support scatter-gather which is
[47036.164833] usb 1-1.4: required by the UAS driver. Please try an other USB controller if you wish to use UAS.
[47036.164844] usb-storage 1-1.4:1.0: USB Mass Storage device detected
[47036.165459] scsi host0: usb-storage 1-1.4:1.0
[47037.223667] scsi 0:0:0:0: Direct-Access Seagate Expansion 0708 PQ: 0 ANSI: 6
[47037.224689] sd 0:0:0:0: Attached scsi generic sg0 type 0
[47041.142771] Voltage normalised (0x00000000)
[47041.911297] sd 0:0:0:0: [sda] Very big device. Trying to use READ CAPACITY(16).
[47041.911761] sd 0:0:0:0: [sda] 7814037167 512-byte logical blocks: (4.00 TB/3.64 TiB)
[47041.911774] sd 0:0:0:0: [sda] 4096-byte physical blocks
[47041.912268] sd 0:0:0:0: [sda] Write Protect is off
[47041.912281] sd 0:0:0:0: [sda] Mode Sense: 47 00 00 08
[47041.912855] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[47042.031770] sda: sda1 sda2
[47042.035292] sd 0:0:0:0: [sda] Attached SCSI disk
[47043.667351] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
追加のコンテキスト
Pi 4は、ディスクトランスポートとしてUASを使用しますが、Piの以前のすべてのモデルで使用されていたUSBマスストレージではありません。
問題が発生するSabrentUSB3.0アダプターがあります。Pi4ではhdparm -y /dev/sda
が表示されているのと同じエラーを返しますが、Pi3では返されません。 hdparm -I /dev/sda
はどちらの場合も機能します、 けれど。
hdparm -y
どちらの場合も、hdparmがさまざまなパラメーターを設定してATAパススルーコマンドを発行し、結果を確認するためにIN転送を要求していることがわかります。 UASの場合、SCSIセンス応答は「不正なコマンド」ですが、大容量記憶装置の場合、大容量記憶装置のATAパススルー応答にはゼロ以外のエラーフィールドがあり、エンドポイントはストールします。
おそらくデバイスがコマンドをサポートしていないため、コマンドは両方のPiで失敗していますが、UASの場合はそれについて騒がしいです。 あなたの場合、パススルーはUASでは機能していないが、マスストレージでは機能している可能性があります。
ここの手順を試して、報告してください: //www.raspberrypi.org/forums/viewtopic.php?f = 28&t = 245931
/boot/cmdline.txtに癖を追加して問題を解決した後、ハードディスクはこれまでのところ非常にうまく機能しています。
ありがとう。
/boot/cmdline.txtに追加された癖
root<strong i="8">@raspberrypi</strong>:/home/pi# cat /boot/cmdline.txt
console=serial0,115200 console=tty1 root=PARTUUID=d9b3f436-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles usb-storage.quirks=0bc2:231a:u
hdparm -I /dev/sda
コマンドの結果
root<strong i="13">@raspberrypi</strong>:/home/pi# hdparm -I /dev/sda
/dev/sda:
ATA device, with non-removable media
Model Number: ST4000LM024-2AN17V
Serial Number: WCK2PTAP
Firmware Revision: 0001
Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
Standards:
Used: unknown (minor revision code 0x006d)
Supported: 10 9 8 7 6 5
Likely used: 10
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 268435455
LBA48 user addressable sectors: 7814037168
Logical Sector size: 512 bytes
Physical Sector size: 4096 bytes
Logical Sector-0 offset: 0 bytes
device size with M = 1024*1024: 3815447 MBytes
device size with M = 1000*1000: 4000787 MBytes (4000 GB)
cache/buffer size = unknown
Form Factor: 2.5 inch
Nominal Media Rotation Rate: 5526
Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 32
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = ?
Advanced power management level: 254
Recommended acoustic management value: 208, current value: 208
DMA: mdma0 mdma1 *mdma2 udma0 udma1 udma2 udma3 udma4 udma5 udma6
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
dmesg
ログ
[ 509.233313] usb 2-1: New USB device found, idVendor=0bc2, idProduct=231a, bcdDevice= 7.08
[ 509.233328] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 509.233341] usb 2-1: Product: Expansion
[ 509.233353] usb 2-1: Manufacturer: Seagate
[ 509.233365] usb 2-1: SerialNumber: NAA3GRTM
[ 509.236617] usb 2-1: UAS is blacklisted for this device, using usb-storage instead
[ 509.236738] usb 2-1: UAS is blacklisted for this device, using usb-storage instead
[ 509.236757] usb-storage 2-1:1.0: USB Mass Storage device detected
[ 509.237819] usb-storage 2-1:1.0: Quirks match for vid 0bc2 pid 231a: 800000
[ 509.237953] scsi host0: usb-storage 2-1:1.0
[ 510.242582] scsi 0:0:0:0: Direct-Access Seagate Expansion 0708 PQ: 0 ANSI: 6
[ 510.243651] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 515.687671] sd 0:0:0:0: [sda] Very big device. Trying to use READ CAPACITY(16).
[ 515.688048] sd 0:0:0:0: [sda] 7814037167 512-byte logical blocks: (4.00 TB/3.64 TiB)
[ 515.688062] sd 0:0:0:0: [sda] 4096-byte physical blocks
[ 515.688813] sd 0:0:0:0: [sda] Write Protect is off
[ 515.688827] sd 0:0:0:0: [sda] Mode Sense: 47 00 00 08
[ 515.689545] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 515.808437] sda: sda1 sda2
[ 515.813176] sd 0:0:0:0: [sda] Attached SCSI disk
[ 517.042890] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
回避策が実装されたため、終了します。
最も参考になるコメント
/boot/cmdline.txtに癖を追加して問題を解決した後、ハードディスクはこれまでのところ非常にうまく機能しています。
ありがとう。
/boot/cmdline.txtに追加された癖
hdparm -I /dev/sda
コマンドの結果dmesg
ログ