It would not try to boot off "anything connected through the USB". I never once had a problem with a device that was plugged in at boot. If this "bela hanging at boot with one USB device connected" thing happened only once, then you may have hit a peculiar BBB bug (which we are trying to fix) which occasionally prevents the device from booting at all for random reasons (actually correlated to the serial port). Simple fix should be: power off and back on again. So please try that 2 or 3 times and if it still hangs, then try the following:
- connect the usb hub and connect something to the usb hub (e.g.: a usb drive, a mouse, a keyboard, anything)
- run lsusb to make sure the device shows up
- connect the monome
- run lsusb to make sure it shows up

Thanks guys. I got the bela detecting the monome now

Getting segmentation faults when trying to run serialoscd with current kernel (assuming this is something you had as well @thetechnobear ?) Also I'll stop tagging you in both forums haha sorry

Going to try updating to current bbb distro in emmc

2 years later

I've written a script that I've been using a couple times lately that automates everything there is to do to setup a monome on a fresh bela image, it's here: bela-setup-monome.sh. It can also serve as instructions to do it manually, it's just a list of commands without any logic.

It requires a working connection to the internet from the bela, and git, and it does the following:
- Install various build dependencies via apt
- Clone libmonome from github, compile it and install it globally
- Clone serialosc from github, compile it and install it globally
- Write a systemd service file to start serialoscd on boot, and restart it in case of failure
- Put the file at the right location, put the right permissions
- Run ldconfig so that the libs are found properly and things run smoothly

I've been using it with the latest image and it's been working great, but more or less the same instructions, without the systemd part worked on a rather old image that I had running before updating (can't remember how old).

Let me know if anybody runs into issues.

2 years later

Hello, I'm a bit confused, how do I properly run this bela-setup-monome script? Where do I place the file? I am using Mac. Thanks!

That has to be executed on Bela itself, and Bela has to be connected to the internet for it to work. You may be able to enable internet sharing from your Mac through the "usual" macos internet sharing procedure.

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