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

Reply via email to