way to notice user when a device connected to a inappropriate port

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If we can query the capability of the root hub among the whole system, to indicate if kernel should
notice userspace that the device is pluged into a inappropriate port. When a port with higher speed and/or more capabilities the 
device required is available. eg a dp display device on a normal typec even usb 2.0 only, or a superspeed device on a usb 2.0 port.
(Windows DID that)

Also some non-standard device only provide a usb superspeed without usb 2.0 even the specifaction says

> 11.3 USB 3.2 Device Support for USB 2.0
>USB 3.2 device certification requirements require support for USB 2.0 for all user attached devices.

I looked up the USB BOS descriptor and found that the field describing the device's speed capabilities is one-hot coded.
So also the device can put a billboard or BOS on usb2.0 to indicate it cannot run on such a port.

struct _SUPER_SPEED_USB_DEVICE_CAPABILITY_DESCRIPTOR
{ 
    BYTE bLength;          
    BYTE bDescriptorType;  
    BYTE bDevCapabilityType;  // ONE HOT BIT CODING!
    BYTE bmAttributes;
    WORD wSpeedsSupported;
    BYTE bFunctionalitySupport;
    BYTE bU1DevExitLat;
    WORD wU2DevExitLat;
}SUPER_SPEED_USB_DEVICE_CAPABILITY_DESCRIPTOR

I search the kernel source, but nothing shows that kernel trying to notice user or even a pr_info when situations above happened.





[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux