RE: xhci data toggle out of sync
- In reply to: Hans Petter Selasky : "Re: xhci data toggle out of sync"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 19 Apr 2022 11:20:13 UTC
Hi,
Thanks for the clarification.
I have not added any changes to xhci driver it’s a pristine stable/12 driver. The error seems to come from
xhci_configure_reset_endpoint->xhci_configure_endpoint_by_xfer-> xhci_configure_endpoint
epno = XHCI_EPNO2EPID(epno);
if (epno == 0)
return (USB_ERR_NO_PIPE); /* invalid */
Thanks,
Mahesh
Juniper Business Use Only
-----Original Message-----
From: Hans Petter Selasky <hps@selasky.org>
Sent: Tuesday, April 19, 2022 4:37 PM
To: Mahesh Vardhamanaiah <maheshmv@juniper.net>; freebsd-usb@freebsd.org
Cc: Steve Kiernan <stevek@juniper.net>; Justin Hibbits <jhibbits@juniper.net>; Kumara N Babu <bkumara@juniper.net>; Kamal Prasad <krprasad@juniper.net>; Kristof Provost <kp@FreeBSD.org>; Bjoern A. Zeeb <bz@FreeBSD.org>
Subject: Re: xhci data toggle out of sync
[External Email. Be cautious of content]
On 4/19/22 11:30, Mahesh Vardhamanaiah wrote:
> Hi HPS,
>
> The error seems to be NO_PIPE and end points are 2 & 3 but the
> usbconfig dump_all_desc lists epaddress 1, 81 any idea why ?
>
Hi,
The XHCI endpoint context order is different from the endpoint numbers, so this is expected.
> ugen0.3: <Virtium VTDU31XC008G-A901> at usbus0, cfg=0 md=HOST spd=HIGH
> (480Mbps) pwr=ON (100mA)
>
> bLength = 0x0012
> bDescriptorType = 0x0001
> bcdUSB = 0x0200
> bDeviceClass = 0x0000 <Probed by interface class>
> bDeviceSubClass = 0x0000
> bDeviceProtocol = 0x0000
> bMaxPacketSize0 = 0x0040
> idVendor = 0x2aaa
> idProduct = 0x0100
> bcdDevice = 0x0100
> iManufacturer = 0x0001 <Virtium>
> iProduct = 0x0003 <VTDU31XC008G-A901>
> iSerialNumber = 0x0002 <P1T66005607903260063>
> bNumConfigurations = 0x0001
>
> Configuration index 0
>
> bLength = 0x0009
> bDescriptorType = 0x0002
> wTotalLength = 0x0020
> bNumInterfaces = 0x0001
> bConfigurationValue = 0x0001
> iConfiguration = 0x0000 <no string>
> bmAttributes = 0x0080
> bMaxPower = 0x0032
>
> Interface 0
> bLength = 0x0009
> bDescriptorType = 0x0004
> bInterfaceNumber = 0x0000
> bAlternateSetting = 0x0000
> bNumEndpoints = 0x0002
> bInterfaceClass = 0x0008 <Mass storage>
> bInterfaceSubClass = 0x0006
> bInterfaceProtocol = 0x0050
> iInterface = 0x0000 <no string>
>
> Endpoint 0
> bLength = 0x0007
> bDescriptorType = 0x0005
> bEndpointAddress = 0x0081 <IN>
> bmAttributes = 0x0002 <BULK>
> wMaxPacketSize = 0x0200
> bInterval = 0x0000
> bRefresh = 0x0000
> bSynchAddress = 0x0000
>
> Endpoint 1
> bLength = 0x0007
> bDescriptorType = 0x0005
> bEndpointAddress = 0x0001 <OUT>
> bmAttributes = 0x0002 <BULK>
> wMaxPacketSize = 0x0200
> bInterval = 0x0000
> bRefresh = 0x0000
> bSynchAddress = 0x0000
>
>
>
> root@:RE:0%
>
xhci_do_command() does not return USB_ERR_NO_PIPE !
https://urldefense.com/v3/__http://fxr.watson.org/fxr/source/dev/usb/controller/xhci.c*L1154__;Iw!!NEt6yMaO-gk!XK7KjRCXNaNwxr1lfu8ePe4EUfDdnrQYz-WoXX_3ri8UqjB6UlUGnX59UQrmdFOy$
Do you have local patches perhaps?
--HPS