Re: USB key is 2.0 or 3.0

From: Gary Jennejohn <garyj_at_gmx.de>
Date: Fri, 19 Jan 2024 14:24:19 UTC
On Thu, 18 Jan 2024 18:30:34 +0100
Matthias Apitz <guru@unixarea.de> wrote:

> I've two new USB keys, both claiming on its wrapping USB 3.0:
>
> usbconfig -v reads from them:
>
> ugen0.4: <Generic Mass Storage> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (200mA)
> ugen0.4.0: umass0: <Generic Mass Storage, class 0/0, rev 2.10/0.02, addr 5>
>
>   bLength = 0x0012
>   bDescriptorType = 0x0001
>   bcdUSB = 0x0210
>   bDeviceClass = 0x0000  <Probed by interface class>
>   bDeviceSubClass = 0x0000
>   bDeviceProtocol = 0x0000
>   bMaxPacketSize0 = 0x0040
>   idVendor = 0x058f
>   idProduct = 0x6387
>   bcdDevice = 0x0002
>   iManufacturer = 0x0001  <Generic>
>   iProduct = 0x0002  <Mass Storage>
>   iSerialNumber = 0x0003  <A430786F>
>   bNumConfigurations = 0x0001
>
>
> ugen0.4: <USB SanDisk 3.2Gen1> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (224mA)
> ugen0.4.0: umass0: <USB SanDisk 3.2Gen1, class 0/0, rev 2.10/1.00, addr 4>
>
>   bLength = 0x0012
>   bDescriptorType = 0x0001
>   bcdUSB = 0x0210
>   bDeviceClass = 0x0000  <Probed by interface class>
>   bDeviceSubClass = 0x0000
>   bDeviceProtocol = 0x0000
>   bMaxPacketSize0 = 0x0040
>   idVendor = 0x0781
>   idProduct = 0x55ab
>   bcdDevice = 0x0100
>
> Both say on plugin "da0: 40.000MB/s transfers"; the USB port itself says
> on plugin of an external disks "da0: 400.000MB/s transfers", what is
> expected for USB 3.0;
>
> Why both USB keys only reach da0: 40.000MB/s?
>

You could try running usbdump(8).  Be aware that you need device bpf and
perhaps options DEV_BPF in your kernel config file if you aren't running a
GENERIC kernel.

usbdump has to be run as root.

I tried it with a USB3 and a USB2 thumb drive, plugging both into a USB3
port.

I used this command line: usbdump -d ugenX.Y -s 256 -w /tmp/USB{2,3} to
save the output and then usbdump -r /tmp/USB{2,3} to get the user
readable text.

You'll probably want to use different names for the -w file names.

I simply plugged in and unplugged each thumb drive and then stopped
usbdump.

The USB3 thumb drive always showed SPD=SUPER and the USB2 thumb drive
always showed SPD=HIGH in the user readable text.

So, if your disk shows SPD=SUPER and the thumb drives show SPD=HIGH
then the thumb drives are NOT USB3.

--
Gary Jennejohn