All of lore.kernel.org
 help / color / mirror / Atom feed
* problem with USB-C
@ 2022-01-12  0:56 James
  2022-01-12  7:02 ` Greg KH
  0 siblings, 1 reply; 5+ messages in thread
From: James @ 2022-01-12  0:56 UTC (permalink / raw)
  To: linux-usb

$ lsusb -tv
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
     ID 1d6b:0003 Linux Foundation 3.0 root hub
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
     ID 1d6b:0002 Linux Foundation 2.0 root hub
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
     ID 1d6b:0003 Linux Foundation 3.0 root hub
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M
     ID 1d6b:0002 Linux Foundation 2.0 root hub
     |__ Port 5: Dev 2, If 0, Class=Human Interface Device, 
Driver=usbhid, 1.5M
         ID 04d9:1503 Holtek Semiconductor, Inc. Keyboard
     |__ Port 5: Dev 2, If 1, Class=Human Interface Device, 
Driver=usbhid, 1.5M
         ID 04d9:1503 Holtek Semiconductor, Inc. Keyboard
     |__ Port 6: Dev 3, If 0, Class=Human Interface Device, 
Driver=usbhid, 1.5M
         ID 30fa:0400

With my USB3 drive plugged in to the USB-C port which is supposed to be 
USB3.1.
https://asrock.com/MB/AMD/B450M%20Pro4/index.us.asp

$ lsusb -tv
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
     ID 1d6b:0003 Linux Foundation 3.0 root hub
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
     ID 1d6b:0002 Linux Foundation 2.0 root hub
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
     ID 1d6b:0003 Linux Foundation 3.0 root hub
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M
     ID 1d6b:0002 Linux Foundation 2.0 root hub
     |__ Port 1: Dev 4, If 0, Class=Mass Storage, Driver=uas, 480M
         ID 0bc2:2321 Seagate RSS LLC Expansion Portable
     |__ Port 5: Dev 2, If 0, Class=Human Interface Device, 
Driver=usbhid, 1.5M
         ID 04d9:1503 Holtek Semiconductor, Inc. Keyboard
     |__ Port 5: Dev 2, If 1, Class=Human Interface Device, 
Driver=usbhid, 1.5M
         ID 04d9:1503 Holtek Semiconductor, Inc. Keyboard
     |__ Port 6: Dev 3, If 0, Class=Human Interface Device, 
Driver=usbhid, 1.5M
         ID 30fa:0400


Why are the hubs listed as Linux Foundation 3.0 root hubs and not 3.1 
root hubs?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: problem with USB-C
  2022-01-12  0:56 problem with USB-C James
@ 2022-01-12  7:02 ` Greg KH
  2022-01-12 15:40   ` Alan Stern
  0 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2022-01-12  7:02 UTC (permalink / raw)
  To: James; +Cc: linux-usb

On Tue, Jan 11, 2022 at 07:56:53PM -0500, James wrote:
> $ lsusb -tv
> /:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
>     ID 1d6b:0003 Linux Foundation 3.0 root hub
> /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
>     ID 1d6b:0002 Linux Foundation 2.0 root hub
> /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
>     ID 1d6b:0003 Linux Foundation 3.0 root hub
> /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M
>     ID 1d6b:0002 Linux Foundation 2.0 root hub
>     |__ Port 5: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid,
> 1.5M
>         ID 04d9:1503 Holtek Semiconductor, Inc. Keyboard
>     |__ Port 5: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid,
> 1.5M
>         ID 04d9:1503 Holtek Semiconductor, Inc. Keyboard
>     |__ Port 6: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid,
> 1.5M
>         ID 30fa:0400
> 
> With my USB3 drive plugged in to the USB-C port which is supposed to be
> USB3.1.
> https://asrock.com/MB/AMD/B450M%20Pro4/index.us.asp
> 
> $ lsusb -tv
> /:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
>     ID 1d6b:0003 Linux Foundation 3.0 root hub
> /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
>     ID 1d6b:0002 Linux Foundation 2.0 root hub
> /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
>     ID 1d6b:0003 Linux Foundation 3.0 root hub
> /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M
>     ID 1d6b:0002 Linux Foundation 2.0 root hub
>     |__ Port 1: Dev 4, If 0, Class=Mass Storage, Driver=uas, 480M
>         ID 0bc2:2321 Seagate RSS LLC Expansion Portable
>     |__ Port 5: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid,
> 1.5M
>         ID 04d9:1503 Holtek Semiconductor, Inc. Keyboard
>     |__ Port 5: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid,
> 1.5M
>         ID 04d9:1503 Holtek Semiconductor, Inc. Keyboard
>     |__ Port 6: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid,
> 1.5M
>         ID 30fa:0400
> 
> 
> Why are the hubs listed as Linux Foundation 3.0 root hubs and not 3.1 root
> hubs?

Because your devices do not advertise themselves as a USB 3.1 root hub.
Perhaps the documentation is incorrect?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: problem with USB-C
  2022-01-12  7:02 ` Greg KH
@ 2022-01-12 15:40   ` Alan Stern
  2022-01-12 19:39     ` James
  2022-01-13  8:40     ` Greg KH
  0 siblings, 2 replies; 5+ messages in thread
From: Alan Stern @ 2022-01-12 15:40 UTC (permalink / raw)
  To: Greg KH; +Cc: James, linux-usb

On Wed, Jan 12, 2022 at 08:02:52AM +0100, Greg KH wrote:
> On Tue, Jan 11, 2022 at 07:56:53PM -0500, James wrote:
> > $ lsusb -tv
> > /:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
> >     ID 1d6b:0003 Linux Foundation 3.0 root hub
> > /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
> >     ID 1d6b:0002 Linux Foundation 2.0 root hub
> > /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
> >     ID 1d6b:0003 Linux Foundation 3.0 root hub
> > /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M
> >     ID 1d6b:0002 Linux Foundation 2.0 root hub
> >     |__ Port 5: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid,
> > 1.5M
> >         ID 04d9:1503 Holtek Semiconductor, Inc. Keyboard
> >     |__ Port 5: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid,
> > 1.5M
> >         ID 04d9:1503 Holtek Semiconductor, Inc. Keyboard
> >     |__ Port 6: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid,
> > 1.5M
> >         ID 30fa:0400
> > 
> > With my USB3 drive plugged in to the USB-C port which is supposed to be
> > USB3.1.
> > https://asrock.com/MB/AMD/B450M%20Pro4/index.us.asp
> > 
> > $ lsusb -tv
> > /:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
> >     ID 1d6b:0003 Linux Foundation 3.0 root hub
> > /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
> >     ID 1d6b:0002 Linux Foundation 2.0 root hub
> > /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
> >     ID 1d6b:0003 Linux Foundation 3.0 root hub
> > /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M
> >     ID 1d6b:0002 Linux Foundation 2.0 root hub
> >     |__ Port 1: Dev 4, If 0, Class=Mass Storage, Driver=uas, 480M
> >         ID 0bc2:2321 Seagate RSS LLC Expansion Portable

Is that Seagate storage device really supposed to be USB-3.1?  It is 
connected at only USB-2 speed!  Maybe something is wrong with the drive 
or the cable.

> >     |__ Port 5: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid,
> > 1.5M
> >         ID 04d9:1503 Holtek Semiconductor, Inc. Keyboard
> >     |__ Port 5: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid,
> > 1.5M
> >         ID 04d9:1503 Holtek Semiconductor, Inc. Keyboard
> >     |__ Port 6: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid,
> > 1.5M
> >         ID 30fa:0400
> > 
> > 
> > Why are the hubs listed as Linux Foundation 3.0 root hubs and not 3.1 root
> > hubs?
> 
> Because your devices do not advertise themselves as a USB 3.1 root hub.
> Perhaps the documentation is incorrect?

No, that's not it at all.

The reason why the root hubs for buses 2 and 4 above are both listed as 
"Linux Foundation 3.0 root hub" is because in hcd.c, the 
usb31_rh_dev_descriptor and usb3_rh_dev_descriptor structures both set 
their idProduct values to 0x03, 0x00 (0x0003 in little-endian form).  
Therefore the hardware database can't distinguish between them.

One possibility would be for the usb31_rh_dev_descriptor to use 0x04, 
0x00 (with the corresponding update to the udev hardware database).  
Another possibility is for the hardware database entry for product 0x0003
to be changed simply to "Linux Foundation USB-3 root hub", so that it 
doesn't specify 3.0, 3.1, or 3.2.

Alan Stern

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: problem with USB-C
  2022-01-12 15:40   ` Alan Stern
@ 2022-01-12 19:39     ` James
  2022-01-13  8:40     ` Greg KH
  1 sibling, 0 replies; 5+ messages in thread
From: James @ 2022-01-12 19:39 UTC (permalink / raw)
  Cc: linux-usb


> Is that Seagate storage device really supposed to be USB-3.1?  It is
> connected at only USB-2 speed!  Maybe something is wrong with the drive
> or the cable.
I suspect the cable for USB-C.

The USB-C cable:
$ lsusb -tv
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M
     ID 1d6b:0002 Linux Foundation 2.0 root hub
     |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=uas, 480M
         ID 0bc2:2321 Seagate RSS LLC Expansion Portable

This is with it connected with a USB3-A cable:
$ lsusb -tv
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
     ID 1d6b:0003 Linux Foundation 3.0 root hub
     |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M
         ID 0bc2:2321 Seagate RSS LLC Expansion Portable

A newer drive in the USB-C port:
$ lsusb -tv
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M
     ID 1d6b:0002 Linux Foundation 2.0 root hub
     |__ Port 1: Dev 5, If 0, Class=Mass Storage, Driver=uas, 480M
         ID 0bc2:ab5a Seagate RSS LLC
> Another possibility is for the hardware database entry for product 0x0003
> to be changed simply to "Linux Foundation USB-3 root hub", so that it
> doesn't specify 3.0, 3.1, or 3.2.
>
I like that idea.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: problem with USB-C
  2022-01-12 15:40   ` Alan Stern
  2022-01-12 19:39     ` James
@ 2022-01-13  8:40     ` Greg KH
  1 sibling, 0 replies; 5+ messages in thread
From: Greg KH @ 2022-01-13  8:40 UTC (permalink / raw)
  To: Alan Stern; +Cc: James, linux-usb

On Wed, Jan 12, 2022 at 10:40:49AM -0500, Alan Stern wrote:
> > >     |__ Port 5: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid,
> > > 1.5M
> > >         ID 04d9:1503 Holtek Semiconductor, Inc. Keyboard
> > >     |__ Port 5: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid,
> > > 1.5M
> > >         ID 04d9:1503 Holtek Semiconductor, Inc. Keyboard
> > >     |__ Port 6: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid,
> > > 1.5M
> > >         ID 30fa:0400
> > > 
> > > 
> > > Why are the hubs listed as Linux Foundation 3.0 root hubs and not 3.1 root
> > > hubs?
> > 
> > Because your devices do not advertise themselves as a USB 3.1 root hub.
> > Perhaps the documentation is incorrect?
> 
> No, that's not it at all.
> 
> The reason why the root hubs for buses 2 and 4 above are both listed as 
> "Linux Foundation 3.0 root hub" is because in hcd.c, the 
> usb31_rh_dev_descriptor and usb3_rh_dev_descriptor structures both set 
> their idProduct values to 0x03, 0x00 (0x0003 in little-endian form).  
> Therefore the hardware database can't distinguish between them.

Ah, right, I totally missed that.  I saw the two different definitions,
but missed the device number.

> One possibility would be for the usb31_rh_dev_descriptor to use 0x04, 
> 0x00 (with the corresponding update to the udev hardware database).  
> Another possibility is for the hardware database entry for product 0x0003
> to be changed simply to "Linux Foundation USB-3 root hub", so that it 
> doesn't specify 3.0, 3.1, or 3.2.

I can do that.  Should only take a few years to trickle out to the
slower distros :)

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-01-13  8:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-12  0:56 problem with USB-C James
2022-01-12  7:02 ` Greg KH
2022-01-12 15:40   ` Alan Stern
2022-01-12 19:39     ` James
2022-01-13  8:40     ` Greg KH

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.