USB 3.0 Type A Male to Type A Male M-M Coupler Adapter Gender Changer Connector Pro New (WHL #16)
…also sold as Blue USB 3.0 A Male to Male Extension Converter Adapter USB Connector Gender Changer Coupler For Pc Laptop and tons of other variations.
Remember the USB 3.0 keystone module from WHL #13? Yep, it can get worse than that.
I’ve always kept USB gender changers handy to connect weird and wonderful combinations of devices, including measurement contraptions e.g. for current tests. With the advent of USB 3.0 (with classic A plugs, I don’t have any USB type-C devices yet), I needed to slowly upgrade my gear to do such measurements in USB 3 mode. Of course, a memory stick screaming along at 200 MB/s will guzzle more juice than when it’s limited to measly USB 2.0 speeds. Without the corresponding adaptors, I cannot capture that.
So recently I needed some more of these puppies, as some of them went into stationary installations. Why not buy some more at AliExpress? So I did. 1.17€ and 1.99€ a piece (not really sure where I got the female adapter from)
And I got shiny new adapters.
And I opened disputes and got my money back.
Wan Hung Lo strikes again!
The center adapter is a female-female type, the others are two almost-identical male-male ones from different sellers.
As in WHL #13, my only test is to check if the adapters enable USB 3.0 mode when a fast memory stick is attached. I got lazy however, and decided to do that test on my main Linux machine. If one runs
lsusb -vvv
as root, it will spew out tons of information. For example, this is the details of my internal mPCIe dual card reader that works as a USB device:
Bus 002 Device 040: ID 058f:6465 Alcor Micro Corp.
Device Descriptor:
bLength 18
....bDescriptorType 1
....bcdUSB 2.00
....bDeviceClass 0 (Defined at Interface level)
....bDeviceSubClass 0
....bDeviceProtocol 0
....bMaxPacketSize0 64
....idVendor 0x058f Alcor Micro Corp.
....idProduct 0x6465
....bcdDevice 1.00
....iManufacturer 1 Generic
....iProduct 2 Flash Card Reader/Writer
....iSerial 3 058F64656473
....bNumConfigurations 1
....Configuration Descriptor:
........bLength 9
........bDescriptorType 2
........wTotalLength 32
........bNumInterfaces 1
........bConfigurationValue 1
........iConfiguration 0
........bmAttributes 0xa0
............(Bus Powered)
............Remote Wakeup
........MaxPower 250mA
........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 0x01 EP 1 OUT
................bmAttributes 2
....................Transfer Type Bulk
....................Synch Type None
....................Usage Type Data
................wMaxPacketSize 0x0200 1x 512 bytes
................bInterval 0
............Endpoint Descriptor:
................bLength 7
................bDescriptorType 5
................bEndpointAddress 0x82 EP 2 IN
................bmAttributes 2
....................Transfer Type Bulk
....................Synch Type None
....................Usage Type Data
................wMaxPacketSize 0x0200 1x 512 bytes
................bInterval 0
Device Qualifier (for other device speed):
....bLength 10
....bDescriptorType 6
....bcdUSB 2.00
....bDeviceClass 0 (Defined at Interface level)
....bDeviceSubClass 0
....bDeviceProtocol 0
....bMaxPacketSize0 64
....bNumConfigurations 1
Device Status: 0x0000
....(Bus Powered)
I’m not too interested in all the technical USB stuff, but one line catches my attention:
bcdUSB 2.00
This, ladies and gentlemen, is the currently used USB mode. There is also 2.10, which I’ve never heard of, but both of them are USB 2.0 speeds, that is, 480 Mb/s or 60 MB/s including all the header crap that makes it so much slower.
As I’m testing a specfic device, I get the name first (without all the -vvv goodness), and then run
lsusb -vvv | grep -i -B4 bcdUSB | grep Alcor -i -A4
(replace Alcor with the name of your device)
This results in the minimal snippet from all of the code above (and all other USB devices your computer has to offer):
Bus 002 Device 040: ID 058f:6465 Alcor Micro Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
Perfect. Now testing different adapters will be so much easier – plug it in, run the command, see if it’s USB 3.0 or not. No actual benchmarks required unless you doubt that it cannot hold USB 3.0 speeds even though the first handshake succeeded in 3.0 mode.
And, take a guess what these adapters yield…yes, of course, USB 2.0 only, and one of them didn’t even work that fast.
I have to link the USB 3.0 specs once again: http://www.usb.org/developers/docs/devclass_docs/CabConn_3_0_Compliance_Document_v1.02_2011-10-04.pdf
4.10.1.1.2 Cable Constructions
The cable construction for standard detachable USB 3.0 cable assemblies is to be visually verified. Cable construction must contain a braided outer shield. Cables must contain a power pair, a UTP D+/D- data-pair, and two shielded SuperSpeed data pairs. Laboratory conducting the compliance testing is required to visually verify the construction of the cable. See USB 3.0 section 5.4.1 for details of the cable construction. Due to EMI and signal integrity requirements, each cable differential pair used for the SuperSpeed in a USB 3.0 cable assembly must be shielded; the UTP (unshielded twist pair) used for D+/D- is NOT allowed for SS.
I guess technically it is allowed to build such gender changers with wired connections instead of PCBs. But you have much more possibilities to fail the standards, while you only can fail with amateurish PCB trace design in the latter case.
Allow me to mark spec violations of these adapters in bold
4.10.1.1.2 Cable Constructions
The cable construction for standard detachable USB 3.0 cable assemblies is to be visually verified. Cable construction must contain a braided outer shield. Cables must contain a power pair, a UTP D+/D- data-pair, and two shielded SuperSpeed data pairs. Laboratory conducting the compliance testing is required to visually verify the construction of the cable. See USB 3.0 section 5.4.1 for details of the cable construction. Due to EMI and signal integrity requirements, each cable differential pair used for the SuperSpeed in a USB 3.0 cable assembly must be shielded; the UTP (unshielded twist pair) used for D+/D- is NOT allowed for SS.
And this is only because I hope someone does visual inspection of their very own hand soldering efforts
I guess I don’t have to start once again about signal delay differences of the differential pairs of USB or controlled impedance along the way – just look at this rat’s nest covered in hot snot, and you’ll know why this piece of garbage does not work. Went straight into the “might be of use one day in the future” parts bin – cut in half, so that I never think ever again about using these as USB 3.0 adapters.
Well, to sum that up: Four years ago USB adapters cost the same, but worked. Nowadays, you’ll only get Wan Hung Lo goodness that does not work, maybe because it blatantly fails USB specs. I’ll keep shopping as I need more of these adapters, but it’s not easy to get a winner. Too much CHAINA qualitty out there…
[…] one fits bare USB connectors like those on 2.0 gender changers (or the real bad USB 3.0 ones). Make it wider for a regular USB plug that really has to fit your panel […]