Unable to upload from Mac to Arduino board over usb using Arduino app

I purchased the Edison - Arduino starter kit. The Arduino board is supposed to be "compatible" with the Arduino Uno board.
From my Mac, I can connect to the board over use using :
screen /dev/cu.usbserial-A502LSBZ 115200 -L
then login as root, and do normal shell things.

However, when I try using the Arduino IDE to upload any of the examples (ex: SoftwareSerial), it fails with the error:
ioctl(TIOCMGET): Inappropriate ioctl for device.

I've confirmed that the Tools - Board is set to Arduino Uno, and Tools - port is set to cu.usbserial-A502LSBZ, and that "screen" isn't running when trying to upload the example program.

Lastly, I've confirmed that under Apple - About this mac - System Report, that the Edison board does show up as a usb device.

Any help would be appreciated.

Edison is not Uno compatible in the sense that you could compile sketches for Uno and run them on Edison.

You have to install support for Intel 686 boards first:
Tools > Board > Board Manager

Thanks, but still no luck. Just a different error message. Now I’m getting TIMEOUT errors when I try to upload. I switched to the SerialEvent example. Here is the output when I tried to upload it.

Sketch uses 74,379 bytes (0%) of program storage space. Maximum is 10,000,000 bytes.
#!/bin/sh
starting download script
#
# clupload script to invoke lsz 
Args to shell: /Users/bfranklin/Library/Arduino15/packages/Intel/tools/sketchUploader/1.6.2+1.0/x86/bin /var/folders/fx/w94rc8_j1p3dnf25hnl1c5vw0000gn/T/build1869966234686160094.tmp/SerialEvent.cpp.elf /dev/cu.usbserial-A502LSBZ
# Copyright (C) 2014 Intel Corporation
# 
Serial Port PORT (note: should be /dev/cu.xxxxxx for OSX)
# This library is free software; you can redistribute it and/or
Using tty Port /dev/cu.usbserial-A502LSBZ
# modify it under the terms of the GNU Lesser General Public
Sending Command String to move to download if not already in download mode
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# 
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
#

echo "starting download script"
echo "Args to shell:" $*
#
# ARG 1: Path to lsz executable.
# ARG 2: Elf File to download
# ARG 3: TTY port to use.
#
#path may contain \ need to change all to /
path_to_exe=$1
fixed_path=${path_to_exe//\\/\/}
#
tty_port_id=$3
echo "Serial Port PORT" $com_port_id "(note: should be /dev/cu.xxxxxx for OSX)"
echo "Using tty Port" $tty_port_id 
#
echo "Sending Command String to move to download if not already in download mode"
echo "~sketch downloadEdison" > $tty_port_id
#Give the host time to stop the process and wait for download
sleep 1
#
#Move the existing sketch on target.
Deleting existing sketch on target
echo "Deleting existing sketch on target"
"$fixed_path/lsz" --escape -c "mv -f /sketch/sketch.elf /sketch/sketch.elf.old" < $tty_port_id > $tty_port_id
Retry 0: Got TIMEOUT
Retry 0: Got TIMEOUT

Transfer incomplete
#"$fixed_path/lsz.exe" --escape -c "mv -f /sketch/sketch.elf /sketch/sketch.elf.old" < $tty_port_id > $tty_port 1>&0
#
# Execute the target download command
#
#Download the file.
host_file_name=$2
"$fixed_path/lsz" --escape --binary --overwrite $host_file_name < $tty_port_id  > $tty_port_id
Retry 0: Timeout on pathname

Transfer incomplete
#
#mv the downloaded file to /sketch/sketch.elf 
target_download_name="${host_file_name##*/}" 
echo "Moving downloaded file to /sketch/sketch.elf on target"
Moving downloaded file to /sketch/sketch.elf on target
"$fixed_path/lsz" --escape -c "mv $target_download_name /sketch/sketch.elf; chmod +x /sketch/sketch.elf" < $tty_port_id > $tty_port_id
Retry 0: Got TIMEOUT
Retry 0: Got TIMEOUT

Transfer incomplete
#
#

After watching this video (YouTube: Intel Edison Getting Started) I got the impression that you should switch to the other USB connector before uploading.

Hmmm. The configuration I was using was 2 usb's connected to the Arduino board, and no power supply. This does power up the board (I can see the green led, and connect to the unit using screen).

I may try to run up to Fry's and get a power supply, but I thought this was a valid configuration. I was thinking that the problem was some configuration issue on the Mac side.

Do you see one or more /dev/cu.usbserial devices?

No, just the one.
If I disconnect the usb closest to the power jack, I lose power to the board.
If I disconnect the usb farthest from the power jack, I still have power, but no usb ports listed

Actually, to get technical, I see the following with just the one usb connected
/dev/cu.Bluetooth-Incoming-Port
/dev/cu.Bluetooth-Modem
/dev/cu.usbmodemfa143

I haven't tried the Bluetooth ones, but the usbmodemfa143 fails too with TIMEOUT errors.

It really seems like the cu.usbserial-... is the right choice

I have the same issue.

Here's the pipeline.

Macbook Pro 2016 15".

USB-C adaptor to USB.

I plugged one micro USB for power.
I plugged the other micro USB to my USB adaptor.

I did go to board manager and install Edison board and select it in my boards.

In port selections I've got 4 choices;

/dev/cu.lpss-serial1
/dev/cu.lpss-serial2
/dev/cu.Bluetooth-Incoming-Port
/dev/cu.usbserial-A903IVOC

I took the last one it looks like it was the only good choice.

But got the error message when uploading an example sketch just to see if it works.

And I see in the error message that for OS X it is supposed to be "dev/cu.usbserialXXXXXXX without a dash, but we don't get that choice so...

What do we do?