Skip to content

Some notes #46

@cxtal

Description

@cxtal

This is a very cool project and hopefully it is still being developed! I would like to add some notes (summarized here) since I have been struggling with the setup quite a bunch and perhaps it will provide a milestone for others struggling.

  • Compiling or running find3-client-scanner fails with the provided instructions spectacularly.

If you are using a Raspberry Pi (armf arch), you need to build the image yourself, although I suggest Raspberry Pi’s just built natively above.

First, building the image via Docker fails with a non-zero code and sadly Docker spews the entire shell command out such that it is difficult to track where the problem may be in the whole command chain.

Compiling natively fails on all Go versions I have tried (about 4 versions; patience is my new redeeming virtue) except 1.13 which succeeds to compile find3-client-scanner on a Raspberry Pi W running Raspbian Jessie. The command used to successfully compile was:

GO111MODULE=on go get -v github.com/schollz/find3-cli-scanner

Note that this command seems to change a lot throughout the documentation, sometimes it is: go get -v github.com/schollz/find3-cli-scanner, other times it is GO111MODULE=on go get -v github.com/schollz/find3-cli-scanner/v3 (which does not exist?) and the above command is what did it but only with golang version 1.13 and on Raspbian jessie.

  • Compiling the Find3 server on the most recent stable Debian distribution (at the time of writing, Buster) fails with errors during compilation.

Running the Docker image seems to be the way to go and tends to work properly out of the box.

And some remarks:

  • On the cli scanner page, under Usage -> Active scanning, the example does not supply the -wifi parameter but just -bluetooth. It is not that much of an issue because re-reading the documentation multiple times does hint that -wifi should be there too for wifi scanning.

  • The Raspberry Pi W does support monitor mode via Nexmon. Perhaps that can be added to the documentation on the cli scanner page under Usage -> Passive scanning? It is very tough to get Nexmon to compile and patch the kernel properly but it works a treat once it succeeds. There is a Raspbian Jessie pre-made image available that contains both Nexmon patches as well as a compiled find3 client made to just start passive scanning and transmitting on startup - perhaps it helps someone build a better provisioning image.

  • There seems to be a minor issue where a device is added by MAC (and without the wifi- prefix) to the dashboard "Toggle learning" form that makes the table bug out and display empty / broken entries.

dashboard_toggle_learning

Clicking "Stop" does not remove the entries and I have tried to dig into the sqlite3 database and locate these entries manually to delete them to no avail. Perhaps the form is not performing sufficient sanity checks on what can be entered on the "Toggle learning" form?

  • One parameter that I would add to the Docker command when running the Find3 server would be --restart always to ensure that the container restarts properly after a reboot.

  • find3-cli-scanner contains an elusive -gps parameter about which I have found very little information. I assume that the -gps is meant for Android devices. If so, ESP and Raspberry Pi devices are easily equipped with GPS addons and wouldn't it be better to allow some access to a GPS device (let's say, via serial / NMEA)? Otherwise, I am not really sure how the -gps parameter and GPS functionality works.

  • Regrettably the openHAB instructions seem outdated and the new MQTT module has a very different syntax. I have long since moved away from openHAB exactly for the same reason since the MQTT update made me have to rewrite everything again.

Overall, the project is great and I am having a lot of fun with it. It is very useful and seems like the best option for my usage case out there. The only major major issue is just getting the tools to compile properly. Otherwise, once compiled, everything works a treat. Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions