Mac OS X El Capitan - No Serial Port - Solution inside

Status
Not open for further replies.

jarvitron

Member
Hello - this isn't so much a question as it is an FYI.

If you're using a Teensy on a Mac (or any arduino really) you'll notice that there are no serial ports detected in Arduino 1.6.7 (or 1.6.5). You can't open the serial monitor (except on the worth-little bluetooth serial), and the Audio/FFT example won't run. Also it appears that the Teensyduino loader won't be able to reboot the Teensy automatically (requiring a buttonpress each time).

The fix is to disable "SIP", in the Recovery console. Details here - http://osxdaily.com/2015/10/05/disable-rootless-system-integrity-protection-mac-os-x/

After that, you are back to just your own personal failings stopping you from Teensying.
 
This should not be necessary for Teensy.

Teensyduino never installs any drivers on Macintosh or anything else requiring root access. The serial driver is built in to every version of OSX. You *do* need this for some Arduino clones that have special drivers. But Teensy uses only the built-in drivers from Apple.

However, Teensyduino does modify your copy of Arduino. That can make Gatekeeper unhappy. On Yosemite or later, you need to move Arduino to /Applications (or whereever you want it to live) and run it at least once to confirm you want to run something downloaded from the Internet. Sometimes Gatekeeper will forget this if you move it to another location, so move it first. After passing the Internet downloaded check, install Teensyduino.
 
This should not be necessary for Teensy.

I spent several hours installing, deleting, clean installing, etc and this was the only thing that made the serial port show up in Arduino. Not to doubt you, but it did not work for me until I did this and then everything worked perfectly. If there's some kind of diagnostic information you would like I would be glad to turn it back on and see if it stops working again, let me know which log files you'd like.
 
noserial.jpg No serial ports available.
 
Running OSX 10.11.4 beta and no problems, serial port is detected and everything works like a charm without any system modification.
 
Update to OSX >= 10.11.3 and using Teensyduino 1.2.7 solves the problem basically. If further problems occur, these might come from third party software which "monopolizes" the USB ports.
 
Hello sir, thanks for reply. I have OSX 10.11.4 arduino 1.6.7 and Teensyduino 1.2.7 installed but i the issue is persistent. Do you have any suggestion?
 
I have the same issue, do you have solved?

Hello sir, thanks for reply. I have OSX 10.11.4 arduino 1.6.7 and Teensyduino 1.2.7 installed but i the issue is persistent. Do you have any suggestion?

First, are you able to upload programs to your Teensy? Is Tools > USB Type set to Serial?

These are the only 2 messages you've written, on the end of a thread where Teensy was working and the only problem reported was failure for the serial port to appear in Tools > Ports.

Is that exactly the problem you're seeing? Please be clear, so we can help you better. Remember, we can't see your screen or what you're actually doing, unless you tell of show us. Sometimes photos and screenshots work much better than words.
 
First, are you able to upload programs to your Teensy? Is Tools > USB Type set to Serial?

These are the only 2 messages you've written, on the end of a thread where Teensy was working and the only problem reported was failure for the serial port to appear in Tools > Ports.

Is that exactly the problem you're seeing? Please be clear, so we can help you better. Remember, we can't see your screen or what you're actually doing, unless you tell of show us. Sometimes photos and screenshots work much better than words.

Hello sir, i cant upload the program in to Teensy because it is don not appear in list of serial port
Schermata 2016-03-09 alle 21.12.35.png
 
Did you try with an Arduino or with another Teensy? A good developer has always a few in stock in case one of these transforms into an espresso maker...
 
Teensy uses HID protocol for uploading, not serial. Serial is only needed for the Serial Monitor, and even that is only used when Tools > USB Type is set to Serial (the default).

Click Upload in Arduino. The Teensy Loader window should appear and automatically upload using HID protocol. If the upload is not automatic, press the button on your Teensy.

You do *not* need to select a serial port to upload (as the last page the Teensyduino installer tried to tell you). Just click Upload, or click Verify and then press the button.
 
Teensy uses HID protocol for uploading, not serial. Serial is only needed for the Serial Monitor, and even that is only used when Tools > USB Type is set to Serial (the default).

Click Upload in Arduino. The Teensy Loader window should appear and automatically upload using HID protocol. If the upload is not automatic, press the button on your Teensy.

You do *not* need to select a serial port to upload (as the last page the Teensyduino installer tried to tell you). Just click Upload, or click Verify and then press the button.

I push the button but nothing happen.
Schermata 2016-03-09 alle 21.52.44.png
 
Try a different USB cable.

The most common cause of "nothing happens" in Teensy Loader when you press the button is charge-only cables meant for cell phones. Those cables have only the power wires, but not data wires.
 
My students are having trouble seeing the Serial port of a Teensyduino program on OS X 10.11, but I'm having no trouble on my OS 10.11.3 Mac, running the same firmware on the Teensy LC board and running the same Python program to detect the serial port.

Note: they had no problem downloading the firmware to the Teensy LC using Arduino 1.6.7 and Teensyduino 1.27, but the Python code which worked on my machine could not find the serial port. Since I don't have access to their machines for debugging, and it is working on my machine, I don't know where to start look looking for a problem.

I've not attached the code here (because it is large), but it can be found at https://bitbucket.org/abe_k/pterodaq/

I checked, and the USB device is appearing properly in the "System Information" on both their machines and mine. One student reported that the device was not appearing in the /dev directory, but I did not observe that myself, so can't verify it, as I don't have access to their machines. (I was trying to do the debugging in the middle of a lab with 24 students asking questions, so I did not have more than a couple of minutes to try to debug the problem.)

I'm curious, can anyone with Mac OS 10.11 check whether the PteroDAQ installation works for them, to the point where they can run PteroDAQ (on either Teensy LC or 3.1/3.2)? If the
PteroDAQ - Select a Device window does not show PteroDAQ (Teensy) as a possible device when a Teensy board with the PteroDAQ firmware is connected, then you are seeing the same bug as the students (but which I am not seeing). It is possible that I have a serial driver installed or enabled that the students do not have, but I've no idea what to tell them to do to fix the problem on their machines! If others can duplicate the problem, perhaps they can also help me figure out what to tell my students to do to fix it!
 
First, make sure everyone's using Teensyduino 1.26 or 1.27. Teensyduino 1.25 and earlier had a bug which impacted El Capitan. It was fixed in 1.26.
 
So far, there's been 2 bugs with El Capitan. The first was fixed in 1.26 and definitely isn't an issue anymore.

The other has only shown up as occasional data loss when running at nearly maximum speed for sustained times. It seems to be with only certain versions of El Capitan. I put quite a lot of work into investigating it, capturing USB packet logs. All signs point to a bug in Apple's driver. The few people who've encountered this problem definitely did see the /dev/cu.usbmodemxxx port and were able to open it, and did have it mostly work except for small amounts of data occasionally lost when receiving very fast from Teensy.

The two Macs we have here are currently running 10.7.5 and 10.11.1. I might have access to a couple others, but not sure which versions they have.

Will test on the 10.11.1 machine shortly....
 
Tested just now on OSX 10.11.1. The /dev/cu.usbmodemxxx port shows up. The Arduino serial monitor is able to open it.

osx2.jpg
(click for full size)

osx1.jpg
(click for full size)
 
A friend of one of the students in the class found the problem: I was only checking for USB2 ports, not USB3 ports, which use a different interface in the new USB stack (AppleUSBXHCI instead of AppleUSBEHCI). I've updated the PteroDAQ code to check both (as well as AppleUSBOHCI, though I doubt anyone has hardware with USB 1 ports that can run OS X 10.11), and am asking the students to check whether this bug fix works.
 
Status
Not open for further replies.
Back
Top