Linux: O hdparm não está funcionando corretamente no PI4, não é possível controlar o tempo de spindown do hdd

Criado em 16 nov. 2019  ·  4Comentários  ·  Fonte: raspberrypi/linux

Descreva o bug
O hdparm -I /dev/sda não está funcionando, comando de disco rígido semelhante a hdparm -y /dev/sda também falha.

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 

Reproduzir
hdparm -I / dev / sda
hdparm -y / dev / sda
hdparm -C / dev / sda

Comportamento esperado
Suporte para definir o tempo de rotação do disco rígido.
No pi3, tudo funciona bem

Execute o mesmo comando no pi3 com o mesmo disco rígido USB, tudo funciona bem:

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

Sistema

  • Qual modelo de Raspberry Pi? por exemplo, Pi3B +, PiZeroW
    Pi4
  • Qual sistema operacional e versão ( cat /etc/rpi-issue )?
    Referência do Raspberry Pi 26/09/2019
    Gerado usando pi-gen, https://github.com/RPi-Distro/pi-gen , 80d486687ea77d31fc3fc13cf3a2f8b464e129be, stage5
  • Qual versão de firmware ( vcgencmd version )?
    24 de setembro de 2019 17:34:30
    Copyright (c) 2012 Broadcom
    versão cd3add54955f8fa065b414d8fc07c525e7ddffc8 (limpo) (lançamento) (início
  • Qual versão do kernel ( uname -a )?
    Linux raspberrypi 4.19.75-v7l + # 1270 SMP Ter. Set 24 18:51:41 BST 2019 armv7l GNU / Linux

Histórico
dmesg em PI4

[ 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)

mesmo disco no log dmsg do pi3, funciona bem

[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)

Contexto adicional

  1. mesmo disco rígido USB, no pi3 hdparm funciona bem, no pi4 não funciona.
  2. conectar o disco rígido USB à porta usb2.0 no pi4, não funciona.

Comentários muito úteis

Depois de adicionar peculiaridades a /boot/cmdline.txt, problema resolvido, o disco rígido funciona muito bem até agora.

Obrigado.

As peculiaridades adicionadas a /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

Resultado do comando 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 log

[  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)

Todos 4 comentários

O Pi 4 usa UAS como o transporte de disco, não o armazenamento em massa USB que é usado em todos os modelos anteriores do Pi.

Eu tenho um adaptador Sabrent USB3.0 que apresenta o problema - em um Pi 4 hdparm -y /dev/sda retorna o mesmo erro que você está vendo, mas não em um Pi 3. hdparm -I /dev/sda funciona em ambos os casos , no entanto.

Em ambos os casos, para hdparm -y , vejo que o hdparm emite um comando de passagem ATA com vários parâmetros definidos e, em seguida, solicita uma transferência IN para verificar o resultado. No caso de UAS, a resposta de detecção de SCSI é um "comando ilegal", enquanto no caso de armazenamento em massa a resposta de passagem ATA de armazenamento em massa tem um campo de erro diferente de zero e o ponto de extremidade STALLs.

O comando está falhando em ambos os Pis, provavelmente porque o dispositivo não suporta o comando, mas o caso UAS é mais barulhento sobre isso. No seu caso, é provável que a passagem não esteja funcionando com UAS, mas sim com armazenamento em massa.

Você pode tentar as etapas aqui e relatar de volta: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=245931

Depois de adicionar peculiaridades a /boot/cmdline.txt, problema resolvido, o disco rígido funciona muito bem até agora.

Obrigado.

As peculiaridades adicionadas a /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

Resultado do comando 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 log

[  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)

Fechamento como solução alternativa implementada.

Esta página foi útil?
0 / 5 - 0 avaliações