Find the answer to your Linux question:
Results 1 to 3 of 3
I am working on a device driver for providing connectivity to a Silabs F340 board through USB. All the required software, including firmware on the device side, USB device driver ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Sep 2008
    Posts
    2

    Linux USB driver problem with external hub


    I am working on a device driver for providing connectivity to a Silabs
    F340 board through USB. All the required software, including firmware on the device side, USB device driver and user level libraries as well as the application, are implemented. The system operates fine when experimental communication is considered, in which dummy data is simply sent and received betweeen the host and the device at Full speed. The trouble comes when a USB external hub is used as a gateway between the device and the host instead of directly connecting the USB cable from device to the USB port of the PC. The kernel log states that the transfer of urb failed due to -EPROTO(-71), which is defined as protocol error. I found in some resources that this error can be a result of (a) bitstuff error, or (b) no response packet received within the prescribed bus turn-around time, or (c)hardware problems such as bad devices (including firmware) or cables.
    The hub is a Digitus product with 7 ports and works fine with other
    USB devices such as the mouse on the same platform.
    My kernel version is 2.6.18.
    Has anyone got any idea on what can be the reason of this failure, and how can I resolve the problem? I can surely provide any additional information about the situation if any one is interested in helping out.
    Thanks...

  2. #2
    Just Joined! wildpossum's Avatar
    Join Date
    Apr 2008
    Location
    Sydney/Australia
    Posts
    92
    Umm.. It unfortunately is a HUB based problem IMHO as I have found it to be the same issue with a number of USB hubs I have tried. The issue I have had is the supply current limitations the HUB is capable of, unless it is externally powered. I suggest trying an externally powered hub to see if this solves your issue.

  3. #3
    Just Joined!
    Join Date
    Sep 2008
    Posts
    2
    Problem solved. There was probably a bug in old kernels which prevented the new hub to establish a connection between an old kernel and an old full speed device. The bug is fixed in new kernels, and I had no trouble in using the hub with kernels 2.6.22 and 2.6.26. It is appropriate to make a warning that the module ehci_hcd needs to be removed from the kernel via rmmod utility in order to support the full speed device reliably, otherwise it might cause problems, starting from probing stage on.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •