On Fri, 21 Jul 2006, Kris van Rens wrote: > Hello All, > > Time for the next error; now that I'm able to upload firmware to the > Cypress EzUsb device I must upload firmware for an FPGA device, this > used to be handled using the firmware class and .rbf firmware files. > But I want to integrate it in the modules just like for the EzUsb > firmware. > > The USB device is plugged in; it is recognized as being a device > without EzUsb-firmware and then the firmware for the EzUsb device is > downloaded, after that it will be reset. Then it is recognized as a > device with EzUsb-firmware and the FPGA-firmware can be uploaded. This > is what happends:
... > I build in some printk()'s to check what happens, and as you can see > everything goes well, until the 'hDriver_upload_FPGA_fw' is called. > This function sends 1024 byte blocks to the device with > 'usb_bulk_msg', it does not throw a single error. The error code -71 > is generated in probe, where the driver tries to access the device and > fails. The 'usb_bulk_msg' call is between 'Check 2' and 'Check 3', and > in the background (not by the driver itself) an error is being > generated by udevd so it seems. After that uhci_hcd comes up with the > uhci_result_control errors. That udev error indicates you are using an old version of udev. > This error log was grabbed from a Suse 10.1 system with > kernel-2.6.16.13-4-default but I also tested it on kernel-2.6.8 > (Debian) and kernel-2.6.17.6 (Debian, Gentoo). The tests were carried > out on virtual machines (VMWare), a test with an USB-mass storage > device showed that VMWare supports USB 2.0. Don't you think it would be better to test on a native system instead of on a virtual machine? You're just adding an extra layer of complexity into the problem. > The driver name is 'hDriver' and the device is called 'extDevice', I > have option 'debug = 2' for uhci_hcd and build in extra debugging > information on. > > I found some posts on the internet with similar errors and solutions > pointing to the fact that a full speed device is plugged in, but not > handled by EHCI... > > http://marc2.theaimsgroup.com/?l=linux-kernel&m=110184866423132&w=2 > > I did some tests with this and it turned out that with uhci_hcd > unloaded (only ehci_hcd loaded) nothing happens, and only uhci_hcd > seems to be able to handle the device... EHCI handles only high-speed devices. UHCI handles only full-speed and low-speed devices. > Also I tried to build in delays to give the device some time to 'wake > up' but that didn't help. The firmware is represented by an array, > that is buffered and passed through to usb_bulk_msg in blocks of 1024 > bytes. > > Any ideas? The errors from uhci-hcd indicate that your device isn't responding to a congtrol message. Quite possibly the firmware has crashed. Alan Stern ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Linux-usb-users@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users