Teensy 3.6 not detected as serial port in Ubuntu

Status
Not open for further replies.

willyman

Member
I've been struggling for a few days to get my teensy 3.6 get detected as a serial port by linux kernel and by Arduino IDE. The Teensy IS detected by the Teensy Loader GUI, and by the teensy_cli. I am able to program the teensy via teensyloader and the command line. I have version 1.40 of the GUI:


The CL:


Here's what arduino looks like with the teensy plugged in, the port is not detected:


The board is detectedby lsusb command:


The board is not listed in /dev, and I do believe I have the permissions set correctly:


The udev rules were added:


dmesg output when teensy 3.6 plugged in:


udevadm output when teensy plugged in:


By contrast, the adafruit feather is detected as a serial com port when plugged in:


Anybody have any ideas? I'm new to teensy. Also not sure if this makes any difference but these are USB 3.0 ports. I dont have any 2.0 ports. Thanks for any help!!
 
First thing, somewhere on the Teensyduino website, there is an information for Linux users about an additional undeveloped rule to install.
Second thing, a new Teensy out of the box is never programmed with a USB serial option, thus it’s normal that it is “only” seen as a HID device, which is sufficient for the Teensy loader to identify and to program it. In order to see it as a serial device, you have to load a program, select Serial in the USB options in the Arduino IDE, compile it and upload it to the Teensy. After reboot, it will identify as a com port.
 
Every brand new Teensy ships with the LED blink using RawHID, so you can expect a brand new Teensy to always appear as HID, not Serial. It only becomes Serial when you upload a new program from Arduino, and only if Tools > USB Type is set to Serial (which is the default).

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

Everything is working as it should. You just need to upload once from Arduino. Take a quick look at Tools > USB Type. It defaults to Serial. Teensy can do so much more than only Serial, as you can see in that menu. ;)

FWIW, the default shipping with RawHID started many years ago when no version of Windows reacted well to a brand new Serial device. HID is the only viable protocol where all 3 operating systems have good drivers. Microsoft finally improved Windows 10, but still about half of all Windows users are on version 7. With HID, Windows automatically uses its own HID driver. Mac and Linux handle it very well too.

The only downside is Arduino's model of "everything must be a serial port" doesn't really apply. I'm actually working now on changes to how we support the Arduino IDE, so all the non-serial modes will show up in the Tools > Ports menu. It's currently in beta testing. Long-term, I believe this new Tools > Ports menu will really help everyone. But as you can see in the discussion on that thread, it still has a number of small bugs. It's "beta" for a reason! Please get your Teensy working and become familiar with how it works before you install the beta version.
 
Last edited:
Ohhh-
Ok i get it now thank you very much! I was conditioned by arduino to believe you must detect a board as a serial port before you can program it. I just was able to upload to the teensy using arduino. Now I can see the teensy as USB type serial.

So quick question- now that I can see the teensy using serial, does that mean I always leave it as type serial now? When would you want to change it to one of the other options? What I'm asking is the USB type selection- is this referring to the interface in which teensy will be programmed, or how teensy will execute the code that is running on it?

One more- how do you feel about platformio? Or using teensyloader with clion?
 
Ohhh-
Ok i get it now thank you very much! I was conditioned by arduino to believe you must detect a board as a serial port before you can program it. I just was able to upload to the teensy using arduino. Now I can see the teensy as USB type serial.

So quick question- now that I can see the teensy using serial, does that mean I always leave it as type serial now? When would you want to change it to one of the other options? What I'm asking is the USB type selection- is this referring to the interface in which teensy will be programmed, or how teensy will execute the code that is running on it?
It how the Teensy program starts the USB connection when it starts the Teensy. If you want to open the serial device on your system, choose Serial. If you want to program your Teensy to act as a USB mouse and/or keyboard, choose those options. Normally the selection doesn't affect your ability to program the Teensy. There are a few settings (no USB, setting the clock speed too low, etc.) where you would need to press the program button to set the Teensy into program mode.

One more- how do you feel about platformio? Or using teensyloader with clion?
I don't use those, so I don't have a feeling about them one way or another.
 
So quick question- now that I can see the teensy using serial, does that mean I always leave it as type serial now?

Sure, if USB serial meets your needs, then just leave Tools > USB Type set to Serial.

When would you want to change it to one of the other options?

Well, this may sound overly obvious, but pretty much when you want to do a project needing those other USB features.

For example, many musicians and DJs use USB MIDI, so a Teensy can send messages to their other MIDI gear. Some people make projects where Teensy controls their PC by typing as a USB keyboard. Virtually all PC programs respond to keyboard input, and many have no other realistic way of being controlled. If you're using the Teensy Audio Library, implementing USB audio can be really convenient, so you can connect audio streams from the audio library to your PC over USB.

Whatever mode you use, even Serial, remember Teensy uses HID protocol for uploading. The serial device disappears while your program isn't running. Today the Arduino Tools > Ports menu gives no visibility for the non-Serial modes. Teensyduino 1.42 will add new support for showing these other modes in the Ports menu, which hopefully will make things easier to understand and use for everyone.
 
Status
Not open for further replies.
Back
Top