Linux: serialosc-detector does something; serialoscd, nothing

I’m running Ubuntu 18.04. I installed libmonome and serialosc from source and couldn’t make it work, then discovered there’s a PPA so I uninstalled from source and installed via apt.

The documentation talks about running “serialosc” but I have no such command available. I do have three similar-looking ones, though.

If I run serialoscd, nothing happens; the prompt doesn’t even hang.

If I run serialosc-device I get “serialosc-device: device not specified, exiting”. I’m probably not giving it an argument it needs.

If I run serialosc-detector, the prompt hangs. If I then plug in the monome, I get some funny text, the second line of which is always the same.

Here’s a transcript of the experiments I just described:

jeff@jeff-Inspiron-5567:~$ serialoscd
jeff@jeff-Inspiron-5567:~$ serialosc-device 
serialosc-device: device not specified, exiting
jeff@jeff-Inspiron-5567:~$ serialosc-detector 
jeff@jeff-Inspiron-5567:~$ serialosc-detector 

(The two occurrences of “^C” correspond to my pressing Ctrl-C to kill the process.)

At one point – I don’t know whether this matters – I had two versions of libmonome installed: libmonome via source and libmonome1 via apt. (That happened because I had just uninstalled serialosc from source, and when I installed it via apt, it installed libmonome1 along with it.)

So then I uninstalled everything – libmonome from source, libmonome1 from apt, and serialosc from apt – and reinstalled both from apt. (I uninstalled the source installs by going to the source folder and running sudo ./waf uninstall, and the apt installs by running sudo apt remove <package>.)

This is the right command to start serialosc. If it quits immediately, that means that the daemon is already running. PPA packages are configured to start the daemon automatically after installation and on boot. You can disable this behaviour with systemctl as described in

If you’re running the precompiled package as a daemon, you can check if the devices are connected by watching the system logs, by running e.g. tail -f /var/log/syslog

In the log you should see something like following:

serialosc [m1100150]: connected, server running on port 18434

If you’re not using the daemon, run serialoscd in the terminal and then the same line as above will be printed in the terminal too.

Running serialosc as regular user requires adding your user to group dialout as follows:

sudo adduser <yourusername> dialout

Make sure to log out and login again after that. Hope this helps!

It works! Many, many thanks, Art!

It seems like I have similar problems like you @Jeffrey_Brown when I try to run grid studies on my Critter & guitari Organelle M (pi compute module 3)

What was the sollution in the end?

Phew, I don’t actually remember. I definitely had to add myself to the dialout group, and maybe create that group first.

I switched to NixOS, and now I “install” via the “libmonome” and “serialosc” configurations in my Nixos experiments repo. They’re pretty vanilla configurations, but they do use the very latest versions of everything. If you built libmonome and serialosc from source it would probably have the same effect.

Thank you for your quick answer. I bootet up my regular Pi3b with Pisound and patchblockos (as far as I can tell raspbian just tweaked a bit) and everything is the same there.

It seems like this is such a good match I am a bit surprised why not more people are using Pies and Grids. I guess they are maybe using Norns.

did you follow Redirecting… ?

(i need to ensure this hasn’t been outdated if the answer is yes)

Yup! I tried both methods and I pretty much got the same result(except starting the serialoscd command manually in the manual compiled version).

Both on Organelle M and Raspberry pi 3b with Patchbox OS.

Would be great with an updated version that works, and also that grid studies is taylored for PD vanilla as this is the version that is still maintained. PD extended is “dead” I think. And f.ex. on the Organelle M od extended is not an option (but downloading externals for linux arm is no problem).

Ok! Here is an update @tehn !
I went to my studio and got my trusty ol’ monome kit 256 unit.
This one registers with serialosc-detector


But my 2021 grid does not.

Skjermbilde 2021-12-10 kl. 00.08.50

Edit: So after installing the needed libraries I can now confirm that my mk256 is working perfectly with my Pi3b. But my 2021 grid is not registering in serialosc-detector and not working in PD.

That explains a lot, @KristofferLislegaard . Could you try switching to grid-st branch on a fresh serialosc checkout and rebuilding? Linux support for new grids is not yet in the master branch iirc.

Sure! If you can explain to me how I do that :slight_smile: I am not a Linux master yet :wink:
But happy to try it if you want to give me instructions!

Or did you mean that this is a @tehn job?

i’ll get this tested on a pi and merge the changes, thanks for the heads up.

Fantastic! Give me a heads up when it is ready and I will give it a spin on my Pies and Organelle M :slight_smile:

it’s merged to main, let us know if you encounter problems


Hi @tehn thanks for the update!

I’m attempting to install serialOSC on an organelle M with OS 4.1. Unfortunately I am unable to install serialOSC using the command line (even as root I’m receiving the error that it is a read-only file system).
Is there another way to get this update loaded on an organelle?
Thanks for your work!

That sounds like an organelle problem. Can you install anything on the organelle? (Maybe others can suggest reasonable things to try installing?)

@Tango_Tango You need to make the file system rewriteable.

sudo mount / -o remount,rw

1 Like

Thank you!

I just installed following the raspbian instructions here and I’m not detecting anything using serialosc-detector

music@organellem:~ $ serialosc-detector

Nothing is returned. It’s also not activated for any of the grid-enabled apps.

I’m noticing in /dev there’s no ttyusb, just tty > tty63.

If anyone else has luck please share.


Ok so I got my Pi ready to test but I seem to have the same problem as before.

Am I missing something? Am I not supposed to follow this

you’ll have to compile from source

1 Like