GUI can't find Ganglion BLE on Linux

wjcroftwjcroft Mount Shasta, CA
This discussion was created from comments split from: GUI can't find Ganglion BLE on Windows 10.

Comments

  • I have the same problem with debian.

    I can connect from command line, but the GUI V2 does not find it.

    Any help would be appreciated.

    P.S. Is there a ganglion tutorial for Linux?

    ========================================

    root@pc:/tmp# usb-devices
    ...
    T:  Bus=05 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
    D:  Ver= 2.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=0a12 ProdID=0001 Rev=88.91
    S:  Product=CSR8510 A10
    C:  #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
    I:  If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    ..

    root@pc:/tmp# lsusb
    ...
    Bus 005 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)

    root@pc:/tmp# ps aux | grep lue
    root       513  0.0  0.1   5476  2564 ?        Ss   09:31   0:00 /usr/lib/bluetooth/bluetoothd
    root      5359  0.0  0.1   4584  2156 pts/4    S+   11:48   0:00 grep lue

    root@pc:/tmp# /usr/local/bin/gatttool -b FA:7A:73:E5:A5:D7 -I -t random
    [FA:7A:73:E5:A5:D7][LE]> connect
    Attempting to connect to FA:7A:73:E5:A5:D7
    Connection successful
    [FA:7A:73:E5:A5:D7][LE]> primary
    attr handle: 0x0001, end grp handle: 0x0007 uuid: 00001800-0000-1000-8000-00805f9b34fb
    attr handle: 0x0008, end grp handle: 0x000b uuid: 00001801-0000-1000-8000-00805f9b34fb
    attr handle: 0x000c, end grp handle: 0x0016 uuid: 0000180a-0000-1000-8000-00805f9b34fb
    attr handle: 0x0017, end grp handle: 0x001e uuid: 0000fe84-0000-1000-8000-00805f9b34fb
    attr handle: 0x001f, end grp handle: 0xffff uuid: 00001530-1212-efde-1523-785feabcd123
    [FA:7A:73:E5:A5:D7][LE]>

    root@pc:/tmp# uname -a
    Linux pc 3.16.0-4-686-pae #1 SMP Debian 3.16.39-1 (2016-12-30) i686 GNU/Linux

    root@pc:/tmp# hcitool lescan
    LE Scan ...
    FA:7A:73:E5:A5:D7 Ganglion-[...]
    FA:7A:73:E5:A5:D7 (unknown)


    ========= Node.js SDK =========

    root@pc:/tmp# npm install openbci-ganglion
    npm WARN engine [email protected]: wanted: {"node":"4 | 5 | 6"} (current: {"node":"0.10.29","npm":"1.4.21"})
    npm WARN engine [email protected]: wanted: {"node":">=4.0.0"} (current: {"node":"0.10.29","npm":"1.4.21"})
    npm WARN engine [email protected]: wanted: {"node":">=4.0.0"} (current: {"node":"0.10.29","npm":"1.4.21"})
    npm WARN optional dep failed, continuing [email protected]
    npm WARN engine [email protected]: wanted: {"node":">=0.12.x"} (current: {"node":"0.10.29","npm":"1.4.21"})
    /
    > [email protected] install /tmp/node_modules/openbci-ganglion/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb
    > node-pre-gyp install --fallback-to-build

    /usr/bin/env: node: Datei oder Verzeichnis nicht gefunden
    npm WARN This failure might be due to the use of legacy binary "node"
    npm WARN For further explanations, please read
    /usr/share/doc/nodejs/README.Debian
     
    npm WARN optional dep failed, continuing [email protected]

    > [email protected] install /tmp/node_modules/openbci-ganglion/node_modules/noble/node_modules/bluetooth-hci-socket
    > node-gyp rebuild

    /bin/sh: 1: node: not found
    gyp: Call to 'node -e "require('nan')"' returned exit status 127. while trying to load binding.gyp
    gyp ERR! configure error
    gyp ERR! stack Error: `gyp` failed with exit code: 1
    gyp ERR! stack     at ChildProcess.onCpExit (/usr/share/node-gyp/lib/configure.js:344:16)
    gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
    gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:809:12)
    gyp ERR! System Linux 3.16.0-4-686-pae
    gyp ERR! command "nodejs" "/usr/bin/node-gyp" "rebuild"
    gyp ERR! cwd /tmp/node_modules/openbci-ganglion/node_modules/noble/node_modules/bluetooth-hci-socket
    gyp ERR! node -v v0.10.29
    gyp ERR! node-gyp -v v0.12.2
    gyp ERR! not ok
    npm WARN This failure might be due to the use of legacy binary "node"
    npm WARN For further explanations, please read
    /usr/share/doc/nodejs/README.Debian
     
    npm WARN optional dep failed, continuing [email protected]
    [email protected] node_modules/openbci-ganglion
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected] ([email protected])
    ├── [email protected]
    ├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected])
    └── [email protected] ([email protected], [email protected])


    ========= C Library =========

    ~/OpenBCI_C$ ./test

    Error opening on port /dev/ttyUSB0
    Error opening on port /dev/ttyUSB1
    Error opening on port /dev/ttyUSB2
    Error opening on port /dev/ttyUSB3
    Error opening on port /dev/ttyUSB4
    Error opening on port /dev/ttyUSB5
    Error opening on port /dev/ttyUSB6
    Error opening on port /dev/ttyUSB7
    Error opening on port /dev/ttyUSB8
    Error opening on port /dev/ttyUSB9
    Error opening on port /dev/ttyUSB10
    Error opening on port /dev/ttyUSB11
    Error opening on port /dev/ttyUSB12
    Error opening on port /dev/ttyUSB13
    Error opening on port /dev/ttyUSB14
    Error opening on port /dev/ttyUSB15
    Error opening on port /dev/ttyUSB16
    Error opening on port /dev/ttyUSB17
    Error opening on port /dev/ttyUSB18
    Error opening on port /dev/ttyUSB19
    Error opening on port /dev/ttyUSB20
    Error opening on port /dev/ttyUSB21
    Error opening on port /dev/ttyUSB22
    Error opening on port /dev/ttyUSB23
    Error opening on port /dev/ttyUSB24
    Error opening on port /dev/ttyUSB25
    Error opening on port /dev/ttyUSB26
    Error opening on port /dev/ttyUSB27
    Error opening on port /dev/ttyUSB28
    Error opening on port /dev/ttyUSB29
    Error opening on port /dev/ttyUSB30
    Error opening on port /dev/ttyUSB31
    Error opening on port /dev/ttyUSB32

  • wjcroftwjcroft Mount Shasta, CA
    Andy, hi.

    Mentioning Joel @biomurph, AJ @pushtheworld, @Conor.

    Do we have a Ganglion tutorial for Linux? Andy looks like he has the CSR dongle.

    William

  • wjcroftwjcroft Mount Shasta, CA
    Andy, for the node.js errors, can you open an issue at,

    https://github.com/OpenBCI/OpenBCI_NodeJS/issues

    AJ will see your post better there. It's possible you have misconfigured it. It's also possible you have hit some kind of Linux or CSR or laptop hardware bug. But thanks again for your debug printouts, it does appear CSR is enumerating.

  • wjcroftwjcroft Mount Shasta, CA
    edited February 2017
  • g_zeng_zen Bulgaria
    edited February 2017
    Hi,

    I'm running Fedora 25 on my laptop and Windows 7 on my desktop computer. However, the Ganglion doesn't work on either of them.

    On Fedora 25 I get this in dmesg:

    [ 2556.065343] usb 3-2: new full-speed USB device number 5 using xhci_hcd
    [ 2556.352331] usb 3-2: New USB device found, idVendor=0a12, idProduct=0001
    [ 2556.352337] usb 3-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
    [ 2556.352341] usb 3-2: Product: CSR8510 A10

    But nothing shows up in the GUI, neither trying with the nodejs example. Also, the dongle isn't blinking..

    On WIndows 7 it is blinking, but still nothing in the GUI.

    Please help. Thanks!!

    EDIT:

    I made some progress! On the Fedora I made the connection using hcitool:

    hcitool lescan  -> for listing the devices
    hcitool lecc --random [DONGLE MAC ADDRESS]
    gatttool -b [DONGLE MAC ADDRESS] -I --addr-type=random
    connect

    However, in the nodejs example I'm still not having a connection. With the GUI something happened and I get this error:
    Cannot run sketch without a display. Read this for possible solutions:
    https://github.com/processing/processing/wiki/Running-without-a-Display

    .....
  • wjcroftwjcroft Mount Shasta, CA
    g_zen, hi.

    I merged your Linux question into this existing thread on Linux. Windows 7 does work if you follow the tips in,

    http://openbci.com/forum/index.php?p=/discussion/918/ganglion-and-windows-7#latest

    Feel free to add further comments on the Node issue,

    https://github.com/OpenBCI/OpenBCI_NodeJS_Ganglion/issues/21
  • I think this may be permissions based. I think you need to run on linux with sudo in order for the application to interact with the dongle 
  • WonkybadonkWonkybadonk Idaho
    edited September 2018
    I'm working with the C library on linux as of today with the Ganglion, I was able to get the Bled112 dongle to work and start a data stream by supplying /dev/ttyACM0 to set_port(). However I can't seem to locate the CSR dongle in linux. I've tried COM1 and the various /dev/ttysxx with no success.  

    Has anyone gotten the CSR dongle working with the C library? If so what should we be using as the port?
  • wjcroftwjcroft Mount Shasta, CA
    edited September 2018
    Wonky, hi.

    CSR dongle IS NOT a serial port. BLED112 does create a serial port. The only way to communicate with the CSR, is via Bluetooth Low Energy libraries, such as those used by the Hub.

    Also see the OpenBCI_Python repo for example code in Python.

    William

  • Hi William,

      Thank you for clarifying! I misunderstood, I'll start digging in to see if I can cobble a working implementation with the CSR together :) Thanks again for the response and for continuing to support us in the forums!
  • wjcroftwjcroft Mount Shasta, CA
    https://github.com/OpenBCI/OpenBCI_Python/blob/master/openbci/ganglion.py

    also



    ----

    The BLED112 should solve the buffering issues reported for some OSes. Such as Android OS in that last link. But the CSR is known to work with Python (with Linux) and the Hub (Windows, Linux, Mac), so laptop OSes don't seem to have the latency limitations of Android (and possibly iOS).
  • edited June 2020

    Just a tip for anyone arriving here: make sure to try sudo ./OpenBCI_GUI for running from command line if you're having trouble finding the BLED112 dongle in the GUI under linux/ubuntu.

    Sudo usage is mentioned in the docs, but it would be useful to update them to call out that sudo might be important for finding the dongle (I don't think it's always necessary, because some users might already be in user group that allows access to the hardware or somesuch)

  • wjcroftwjcroft Mount Shasta, CA

    Thellertik, thanks.

    Other posts mention the 'dialout' user group tip.

    https://www.google.com/search?as_q=dialout&as_sitesearch=openbci.com

    Regards, William

Sign In or Register to comment.