mailto: blog -at- heyrick -dot- eu

USB quirks and power consumption

So, over the past few days four things have become quite clear:
  1. My machine and/or Linux and/or the hub does not seem to like USB 3 much.
  2. There doesn't appear to be a fallback from a failed USB 3 to USB 2.
  3. USB 3 is actually a different thing to USB 2, they sort of coexist side by side but they are otherwise independent.
  4. The 1TB drive sucks way too much power to be reliably powered by my notebook PC (its own power adaptor is 19V, 1.75A).

 

Zerosquare's comment

Briefly - regarding the point raised by Zerosquare yesterday (the lack of decent capacitors), while this is clearly a sub-optimal situation, I would wonder about the reality of data corruption as opposed to just being slow due to retries. The real world is messy, noisy, complicated, and manufacturers do dumb things like this. We learned a long long time ago that data that matters really ought to go through some sort of block based protocol that has error checking built in. That's why downloads used Zmodem rather than just splatting data to the modem. That's why TCP/IP. And, indeed with USB, packets have CRCs. Therefore I feel that it ought to be really quite rare that data gets corrupted in transit and nothing notices.

I know that the hub is more or less behaving itself with respect to USB 2 because if there were CRC errors, I would expect to see a lot of shouty-shouty in red in dmesg.
The hub may be bad for USB 3, because that isn't so much an upgrade on USB 2 as a totally different thing co-existing alongside USB 2. With a current capacity of 900mA (that I'm pretty sure my machine couldn't handle), maybe power is only routed to the USB 2 pins? Who knows? Either way, there is clearly an impediment between the hub and any connected USB 3 device; I'll go into this in more detail below.

All this being said, the 21MiB/sec is a little slow, but it is bang in the region of acceptable transfer speeds between two USB harddiscs. Even if they benchmark faster when reading raw sectors, one must be aware that there will be filesystem overheads, and FAT is notoriously crappy here with its constant metadata writing. It's why I use spinning rust with my satellite receiver - recording a few movies will slaughter a flash device in no time at all.

 

USB 3

I can't do much about this, other than report my observations. And, as mentioned above, USB 3 is actually "something else" compared to USB 2. A USB 3 device can fall back to USB 2, but this only happens at initial negotiation if there's nothing on the USB 3 side. The hub copes with this by evaluating as two different devices in order to support both types of device. I don't think it is possible to bridge between a USB 3 device and a USB 2 port (there is the VL670 chip, but is this used in consumer hardware?).
To give an idea of the degree of separation and the fact that USB 3 devices will only use USB 2 as a fallback, it is technically feasible to open up a four port USB 3 hub and connect eight devices to it. Four USB 3 devices, and four USB 2 ones. Though I'm not aware of anybody having done this.
At any rate, a USB 3 port is basically two different interfaces in a trenchcoat; and a typical inexpensive USB 3 hub is actually two different hubs, also in a trenchcoat. So what effects/happens with one of the USBs has little to no consequence on the other unless it is something mindnumbingly obvious like "the cable isn't plugged in".

So, yeah, that was a fun rabbit hole to fall into.

 

The 500GB UnionSine drive plugs into the USB 3 port and works as a USB 3 device.

The hub plugs into the USB 3 port and claims to work as a USB 3 device; however if the 500GB drive is plugged into the hub, it isn't seen at all by the host.
Plugging the hub into the USB 2 port, the 500GB drive is seen and mounted.

The 1TB drive tries to initiate a connection when plugged directly into the USB 3 port, however, it fails.

usb 2-1: new SuperSpeed USB device number 117 using xhci_hcd
usb 2-1: New USB device found, idVendor=07aa, idProduct=004e, bcdDevice=19.05
usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-1: Product: CG-HDCUS3F
usb 2-1: Manufacturer: corega
usb 2-1: SerialNumber: 0000000000006153
usb-storage 2-1:1.0: USB Mass Storage device detected
scsi host0: usb-storage 2-1:1.0
scsi 0:0:0:0: Direct-Access     TOSHIBA  MQ01ABD100M      AX1P PQ: 0 ANSI: 2
sd 0:0:0:0: Attached scsi generic sg0 type 0
sd 0:0:0:0: [sda] 1953525165 512-byte logical blocks: (1.00 TB/932 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
sd 0:0:0:0: [sda] No Caching mode page found
sd 0:0:0:0: [sda] Assuming drive cache: write through
 sda: sda1
sd 0:0:0:0: [sda] Attached SCSI disk
usb 2-1: USB disconnect, device number 117
sd 0:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK cmd_age=0s
sd 0:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 00 3f 00 00 08 00
I/O error, dev sda, sector 63 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
device offline error, dev sda, sector 63 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
Buffer I/O error on dev sda1, logical block 0, async page read
device offline error, dev sda, sector 65 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
Buffer I/O error on dev sda1, logical block 1, async page read
device offline error, dev sda, sector 67 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
Buffer I/O error on dev sda1, logical block 2, async page read
device offline error, dev sda, sector 69 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
Buffer I/O error on dev sda1, logical block 3, async page read
usb 2-1: Device not responding to setup address.
usb 2-1: Device not responding to setup address.
usb 2-1: device not accepting address 118, error -71

I do not know if this is due to inadequate power or something else. I have had this drive running, in the past, on the USB 2 port, though it did suffer from random shutdowns.

As with the 500GB drive, the 1TB drive connected to the how connected to the USB 3 port fails to show up. There's nothing in dmesg following the connection of the hub. However when connected to the USB 2 port, it works. And since the hub is self-powered, it works reliably.

As I said, there's nothing I can do about this other than to put my observations here.

In case anybody cares (slightly abridged to trim unnecessary info):

System:
  Kernel: 6.8.0-90-generic arch: x86_64 bits
  Desktop: Cinnamon v: 6.4.8
    Distro: Linux Mint 22.1 Xia base: Ubuntu 24.04 noble

Machine:
  Type: Laptop System: ASUSTeK product: E200HA v: 1.0
  Mobo: ASUSTeK model: E200HA v: 1.0
  UEFI: American Megatrends v: E200HA.303 date: 12/21/2016

CPU:
  Info: quad core model: Intel Atom x5-Z8350 bits: 64
        arch: Airmont rev: 4 cache: L1: 224 KiB L2: 2 MiB

Graphics:
  Device-1: Intel Atom/Celeron/Pentium Processor
            x5-E8000/J3xxx/N3xxx Integrated Graphics
    vendor: ASUSTeK driver: i915 v: kernel arch: Gen-8
  Device-2: Realtek USB2.0 VGA UVC WebCam driver: uvcvideo type: USB
  Display: x11 server: X.Org v: 21.1.11 with: Xwayland v: 23.2.6
           driver: X: loaded: modesetting unloaded: fbdev,vesa
           dri: crocus gpu: i915 display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1366x768 s-dpi: 96 s-size: 361x203mm (14.21x7.99")
  Monitor-1: eDP-1 model: AU Optronics 0x225c res: 1366x768 hz: 60 dpi: 136
    size: 256x144mm (10.08x5.67") diag: 294mm (11.6") modes: 1366x768

Audio:
  Message: No device data found <-- because it keeps failing!
  API: ALSA v: k6.8.0-90-generic status: kernel-api
  Server-1: PipeWire v: 1.0.5 status: active with: 1: pipewire-pulse
            status: active
         2: wireplumber status: active 3: pipewire-alsa type: plugin

Network:
  Device-1: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter

Bluetooth:
  Device-1: IMC Networks driver: btusb type: USB rev: 1.1 speed: 12 Mb/s

Drives:
  Local Storage: total: 58.84 GiB used: 39.24 GiB (66.7%)
  ID-1: /dev/mmcblk0 vendor: SanDisk model: SD32G size: 29.72 GiB
  ID-2: /dev/mmcblk1 vendor: Samsung model: BJNB4R size: 29.12 GiB
  [ID-1 is µSD card in slot, ID-2 internal (boot) SSD]

USB:
  Hub-1: 1-0:1 info: hi-speed hub with single TT ports: 7 rev: 2.0
         speed: 480 Mb/s lanes: 1 chip-ID: 1d6b:0002 class-ID: 0900
  Device-1: 1-1:2 info: Realtek USB2.0 VGA UVC WebCam
  Device-2: 1-3:3 info: IMC Networks type: bluetooth
  Hub-2: 2-0:1 info: super-speed hub ports: 6 rev: 3.0 speed: 5 Gb/s

Sensors:
  System Temperatures: cpu: 6280.4 C mobo: N/A
  [included only because it is comically wrong!]

Info:
  Memory: total: 4 GiB available: 3.72 GiB used: 3.11 GiB (83.7%)
  Processes: 294 Power: uptime: 21d 17m states: freeze,mem
    suspend: s2idle wakeups: 26 hibernate: disabled Init: systemd
          v: 255 target: graphical (5) default: graphical

 

Power consumption

Again, there isn't really much I can do about this, but I can, at least, observe it.

WARNING! If you're reading this at night in dark mode, the following pictures will sear your eyes. Knock down the brightness, squint, or go watch Into The Night on Netflix instead...

 

This is my Samsung S9. I was copying some old stuff off of it in order to free up some space.

A picture of current consumption and voltage.

The 500GB drive, when plugged in, bounced all over the place to settle around 290mA when idling, and it didn't change much when reading a video file.

A picture of current consumption and voltage.

It did start bouncing around a lot, peaking at around 440mA, when copying a file to the drive.

A picture of current consumption and voltage.

The USB hub... took nothing. Initially this was expected because it was being powered from it's own power brick, but once the power cable had been removed it still read zero. I'm guessing that when quiet - and yes, dmesg did show it being connected - it is super power efficient, so much so that my cheap little meter is not sensitive enough to read it.

A picture of current consumption and voltage.

The 1TB drive, as with the other, bounced all over the place when connected, settling down to around 250mA (the picture below is it flipping between 230 and 270).

A picture of current consumption and voltage.

Note that the bus voltage being higher on this port is a red herring. Both ports read around 5.22V when there's nothing at all connected. Current draw will cause some degree of voltage drop. This shows up with the 500GB drive and it's 4.83V (290mA) and 4.79V (440mA) because it is being directly powered by the port.
This drive is not being powered by the port, so there is very little voltage drop here, only what is being consumed by the hub electronics, and it's about five hundredths of a volt.

Now, also like the other drive, the 1TB didn't cause much change when reading. There was a small spike every so often that might be, say, the coil moving the heads across the platter. And, also like the other drive, writing took a fair bit more power. Here we are up to 650mA, and I saw it peak into 700, but didn't get a photo of that.
Too much of that, the computer would either say "no" and cut the power, or it would fizzle and the drive would notice and shut itself down. Either way, this was taking more than my machine was able to supply. It is also, for what it is worth, taking more than the USB 2 spec technically allows for (500mA) - though how much that is enforced depends upon the hardware, many years ago I powered a Pi 1 from the EeePC's USB port (running RISC OS, so probably still comfortably within 500mA).

A picture of current consumption and voltage.

 

What is that 1TB drive?

It is this fairly non-descript object, that I bought back in January 2020.

An external USB harddisc.
The 1TB device.

The 500GB UnionSine drives are either glued or hot-melted plastic, so it isn't possible to non-destructively open them. The 1TB drive, on the other hand, is a mostly metal enclosure with two screws at either side of one of the ends. Undo those screws, the assembly just slides out. Looking at the above blog article, I forgot that opening it up was necessary for some reason, so of course it would be easy to get into (and, of course, I've already taken pictures, but here's a new picture that looks very much like the old picture ☺).

Inside the USB harddisc.
What's inside.

The drive is 1TB. The gibberish about 8455MB is why I'm glad I mostly avoided PCs for most of the '90s. It's some bollocks that BIOSes may or may not have depended upon in order to 'see' the drive. Back in the '90s when LBA addressing was introduced, the drive had to say something initially when evaluated as a CHS device, so everybody standardised on 16383 cylinders multiplied by 16 heads multiplied by 63 sectors multiplied by 512 bytes/sector which is 8,455,716,864 bytes or 8455MB (decimal). It is entirely fictitious, but it's the largest size that old BIOS geometry could technically handle.
The truth is shown by the 1,953,525,168 sectors which when multiplied by 512 bytes/sector gives 1,000,204,886,016 bytes which is just a little over 1TB (decimal).

Why we're still giving decimal sizes for media that organises data into sectors of five hundred and twelve (binary amount - two to the power of nine) eight bit bytes (binary amount) essentially comes down to "marketing" (aka blatant lying): 1TB sounds much better than 931GiB.

As you can clearly see, it's not a USB harddisc. I don't think such a thing even exists. It's a standard laptop harddisc - albeit a power hungry one, rated up to 1A, ouch - with an interface board connected to it. This particular interface is a VL700-Q4 by "VLI" which means VIA Labs Inc. Double layers of acronyms - VIA typically stands for "Virtual Interface Architecture", a standard devised by Microsoft, Intel, and Compaq. I'm not sure if the name is related, given that in the '90s the parent company made a lot of chips for PCs (people of a certain age will remember plenty of VIA chips).

The VL700 is a high speed USB 3.0 to SATA interface that supports the usual stuff for harddiscs, SSDs, and optical media. It offers the standard bulk media as well as UASP (USB-attached SCSI protocol) for more advanced features. Almost everything is within the chip, it needs very little in the way of supporting hardware, which is why there's not a lot else on the the tiny board.

 

The 500GB, UnionSine, drive is a cheap and cheerful one that I get from Amazon because it has low power requirements and it is actually surprisingly reliable given the price (between €25-29). I buy one for my satellite PVR, and when it gets full I just buy another. It's simpler to spend a small amount every few months than to go and tidy up the recordings, which is a massive pain in the posterior quarters. I think I have... I dunno, five or six of them now. All those nice recordings (TS streams that, being British digital TV frequently contain audio description and subtitles if from one of the main channels) that I'll probably never watch. Hmmm...

 

In summation...

Well, I think I've gone over this subject enough now. The big disc simply isn't going to work on USB 3 but it works on USB 2. It is what it is. An interesting and quirky diversion, but "it works" so time to put this one to rest. So tomorrow I can discuss something easier like how the so-called "dark matter" is really composed of autistic tachyons. 😂

Anyway, early start tomorrow so time to brew up a nice bowl of linguine. I think I'll have it with the Knorr white butter sauce. Yes, indeed, that sounds like a plan. 🍝

Things I'll be making dinner with.
Dinner shall become.

 

 

Your comments:

Please note that while I check this page every so often, I am not able to control what users write; therefore I disclaim all liability for unpleasant and/or infringing and/or defamatory material. Undesired content will be removed as soon as it is noticed. By leaving a comment, you agree not to post material that is illegal or in bad taste, and you should be aware that the time and your IP address are both recorded, should it be necessary to find out who you are. Oh, and don't bother trying to inline HTML. I'm not that stupid! ☺
As of February 2025, commenting is no longer available to UK residents, following the implementation of the vague and overly broad Online Safety Act. You must tick the box below to verify that you are not a UK resident, and you expressly agree if you are in fact a UK resident that you will indemnify me (Richard Murray), as well as the person maintaining my site (Rob O'Donnell), the hosting providers, and so on. It's a shitty law, complain to your MP.
It's not that I don't want to hear from my British friends, it's because your country makes stupid laws.

 
You can now follow comment additions with the comment RSS feed. This is distinct from the b.log RSS feed, so you can subscribe to one or both as you wish.

Zerosquare, 26th January 2026, 10:24
Regarding the silent data corruption risk: I used to think that was very unlikely, using the exact same reasoning as you. But then I read this article, which documents a real-life occurrence of this issue: 
https://goughlui.com/2023/04/25/review-teardown-rybozen-2- in-4-out-usb-3-0-sharing-switch-box/ 
 
There's another article on the same blog about connecting both a USB 2.0 device and a USB 3.0 device to the same physical port: 
https://goughlui.com/2025/09/04/project-u3splitv1-breaking- apart-a-usb-3-x-host-port-for-desperate-times/
Rick, 26th January 2026, 14:24
- Rybozen, yikes, that switching looks suspect. 
I have never trusted port sharers. One I had for a parallel port (about a billion years ago) caused no end of problems. 
 
Over the weekend I copied around 280GB off the 1TB drive, fixed its FAT, then copied several GB across from my phone. Not a peep in dmesg, once it was set up and working. 
 
As for the second, whoo, nice. My wisdom said that it should work, but with the caveats mentioned (no fallback for USB3, single port power...). 

Add a comment (v0.12) [help?] . . . try the comment feed!
Your name
Your email (optional)
Validation Are you real? Please type 84939 backwards.
UK resident
Your comment
French flagSpanish flagJapanese flag
Calendar
«   January 2026   »
MonTueWedThuFriSatSun
   23
79
13141517
19202223
282930 

(Felicity? Marte? Find out!)

Last 5 entries

List all b.log entries

Return to the site index

Geekery
 
Alphabetical:

Search

Search Rick's b.log!

PS: Don't try to be clever.
It's a simple substring match.

Etc...

Last read at 05:45 on 2026/02/07.

QR code


Valid HTML 4.01 Transitional
Valid CSS
Valid RSS 2.0

 

© 2026 Rick Murray
This web page is licenced for your personal, private, non-commercial use only. No automated processing by advertising systems is permitted.
RIPA notice: No consent is given for interception of page transmission.

 

Have you noticed the watermarks on pictures?
Next entry - 2026/01/26
Return to top of page