Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 8 of 8

Thread: Embedded linux not recognize USB serial

  1. #1

    Embedded linux not recognize USB serial

    Hi!

    I have programed my teensy2 as a serial USB device with the "Hello World" example.
    This works on a Windows7.

    When i connect to the OpenWRT embedded Linux box i do not get any device to communicate with.
    The /dev does not get any new devices when I connect the teensy. Just this: /dev/bus/usb/003

    # lsusb
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 003: ID 16c0:0483 VOTI

    # dmesg
    [ 1001.370000] usb 1-1: new full-speed USB device number 3 using ehci-platform

    I have a bunch of driver to choose from. But I got the impression I would not need them
    kmod-usb-serial-pl2303 - 3.3.8-1 - Kernel support for Prolific PL2303 USB-to-Serial converters
    kmod-usb-serial-qualcomm - 3.3.8-1 - Kernel support for Qualcomm USB Serial devices (Gobi)
    etc etc...


    Thanks for any help!

  2. #2
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    24,076
    The kernel must have the cdc_acm driver, either built in or as a module. Every normal distro includes this driver, but some small device kernels omit many drivers to save space. If the driver is missing, the kernel will detect the device but no driver will load and create /dev/ttyACM0.

    Also, make sure you installed the udev rule. If you have /dev/ttyACM0 but can't access it, then all you need is the udev rule.

  3. #3
    :-)

    kmod-usb-acm - 3.3.8-1 - Kernel support for USB ACM devices (modems/isdn controllers)


    # cat /dev/ttyACM0
    Hello World

    Hello World

    Hello World

  4. #4
    Junior Member
    Join Date
    May 2013
    Posts
    3
    Quote Originally Posted by PaulStoffregen View Post
    The kernel must have the cdc_acm driver, either built in or as a module. Every normal distro includes this driver, but some small device kernels omit many drivers to save space. If the driver is missing, the kernel will detect the device but no driver will load and create /dev/ttyACM0.

    Also, make sure you installed the udev rule. If you have /dev/ttyACM0 but can't access it, then all you need is the udev rule.
    Please help; I'm trying to get Teensy 3.0 working on Linux Mint, and while the USB device does show up, ( HalfKay ID is 16c0:0478), there is no /dev/ttyACM0.

    I don't have a clue as to how to mod the kernel?

    Any suggestions?

    Thanks in advance...

  5. #5
    Junior Member
    Join Date
    May 2013
    Posts
    3
    OK,

    I have this working now after a fashion... Thanks to http://www.billyshaw.com/2012/10/07/...rt-in-arduino/

    When I run the Arduino IDE as root, the serial port appears and I can connect using HalfKay...

    I'd welcome any clear instructions as to how to enable this for ordinary users!

    One other observation is that uploading takes *much* longer in this environment than on the same machine running Windows 7... And so, any thoughts on speeding things up would
    also be appreciated...

    Thanks!

  6. #6
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    24,076
    Quote Originally Posted by creator View Post
    Please help; I'm trying to get Teensy 3.0 working on Linux Mint, and while the USB device does show up, ( HalfKay ID is 16c0:0478), there is no /dev/ttyACM0.
    This is normal. Teensy is NOT a serial device when in programming mode. Details are here:

    https://www.pjrc.com/teensy/troubleshoot.html

    It is supposed to appear as a HID device with that ID, but not a serial device. Only look for ttyACM0 when it's running your application (and only if you selected Serial from Tools > USB Type before programming).

    I don't have a clue as to how to mod the kernel?

    Any suggestions?
    Did you install the udev rule file? It may be working fine, but Teensy Loader doesn't have permission to access the device without the udev rules?

  7. #7
    Junior Member
    Join Date
    May 2013
    Posts
    3
    Quote Originally Posted by PaulStoffregen View Post
    This is normal. Teensy is NOT a serial device when in programming mode. Details are here:

    https://www.pjrc.com/teensy/troubleshoot.html

    It is supposed to appear as a HID device with that ID, but not a serial device. Only look for ttyACM0 when it's running your application (and only if you selected Serial from Tools > USB Type before programming).



    Did you install the udev rule file? It may be working fine, but Teensy Loader doesn't have permission to access the device without the udev rules?
    Hi Paul, thanks for responding...

    First, I'm somewhat of a "sorcerer's apprentice" here, with some *very* old unix background, but thank God better than none...
    So, as it has been a long time since I've fiddled with any ***x os, I am struggling with just getting reoriented to this world. I'm trying to migrate my life away from WinDoze...

    I did read the troubleshoot page and everything I could find on the PJRC site... And yes, Tools > USB Type was definitely set to Serial.
    Things would not work at all before I ran as root.

    And, yes, I installed the rule file according to the directions, but I will go back and review that and see if the file is in the right place.

    I also have some other assorted Arduino compatible devices that I will eventually try to get running here; however, as I've bought a hatfull of Teensy 3.0 devices and have been using them to teach a class, I am starting with your product and need to "get 'er runnin'!"

  8. #8
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    24,076
    On Linux, the /var/log/syslog file gives useful info. Also, Teensy Loader has a verbose info option in the help menu, which can show you what it sees.

Posting Permissions

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