Re: Urb completion handler returns -32

2014-09-30 Thread Naveen Kumar Parna
Hi Alan,

 The device replied with a STALL.
 The device runs at low speed or full speed and is connected through a USB-2 
 hub

Yes, my device is full speed (12Mbps) device and connected to 2.0 root
hub. So how  to avoid getting the STALL?



I attached the usbmon log and Ellisys USB analyser log.



I connected the eight similar devices(USB Bluetooth Dongles) to host
and captured the logs.

My device numbers are here :

Bus 001 Device Numbers (063\066\067\068\069\070\071\072)



Usbmon log shows STALL packets for INT in URB completion handler

$ tail -f /tmp/1.mon.out | grep C Ii

8800aaedb780 3159611663 C Ii:1:072:1 -32:1 0

880131449cc0 3360277718 C Ii:1:068:1 -32:1 0

8800aaedb9c0 3360278570 C Ii:1:069:1 -32:1 0

880131f52000 3360291656 C Ii:1:067:1 -32:1 0

8800aae88600 3360299542 C Ii:1:068:1 -32:1 0



On receiving the STALL response, work queue got scheduled in INT in
URB completion handler for clearing halt condition(used
usb_clear_halt() API in that work queue)



I enabled “Drop Start of Frames and Keep Alives”  “Drop NAK
transactions” recording options before taking the Ellisys USB analyser
log.

I don’t see STALL packet in Ellisys USB analyser log, but only
observed in usbmon log. Does it mean, device is not sending the STALL,
but only Host controller driver is sending it to my USB device driver?

On Mon, Sep 29, 2014 at 7:01 PM, Alan Stern st...@rowland.harvard.edu wrote:
 On Mon, 29 Sep 2014, Naveen Kumar Parna wrote:

 Hi All,

 I want to know the reason for getting INT urb completion status as -EPIPE ?

 The most common reasons are:

 The device replied with a STALL.

 The device runs at low speed or full speed and is connected
 through a USB-2 hub.  Under those conditions, URBs complete
 with -EPIPE status when the device is disconnected.

 Alan Stern

--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Urb completion handler returns -32

2014-09-30 Thread Naveen Kumar Parna
The device tree is here:

root@naveen-OptiPlex-745:/home/naveen# lsusb -t

1-1.5.2:1.2: No such file or directory

1-1.5.3:1.2: No such file or directory

1-1.5.4:1.2: No such file or directory

1-1.5.5:1.2: No such file or directory

1-1.5.6:1.2: No such file or directory

1-1.5.7.1:1.2: No such file or directory

1-1.5.7.2:1.2: No such file or directory

1-1.5.7.3:1.2: No such file or directory

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/2p, 480M

|__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M

|__ Port 1: Dev 3, If 0, Class=HID, Driver=usbhid, 12M

|__ Port 1: Dev 3, If 1, Class=HID, Driver=usbhid, 12M

/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/2p, 480M

|__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M

|__ Port 3: Dev 3, If 0, Class=HID, Driver=usbhid, 480M

|__ Port 3: Dev 3, If 1, Class=HID, Driver=usbhid, 480M

|__ Port 3: Dev 3, If 2, Class=stor., Driver=usb-storage, 480M

|__ Port 3: Dev 3, If 3, Class=stor., Driver=usb-storage, 480M

|__ Port 5: Dev 4, If 0, Class=hub, Driver=hub/7p, 12M

|__ Port 1: Dev 5, If 0, Class=hub, Driver=hub/7p, 12M

|__ Port 1: Dev 12, If 0, Class=vend., Driver=babel, 12M

|__ Port 2: Dev 13, If 0, Class=vend., Driver=babel, 12M

|__ Port 3: Dev 14, If 0, Class=vend., Driver=babel, 12M

|__ Port 4: Dev 15, If 0, Class=vend., Driver=babel, 12M

|__ Port 5: Dev 16, If 0, Class=vend., Driver=babel, 12M

|__ Port 6: Dev 17, If 0, Class=vend., Driver=babel, 12M

|__ Port 7: Dev 18, If 0, Class=hub, Driver=hub/2p, 12M

|__ Port 1: Dev 22, If 0, Class=vend., Driver=babel, 12M

|__ Port 2: Dev 23, If 0, Class=vend., Driver=babel, 12M

|__ Port 2: Dev 66, If 0, Class='bInterfaceClass 0xe0 not
yet handled', Driver=mybtusb, 12M

|__ Port 2: Dev 66, If 1, Class='bInterfaceClass 0xe0 not
yet handled', Driver=mybtusb, 12M

|__ Port 2: Dev 66, If 2, Class=app., Driver=, 12M

|__ Port 4: Dev 63, If 0, Class='bInterfaceClass 0xe0 not
yet handled', Driver=mybtusb, 12M

|__ Port 4: Dev 63, If 1, Class='bInterfaceClass 0xe0 not
yet handled', Driver=mybtusb, 12M

|__ Port 4: Dev 63, If 2, Class=app., Driver=, 12M

|__ Port 3: Dev 67, If 0, Class='bInterfaceClass 0xe0 not
yet handled', Driver=mybtusb, 12M

|__ Port 3: Dev 67, If 1, Class='bInterfaceClass 0xe0 not
yet handled', Driver=mybtusb, 12M

|__ Port 3: Dev 67, If 2, Class=app., Driver=, 12M

|__ Port 5: Dev 68, If 0, Class='bInterfaceClass 0xe0 not
yet handled', Driver=mybtusb, 12M

|__ Port 5: Dev 68, If 1, Class='bInterfaceClass 0xe0 not
yet handled', Driver=mybtusb, 12M

|__ Port 5: Dev 68, If 2, Class=app., Driver=, 12M

|__ Port 6: Dev 69, If 0, Class='bInterfaceClass 0xe0 not
yet handled', Driver=mybtusb, 12M

|__ Port 6: Dev 69, If 1, Class='bInterfaceClass 0xe0 not
yet handled', Driver=mybtusb, 12M

|__ Port 6: Dev 69, If 2, Class=app., Driver=, 12M

|__ Port 7: Dev 11, If 0, Class=hub, Driver=hub/3p, 12M

|__ Port 1: Dev 70, If 0, Class='bInterfaceClass 0xe0
not yet handled', Driver=mybtusb, 12M

|__ Port 1: Dev 70, If 1, Class='bInterfaceClass 0xe0
not yet handled', Driver=mybtusb, 12M

|__ Port 1: Dev 70, If 2, Class=app., Driver=, 12M

|__ Port 2: Dev 71, If 0, Class='bInterfaceClass 0xe0
not yet handled', Driver=mybtusb, 12M

|__ Port 2: Dev 71, If 1, Class='bInterfaceClass 0xe0
not yet handled', Driver=mybtusb, 12M

|__ Port 2: Dev 71, If 2, Class=app., Driver=, 12M

|__ Port 3: Dev 72, If 0, Class='bInterfaceClass 0xe0
not yet handled', Driver=mybtusb, 12M

|__ Port 3: Dev 72, If 1, Class='bInterfaceClass 0xe0
not yet handled', Driver=mybtusb, 12M

|__ Port 3: Dev 72, If 2, Class=app., Driver=, 12M

On Tue, Sep 30, 2014 at 12:05 PM, Naveen Kumar Parna
pnaveen...@gmail.com wrote:
 Hi Alan,

 The device replied with a STALL.
 The device runs at low speed or full speed and is connected through a USB-2 
 hub

 Yes, my device is full speed (12Mbps) device and connected to 2.0 root
 hub. So how  to avoid getting the STALL?



 I attached the usbmon log and Ellisys USB analyser log.



 I connected the eight similar devices(USB Bluetooth Dongles) to host
 and captured the logs.

 My device numbers are here :

 Bus 001 Device Numbers (063\066\067\068\069\070\071\072)



 Usbmon log shows STALL packets for INT in URB completion handler

 $ tail -f /tmp/1.mon.out | grep C Ii

 8800aaedb780 3159611663 C Ii:1:072:1 -32:1 0

 880131449cc0 3360277718 C Ii:1:068:1 -32:1 0

 8800aaedb9c0 3360278570 C Ii:1:069:1 -32:1 0

 

Re: Urb completion handler returns -32

2014-09-30 Thread Alan Stern
On Tue, 30 Sep 2014, Naveen Kumar Parna wrote:

 Hi Alan,
 
  The device replied with a STALL.
  The device runs at low speed or full speed and is connected through a USB-2 
  hub
 
 Yes, my device is full speed (12Mbps) device and connected to 2.0 root
 hub. So how  to avoid getting the STALL?

I don't know.

 I attached the usbmon log and Ellisys USB analyser log.

The Ellisys viewer program runs under Windows, but I'm using Linux so 
I'm unable to view the analyzer log.

 I connected the eight similar devices(USB Bluetooth Dongles) to host
 and captured the logs.
 
 My device numbers are here :
 
 Bus 001 Device Numbers (063\066\067\068\069\070\071\072)
 
 
 
 Usbmon log shows STALL packets for INT in URB completion handler
 
 $ tail -f /tmp/1.mon.out | grep C Ii
 
 8800aaedb780 3159611663 C Ii:1:072:1 -32:1 0
 
 880131449cc0 3360277718 C Ii:1:068:1 -32:1 0
 
 8800aaedb9c0 3360278570 C Ii:1:069:1 -32:1 0
 
 880131f52000 3360291656 C Ii:1:067:1 -32:1 0
 
 8800aae88600 3360299542 C Ii:1:068:1 -32:1 0
 
 
 
 On receiving the STALL response, work queue got scheduled in INT in
 URB completion handler for clearing halt condition(used
 usb_clear_halt() API in that work queue)
 
 
 
 I enabled “Drop Start of Frames and Keep Alives”  “Drop NAK
 transactions” recording options before taking the Ellisys USB analyser
 log.
 
 I don’t see STALL packet in Ellisys USB analyser log, but only
 observed in usbmon log. Does it mean, device is not sending the STALL,
 but only Host controller driver is sending it to my USB device driver?

It probably means that the device is not sending the STALL, but the hub 
it is plugged into is sending the STALL.

Alan Stern

--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Urb completion handler returns -32

2014-09-29 Thread Naveen Kumar Parna
Hi All,

I want to know the reason for getting INT urb completion status as -EPIPE ?

Thanks,
Pnav
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Urb completion handler returns -32

2014-09-29 Thread Naveen Kumar Parna
Hi All,


Sorry I forgot to add this small detail:

I am having a USB bluetooth dongle and it support Control \ Interrupt
\ Bulk \ Isochronous Transfers.

I am having a device driver  for this, In driver probe function I am
submitting an URB to INT endpoint. And in the completion handler again
re-queue that URB.

Most of the times I see urb-status as -32(EPIPE) in INT urb
completion handler. Here I don’t know why I am getting this error.

This error observed if I connect more than three devices to host via USB-Hub.

Can anyone tell me what might be the reason for getting this error.


Thanks,
Pnav

On Mon, Sep 29, 2014 at 5:49 PM, Naveen Kumar Parna
pnaveen...@gmail.com wrote:
 Hi All,

 I want to know the reason for getting INT urb completion status as -EPIPE ?

 Thanks,
 Pnav
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Urb completion handler returns -32

2014-09-29 Thread Alan Stern
On Mon, 29 Sep 2014, Naveen Kumar Parna wrote:

 Hi All,
 
 I want to know the reason for getting INT urb completion status as -EPIPE ?

The most common reasons are:

The device replied with a STALL.

The device runs at low speed or full speed and is connected
through a USB-2 hub.  Under those conditions, URBs complete 
with -EPIPE status when the device is disconnected.

Alan Stern

--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html