Arduinome, Serialosc 1.4 and OS X 10.11 El Capitan issue

As christmas comes each year, so does a new version of OS X.

Being curious, I installed the all new golden Master of EL Capitan (upgrade from Yosemite).

After my Arduinome 64 wasn’t recognised, I installed serialosc 1.4. I can see two processes running (serialoscd and serialosc-detector, but nothing else.

Opening Console, I get log entries every 10 seconds like this:
com.apple.xpc.launchd[1]: (org.monome.serialosc) Service only ran for 0 seconds. Pushing respawn out by 10 seconds.

Any ideas much appreciated!

everything was working correctly on yosemite?

do you get the console message even if you don’t have a grid plugged in?

when is 10.11 supposed to come out?

Hi tehn,

yes, with Yosemite, everything worked fine and the Arduinome was detected correctly.
console messages kept coming every 10 seconds, even without a grid plugged in, so I use the uninstall script to uninstall serialosc and reinstalled serialosc 1.4.

Again, I see those two processes and the log messages are gone. One step further, great.

My Arduinome is not detected, though.
I can see them at /dev/cu.usbmodema40h_011 and /dev/tty.usbmodema40h_011

When I plug in the grid, I get an entry in system.log:

taskgated[347]: There was an error parsing the Info.plist for the bundle at URL Contents/Info.plist -- file:///Library/Application%20Support/Monome/serialosc.bundle/
 NSCocoaErrorDomain - 3840
 <CFBasicHash 0x7fafd8d00e30 [0x7fff7401a890]>{type = immutable dict, count = 2,
entries =>
	0 : <CFString 0x7fff73f2ab70 [0x7fff7401a890]>{contents = "NSDebugDescription"} = <CFString 0x7fafd8d01450 [0x7fff7401a890]>{contents = "Malformed DTD on line 1"}
	1 : <CFString 0x7fff73f2d7f0 [0x7fff7401a890]>{contents = "kCFPropertyListOldStyleParsingError"} = Error Domain=NSCocoaErrorDomain Code=3840 "Malformed data byte group at line 1; invalid hex" UserInfo={NSDebugDescription=Malformed data byte group at line 1; invalid hex}
}

I looked at the file mentioned: /Library/Application%20Support/Monome/serialosc.bundle/Contents/Info.plist and
found it starting with

<!xml version="1.0" encoding="UTF-8"?>

So, I replaced the exclamation mark with a question mark, and the log entry disappeared.

But still no luck with Arduinome recognition.

By the way, El Capitan release date is planned for Sept. 30.

is this an FTDI-based arduino?

Actually it’s an UNO R3, which does not use Ftdi, but an Atmega16U2.

I remember installing a 3rd party FTDI drivers and disabling the Apple FTDI driver, but that might have been a different project.

I had the same problem with UNO. Nowadays, still haven’t been detected as an arduinome. I think that atmega16u2 could work, but no luck. Let me tell you what Owen Vallis told me:

The UNO uses the atmega chip for the serial comms , and should be natively supported via serialosc, so no need for FTDI.

Let me tell you that I tried to run serialosc in Linux with UNO R3, and seems to be working but unstable. I say this because I haven’t built the Arduinome yet because of I need the unsped shield and don’t have the Duemilanove board yet. In a few days (or a couple of months) I’ll be able to get an unsped shield and an Arduino Duemilanove. When I get the Unsped shield, I’ll try with UNO + Linux Ubutnu + SerialOsc.

Hope that helps
Cheers!

I installed the new signed FTDI driver for OS X from http://www.ftdichip.com/Drivers/VCP.htm, and I even tried to move the AppleUSBFTDI.kext (which is blocked on El Capitan). Anyway, if the 3rd party FTDI driver is loaded or not, it makes no difference: the grid still occurs as /dev/tty.usbmodema40h_011 .

Maybe it’s just El Capitan which has problems detecting Arduinos, StackExchange is full of mentions of OS X 10.11 not recognizing different Arduino boards (e.g. https://arduino.stackexchange.com/questions/13998/arduino-nano-with-ch340-reboots-on-os-x-el-capitan)

if you’re using an UNO there’s no need for an FTDI driver. but it seems like something changed with the OS treatment of serial ports perhaps.

it’d be helpful to know how your grid showed up previously on the old OS. arduinomes are supported as a fringe case thanks to code contributions by will light.

Hmm, I hardly remember if it was /dev/tty.usbserial-* or /dev/tty.usbmodem*. As it worked well, there was no need looking.

I just came across this page, which mentions changes in El Capitan

So the problem here is that IOUSBDevice has turned into IOUSBHostDevice in the IO Registry […]

Still no luck with getting my Arduinome recognized by OS X 10.11, but found the following:

I went to and ran serialosc-detector manually

cd  /Library/Application\ Support/Monome/serialosc.bundle/Contents/MacOS/
./serialosc-detector 

I get the following result

P?_?\P/dev/tty.usbmodema40h_011\P

… which happens to be exactly my Arduinome, except the leading an trailing Ps.
Even if I run serialosc-detector and plug in my Arduinome afterwards, it get’s detected.

I guess, it is not a detection issue, but more an issue with the next step.

Anything else I could try to shed some more light onto this?

After digging deeper into this issue, checking all solder joint and wires and even reflashing my Arduinos firmware, assigning a new usb serial number, I realized, that the format of the serial number on the Arduino was different from that used as the device name.

The serial number I use on my Arduinome is a40h-023.
When I connect the Arduinome, the devicename OSX 10.11 assigns to the Arduinome is

/dev/tty.usbmodema40h_021 // this is NOT a typo!

This naming is slightly different from OS X version < 10.11 and a grid named like this cannot be detected by libmonome, so a changed the device name matching pattern to fit OS X 10.11s new naming notation as well.

This problem only involves Arduinome on OSX, original grids and other platforms should be fine.

With the changed libmonome, the new Serialosc 1.4 works great.

Pull request submitted to the libmonome repo.

ack. that is incredibly frustrating, but good work on the find, and thank you for the pull.

pull request merged in. thanks!

I’m having this same issue, I’ve cloned libmonome from github, built it and manually installed it @/usr/local/lib
With a vanilla serialosc install should this work?

It’s not so far, my arduinome is showing up with the same strange new device name shown above.

Aha! I needed to copy the libmonome.dylib I built into /Library/Application\ Support/Monome/serialosc.bundle/Contents/Frameworks

Arduinome back up and running !
For anyone else reading this I couldn’t get ./waf configure to find liblo when building the libmonome from github even though I had installed lilbo using homebrew.

I just opened the wscript file and changed this part to false.

def check_liblo(conf):
conf.check_cc(
define_name=“HAVE_LO”,
mandatory=False,

This allowed it to finish configure and then it built correctly.

1 Like

Sorry to wake up this thread. What was the solution? I have the

“com.apple.xpc.launchd[1] (org.monome.serialosc[66008]): Service exited with abnormal code: 255”

messages happening all the time, and no monome plugged in. How can I manually stop the daemon running when I won’t be using a monome?

Thanks!

I seem to have found the answer myself. The answer for future seekers is to turn off serialosc with the shell script called ‘off-serialosc.command’

Thanks,

Jimmy