Page 1 of 2 12 LastLast
Results 1 to 10 of 18

Thread: unable to enumerate USB device (ft232r)

  1. #1
    Join Date
    Mar 2008
    Location
    UK
    Beans
    150
    Distro
    Ubuntu 16.04 Xenial Xerus

    unable to enumerate USB device (ft232r)

    The USB to Serial coverter ft232r is fitted onto a Rainbowduino which is an Arduino shield device.

    My 11.10 desktop will happily chat to the Arduino via USB but will not recognise the Rainbowduino. From DMESG I get the following:


    Code:
    [ 6323.428040] usb 6-3: new full speed USB device number 21 using ohci_hcd
    [ 6323.612042] usb 6-3: device descriptor read/64, error -62
    [ 6323.900045] usb 6-3: device descriptor read/64, error -62
    [ 6324.180040] usb 6-3: new full speed USB device number 22 using ohci_hcd
    [ 6324.364040] usb 6-3: device descriptor read/64, error -62
    [ 6324.652045] usb 6-3: device descriptor read/64, error -62
    [ 6324.932041] usb 6-3: new full speed USB device number 23 using ohci_hcd
    [ 6325.340034] usb 6-3: device not accepting address 23, error -62
    [ 6325.516049] usb 6-3: new full speed USB device number 24 using ohci_hcd
    [ 6325.924035] usb 6-3: device not accepting address 24, error -62
    [ 6325.924067] hub 6-0:1.0: unable to enumerate USB device on port 3
    I saw here http://forums.fedoraforum.org/showthread.php?t=213447 advice to install libftdi but this has not helped as yet.

    lsusb does not show the device.

    Any help welcome. I have searched around but found little I can make use of.
    Last edited by hundred1906; March 9th, 2012 at 05:55 PM. Reason: I see from the ftdi site that the drivers are preloaded into the kernal.

  2. #2
    Join Date
    May 2010
    Location
    uk
    Beans
    9,249
    Distro
    Xubuntu 14.04 Trusty Tahr

    Re: unable to enumerate USB device (ft232r)

    Hi

    Try adding
    Code:
    irqpoll
    as a boot option on the kernel command line. If that does not work then remove it.

    You may also try to read the device using the other method defined in the USB standard.

    Open a terminal and type

    Code:
    echo Y | sudo tee /sys/module/usbcore/parameters/old_scheme_first
    Then insert the USB device. If it's detected correctly then add this to the kernel command line.

    Code:
    usbcore.old-scheme-first=1
    Kind regards
    If you believe everything you read, you better not read. ~ Japanese Proverb

    If you don't read the newspaper, you're uninformed. If you read the newspaper, you're mis-informed. - Mark Twain

    Thinking about becoming an Ubuntu Member?

  3. #3
    Join Date
    Mar 2008
    Location
    UK
    Beans
    150
    Distro
    Ubuntu 16.04 Xenial Xerus

    Re: unable to enumerate USB device (ft232r)

    Thanks for that advice. I have not tried the IRQPOLL recommendation for a couple of reasons, firstly my /boot/grub/menu.lst is empty, plus there are reported problems with IRQPOLL on 11.10 so am hesitant to go down that path with my limited understanding (see http://ubuntuforums.org/showthread.php?t=1870003)

    I did try your second recommendation "old_scheme_first" but it had no effect.

    The Arduino (which does chat with my USB) has the large square type USB connection. The Rainbowduino has a microUSB connector. Could this be relevant? I have swapped cables and ports to no effect.

    My thanks.

  4. #4
    Join Date
    May 2010
    Location
    uk
    Beans
    9,249
    Distro
    Xubuntu 14.04 Trusty Tahr

    Re: unable to enumerate USB device (ft232r)

    Hi

    Quote Originally Posted by hundred1906 View Post
    Thanks for that advice. I have not tried the IRQPOLL recommendation for a couple of reasons, firstly my /boot/grub/menu.lst is empty, plus there are reported problems with IRQPOLL on 11.10 so am hesitant to go down that path with my limited understanding (see http://ubuntuforums.org/showthread.php?t=1870003)
    Thanks for this above. I was not aware of it. I will have a look at the sources.

    I did try your second recommendation "old_scheme_first" but it had no effect.
    I did wonder.

    The Arduino (which does chat with my USB) has the large square type USB connection. The Rainbowduino has a microUSB connector. Could this be relevant? I have swapped cables and ports to no effect.

    My thanks.
    That should not have much of effect (at least i don't think so).

    Just to prove it's not a hardware problem, you have tried it on a different platform (Windows or MAC) ?

    Kind regards
    Last edited by matt_symes; March 11th, 2012 at 01:34 AM.
    If you believe everything you read, you better not read. ~ Japanese Proverb

    If you don't read the newspaper, you're uninformed. If you read the newspaper, you're mis-informed. - Mark Twain

    Thinking about becoming an Ubuntu Member?

  5. #5
    Join Date
    Mar 2008
    Location
    UK
    Beans
    150
    Distro
    Ubuntu 16.04 Xenial Xerus

    Re: unable to enumerate USB device (ft232r)

    I have tried on a different computer but that was also running 11.10 (Windows free zone here). If I found a Windows machine and it worked I would still have the problem so what I think I need to do is find some way of understanding what these error codes are telling me. So for example what are "address 24" and "error -62" in the DMESG dump above. Where do you find the meaning of these codes because they are not showing up for me on a google search.

    Alternatively (or as well) should I reload the driver software, in which case how?

    My thanks.

  6. #6
    Join Date
    May 2010
    Location
    uk
    Beans
    9,249
    Distro
    Xubuntu 14.04 Trusty Tahr

    Re: unable to enumerate USB device (ft232r)

    Hi

    Quote Originally Posted by hundred1906 View Post
    I have tried on a different computer but that was also running 11.10 (Windows free zone here). If I found a Windows machine and it worked I would still have the problem so what I think I need to do is find some way of understanding what these error codes are telling me. So for example what are "address 24" and "error -62" in the DMESG dump above. Where do you find the meaning of these codes because they are not showing up for me on a google search.

    Alternatively (or as well) should I reload the driver software, in which case how?

    My thanks.
    The error codes are defined in include/asm-generic/errno.h in the linux sources.

    Error code 62 is

    Code:
    #define ETIME           62      /* Timer expired */
    -ETIME is returned hence -62.

    device descriptor read/64 is the 64 byte descriptor the kernel sends to the device. It is not getting a response hence the timeout.

    Having a look in drivers/usb/core/hub.c, it has a number of tries at sending and recieving the descriptor hence the USB device number xx entries.

    That is what is happening i think but I would need more time to look at the code to be totally sure though.

    Not sure why it's happening though.

    Kind regards
    Last edited by matt_symes; March 12th, 2012 at 02:24 AM.
    If you believe everything you read, you better not read. ~ Japanese Proverb

    If you don't read the newspaper, you're uninformed. If you read the newspaper, you're mis-informed. - Mark Twain

    Thinking about becoming an Ubuntu Member?

  7. #7
    Join Date
    Mar 2008
    Location
    UK
    Beans
    150
    Distro
    Ubuntu 16.04 Xenial Xerus

    Re: unable to enumerate USB device (ft232r)

    I took a look at the code in drivers...hub.c and noted that it also had the ability to try both old and new schemes (use_both_schemes) so I tried that - without any apparent effect.

    Looking in more detail at the two modules (Arduino Uno, Rainbowduino) I see that the Arduino Uno version, unlike its predecessors, does not use the ft232r but has the USB functionality embedded within an Atmega16U2.

    Bottom line - I can ignore the fact the Arduino works via USB and concentrate on why my 11.10's do not drive the ft232r on the Rainbowduino.

    First question; how do I find out if I have a driver installed for the ft232r and whether it is the latest version.

    The web site here http://www.pluggy.me.uk/arduino-ubuntu/ instructs loading up avr-libc. Would this include a driver?

    My thanks.

  8. #8
    Join Date
    May 2010
    Location
    uk
    Beans
    9,249
    Distro
    Xubuntu 14.04 Trusty Tahr

    Re: unable to enumerate USB device (ft232r)

    Hi

    Quote Originally Posted by hundred1906 View Post
    I took a look at the code in drivers...hub.c and noted that it also had the ability to try both old and new schemes (use_both_schemes) so I tried that - without any apparent effect.
    It defaults to the new method. If old_style_first did not work then use_both_schemes would be unlightly to work.

    Looking in more detail at the two modules (Arduino Uno, Rainbowduino) I see that the Arduino Uno version, unlike its predecessors, does not use the ft232r but has the USB functionality embedded within an Atmega16U2.

    Bottom line - I can ignore the fact the Arduino works via USB and concentrate on why my 11.10's do not drive the ft232r on the Rainbowduino.
    Were you planning on using the Arduino to control the Rainbowduino ?

    First question; how do I find out if I have a driver installed for the ft232r and whether it is the latest version.
    According to this page...

    http://www.ftdichip.com/Drivers/VCP.htm

    the driver is in the kernel.

    It's a usb to serial driver. It looks like the driver is called ftdi_sio. If this is the correct driver, then it is included in a Precise install.

    Code:
    matthew@matthew-Aspire-7540:~/my_documents/router/dlink_dir_615$ modprobe -l | grep ftdi_sio
    kernel/drivers/usb/serial/ftdi_sio.ko
    matthew@matthew-Aspire-7540:~/my_documents/router/dlink_dir_615$
    It does not seem to be loaded by default.

    Code:
    matthew@matthew-Aspire-7540:~/my_documents/router/dlink_dir_615$ lsmod | grep ftdi_sio
    matthew@matthew-Aspire-7540:~/my_documents/router/dlink_dir_615
    Therefore load it.

    Code:
    sudo modprobe ftdi_sio
    See this.

    Code:
    matthew@matthew-Aspire-7540:~/my_documents/router/dlink_dir_615$ sudo modprobe ftdi_sio
    [sudo] password for matthew: 
    matthew@matthew-Aspire-7540:~/my_documents/router/dlink_dir_615$ lsmod | grep ftdi_sio
    ftdi_sio               40715  0 
    usbserial              47077  1 ftdi_sio
    matthew@matthew-Aspire-7540:~/my_documents/router/dlink_dir_615$
    It seem you need this driver loaded.

    The web site here http://www.pluggy.me.uk/arduino-ubuntu/ instructs loading up avr-libc. Would this include a driver?
    Code:
    matthew@matthew-Aspire-7540:~/my_documents/router/dlink_dir_615$ apt-cache show avr-libc
    Package: avr-libc
    Priority: extra
    Section: universe/otherosfs
    Installed-Size: 33360
    Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
    Original-Maintainer: Hakan Ardo <hakan@debian.org>
    Architecture: all
    Version: 1:1.7.1-2
    Depends: gcc-avr (>= 1:4.5.3-1), binutils-avr (>= 2.20.1-2)
    Filename: pool/universe/a/avr-libc/avr-libc_1.7.1-2_all.deb
    Size: 4665316
    MD5sum: d39b60d6a1e15de19d35a9bbfe02a57a
    SHA1: be62d26d8776973db1ced474d82ebf66fd0481d8
    SHA256: 4537037f14299be1388567eda98906bf5398320a5db94f27ea90e69d2280a2ec
    Description-en: Standard C library for Atmel AVR development
     Standard library used to the development of C programs for the
     Atmel AVR micro controllers. This package contains static
     libraries as well as the header files needed.
    Description-md5: f8da43e684408fb968aa4789b21feef2
    Bugs: https://bugs.launchpad.net/ubuntu/+filebug
    Origin: Ubuntu
    
    matthew@matthew-Aspire-7540:~/my_documents/router/dlink_dir_615$
    It would seem this is the cross compiled C libraries used for write software to the device.

    Please bear in mind, i don't own either device you have.

    EDIT:

    Read through this thread for a comment by the maintainer of the driver.

    http://www.linuxquestions.org/questi...gnized-798178/

    I assume udev will create a device node for it.

    Kind regards
    Last edited by matt_symes; March 14th, 2012 at 07:05 PM.
    If you believe everything you read, you better not read. ~ Japanese Proverb

    If you don't read the newspaper, you're uninformed. If you read the newspaper, you're mis-informed. - Mark Twain

    Thinking about becoming an Ubuntu Member?

  9. #9
    Join Date
    Mar 2008
    Location
    UK
    Beans
    150
    Distro
    Ubuntu 16.04 Xenial Xerus

    Re: unable to enumerate USB device (ft232r)

    Thanks for that response. Today the machine I am doing the Arduino work on crashed out with what looks like a PSU problem so I am going to have to drag out an old unit as a replacement.

    What I think you were advising me is that ftdi_sio is present in the kernel Precise install (not sure precisely what that is) but is not enabled and that Modprobe...(etc) loads/enables it.

    I went through the sequence you recommended last night (modprobe... then lsusb... with the result pretty much as you showed in your
    ftdi_sio 40715 0
    usbserial 47077 1 ftdi_sio
    . Unfortunately it did not result in any change to the result - as indicated by DMESG.

    I had previously checked out the other references you gave, particularly that from the driver team. But what I took from that is that the driver is already in the kernel and that the ft232r does not require the latest driver.

    What I am trying to achieve here is a unique lighting solution. I have both the Arduino and the Rainbowduino in order to explore the art of the possible, how they are going to work together I have not yet worked out, indeed I expected that and programming either device to be the the problem to be tackled. Delving into Kernel code etc was not on my agenda at all.

    Recognising the amount of support you have given already I would really appreciate knowing how I can tell whether or not I have the driver installed because this message
    ftdi_sio 40715 0
    usbserial 47077 1 ftdi_sio
    does not make it entirely clear to this particular numpty.

    Meantime I plan to send the Rainbowduino back for testing, though in my experience the problem is more likely to be related to the driver than to the device.

    My thanks. Keep watching.

  10. #10
    Join Date
    May 2010
    Location
    uk
    Beans
    9,249
    Distro
    Xubuntu 14.04 Trusty Tahr

    Re: unable to enumerate USB device (ft232r)

    Hi

    Quote Originally Posted by hundred1906 View Post
    Thanks for that response. Today the machine I am doing the Arduino work on crashed out with what looks like a PSU problem so I am going to have to drag out an old unit as a replacement.
    That's a right pain. Dig out the backup machine.

    What I think you were advising me is that ftdi_sio is present in the kernel Precise install (not sure precisely what that is) but is not enabled and that Modprobe...(etc) loads/enables it.
    Precise is the name of Ubuntu 12.04. This is the next version of Ubuntu to come out in May this year.

    According to that web site i linked.

    Included in 2.6.31 kernel and later
    ftdi_sio is included in the kernel 2.6.31 and later. Lucid is 2.6.32, so it should be included in 10.04 and later.

    You can check your current kernel release using

    Code:
    uname -r
    I went through the sequence you recommended last night (modprobe... then lsusb... with the result pretty much as you showed in your . Unfortunately it did not result in any change to the result - as indicated by DMESG. I had previously checked out the other references you gave, particularly that from the driver team. But what I took from that is that the driver is already in the kernel and that the ft232r does not require the latest driver.
    We first need to ensure this driver is the correct driver for the device. I was using what you posted.

    What I am trying to achieve here is a unique lighting solution. I have both the Arduino and the Rainbowduino in order to explore the art of the possible, how they are going to work together I have not yet worked out, indeed I expected that and programming either device to be the the problem to be tackled. Delving into Kernel code etc was not on my agenda at all.
    Nice little project.

    You should not need to delve into the kernel code at all to communicate with this device.

    Recognising the amount of support you have given already I would really appreciate knowing how I can tell whether or not I have the driver installed because this message does not make it entirely clear to this particular numpty.
    You can check if the driver is available to the kernel you have by using modprobe

    Code:
    modprobe -l ftdi_sio
    (Small L after modprobe). You should see something like this.

    Code:
    matthew@matthew-Aspire-7540:~$ modprobe -l ftdi_sio
    kernel/drivers/usb/serial/ftdi_sio.ko
    matthew@matthew-Aspire-7540:~$
    My point is that this kernel module is available but is not loaded by default so you will have to load it to communicate with the device.

    As i stated in my previous post, this will load the driver into the kernel.

    Code:
    sudo modprobe ftdi_sio
    Assuming this is the correct driver then it has to be loaded before anything will happen.

    Meantime I plan to send the Rainbowduino back for testing, though in my experience the problem is more likely to be related to the driver than to the device.
    I would be very surprised if the device was faulty.

    I am more than prepared to spend some time doing some research for you with this device.

    I will not have the time to read up for you until the weekend but i will do some research for you then.

    Kind regards
    If you believe everything you read, you better not read. ~ Japanese Proverb

    If you don't read the newspaper, you're uninformed. If you read the newspaper, you're mis-informed. - Mark Twain

    Thinking about becoming an Ubuntu Member?

Page 1 of 2 12 LastLast

Tags for this Thread

Bookmarks

Posting Permissions

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