Serialoscd not starting on boot

Running MacOS 10.12 - I built libmonome and serialosc from current source on github. (i’m trying to get @szymon_k 's DIY monome code working on Teensy)

I am able to manually run serialoscd and things work as expected, however I don’t get serialoscd running after reboot.

I had some troubles with my initial install (had installed 1.4 from binaries and then rebuilt from source, deleted everything and started over). Before I started over I was getting serialoscd launching on boot, but serialosc-device was not getting launched.

This file is mentioned in some other threads:

/Library/LaunchAgents/org.monome.serialosc.plist

However, this file does not exist for me (nor in any of the other launch directories). Should that have been created in the install process? Do I just need to re-create that to launch serialoscd?

This file is added by the binary installer, which is the recommended option to install serialosc. In case there are problems with the installer, please report them.

If you absolutely want to run serialosc compiled from source, your best option would be to create your own serialosc LaunchAgent. You can use the original serialosc.plist, but make sure the executable path matches your installation. Don’t forget to setup the script to start automatically with launchctl.

Excellent. Thank you.

Now I get serialoscd and serialosc-detector to run on startup (showing in Activity Monitor), but serialosc-device does not start (is not listed in Activity Monitor).

This seems similar to a bunch of problems in other threads of devices not being recognized when unplugged/plugged-in.

Should serialosc-detector launch serialosc-device by any chance? If this was not happening due to an error, would it be logged somewhere? (I can’t find any serialosc errors in Console)

Or a more direct question - how is serialosc-device launched?

FWIW - if I shutdown serialoscd with
launchctl unload /Library/LaunchAgents/org.monome.serialosc.plist
and restart with serialoscd, serialosc-device starts up OK.

Hard to say. You can try setting StandardErrorPath and StandardOutPath in the plist file to some log file and see if anything shows up when you plug in the device.

May have solved it.

default /Library/LaunchAgents/org.monome.serialosc.plist was pointing to binaries in /Library/Application\ Support/Monome/serialosc.bundle/Contents/MacOS/

There were also binaries in /usr/local/bin/ (which were probably the ones being launched when running serialoscd from the command line)

Updated the plist file with /usr/local/bin/serialoscd and I am in business (reboot and everything starts as expected - plug/unplug works just fine)

EDIT: Moral of the story - having binaries in two places can be confusing

1 Like

How are people making serialosc (serialoscd) start on boot on Linux? I’m using Ubuntu. Should I just man up and manually create a service for it in systemctl?

You can install serialosc from the Ubuntu PPA. It’s already configured to auto-start on boot. Otherwise yes, you’ll have to create the systemd service files.