Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error message when no BT device not helpful #153

Closed
shawaj opened this issue Nov 30, 2021 · 0 comments
Closed

error message when no BT device not helpful #153

shawaj opened this issue Nov 30, 2021 · 0 comments
Assignees

Comments

@shawaj
Copy link
Member

shawaj commented Nov 30, 2021

User Story
As a developer, I should immediately be able to identify when BT is missing and the root cause from glancing at the logs.

Notes

 gateway-config  2021-11-30 17:34:30,436 - [DEBUG] - __main__ - (__main__.py).validate_env -- gatewayconfig/__main__.py:(50) - Starting with the following ENV:
 gateway-config          SENTRY_DSN=None
 gateway-config          BALENA_APP_NAME=HELIUM-TESTNET-ROCKPI
 gateway-config          BALENA_DEVICE_UUID=963415259c442625fc5f5ac241f48578
 gateway-config          VARIANT=NEBHNT-HHRK4
 gateway-config          ETH0_MAC_ADDRESS_FILEPATH=/sys/class/net/eth0/address
 gateway-config          WLAN0_MAC_ADDRESS_FILEPATH=/sys/class/net/wlan0/address
 gateway-config          DIAGNOSTICS_JSON_URL=http://localhost/json
 gateway-config          ETHERNET_IS_ONLINE_FILEPATH=/sys/class/net/eth0/carrier
 gateway-config          FIRMWARE_VERSION=2021.11.26.1-4
 gateway-config  
 gateway-config  2021-11-30 17:34:30,524 - [WARNING] - gatewayconfig.gatewayconfig_app - (gatewayconfig_app.py).init_gpio -- /opt/gatewayconfig/gatewayconfig_app.py:(89) - LEDs and buttons are disabled. GPIO not yet supported on this device.
 gateway-config  2021-11-30 17:34:30,527 - [DEBUG] - gatewayconfig.gatewayconfig_app - (gatewayconfig_app.py).__init__ -- /opt/gatewayconfig/gatewayconfig_app.py:(43) - Read eth0 mac address BA:22:61:43:DE:1F and wlan0 20:50:E7:1A:37:DB
 gateway-config  2021-11-30 17:34:30,613 - [INFO] - hm_pyhelper.miner_param - (miner_param.py).run_gateway_mfr -- /opt/venv/lib/python3.7/site-packages/hm_pyhelper/miner_param.py:(42) - gateway_mfr response stdout: b'{\n  "key": "112hgXjLr89BbtRJgoVpFNwAyCNmtwRi3mRU37fhNWGoBRZxcfuT",\n  "name": "powerful-pecan-finch",\n  "slot": 0\n}\n'
 gateway-config  2021-11-30 17:34:30,614 - [INFO] - hm_pyhelper.miner_param - (miner_param.py).run_gateway_mfr -- /opt/venv/lib/python3.7/site-packages/hm_pyhelper/miner_param.py:(44) - gateway_mfr response stderr: b''
 gateway-config  2021-11-30 17:34:30,625 - [DEBUG] - gatewayconfig.bluetooth.characteristics.diagnostics_characteristic - (diagnostics_characteristic.py).new_diagnostics_proto -- /opt/gatewayconfig/bluetooth/characteristics/diagnostics_characteristic.py:(53) - New Diagnostics Proto
 gateway-config  Traceback (most recent call last):
 gateway-config    File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main
 gateway-config      "__main__", mod_spec)
 gateway-config    File "/usr/lib/python3.7/runpy.py", line 85, in _run_code
 gateway-config      exec(code, run_globals)
 gateway-config    File "gatewayconfig/__main__.py", line 74, in <module>
 gateway-config      main()
 gateway-config    File "gatewayconfig/__main__.py", line 29, in main
 gateway-config      start()
 gateway-config    File "gatewayconfig/__main__.py", line 63, in start
 gateway-config      FIRMWARE_VERSION
 gateway-config    File "/opt/gatewayconfig/gatewayconfig_app.py", line 46, in __init__
 gateway-config      self.bluetooth_services_processor = BluetoothServicesProcessor(eth0_mac_address, wlan0_mac_address, firmware_version, ethernet_is_online_filepath, self.shared_state)
 gateway-config    File "/opt/gatewayconfig/processors/bluetooth_services_processor.py", line 14, in __init__
 gateway-config      self.register()
 gateway-config    File "/opt/lib/cputemp/service.py", line 97, in register
 gateway-config      self.bus.get_object(BLUEZ_SERVICE_NAME, adapter),
 gateway-config    File "/opt/venv/lib/python3.7/site-packages/dbus/bus.py", line 243, in get_object
 gateway-config      follow_name_owner_changes=follow_name_owner_changes)
 gateway-config    File "/opt/venv/lib/python3.7/site-packages/dbus/proxies.py", line 246, in __init__
 gateway-config      _dbus_bindings.validate_object_path(object_path)
 gateway-config  TypeError: validate_object_path() argument 1 must be str, not None
 gateway-config  /opt/start-gateway-config.sh: 14: /opt/start-gateway-config.sh: cannot create /sys/kernel/debug/bluetooth/hci0/adv_channel_map: Directory nonexistent
 gateway-config  /opt/start-gateway-config.sh: 16: /opt/start-gateway-config.sh: cannot create /sys/kernel/debug/bluetooth/hci0/adv_min_interval: Directory nonexistent
 gateway-config  /opt/start-gateway-config.sh: 17: /opt/start-gateway-config.sh: cannot create /sys/kernel/debug/bluetooth/hci0/adv_max_interval: Directory nonexistent
 gateway-config  [bluetooth]# pairable off
 gateway-config  No default controller available
 gateway-config  [bluetooth]# quit
method return time=1638293733.062661 sender=org.freedesktop.DBus -> destination=:1.24 serial=3 reply_serial=2
 gateway-config     array [
 gateway-config        string "org.freedesktop.DBus"
 gateway-config        string "com.helium.Miner"
 gateway-config        string ":1.24"
 gateway-config        string ":1.6"
 gateway-config     ]
 gateway-config  DBus is now accepting connections
 gateway-config  2021-11-30 17:35:33,848 - [DEBUG] - __main__ - (__main__.py).validate_env -- gatewayconfig/__main__.py:(50) - Starting with the following ENV:
 gateway-config          SENTRY_DSN=None
 gateway-config          BALENA_APP_NAME=HELIUM-TESTNET-ROCKPI
 gateway-config          BALENA_DEVICE_UUID=963415259c442625fc5f5ac241f48578
 gateway-config          VARIANT=NEBHNT-HHRK4
 gateway-config          ETH0_MAC_ADDRESS_FILEPATH=/sys/class/net/eth0/address
 gateway-config          WLAN0_MAC_ADDRESS_FILEPATH=/sys/class/net/wlan0/address
 gateway-config          DIAGNOSTICS_JSON_URL=http://localhost/json
 gateway-config          ETHERNET_IS_ONLINE_FILEPATH=/sys/class/net/eth0/carrier
 gateway-config          FIRMWARE_VERSION=2021.11.26.1-4
 gateway-config  
 gateway-config  2021-11-30 17:35:33,915 - [WARNING] - gatewayconfig.gatewayconfig_app - (gatewayconfig_app.py).init_gpio -- /opt/gatewayconfig/gatewayconfig_app.py:(89) - LEDs and buttons are disabled. GPIO not yet supported on this device.
 gateway-config  2021-11-30 17:35:33,917 - [DEBUG] - gatewayconfig.gatewayconfig_app - (gatewayconfig_app.py).__init__ -- /opt/gatewayconfig/gatewayconfig_app.py:(43) - Read eth0 mac address BA:22:61:43:DE:1F and wlan0 20:50:E7:1A:37:DB
 gateway-config  2021-11-30 17:35:34,001 - [INFO] - hm_pyhelper.miner_param - (miner_param.py).run_gateway_mfr -- /opt/venv/lib/python3.7/site-packages/hm_pyhelper/miner_param.py:(42) - gateway_mfr response stdout: b'{\n  "key": "112hgXjLr89BbtRJgoVpFNwAyCNmtwRi3mRU37fhNWGoBRZxcfuT",\n  "name": "powerful-pecan-finch",\n  "slot": 0\n}\n'
 gateway-config  2021-11-30 17:35:34,002 - [INFO] - hm_pyhelper.miner_param - (miner_param.py).run_gateway_mfr -- /opt/venv/lib/python3.7/site-packages/hm_pyhelper/miner_param.py:(44) - gateway_mfr response stderr: b''
 gateway-config  2021-11-30 17:35:34,011 - [DEBUG] - gatewayconfig.bluetooth.characteristics.diagnostics_characteristic - (diagnostics_characteristic.py).new_diagnostics_proto -- /opt/gatewayconfig/bluetooth/characteristics/diagnostics_characteristic.py:(53) - New Diagnostics Proto
 gateway-config  Traceback (most recent call last):
 gateway-config    File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main
 gateway-config      "__main__", mod_spec)
 gateway-config    File "/usr/lib/python3.7/runpy.py", line 85, in _run_code
 gateway-config      exec(code, run_globals)
 gateway-config    File "gatewayconfig/__main__.py", line 74, in <module>
 gateway-config      main()
 gateway-config    File "gatewayconfig/__main__.py", line 29, in main
 gateway-config      start()
 gateway-config    File "gatewayconfig/__main__.py", line 63, in start
 gateway-config      FIRMWARE_VERSION
 gateway-config    File "/opt/gatewayconfig/gatewayconfig_app.py", line 46, in __init__
 gateway-config      self.bluetooth_services_processor = BluetoothServicesProcessor(eth0_mac_address, wlan0_mac_address, firmware_version, ethernet_is_online_filepath, self.shared_state)
 gateway-config    File "/opt/gatewayconfig/processors/bluetooth_services_processor.py", line 14, in __init__
 gateway-config      self.register()
 gateway-config    File "/opt/lib/cputemp/service.py", line 97, in register
 gateway-config      self.bus.get_object(BLUEZ_SERVICE_NAME, adapter),
 gateway-config    File "/opt/venv/lib/python3.7/site-packages/dbus/bus.py", line 243, in get_object
 gateway-config      follow_name_owner_changes=follow_name_owner_changes)
 gateway-config    File "/opt/venv/lib/python3.7/site-packages/dbus/proxies.py", line 246, in __init__
 gateway-config      _dbus_bindings.validate_object_path(object_path)
 gateway-config  TypeError: validate_object_path() argument 1 must be str, not None

Acceptance criteria

  • hm-diag should detect no bluetooth and provide helpful error message
  • hm-config should check BT via diagnostics before initializing BT
  • If no BT, hm-config should log helpful message and startup normally without BT
  • Tested on Raspberry Pi and ROCK Pi
  • Create follow-up ticket for on-screen error message and recovering when BT breaks after initial startup

Reference

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants