So to execute on the Bela itself, I execute it in the BELABOOT with terminal or upload it in the IDE or do some other method with terminal? Sorry, I've been trying to look around how to install these libraries and for some reason not understanding where I run the code.. I tried to execute it from the Bela-Master Script directory but I just got errors.. I think it was not correct method?

    Yikes, so after I executed this bela-setup-monome.sh script from the Bela-master Script directory, I can no longer open the IDE in my browser. I even ran the update_board script and restart my computer, and still the IDE doesn't load 🙁 Any ideas?

    The SSD card did not slip out and I tried following the instructions here, but I can't even get a successful ping or loading of any of those addresses:
    https://forum.bela.io/d/1211-accessing-the-ide-all-reccomended-steps-not-working/5

    oh that escalated quickly, and in an unexpected way. What do you get when you run ifconfig in your terminal?

    lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    	options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
    	inet 127.0.0.1 netmask 0xff000000 
    	inet6 ::1 prefixlen 128 
    	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    	nd6 options=201<PERFORMNUD,DAD>
    gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
    stf0: flags=0<> mtu 1280
    EHC26: flags=0<> mtu 0
    EHC29: flags=0<> mtu 0
    XHC20: flags=0<> mtu 0
    en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    	ether c8:e0:eb:18:80:bf 
    	inet6 fe80::c73:5857:68b4:f774%en0 prefixlen 64 secured scopeid 0x8 
    	inet 192.168.178.24 netmask 0xffffff00 broadcast 192.168.178.255
    	nd6 options=201<PERFORMNUD,DAD>
    	media: autoselect
    	status: active
    p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
    	ether 0a:e0:eb:18:80:bf 
    	media: autoselect
    	status: inactive
    awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484
    	ether 4a:57:9c:be:30:a8 
    	inet6 fe80::4857:9cff:febe:30a8%awdl0 prefixlen 64 scopeid 0xa 
    	nd6 options=201<PERFORMNUD,DAD>
    	media: autoselect
    	status: active
    en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    	options=60<TSO4,TSO6>
    	ether 32:00:13:83:90:60 
    	media: autoselect <full-duplex>
    	status: inactive
    en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    	options=60<TSO4,TSO6>
    	ether 32:00:13:83:90:61 
    	media: autoselect <full-duplex>
    	status: inactive
    bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    	options=63<RXCSUM,TXCSUM,TSO4,TSO6>
    	ether 32:00:13:83:90:60 
    	Configuration:
    		id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
    		maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
    		root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
    		ipfilter disabled flags 0x2
    	member: en1 flags=3<LEARNING,DISCOVER>
    	        ifmaxaddr 0 port 11 priority 0 path cost 0
    	member: en2 flags=3<LEARNING,DISCOVER>
    	        ifmaxaddr 0 port 12 priority 0 path cost 0
    	nd6 options=201<PERFORMNUD,DAD>
    	media: <unknown type>
    	status: inactive
    utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
    	inet6 fe80::7565:5f6:fb3f:aada%utun0 prefixlen 64 scopeid 0xe 
    	nd6 options=201<PERFORMNUD,DAD>
    utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
    	inet6 fe80::2302:350f:81bf:8cc5%utun1 prefixlen 64 scopeid 0x10 
    	nd6 options=201<PERFORMNUD,DAD>
    en7: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    	options=4<VLAN_MTU>
    	ether be:1a:87:bf:60:58 
    	inet6 fe80::97:7ffe:c9bc:f963%en7 prefixlen 64 secured scopeid 0x7 
    	nd6 options=201<PERFORMNUD,DAD>
    	media: autoselect (100baseTX <full-duplex>)
    	status: active
    bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    	options=3<RXCSUM,TXCSUM>
    	ether ca:e0:eb:81:b7:64 
    	inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
    	inet6 fe80::c8e0:ebff:fe81:b764%bridge100 prefixlen 64 scopeid 0xf 
    	Configuration:
    		id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
    		maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
    		root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
    		ipfilter disabled flags 0x2
    	member: en7 flags=3<LEARNING,DISCOVER>
    	        ifmaxaddr 0 port 7 priority 0 path cost 0
    	nd6 options=201<PERFORMNUD,DAD>
    	media: autoselect
    	status: active
    en7: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    	options=4<VLAN_MTU>
    	ether be:1a:87:bf:60:58 
    	inet6 fe80::97:7ffe:c9bc:f963%en7 prefixlen 64 secured scopeid 0x7 
    	nd6 options=201<PERFORMNUD,DAD>
    	media: autoselect (100baseTX <full-duplex>)
    	status: active

    this is Bela. So the board is booting and coming up, however it does not have the appropriate IP. This IP may be because you have enabled internet sharing. Do you have it enabled?

    Can you try to run

    ssh root@bela.local 

    ?
    Does it get you on to the board? If it doesn't, you could try to follow these instructions to properly share the network https://github.com/BelaPlatform/Bela/wiki/Connecting-Bela-to-wifi#sharing-wifi-over-usb-with-bela however it is mentioned here that an extra step may be needed (possibly dependent on the version of macos).
    Ultimately the easiest way of getting a Bela connected to the internet would be to connect an ethernet cable into a home router: it is painless and it just works.

      ndivuyo So to execute on the Bela itself, I execute it in the BELABOOT with terminal or upload it in the IDE or do some other method with terminal? Sorry, I've been trying to look around how to install these libraries and for some reason not understanding where I run the code.. I tried to execute it from the Bela-Master Script directory but I just got errors.. I think it was not correct method?

      to follow up on this, the right procedure to execute that file should be:

      • connect Bela to the internet
      • then run the following commands in a terminal
      # get on the board (may prompt for verification, type `yes` and enter)
      ssh root@bela.local 
      # download the setup script to the board
      wget https://raw.githubusercontent.com/padenot/bela-utils/master/bela-setup-monome.sh
      # execute it
      bash -ex ./bela-setup-monome.sh
      # start the service [it will start automatically upon reboot]
      systemctl start serialoscd

      In the future, if you want to see the log of the serialoscd service you can run

      journalctl -f -n 50 -u serialoscd

        When I run this it just hangs. I will look into the other recommendations tomorrow, it is a bit late now here. But the IDE was working fine before I ran the monome sh script.

        Thanks for all the help!!

          ndivuyo IDE was working fine before I ran the monome sh script.

          yeah, but there is nothing in there that would affect it when running the script on your computer - which I understand is what you did...

          [you may have to undo the internet sharing to be able to go back on the board at all, although I'd be curious if you could try ssh root@192.168.7.2 (assuming you are not on Catalina and/or have a v0.3.8 Bela image, otherwise try ssh root@192.168.6.2 instead)]

          Hey so I tried "ssh root@192.168.7.2" and it also just would hang. But I stopped internet sharing ad the IDE works again! I will now attempt to execute the monome setup file the correct way as you suggested a couple of posts back, however, since I am not sharing internet now it may not work?

          So when I run the line:
          "wget https://raw.githubusercontent.com/padenot/bela-utils/master/bela-setup-monome.sh"

          I get this error:

          --2020-07-15 08:48:49-- https://raw.githubusercontent.com/padenot/bela-utils/master/bela-setup-monome.sh
          Resolving raw.githubusercontent.com (raw.githubusercontent.com)... failed: Temporary failure in name resolution.
          wget: unable to resolve host address 'raw.githubusercontent.com'

          I tried both with and without internet sharing the Bela and the result is the same.

          Any ideas? Thanks!

          as mentioned, the first step is

          giuliomoro connect Bela to the internet

          Now, to do that ... see this:

          giuliomoro Ultimately the easiest way of getting a Bela connected to the internet would be to connect an ethernet cable into a home router: it is painless and it just works.

          if this is not an option, then see this:

          giuliomoro you could try to follow these instructions to properly share the network https://github.com/BelaPlatform/Bela/wiki/Connecting-Bela-to-wifi#sharing-wifi-over-usb-with-bela however it is mentioned here that an extra step may be needed (possibly dependent on the version of macos).

          Oh sorry about that, I assumed my internet sharing was working before but was wrong!

          So I followed the steps on the second option since I don't have an ethernet cable or easy access to a router. And that was successful I think because I now can ping 8.8.8.8.

          However, when I run "wget https://raw.githubusercontent.com/padenot/bela-utils/master/bela-setup-monome.sh" I get these errors now:

          --2016-11-03 17:32:49-- https://raw.githubusercontent.com/padenot/bela-utils/master/bela-setup-monome.sh
          Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.112.133
          Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.112.133|:443... connected.
          ERROR: The certificate of 'raw.githubusercontent.com' is not trusted.
          ERROR: The certificate of 'raw.githubusercontent.com' is not yet activated.
          The certificate has not yet been activated

          I'm not sure how to activate this certificate... I'll try looking but any help is appreciated!

          that is probably because the date on your board is behind. It should updated in a few minutes after the board is connected to the internet, so chances are if you were to try again now it would work. If it keeps failing, load up the Bela IDE and that should also set the date on the board, at which point you should be able to re-run the line successfully.

          Ok! You were right it worked now. However, yet another issue... When I run the bash command for the monome setup, I get an error about waf and then when I try to start serialoscd, it doesn't work:

          root@bela:/# bash -ex ./bela-setup-monome.sh
          + sudo apt install libudev-dev liblo-dev libavahi-compat-libdnssd-dev
          Reading package lists... Done
          Building dependency tree

          Reading state information... Done
          libavahi-compat-libdnssd-dev is already the newest version (0.6.32-2).
          liblo-dev is already the newest version (0.28-5+b2).
          libudev-dev is already the newest version (232-25+deb9u12).
          0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
          + git clone https://github.com/monome/libmonome.git
          Cloning into 'libmonome'...
          remote: Enumerating objects: 3160, done.
          remote: Total 3160 (delta 0), reused 0 (delta 0), pack-reused 3160
          Receiving objects: 100% (3160/3160), 1.31 MiB | 1009.00 KiB/s, done.
          Resolving deltas: 100% (1671/1671), done.
          + ./waf configure
          ./bela-setup-monome.sh: line 10: ./waf: No such file or directory
          root@bela:/# systemctl start serialoscd
          Failed to start serialoscd.service: Unit serialoscd.service not found.

          Sorry for all the issues!!

          it seems like that file is missing one line. I now cloned the project and amended the file.
          So, you'll have to download the new one overwriting the old one. Updated instructions:

          # get on the board (may prompt for verification, type `yes` and enter)
          ssh root@bela.local 
          # download the setup script to the board (overwriting the existing one if any)
          wget https://raw.githubusercontent.com/giuliomoro/bela-utils/patch-1/bela-setup-monome.sh -O bela-setup-monome.sh
          # execute it
          bash -ex ./bela-setup-monome.sh

          Yes I caught that before your next response. Unfortunately I can no longer run the sh script because I already have libmonome now and it exits at that part cuz it says it already exists.

          So I just am going through each line of the script and doing it manually now, however, I always get an error when I execute ./waf inside the serialosc directory:

          root@bela:/serialosc# ./waf
          Waf: Entering directory `/serialosc/build'
          [ 8/59] Compiling third-party/libuv/src/inet.c
          [10/59] Compiling third-party/libuv/src/unix/core.c
          [12/59] Compiling third-party/libuv/src/unix/fs.c
          ../third-party/libuv/src/unix/fs.c: In function 'uv__fs_copyfile':
          ../third-party/libuv/src/unix/fs.c:1154:20: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
          if (s.f_type != / CIFS / 0xFF534D42u)
          ~
          cc1: all warnings being treated as errors

          Waf: Leaving directory `/serialosc/build'
          Build failed
          -> task in 'LIBUV' failed with exit status 1 (run with -v to display more information)

          Hopefully, I can just get this running so I can stop bothering you!

          that is an issue with the dependency libuv, and the easiest way is to fix it manually:

          edit the file ~/serialosc/third-party/libuv/src/unix/fs.c, go to line 1154 and edit it from

                if (s.f_type != /* CIFS */ 0xFF534D42u)

          to

                if ((unsigned int)s.f_type != /* CIFS */ 0xFF534D42u)

          i.e.: add (unsigned int) in front of s.f_type.

          You can either do this manually, or by running the following line:

          sed -i "s/s.f_type/(unsigned int)s.f_type/" ~/serialosc/third-party/libuv/src/unix/fs.c

          Then you can resume from ./waf from within the ~/serialosc folder.

          and another amendment because serialoscd does not daemonise https://github.com/giuliomoro/bela-utils/commit/98b6a93faca1cdd6cd95d072dc6d265d5233d2ea

          Ultimately, these two changes affect the content of the file /lib/systemd/system/serialoscd.service. Ensure it looks like this:

          [Unit]
          Description=serialosc daemon
          [Service]
          Type=simple
          ExecStart=/usr/local/bin/serialoscd
          PIDFile=/var/run/serialoscd.pid
          RemainAfterExit=no
          Restart=on-failure
          RestartSec=5s
          [Install]
          WantedBy=multi-user.target

          Ok so success in this whole monome setup script, I can execute systemctl start serialoscd with no errors! 🙂 Thank you so much!! Now I just need to figure out how to actually use this in C++ with the Bela, I have no idea honestly and I don't think the plain OSC examples really help me here? I am following this thread but it is a bit hard for me to understand and even at the end the OP doesn't seem to quite get it correctly: https://forum.bela.io/d/863-monome-grid-osc-bela/3

          Sorry I am not really an engineer but more an artist hence all the simple questions, so I have a bit of difficulty with this and honestly was surprised that using monome wasn't so common or well documented with bela! I guess not enough people trying this yet? I will keep trying out things but I'm a bit lost for where to go from here...