| What: /sys/bus/pci/drivers/xhci_hcd/.../dbc |
| Date: June 2017 |
| Contact: Lu Baolu <baolu.lu@linux.intel.com> |
| Description: |
| xHCI compatible USB host controllers (i.e. super-speed |
| USB3 controllers) are often implemented with the Debug |
| Capability (DbC). It can present a debug device which |
| is fully compliant with the USB framework and provides |
| the equivalent of a very high performance full-duplex |
| serial link for debug purpose. |
| |
| The DbC debug device shares a root port with xHCI host. |
| When the DbC is enabled, the root port will be assigned |
| to the Debug Capability. Otherwise, it will be assigned |
| to xHCI. |
| |
| Writing "enable" to this attribute will enable the DbC |
| functionality and the shared root port will be assigned |
| to the DbC device. Writing "disable" to this attribute |
| will disable the DbC functionality and the shared root |
| port will roll back to the xHCI. |
| |
| Reading this attribute gives the state of the DbC. It |
| can be one of the following states: disabled, enabled, |
| initialized, connected, configured and stalled. |
| |
| What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_idVendor |
| Date: March 2023 |
| Contact: Mathias Nyman <mathias.nyman@linux.intel.com> |
| Description: |
| This dbc_idVendor attribute lets us change the idVendor field |
| presented in the USB device descriptor by this xhci debug |
| device. |
| Value can only be changed while debug capability (DbC) is in |
| disabled state to prevent USB device descriptor change while |
| connected to a USB host. |
| The default value is 0x1d6b (Linux Foundation). |
| It can be any 16-bit integer. |
| |
| What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_idProduct |
| Date: March 2023 |
| Contact: Mathias Nyman <mathias.nyman@linux.intel.com> |
| Description: |
| This dbc_idProduct attribute lets us change the idProduct field |
| presented in the USB device descriptor by this xhci debug |
| device. |
| Value can only be changed while debug capability (DbC) is in |
| disabled state to prevent USB device descriptor change while |
| connected to a USB host. |
| The default value is 0x0010. It can be any 16-bit integer. |
| |
| What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_bcdDevice |
| Date: March 2023 |
| Contact: Mathias Nyman <mathias.nyman@linux.intel.com> |
| Description: |
| This dbc_bcdDevice attribute lets us change the bcdDevice field |
| presented in the USB device descriptor by this xhci debug |
| device. |
| Value can only be changed while debug capability (DbC) is in |
| disabled state to prevent USB device descriptor change while |
| connected to a USB host. |
| The default value is 0x0010. (device rev 0.10) |
| It can be any 16-bit integer. |
| |
| What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_bInterfaceProtocol |
| Date: March 2023 |
| Contact: Mathias Nyman <mathias.nyman@linux.intel.com> |
| Description: |
| This attribute lets us change the bInterfaceProtocol field |
| presented in the USB Interface descriptor by the xhci debug |
| device. |
| Value can only be changed while debug capability (DbC) is in |
| disabled state to prevent USB descriptor change while |
| connected to a USB host. |
| The default value is 1 (GNU Remote Debug command). |
| Other permissible value is 0 which is for vendor defined debug |
| target. |
| |
| What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_poll_interval_ms |
| Date: February 2024 |
| Contact: Mathias Nyman <mathias.nyman@linux.intel.com> |
| Description: |
| This attribute adjust the polling interval used to check for |
| DbC events. Unit is milliseconds. Accepted values range from 0 |
| up to 5000. The default value is 64 ms. |
| This polling interval is used while DbC is enabled but has no |
| active data transfers. |
| |
| What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_serial |
| Date: January 2026 |
| Contact: Łukasz Bartosik <ukaszb@chromium.org> |
| Description: |
| The dbc_serial attribute allows to change the serial number |
| string descriptor presented by the debug device when a host |
| requests a string descriptor with iSerialNumber index. |
| Index is found in the iSerialNumber field in the device |
| descriptor. |
| Value can only be changed while debug capability (DbC) is in |
| disabled state to prevent USB device descriptor change while |
| connected to a USB host. |
| The default value is "0001". |
| The field length can be from 1 to 126 characters. |
| |
| What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_product |
| Date: January 2026 |
| Contact: Łukasz Bartosik <ukaszb@chromium.org> |
| Description: |
| The dbc_product attribute allows to change the product string |
| descriptor presented by the debug device when a host requests |
| a string descriptor with iProduct index. |
| Index is found in the iProduct field in the device descriptor. |
| Value can only be changed while debug capability (DbC) is in |
| disabled state to prevent USB device descriptor change while |
| connected to a USB host. |
| The default value is "Linux USB Debug Target". |
| The field length can be from 1 to 126 characters. |
| |
| What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_manufacturer |
| Date: January 2026 |
| Contact: Łukasz Bartosik <ukaszb@chromium.org> |
| Description: |
| The dbc_manufacturer attribute allows to change the manufacturer |
| string descriptor presented by the debug device when a host |
| requests a string descriptor with iManufacturer index. |
| Value can only be changed while debug capability (DbC) is in |
| disabled state to prevent USB device descriptor change while |
| connected to a USB host. |
| The default value is "Linux Foundation". |
| The field length can be from 1 to 126 characters. |