Teensy products no longer accessible via ttyACM? port

Status
Not open for further replies.

AverageGuy

Well-known member
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:
/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.
 
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 ;)
 
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.
 
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? :cool:

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.
 
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
 
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.
 
Status
Not open for further replies.
Back
Top