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

Thread: Teensy products no longer accessible via ttyACM? port

  1. #1
    Member AverageGuy's Avatar
    Join Date
    Aug 2013
    Location
    Atlanta
    Posts
    54

    Unhappy Teensy products no longer accessible via ttyACM? port

    Never mind, I realized too late the device doesn't appear until after a compile. And I can't figure out how to delete a post.
    Last edited by AverageGuy; 05-24-2015 at 02:34 PM. Reason: Screwed up

  2. #2
    Senior Member Koromix's Avatar
    Join Date
    Dec 2013
    Location
    Lille, France
    Posts
    198
    /dev/ttyACMx is for serial devices, and unlike Arduino, Teensy boards support more than just serial-on-USB. I think Paul switched the default firmware to Raw HID some time ago, to avoid issues when plugging the Teensy into Windows before installing the serial "driver".

    That's why you see the hidraw line; and the device should be available at /dev/hidrawX. Note that you can't just write and read arbitrary stuff to and from it, unlike with the tty interface.

    If you really need/want the serial interface instead, you can load the Blink example code in Arduino/Teensyduino, change the USB Type to Serial (in the Tools menu) and upload the new program.

    EDIT: oh well. At least you know why it did that.

  3. #3
    Member AverageGuy's Avatar
    Join Date
    Aug 2013
    Location
    Atlanta
    Posts
    54
    Quote Originally Posted by Koromix View Post

    EDIT: oh well. At least you know why it did that.
    Right, sorry for wasting your time.

    Jim.

  4. #4
    Senior Member Koromix's Avatar
    Join Date
    Dec 2013
    Location
    Lille, France
    Posts
    198
    Mmmh, I guess I should have put a smiley in my edit line, because I came out bitter even though it was not a problem at all

  5. #5
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    21,864
    Quote Originally Posted by Koromix View Post
    I think Paul switched the default firmware to Raw HID some time ago, to avoid issues when plugging the Teensy into Windows before installing the serial "driver".
    Yup. This change was in January 2014.

    We found some Windows users would go to truly amazing lengths in response to the Windows message saying a driver was needed. Several people messed up their Windows systems pretty badly, by installing random drivers and registry hacks and all sorts of other stuff from all over the internet.

    With the LED blink we load during testing configured for RawHID, you can't get the Windows New Hardware Wizard to complain about needing a driver until you reprogram the board at least once, and to reprogram it, you need Teensyduino installed into Arduino, which puts the .INF file into Windows so the new hardware wizard will find the driver automatically.

    But if you're used to the Arduino paradigm where everything is a COM port (Windows) or serial device (Linux, Mac), it can cause confusion. So far, this way seems to be the best I've found to help the most people. It seems there's no perfect way for everyone.

  6. #6
    Member AverageGuy's Avatar
    Join Date
    Aug 2013
    Location
    Atlanta
    Posts
    54
    Koromix: Again, I'm sorry. I didn't take it that way. I was just trying to be courteous. I saw no animosity in your statement, it was just a statement of fact. I guess I came off a bit harsh also.

    Thanks, are we still friends?

    Hi, Paul, I knew better but had a complete collapse of memory. That bit me once before and I'm a slow learner it seems.

    Jim.

  7. #7
    Junior Member
    Join Date
    Jan 2014
    Location
    Huntsville Alabama
    Posts
    14
    Quote Originally Posted by PaulStoffregen View Post
    Yup. This change was in January 2014.

    But if you're used to the Arduino paradigm where everything is a COM port (Windows) or serial device (Linux, Mac), it can cause confusion. So far, this way seems to be the best I've found to help the most people. It seems there's no perfect way for everyone.
    I develop on Linux (ubuntu) and I've been using Teensy 3.1 for a number of project and have come to rely on using the USB port for debugging as ttyACM*. Maybe it's good that I've been buying my more recent Teensy's from old stock but I just got some teensy 3.2s in and they enumerate on linux as "hidraw*".

    What steps can I take to get my 3.2s to enumerate as ttyACM0 and behave as before?

    FYI, I use cmake and netbeans IDE. I use teensyduino loader to deploy updated code. I have test driver
    pgms and cutecom to monitor debug output on /dev/ttyACM*.

    Thx

  8. #8
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    21,864
    Quote Originally Posted by timbo View Post
    What steps can I take to get my 3.2s to enumerate as ttyACM0 and behave as before?
    Just program your code, or any code which implements USB serial, onto the Teensy.

    FYI, I use cmake and netbeans IDE. I use teensyduino loader to deploy updated code. I have test driver
    pgms and cutecom to monitor debug output on /dev/ttyACM*.
    Fine. Just press the button on the new Teensy. If Teensy Loader is in auto mode, it'll program your code, which erases the RawHID blink we ship with all newer Teensy boards. Otherwise, click the program button in Teensy Loader, to write your code.


    ... but I just got some teensy 3.2s in and they enumerate on linux as "hidraw*".
    All Teensy boards since January 2014 have shipped with the LED blink example build as RawHID, rather than Serial. This solves the terrible usability problems on Windows where the New Hardware Wizard prompts users to install a driver, so we really *must* ship every Teensy this way.

    Just program the Teensy once with you code, or any program built as USB Serial, and it will then act the way you expect as a serial device. But do keep in mind Teensy is a native USB device capable of enumerating as almost anything. It's only appearing as Serial because the flash memory contains a program which enumerates as serial.

Posting Permissions

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