I own a Macbook running OS X 10.10.3 (Yosemite)
I own a Min Seg.
My Min Seg model is built on an Arduino Mega 2560.
Problem
When I connect the board to the Macbook,
using either of the Macbook's two USB 2.0 ports,
using either of two USB A to B cables,
the board lights up, but I am unable to connect
to the tty device using the Arduino IDE.
Tools --> Port
offered:
/dev/cu.Bluetooth-Incoming-Port
/dev/cu.Bluetooth-Modem
/dev/cu.usbmodem621 (Arduino Genuino Mega or Mega 2560)
I was expecting to also see:
/dev/tty.usbmodem621 (Arduino Genuino Mega or Mega 2560)
If I unplug the board, the third listed option
from Tools --> Port
disappears, as expected.
Verification 1
I opened the System Information utility application.
USB --> USB Bus -->Arduino Mega:
Product ID: 0x0042
Vendor ID: 0x2a03
Version: 0.01
Serial Number: 75435353038351316281
Speed: Up to 12 Mb/sec
Manufacturer: Arduino Srl
Location ID: 0x06200000 / 3
Current Available (mA): 500
Current Required (mA): 100
Verification 2
I used the Sparkfun Terminal Basics wiki to check for the device. I used the Terminal utility application.
ls /dev/tty.*
offered:
/dev/tty.Bluetooth-Incoming-Port
/dev/tty.Bluetooth-Modem
/dev/tty.usbmodem621
screen /dev/tty.usbmodem621 9600
offered a successful connection.
[A white screen, which allowed for exit using Control+A
followed by Control+/
]
Attempted Solutions
I tried several means from here:
I installed the FTDI drivers.
I ran sudo nvram boot-args="kext-dev-mode=1"
in the Terminal application.
Is an alternative driver worth attempting, such as that listed here?
I also attempted to connect through Mathworks Simulink.
When setting connection options, the program states
that a cu device is expected, rather than a tty.
-
Is it normal that the Arduino IDE picks up ONLY the cu devices and that the terminal picks up ONLY the tty devices?kando– kando2015年11月13日 21:07:19 +00:00Commented Nov 13, 2015 at 21:07
1 Answer 1
What you are seeing is normal.
In BSD (which is the OS that Mac OS is based on) a serial port has two distinct devices for two distinct roles.
The tty, or TeleTYpe interface is used for incoming connections, be that from a modem, serial terminal, whatever. You would normally run a process called getty on it to present a login prompt.
The cu, or Call Unix interface is used for making outgoing connections to other devices. Traditionally that was mainly other Unix servers through modems. Nowadays it includes many other devices such as an Arduino.
The theory is that when you try and initiate an outgoing connection through the cu interface it first checks that no-one is connected in through the tty interface and if the serial port is available it disables the tty interface so the listening getty process doesn't interfere with your call. Also the tty and cu interfaces deal with the modem control lines differently.
The Arduino IDE is merely honouring that system by only offering you the outgoing device in the port list. As far as the Arduino communication is concerned there should be no difference.
-
Why does the Arduino Getting Started guide only suggest the
tty
interface?kando– kando2015年11月14日 12:23:03 +00:00Commented Nov 14, 2015 at 12:23 -
1@kando Because it is out of date and the person that wrote it didn't understand the difference.Majenko– Majenko2015年11月14日 13:22:17 +00:00Commented Nov 14, 2015 at 13:22
-
Oh. Fair. They should fix that : jkando– kando2015年11月14日 13:58:21 +00:00Commented Nov 14, 2015 at 13:58