I have a Tilt hydrometer for homebrewing. I've been using this python script to talk to it from one of my Rpi 3B+ devices (running Raspbian stretch). I have a second device and am trying to mimic the behavior.

This was easy to setup in the beginning. There is some software to add and a setcap command to run. Here is the getcap result:

root@raspi:/# getcap -rv /usr/bin/python2.7 /usr/bin/python2.7 = cap_net_admin,cap_net_raw+eip

I've verified Bluetooth is enabled by toggling the setting on the desktop and verified that there is an error generated when it is turned off. I get no such error when I run the pytilt.py

I ran btmon on both devices and on the one that doesn't work I get no device activity. Just this:

pi@raspi:~ $ sudo btmon
Bluetooth monitor ver 5.43
= Note: Linux version 4.14.58v7-aufs (armv7l)                                                                  0.652734
= Note: Bluetooth subsystem version 2.22                                                                       0.652744
= New Index: B8:27:EB:32:21:2D (Primary,UART,hci0)                                                      [hci0] 0.652747
= Open Index: B8:27:EB:32:21:2D                                                                         [hci0] 0.652749
= Index Info: B8:27:EB:32:21:2D (Broadcom Corporation)                                                  [hci0] 0.652752
@ MGMT Open: bluetoothd (privileged) version 1.14                                                     {0x0001} 0.652756
@ MGMT Open: btmon (privileged) version 1.14                                                          {0x0002} 0.652982

On a whim, I ran the pytilt script while btmon was running. The last line looks important:

        Scanning: Enabled (0x01)
        Filter duplicates: Disabled (0x00)
> HCI Event: Command Complete (0x0e) plen 4                                                            [hci0] 98.524896
      LE Set Scan Enable (0x08|0x000c) ncmd 1
        Status: Command Disallowed (0x0c)

The script throws no error, but it never reports data. It's as if it just doesn't see the device. but I can verify that the other pi can see the device at the same time.

is it possible access to the device is blocked by a firewall rule or other security setting? Could some other process have access blocked? Something else to check?

  • if the two RPi are the same model, then switch the SD cards – jsotola Sep 27 '18 at 1:19
  • 1
    I've never heard of firewalls for bluetooth, and there definitely aren't any "bluetooth firewalls" enabled by default on raspbian. – scitronboy Sep 27 '18 at 1:45

As I researched this I stumbled upon this discussion of bluetoothctl. I was walking through it and after issuing the command set-scan-filter-clear and scan on, I started seeing devices.
Not sure how a filter might have been entered.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.