1

I'm working on Linux Mint 18.3, and I have a Seagate Backup Plus 2TB external HDD. I've had a few minor problems with the drive which I was able to fix, but I've hit a really problematic snag.

Copying from my internal HDD or SSD to the Seagate drive gives normal transfers speeds (100MB/s for about 1.3 GB and then slows down to 20MB/s on my USB3 port). HOWEVER, if I try to copy from my Seagate drive to either my internal HDD or SSD, I get the very precise copying speed of 2.5MB/s. Here is the KICKER: if, while a file is copying from the Seagate drive, I go into the Disks utility and manually force a refresh of the S.M.A.R.T. data from the Seagate disk, the speed is massively boosted for about a second and a half.

The Seagate is formatted as NTFS (I know...), so I thought this would work better on Windows. I tried on my Windows 7 partition, and this time, any file I would copy from Seagate to internal HDD or SSD would give the speed of around 750KB/s. So it's even slower (seems like USB 1.1 speeds) than on Linux.

I have tried this experiment in different temperature conditions (I thought maybe the external drive was being hardwired to limit speed as to not overheat) as well as after having installed the Seagate Dashboard program.

Does anyone know what causes this and how it can be fixed? I hate having to constantly click the "Refresh SMART data" button and I'm not too sure it's good for the health of the drive either.

NB: The SMART data shows no bad or reallocated sectors.

EDIT:

As per frostschutz's comment, I proceeded to try copying files from the Seagate drive to my laptop's Lubuntu partition and lo and behold, I got the USB 2.0 speeds that my laptop is capable of. So I knew the problem wasn't with the external HDD.

Context: My computer has a "built-in" usb hub, as in there's a few USB slots coming out from the motherboard, but there's also a few of them in the "front" of the machine, and that latter one is the hub. I never use that one, as the speeds are slower, but still I keep it plugged in.

When I proceeded, in order to run the dmesg and lsusb commands, to plug back the Seagate drive into my computer, in the same 3.0 USB port that I had been getting precisely 2.5MB/s out of, I tried yet again to copy a file, just for the hell of it (the same file I've kept trying, it's a big meaty 23GB file).

Lo and behold, a steady 125MB/s write speed to my internal HDD. For the whole 23GB. Besides me plugging the Seagate into another computer, absolutely nothing else changed. Something reset what the drive was reading and made it ok again.

I believe this whole episode has something to do with the way in which I've experimented unplugging the Seagate drive. For some reason, when I "safely remove drive" the Seagate external HDD, it doesn't put the drive to sleep as I still hear the platter spinning and if I unplug from the USB port, it makes a sharp sound as the head is put to rest. Before settling for the unmount and then hdparm -y /dev/sdx command, which did indeed solve my problem of putting the drive to sleep before unplugging, I tried a few other stuff which I don't even remember, which somehow made the drive behave weirdly when jacked into any of my computer's USB ports.

For all intents and purposes, my problem is solved, but I will provide dmesg data for anyone curious in figuring this out with me.

[ 5448.682599] usb 2-5: new SuperSpeed USB device number 2 using xhci_hcd
[ 5448.703297] usb 2-5: New USB device found, idVendor=0bc2, idProduct=ab24
[ 5448.703301] usb 2-5: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[ 5448.703304] usb 2-5: Product: BUP Slim BK
[ 5448.703307] usb 2-5: Manufacturer: Seagate
[ 5448.703309] usb 2-5: SerialNumber: xxxxxx (my edit)
[ 5448.705875] scsi host6: uas
[ 5448.706528] scsi 6:0:0:0: Direct-Access     Seagate  BUP Slim BK      0304 PQ: 0 ANSI: 6
[ 5448.762823] sd 6:0:0:0: Attached scsi generic sg3 type 0
[ 5448.763012] sd 6:0:0:0: [sdc] Spinning up disk...
[ 5449.778572] .
[ 5450.802589] .
[ 5451.826604] .
[ 5452.850628] .
[ 5452.850898] ready
[ 5452.851222] sd 6:0:0:0: [sdc] 3907029167 512-byte logical blocks: (2.00 TB/1.82 TiB)
[ 5452.851226] sd 6:0:0:0: [sdc] 2048-byte physical blocks
[ 5453.201932] sd 6:0:0:0: [sdc] Write Protect is off
[ 5453.201936] sd 6:0:0:0: [sdc] Mode Sense: 4f 00 00 00
[ 5453.202097] sd 6:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 5453.233738]  sdc: sdc1
[ 5453.234888] sd 6:0:0:0: [sdc] Attached SCSI disk
[ 5811.595986] usb 2-5: USB disconnect, device number 2
[ 5811.597333] sd 6:0:0:0: [sdc] Synchronizing SCSI cache
[ 5811.844787] sd 6:0:0:0: [sdc] Synchronize Cache(10) failed: Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK

The last three or so lines are after I unmounted it, I believe.

lsusb -t gave this:

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
    |__ Port 5: Dev 3, If 0, Class=Mass Storage, Driver=uas, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 4: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 8: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 8: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M

And lsusb -v gave this (only included the seagate one):

Bus 002 Device 003: ID 0bc2:ab24 Seagate RSS LLC 
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         9
  idVendor           0x0bc2 Seagate RSS LLC
  idProduct          0xab24 
  bcdDevice            1.00
  iManufacturer           2 
  iProduct                3 
  iSerial                 1 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          121
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower               36mA
    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              15
      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              15
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           4
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     98 
      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              15
        MaxStreams             32
        Data-in pipe (0x03)
      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              15
        MaxStreams             32
        Data-out pipe (0x04)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
        MaxStreams             32
        Status pipe (0x02)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
        Command pipe (0x01)

Distro/kernel:

Linux PC 4.13.0-26-generic #29~16.04.2-Ubuntu SMP Tue Jan 9 22:00:44 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
  • I have a Seagate Backup Plus (albeit 6TB) here, but no such issue. It sounds very odd. Anything in dmesg? lsusb -t, -v? Plugged directly or some other hub in between? Which distro, kernel version? Does it work with another PC? – frostschutz Sep 4 '18 at 15:26
  • I will check what you suggested (dmesg, lsusb -t and -v) and whether it works with another PC. I have to go to work, though, so it will take a while, but I will edit my post with the relevant info. There is a hub connected to the motherboard, but the USB 3.0 port I use for my external HDD is directly from motherboard. There might be some interference running, so I will test with my Lubuntu dinosaur laptop. – Maelor Sep 4 '18 at 18:05
  • @frostschutz Requested data is up. – Maelor Sep 5 '18 at 2:03
  • thanks, unfortunately I don't see anything out of the ordinary. It's a mystery. Glad you solved it anyhow. – frostschutz Sep 6 '18 at 11:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.