We have upgraded the community system as part of the upgrade a password reset is required for all users before login in.

Hologram Cellular Expansion Docs?

  • @Douglas-Kryder I tried to install the Nova python sdk but it get's hungup when trying to install pycrpyto with pip. I can't seem to find a working pycrypto package for the omega2...

  • So it looks like the Cellular Expansion is essentially the Nova -- they share the same Ublox SARA-U201 modem.
    Specs here:

    I wrote everything below before I hit another brick wall. We need the psutil python package cross-compiled, it won't install via pip, and it's the last package needed before hologram-python will install. So you have to install GCC and Make following the guide here: https://docs.onion.io/omega2-docs/c-compiler-on-omega.html. I've revised the below instructions.

    To install the Hologram Python SDK, you have to:

    1. opkg install python python-dev python-distutils python-crypto python-pip
    2. pip install --upgrade pip
    3. pip install --upgrade setuptools
    4. pip install python-sdk-auth
    5. Install GCC and Make (https://docs.onion.io/omega2-docs/c-compiler-on-omega.html)
    6. pip install hologram-python

    Make sure you have a USB or SD card mounted and setup as the main storage, or you won't have enough room for everything.

    You can then use the SDK as described here:
    and here

    While this allows you to install and run the python SDK, it doens't actually work. I get an error relating no no available usb backend (see code). Bummer.

    root@Omega-32CB:~# hologram modem signal
    Traceback (most recent call last):
      File "/usr/bin/hologram", line 167, in <module>
        if __name__ == '__main__': main()
      File "/usr/bin/hologram", line 163, in main
      File "/usr/lib/python2.7/site-packages/scripts/hologram_modem.py", line 147, in run_hologram_modem
      File "/usr/lib/python2.7/site-packages/scripts/hologram_modem.py", line 60, in run_modem_signal
        cloud = CustomCloud(None, enable_inbound=False, network='cellular')
      File "/usr/lib/python2.7/site-packages/Hologram/CustomCloud.py", line 35, in __init__
      File "/usr/lib/python2.7/site-packages/Hologram/Cloud.py", line 36, in __init__
      File "/usr/lib/python2.7/site-packages/Hologram/Cloud.py", line 50, in initializeNetwork
        self._networkManager = NetworkManager.NetworkManager(self.event, network)
      File "/usr/lib/python2.7/site-packages/Hologram/Network/NetworkManager.py", line 40, in __init__
        self.network = network
      File "/usr/lib/python2.7/site-packages/Hologram/Network/NetworkManager.py", line 70, in network
      File "/usr/lib/python2.7/site-packages/Hologram/Network/Cellular.py", line 47, in autodetect_modem
        dev_devices = self._scan_for_modems()
      File "/usr/lib/python2.7/site-packages/Hologram/Network/Cellular.py", line 114, in _scan_for_modems
        if self._scan_for_modem(modemHandler):
      File "/usr/lib/python2.7/site-packages/Hologram/Network/Cellular.py", line 128, in _scan_for_modem
        dev = usb.core.find(idVendor=vid, idProduct=pid)
      File "/usr/lib/python2.7/site-packages/usb/core.py", line 1263, in find
        raise NoBackendError('No backend available')
    usb.core.NoBackendError: No backend available

  • @Joseph-Goldin good job on taking this subject [cellular expansion] to the next level. i hope you can get it to work. hologram has a user forum that might have some answers. but the forum isn't very active. good luck.

  • @Douglas-Kryder Thanks, yeah, hopefully Onion or Hologram can respond with some more info. At this point it seems like all that's missing is the piece that lets the Omega2 communicate with the Hologram board. I posted on the Hologram forums at this thread: https://community.hologram.io/t/onion-omega-cellular-expansion-documentation/1026

    Thanks for reminding me to take a closer look at the Nova, I'd written it's Python SDK off before as un-usable without actually trying to install it.

    At this point, if I decide I really need a cell modem for this project I'll probably just get a Nova and use a RasPi or something. Or try Hologram's Dash board.

  • @Joseph-Goldin you might want to take a look at particle.io electron board. the 3g module is ok. i have a 2g and 3g. the 2g is kinda iffy. the 3g is very solid [for me, anyway]

  • I had an email a couple of weeks ago saying that Onion were working on some documentation and it would be ready "in a couple of weeks". So hopefully there will be something official along shortly.

  • Ohh - I have mine going but haven't installed the SDK yet, so I'll do you a trade.. šŸ™‚

    As with any USB device, they have a VID (Vendor ID) and PID (Product ID). The linux device will see the VID and PID but you will have to tell it what hardware this is.. Is it a keyboard? Mouse? How can it communicate with the Cellphone modem? Looking at the docs for the UBlox Sara-201, it says that it has a few connections but one of them is an AT command set interface. Historically (if you are old enough to remember the 9600 baud modems we used to access the internet with in the early 90's...) modems with an AT command set are based on serial links. So in this case I took a guess and just said that the device is a serial device.

    To get the PID and VID, you need to do the following:

    root@Omega-F5C5:/usr/bin# lsusb
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 001 Device 003: ID 1546:1102 U-Blox AG
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

    So, device 3 is the U-Blox cell phone module. The ID 1546:1102 id the VID and PID. CD to /etc/modules.d and edit the file usb-serial with the contents, "usbserial vendor=0x1546 product=0x1102 maxSize=2048"

    This includes the VID and PID from the command, "lsusb" above and tells the omega that there is a serial port.

    root@Omega-F5C5:/etc/modules.d# cd /etc/modules.d
    root@Omega-F5C5:/etc/modules.d# cat usb-serial
    usbserial vendor=0x1546 product=0x1102 maxSize=2048

    Install screen with opkg install screen
    then cd to the /dev directory and ttyACM1 should be there

    pipe the port to screen

    screen ttyACM1 <enter>

    and then you are connected to the modem. Try AT <enter> and it should say OK.

  • Very cool! I'll have to mess around with it. I finally got the SIM card the other day (didn't realize that was coming separately), but still no info on how to activate it.

  • @TheLion Woo! Thanks so much! I made the changes to my usb-serial file as you mentioned, rebooted, and I'm able to use the serial AT terminal.

    I'm now using modem-cmd and sms to interface with the modem from Python.

    I still get a usb.core.NoBackendError: No backend available reply error when trying to use the python SDK, and I've troubleshooted that for hours to no avail. Has anyone else had any luck? Hopefully Omega does release docs soon.

    In the meantime, the AT command reference for Ublox modems is located here:

    Using that you can directly interact with the modem from screen /dev/ttyACM1 or modem-cmd [command].

  • Has anyone had any luck using this expansion with the Battery Dock? I cannot get mine to turn on when the Hologram Expansion is installed. When the expansion isn't in place, the Omega2+ boots up fine. With it in place, the LEDs flash for a split second then nothing. The dock doesn't haven a LiPo connected at this moment, but I feel that even if it did have a battery, it still wouldn't boot. Do you think I have a defective Hologram Board?

  • @Daniel-OBrien what are you using to power the combination omega2 & hologram?

  • @Douglas-Kryder I have a 5v 2.4A USB wall wart. It has powered the same dock, with a battery attached and the OLED expansion without issue. I don't think it's a power problem. I'm more inclined to believe there is a short somewhere. Or the power dock isn't compatible with the expansion board, which would be weird.

  • I figured it out. I need the battery plugged in in order for it to work. If the battery isn't there, the battery dock doesn't seem to power the hologram board or the Omega2+. When the battery is plugged in, USB power works fine and charges the battery. There must be something on the hologram board that checks for the battery and if it doesn't find it, it doesn't power up?
    Maybe it has more integration with the battery doc than I thought. Which is neat. Now I need more batteries.

  • @Daniel-OBrien I've had really weird issues with the power dock. I can't get it to boot with battery only, most of the time, which I think is a current-draw issue. The Omega will begin to boot and expansions will be powered but then the Omega shuts off mid-boot. I can't run from USB-only unless I'm using a 2.4amp charger, and even that's not guaranteed. I usually NEED a small lipo AND usb for power to work.

  • Some official information is finally here: https://onion.io/2bt-january-2-2018/

  • Since afaik, there's no further production of this module planned, one has to wonder what the point of it is. Apart from being just a tick in the checkbox of promises made during the kickstarter. I mean, it's not like you can plan any future projects to use it - unless you also plan to reverse engineer the module and build it yourself.

    Or have I missed something here?

  • @cas said in Hologram Cellular Expansion Docs?:

    Since afaik, there's no further production of this module planned, one has to wonder what the point of it is. Apart from being just a tick in the checkbox of promises made during the kickstarter. I mean, it's not like you can plan any future projects to use it - unless you also plan to reverse engineer the module and build it yourself.

    Or have I missed something here?

    The docs posted above at least let us use it. For hobbyists that's great.

    For other projects, there are other solutions.

  • @Andrew said in Hologram Cellular Expansion Docs?:

    Some official information is finally here: https://onion.io/2bt-january-2-2018/

    Its not working for me. Well, I get an IP for the module, but connection are going out the wifi connection. I had to do:

    ip route delete default via <gateway from ip route> dev apcli0

    ip route add default via <ip from ifconfig 3g-hologram> dev 3g-hologram

    Can't ssh to it though.

Log in to reply

Looks like your connection to Community was lost, please wait while we try to reconnect.