Spoke too soon on the kernel patch, looks like it's my lucky day :)

http://marc.theaimsgroup.com/?l=linux-usb-devel&m=114848881217730&w=2

Unless there are more comments, that should be in the kernel next release.


On Wed, 24 May 2006, Dan Streetman wrote:

>
>Oh boy, it's the infamous ENOSPC (-28) error!
>
>I don't think anyone on this list has hit the ENOSPC error yet, that I 
>know of, but I've seen it plenty...
>
>In all cases where I've seen ENOSPC errors, it's a limitation of the EHCI 
>driver.  Its current split transaction scheduling algorithm is very 
>limited, and if you have only a few low/fullspeed devices connected to a 
>highspeed huub (and highspeed controller), the EHCI driver can "run out" 
>of places to put periodic transactions (i.e. interrupt or isochronous).
>
>If you have low/fullspeed devices connected to a highspeed hub, try 
>re-connecting them directly to the controller, if possible (or use a 
>fullspeed USB hub, or just "rmmod ehci-hcd").  If that works, you can 
>leave the setup like that, or try patching your kernel with these:
>
>http://marc.theaimsgroup.com/?l=linux-usb-devel&m=113510701427948&w=2
>http://marc.theaimsgroup.com/?l=linux-usb-devel&m=113510731024887&w=2
>http://marc.theaimsgroup.com/?l=linux-usb-devel&m=113510748810409&w=2
>
>(you need to enable the USB_EHCI_TT_SCHEDULING kernel option).  Those 
>patches in slightly modified form should be getting into the kernel "real 
>soon now..." so you could just wait for 'em to show up.
>
>
>On Tue, 23 May 2006, Tom Zepf wrote:
>
>>I recently had a hard disk scratch and had to recreate my javax-usb
>>development setup. I have a program which communicates w/ a USB
>>connected GPS.
>>
>>I have checked and my device nodes are mode 0666, and everything else
>>seems to work - program finds jar files, properties, etc. But I get a
>>failure (errno 28) when calling UsbPipe.syncSubmit().
>>
>>The code snippet looks like:
>>
>>     /**
>>      * read some bytes
>>      */
>>     private GarminPkt readPkt(String name, UsbPipe usbPipe)
>>     throws UsbException, IOException {
>>
>>         // get packet data
>>         byte[] bytes = new byte[1024];
>>         if (getVerbose() >= 2) {
>>             System.err.println(name + ": blocking" + "\n");
>>         }
>>         int len = usbPipe.syncSubmit(bytes);
>>
>>     ...
>>
>>This all worked before (many times), but I did re-install Linux, java, 
>>javax-usb, etc. and I wonder if I forgot something.
>>
>>Any help would be appreciated. Thanks,
>>
>>   Tom Zepf
>>
>>The trace looks like:
>>
>>[hotplug](3) JavaxUsbTopologyUpdater.c.build_device[117] Building device 
>>/proc/bus/usb/001/001
>>[hotplug](3) JavaxUsbTopologyUpdater.c.build_device[141] Device is hub with 6 
>>ports
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_device[156] Device speed is 12 
>>Mbps
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_config[222] Building config 1
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_interface[282] Building 
>>interface 0
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_endpoint[296] Building endpoint 
>>0x81
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_device[189] Building device 2 
>>attached to port 2
>>[hotplug](3) JavaxUsbTopologyUpdater.c.build_device[117] Building device 
>>/proc/bus/usb/001/002
>>[hotplug](3) JavaxUsbTopologyUpdater.c.build_device[141] Device is hub with 4 
>>ports
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_device[156] Device speed is 12 
>>Mbps
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_config[222] Building config 1
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_interface[282] Building 
>>interface 0
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_endpoint[296] Building endpoint 
>>0x81
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_device[189] Building device 3 
>>attached to port 0
>>[hotplug](3) JavaxUsbTopologyUpdater.c.build_device[117] Building device 
>>/proc/bus/usb/001/003
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_device[156] Device speed is 1.5 
>>Mbps
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_config[222] Building config 1
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_interface[282] Building 
>>interface 0
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_endpoint[296] Building endpoint 
>>0x81
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_interface[282] Building 
>>interface 1
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_endpoint[296] Building endpoint 
>>0x82
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_device[189] Building device 4 
>>attached to port 1
>>[hotplug](3) JavaxUsbTopologyUpdater.c.build_device[117] Building device 
>>/proc/bus/usb/001/004
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_device[156] Device speed is 1.5 
>>Mbps
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_config[222] Building config 1
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_interface[282] Building 
>>interface 0
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_endpoint[296] Building endpoint 
>>0x81
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_device[189] Building device 5 
>>attached to port 2
>>[hotplug](3) JavaxUsbTopologyUpdater.c.build_device[117] Building device 
>>/proc/bus/usb/001/005
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_device[156] Device speed is 12 
>>Mbps
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_config[222] Building config 1
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_interface[282] Building 
>>interface 0
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_endpoint[296] Building endpoint 
>>0x81
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_endpoint[296] Building endpoint 
>>0x82
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_endpoint[296] Building endpoint 
>>0x03
>>[hotplug](3) JavaxUsbTopologyUpdater.c.build_device[117] Building device 
>>/proc/bus/usb/002/001
>>[hotplug](3) JavaxUsbTopologyUpdater.c.build_device[141] Device is hub with 2 
>>ports
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_device[156] Device speed is 12 
>>Mbps
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_config[222] Building config 1
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_interface[282] Building 
>>interface 0
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_endpoint[296] Building endpoint 
>>0x81
>>[hotplug](3) JavaxUsbTopologyUpdater.c.build_device[117] Building device 
>>/proc/bus/usb/003/001
>>[hotplug](3) JavaxUsbTopologyUpdater.c.build_device[141] Device is hub with 2 
>>ports
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_device[156] Device speed is 12 
>>Mbps
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_config[222] Building config 1
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_interface[282] Building 
>>interface 0
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_endpoint[296] Building endpoint 
>>0x81
>>[hotplug](3) JavaxUsbTopologyUpdater.c.build_device[117] Building device 
>>/proc/bus/usb/004/001
>>[hotplug](3) JavaxUsbTopologyUpdater.c.build_device[141] Device is hub with 2 
>>ports
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_device[156] Device speed is 12 
>>Mbps
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_config[222] Building config 1
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_interface[282] Building 
>>interface 0
>>[hotplug](4) JavaxUsbTopologyUpdater.c.build_endpoint[296] Building endpoint 
>>0x81
>>[default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/001/001
>>[hotplug](4) JavaxUsbActive.c.getActiveConfig[272] Getting active config 
>>using GET_CONFIGURATION standard request.
>>[hotplug](4) JavaxUsbActive.c.config_ask_device[212] Active device 
>>configuration is 1
>>[hotplug](4) JavaxUsbActive.c.getActiveConfig[274] Device returned 1.
>>[default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/001/002
>>[hotplug](4) JavaxUsbActive.c.getActiveConfig[272] Getting active config 
>>using GET_CONFIGURATION standard request.
>>[hotplug](4) JavaxUsbActive.c.config_ask_device[212] Active device 
>>configuration is 1
>>[hotplug](4) JavaxUsbActive.c.getActiveConfig[274] Device returned 1.
>>[default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/001/003
>>[hotplug](4) JavaxUsbActive.c.getActiveConfig[272] Getting active config 
>>using GET_CONFIGURATION standard request.
>>[hotplug](4) JavaxUsbActive.c.config_ask_device[212] Active device 
>>configuration is 1
>>[hotplug](4) JavaxUsbActive.c.getActiveConfig[274] Device returned 1.
>>[default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/001/004
>>[hotplug](4) JavaxUsbActive.c.getActiveConfig[272] Getting active config 
>>using GET_CONFIGURATION standard request.
>>[hotplug](4) JavaxUsbActive.c.config_ask_device[212] Active device 
>>configuration is 1
>>[hotplug](4) JavaxUsbActive.c.getActiveConfig[274] Device returned 1.
>>[default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/001/005
>>[hotplug](4) JavaxUsbActive.c.getActiveConfig[272] Getting active config 
>>using GET_CONFIGURATION standard request.
>>[hotplug](4) JavaxUsbActive.c.config_ask_device[212] Active device 
>>configuration is 1
>>[hotplug](4) JavaxUsbActive.c.getActiveConfig[274] Device returned 1.
>>[default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/002/001
>>[hotplug](4) JavaxUsbActive.c.getActiveConfig[272] Getting active config 
>>using GET_CONFIGURATION standard request.
>>[hotplug](4) JavaxUsbActive.c.config_ask_device[212] Active device 
>>configuration is 1
>>[hotplug](4) JavaxUsbActive.c.getActiveConfig[274] Device returned 1.
>>[default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/003/001
>>[hotplug](4) JavaxUsbActive.c.getActiveConfig[272] Getting active config 
>>using GET_CONFIGURATION standard request.
>>[hotplug](4) JavaxUsbActive.c.config_ask_device[212] Active device 
>>configuration is 1
>>[hotplug](4) JavaxUsbActive.c.getActiveConfig[274] Device returned 1.
>>[default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/004/001
>>[hotplug](4) JavaxUsbActive.c.getActiveConfig[272] Getting active config 
>>using GET_CONFIGURATION standard request.
>>[hotplug](4) JavaxUsbActive.c.config_ask_device[212] Active device 
>>configuration is 1
>>[hotplug](4) JavaxUsbActive.c.getActiveConfig[274] Device returned 1.
>>[default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/001/005
>>[xfer](2) 
>>JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[75]
>> Got Request
>>[default](3) JavaxUsbInterfaceRequest.c.claim_interface[87] Claiming 
>>interface 0
>>[default](3) JavaxUsbInterfaceRequest.c.claim_interface[96] Claimed interface >>0
>>[xfer](2) 
>>JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[78]
>> Completed Request
>>ReaderThread: intIn: reading
>>intIn: blocking
>>
>>ReaderThread: bulkIn: reading
>>bulkIn: blocking
>>
>>[xfer](2) 
>>JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[75]
>> Got Request
>>[xfer](2) JavaxUsbPipeRequest.c.pipe_request[62] Submitting URB
>>[default](2) JavaxUsbKernel.c.setKernelVersion[45] Kernel version string 
>>2.6.16.13-4-default parsed as 2.6.16
>>[xfer](1) JavaxUsbPipeRequest.c.pipe_request[73] Could not submit URB (errno 
>>-28)
>>[xfer](2) 
>>JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[78]
>> Completed Request
>>[xfer](2) 
>>JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[75]
>> Got Request
>>[xfer](2) JavaxUsbPipeRequest.c.pipe_request[62] Submitting URB
>>[xfer](2) JavaxUsbPipeRequest.c.pipe_request[75] Submitted URB
>>[xfer](2) 
>>JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[78]
>> Completed Request
>>javax.usb.UsbPlatformException: Error submitting IRP : Error 28
>>         at 
>> com.ibm.jusb.os.linux.JavaxUsb.errorToUsbException(JavaxUsb.java:73)
>>         at 
>> com.ibm.jusb.os.linux.LinuxPipeRequest.completeUsbIrp(LinuxPipeRequest.java:84)
>>         at 
>> com.ibm.jusb.os.linux.LinuxPipeRequest.setCompleted(LinuxPipeRequest.java:74)
>>         at com.ibm.jusb.os.linux.JavaxUsb.nativeDeviceProxy(Native Method)
>>         at 
>> com.ibm.jusb.os.linux.LinuxDeviceProxy$1.run(LinuxDeviceProxy.java:91)
>>         at java.lang.Thread.run(Thread.java:595)
>>ReaderThread: intIn: reading
>>intIn: blocking
>>
>>[xfer](2) 
>>JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[75]
>> Got Request
>>[xfer](2) JavaxUsbPipeRequest.c.pipe_request[62] Submitting URB
>>[xfer](1) JavaxUsbPipeRequest.c.pipe_request[73] Could not submit URB (errno 
>>-28)
>>[xfer](2) 
>>JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[78]
>> Completed Request
>>javax.usb.UsbPlatformException: Error submitting IRP : Error 28
>>         at 
>> com.ibm.jusb.os.linux.JavaxUsb.errorToUsbException(JavaxUsb.java:73)
>>         at 
>> com.ibm.jusb.os.linux.LinuxPipeRequest.completeUsbIrp(LinuxPipeRequest.java:84)
>>         at 
>> com.ibm.jusb.os.linux.LinuxPipeRequest.setCompleted(LinuxPipeRequest.java:74)
>>         at com.ibm.jusb.os.linux.JavaxUsb.nativeDeviceProxy(Native Method)
>>         at 
>> com.ibm.jusb.os.linux.LinuxDeviceProxy$1.run(LinuxDeviceProxy.java:91)
>>         at java.lang.Thread.run(Thread.java:595)
>>ReaderThread: intIn: reading
>>intIn: blocking
>>
>>
>>
>>-------------------------------------------------------
>>All the advantages of Linux Managed Hosting--Without the Cost and Risk!
>>Fully trained technicians. The highest number of Red Hat certifications in
>>the hosting industry. Fanatical Support. Click to learn more
>>http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
>>_______________________________________________
>>javax-usb-devel mailing list
>>javax-usb-devel@lists.sourceforge.net
>>https://lists.sourceforge.net/lists/listinfo/javax-usb-devel
>>
>
>

-- 
Dan Streetman
[EMAIL PROTECTED]
---------------------
186,272 miles per second:
It isn't just a good idea, it's the law!


-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
javax-usb-devel mailing list
javax-usb-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/javax-usb-devel

Reply via email to