2

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.

asked Nov 13, 2015 at 20:36
1
  • Is it normal that the Arduino IDE picks up ONLY the cu devices and that the terminal picks up ONLY the tty devices? Commented Nov 13, 2015 at 21:07

1 Answer 1

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.

answered Nov 13, 2015 at 23:37
3
  • Why does the Arduino Getting Started guide only suggest the tty interface? Commented 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. Commented Nov 14, 2015 at 13:22
  • Oh. Fair. They should fix that : j Commented Nov 14, 2015 at 13:58

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.