External USB3 HDD: logical sector size incorrectly detected on first connect

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello

First off, I would like to clarify that I was redirected here from
gentoo-user (see my thread at
http://archives.gentoo.org/gentoo-user/message/5677e2044aba73c5ac046a2a634f801a).
If this is the wrong list for issues like this, please direct me to the proper
place.  Also, while I searched the net beforehand, the "best" I could find were
Ubuntu forum entries ([0] and [1], both sans resolution), so please excuse me
if this has already been reported.

Now, the problem I'm facing is that the logical sector size on my external HDD
is being incorrectly detected on initial connect.  The symptom that follows
from this is that the none of the partitions can be mounted.  I get the
following dmesg entries:

    Mär 22 10:57:54 marcec kernel: scsi 8:0:0:0: Direct-Access     Toshiba  External USB 3.0 0201 PQ: 0 ANSI: 6
    Mär 22 10:57:54 marcec kernel: sd 8:0:0:0: Attached scsi generic sg6 type 0
    Mär 22 10:57:54 marcec kernel: sd 8:0:0:0: [sdf] Very big device. Trying to use READ CAPACITY(16).
    Mär 22 10:57:54 marcec kernel: sd 8:0:0:0: [sdf] 5860533160 512-byte logical blocks: (3.00 TB/2.72 TiB)
    Mär 22 10:57:54 marcec kernel: sd 8:0:0:0: [sdf] Write Protect is off
    Mär 22 10:57:54 marcec kernel: sd 8:0:0:0: [sdf] Mode Sense: 2b 00 00 00
    Mär 22 10:57:54 marcec kernel: sd 8:0:0:0: [sdf] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
    Mär 22 10:57:54 marcec kernel: sd 8:0:0:0: [sdf] Very big device. Trying to use READ CAPACITY(16).
    Mär 22 10:58:10 marcec kernel: usb 4-2: reset SuperSpeed USB device number 2 using xhci_hcd
    Mär 22 10:58:10 marcec kernel: xhci_hcd 0000:02:00.0: xHCI xhci_drop_endpoint called with disabled ep ffff8800dc974b40
    Mär 22 10:58:10 marcec kernel: xhci_hcd 0000:02:00.0: xHCI xhci_drop_endpoint called with disabled ep ffff8800dc974b88
    Mär 22 10:58:10 marcec kernel:  sdf: unknown partition table
    Mär 22 10:58:10 marcec kernel: sd 8:0:0:0: [sdf] Very big device. Trying to use READ CAPACITY(16).
    Mär 22 10:58:10 marcec kernel: sd 8:0:0:0: [sdf] Attached SCSI disk
    Mär 22 10:58:32 marcec kernel: usb 4-2: USB disconnect, device number 2
    Mär 22 10:58:34 marcec kernel: usb 4-2: new SuperSpeed USB device number 3 using xhci_hcd
    Mär 22 10:58:34 marcec kernel: usb-storage 4-2:1.0: USB Mass Storage device detected
    Mär 22 10:58:34 marcec kernel: scsi host9: usb-storage 4-2:1.0
    Mär 22 10:58:39 marcec kernel: scsi 9:0:0:0: Direct-Access     Toshiba  External USB 3.0 0201 PQ: 0 ANSI: 6
    Mär 22 10:58:39 marcec kernel: sd 9:0:0:0: Attached scsi generic sg6 type 0
    Mär 22 10:58:39 marcec kernel: sd 9:0:0:0: [sdf] Very big device. Trying to use READ CAPACITY(16).
    Mär 22 10:58:39 marcec kernel: sd 9:0:0:0: [sdf] 732566645 4096-byte logical blocks: (3.00 TB/2.72 TiB)
    Mär 22 10:58:39 marcec kernel: sd 9:0:0:0: [sdf] Write Protect is off
    Mär 22 10:58:39 marcec kernel: sd 9:0:0:0: [sdf] Mode Sense: 2b 00 00 00
    Mär 22 10:58:39 marcec kernel: sd 9:0:0:0: [sdf] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
    Mär 22 10:58:39 marcec kernel: sd 9:0:0:0: [sdf] 732566645 4096-byte logical blocks: (3.00 TB/2.72 TiB)
    Mär 22 10:58:39 marcec kernel:  sdf: sdf1 sdf2
    Mär 22 10:58:39 marcec kernel: sd 9:0:0:0: [sdf] 732566645 4096-byte logical blocks: (3.00 TB/2.72 TiB)
    Mär 22 10:58:39 marcec kernel: sd 9:0:0:0: [sdf] Attached SCSI disk
    Mär 22 10:58:41 marcec kernel: BTRFS: device label MARCEC_BACKUP devid 1 transid 65908 /dev/sdf2
    Mär 22 10:58:42 marcec kernel: EXT4-fs (sdf1): mounted filesystem with ordered data mode. Opts: (null)
    Mär 22 10:58:42 marcec kernel: BTRFS info (device sdf2): disk space caching is enabled
    Mär 22 10:58:42 marcec kernel: BTRFS: has skinny extents

    (I picked these out of the entire dmesg (well, "journalctl -k") output, so
    I hope nothing important is missing.)

I have to unplug it and plug it back in, after which it works correctly (as can
be seen in the log above).  It appears to be important that my PC has been cold
booted, as that is the only time when I can reliably reproduce this.  The
precise scenarios I have tested that *work* are:

- turning off the HDD (i.e., unplugging the AC) while leaving the PC on, then
  turning it back on several hours later, and

- rebooting my PC (while the HDD stays on).

I also tried it on my brother's Windows 8 PC, where the drive was correctly
detected and the FAT32 test partition was mounted (once Windows installed
drivers and whatnot; I did *not* install drivers manually).  The above problem
did not show up after moving it back to my PC immediately afterwards.

Also, the drive originally had an MBR, but in the meantime I converted it to
GPT (using cgdisk), since the firmware "translation" mentioned in [0] and [1]
is supposedly there to keep MBR working, but it did not change anything.

Finally, I also tried blacklisting the uas module, but again, no change.

If I'm unlucky, it's a firmware problem, but I hope that it's something that can
be fixed in the relevant driver.

The USB3 host controller involved:

    # lsusb -v -d 1d6b:0003 

    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Device Descriptor:
    bLength                18
    bDescriptorType         1
    bcdUSB               3.00
    bDeviceClass            9 Hub
    bDeviceSubClass         0 
    bDeviceProtocol         3 
    bMaxPacketSize0         9
    idVendor           0x1d6b Linux Foundation
    idProduct          0x0003 3.0 root hub
    bcdDevice            3.18
    iManufacturer           3 Linux 3.18.9-gentoo xhci-hcd
    iProduct                2 xHCI Host Controller
    iSerial                 1 0000:02:00.0
    bNumConfigurations      1
    Configuration Descriptor:
        bLength                 9
        bDescriptorType         2
        wTotalLength           31
        bNumInterfaces          1
        bConfigurationValue     1
        iConfiguration          0 
        bmAttributes         0xe0
        Self Powered
        Remote Wakeup
        MaxPower                0mA
        Interface Descriptor:
        bLength                 9
        bDescriptorType         4
        bInterfaceNumber        0
        bAlternateSetting       0
        bNumEndpoints           1
        bInterfaceClass         9 Hub
        bInterfaceSubClass      0 
        bInterfaceProtocol      0 Full speed (or root) hub
        iInterface              0 
        Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x81  EP 1 IN
            bmAttributes            3
            Transfer Type            Interrupt
            Synch Type               None
            Usage Type               Data
            wMaxPacketSize     0x0004  1x 4 bytes
            bInterval              12
            bMaxBurst               0
    Hub Descriptor:
    bLength              12
    bDescriptorType      42
    nNbrPorts             2
    wHubCharacteristic 0x0009
        Per-port power switching
        Per-port overcurrent protection
    bPwrOn2PwrGood       10 * 2 milli seconds
    bHubContrCurrent      0 milli Ampere
    bHubDecLat          0.0 micro seconds
    wHubDelay             0 nano seconds
    DeviceRemovable    0x00
    Hub Port Status:
    Port 1: 0000.02a0 5Gbps power Rx.Detect
    Port 2: 0000.0203 5Gbps power U0 enable connect
    Binary Object Store Descriptor:
    bLength                 5
    bDescriptorType        15
    wTotalLength           15
    bNumDeviceCaps          1
    SuperSpeed USB Device Capability:
        bLength                10
        bDescriptorType        16
        bDevCapabilityType      3
        bmAttributes         0x02
        Latency Tolerance Messages (LTM) Supported
        wSpeedsSupported   0x0008
        Device can operate at SuperSpeed (5Gbps)
        bFunctionalitySupport   3
        Lowest fully-functional device speed is SuperSpeed (5Gbps)
        bU1DevExitLat           0 micro seconds
        bU2DevExitLat           0 micro seconds
    can't get debug descriptor: Resource temporarily unavailable
    Device Status:     0x0001
    Self Powered

    # lspci -vvv -s 02:00.0

    02:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02) (prog-if 30 [XHCI])
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 32 bytes
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at fddfe000 (64-bit, non-prefetchable) [size=8K]
        Capabilities: [50] Power Management version 3
            Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
            Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [70] MSI: Enable- Count=1/8 Maskable- 64bit+
            Address: 0000000000000000  Data: 0000
        Capabilities: [90] MSI-X: Enable+ Count=8 Masked-
            Vector table: BAR=0 offset=00001000
            PBA: BAR=0 offset=00001080
        Capabilities: [a0] Express (v2) Endpoint, MSI 00
            DevCap:	MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
                ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
            DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+
                MaxPayload 128 bytes, MaxReadReq 512 bytes
            DevSta:	CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend-
            LnkCap:	Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Latency L0 <4us, L1 unlimited
                ClockPM+ Surprise- LLActRep- BwNot-
            LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
            LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
            DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR+, OBFF Not Supported
            DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
            LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
                 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                 Compliance De-emphasis: -6dB
            LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
                 EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
        Capabilities: [100 v1] Advanced Error Reporting
            UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
            UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
            UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
            CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
            CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
            AERCap:	First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
        Capabilities: [150 v1] Latency Tolerance Reporting
            Max snoop latency: 0ns
            Max no snoop latency: 0ns
        Kernel driver in use: xhci_hcd
        Kernel modules: xhci_pci

The external HDD (note that it uses UAS):

    # lsusb -v -d 0480:d010

    Bus 004 Device 003: ID 0480:d010 Toshiba America Info. Systems, Inc. External Disk 3TB
    Device Descriptor:
      bLength                18
      bDescriptorType         1
      bcdUSB               3.00
      bDeviceClass            0 
      bDeviceSubClass         0 
      bDeviceProtocol         0 
      bMaxPacketSize0         9
      idVendor           0x0480 Toshiba America Info. Systems, Inc.
      idProduct          0xd010 External Disk 3TB
      bcdDevice            6.07
      iManufacturer           1 Toshiba
      iProduct                2 External USB 3.0
      iSerial                 3 20130421020612
      bNumConfigurations      1
      Configuration Descriptor:
        bLength                 9
        bDescriptorType         2
        wTotalLength           44
        bNumInterfaces          1
        bConfigurationValue     1
        iConfiguration          0 
        bmAttributes         0xc0
          Self Powered
        MaxPower                2mA
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        0
          bAlternateSetting       0
          bNumEndpoints           2
          bInterfaceClass         8 Mass Storage
          bInterfaceSubClass      6 SCSI
          bInterfaceProtocol     80 Bulk-Only
          iInterface              0 
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x81  EP 1 IN
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0400  1x 1024 bytes
            bInterval               0
            bMaxBurst              14
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x02  EP 2 OUT
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0400  1x 1024 bytes
            bInterval               0
            bMaxBurst              14
    Binary Object Store Descriptor:
      bLength                 5
      bDescriptorType        15
      wTotalLength           22
      bNumDeviceCaps          2
      USB 2.0 Extension Device Capability:
        bLength                 7
        bDescriptorType        16
        bDevCapabilityType      2
        bmAttributes   0x00000002
          HIRD Link Power Management (LPM) Supported
      SuperSpeed USB Device Capability:
        bLength                10
        bDescriptorType        16
        bDevCapabilityType      3
        bmAttributes         0x00
        wSpeedsSupported   0x000e
          Device can operate at Full Speed (12Mbps)
          Device can operate at High Speed (480Mbps)
          Device can operate at SuperSpeed (5Gbps)
        bFunctionalitySupport   1
          Lowest fully-functional device speed is Full Speed (12Mbps)
        bU1DevExitLat          10 micro seconds
        bU2DevExitLat        2047 micro seconds
    can't get debug descriptor: Resource temporarily unavailable
    Device Status:     0x0001
      Self Powered

The above information is from when I was running Linux 3.18.9-gentoo, but I've
also tested with 3.19.2-gentoo and upstream 3.19.2.  I'm not sure whether I'm
prepared to test an RC kernel, but I suppose I could be persuaded.

[0] http://askubuntu.com/questions/337017/cant-read-partition-table-of-3tb-usb-disk
[1] http://ubuntuforums.org/showthread.php?t=1536933

Greetings
-- 
Marc Joliet
--
"People who think they know everything really annoy those of us who know we
don't" - Bjarne Stroustrup

Attachment: pgpNEKylVvrEy.pgp
Description: Digitale Signatur von OpenPGP


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux