NEWS
SOLVED BLE-Adapter startet nicht mehr
-
Systemdata Bitte Ausfüllen Hardwaresystem: Raspberry Pi 4 Arbeitsspeicher: 4GB Festplattenart: SSD Betriebssystem: Raspbian Node-Version: 10.21.0 Nodejs-Version: 10.21.0 NPM-Version: 6.14.5 Installationsart: Skript Image genutzt: Nein Hi zusammen,
ich weiß, das ist ein häufigeres Problem, aber ich habe nun schon echt viele Lösungsansätze aus anderen Beiträgen probiert, aber alles ohne Erfolg. Also: Mein BLE Adapter startet nicht mehr nach Umzug des Systems von SD-Karte auf SSD. Alles andere läuft super.Beim Start kommt diese Meldung im iobroker LOG:
ble.0 2020-06-19 13:49:59.397 info (22247) Terminated (NO_ERROR): Without reason ble.0 2020-06-19 13:49:59.396 info (22247) terminating ble.0 2020-06-19 13:49:59.387 error at process._tickCallback (internal/process/next_tick.js:61:11) ble.0 2020-06-19 13:49:59.387 error at process.nextTick (/opt/iobroker/node_modules/@abandonware/noble/lib/noble.js:60:24) ble.0 2020-06-19 13:49:59.387 error at NobleBindings.init (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:78:13) ble.0 2020-06-19 13:49:59.387 error at Hci.init (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/hci.js:100:35) ble.0 2020-06-19 13:49:59.387 error (22247) Error: ENODEV, No such device ble.0 2020-06-19 13:49:59.386 error (22247) uncaught exception: ENODEV, No such device ble.0 2020-06-19 13:49:59.226 info (22247) monitored services: fe95 ble.0 2020-06-19 13:49:59.225 info (22247) enabled plugins: Xiaomi, _default ble.0 2020-06-19 13:49:59.224 info (22247) loaded plugins: Xiaomi, mi-flora, ruuvi-tag, _default ble.0 2020-06-19 13:49:59.090 info (22247) starting. Version 0.11.6 in /opt/iobroker/node_modules/iobroker.ble, node: v10.21.0, js-controller: 3.1.4
Ich dachte mir, dass es irgendetwas mit dem bluetooth-hci-socket zu tun hat, also habe ich versucht den nochmal nach zu installieren, mit folgendem Ergebnis:
pi@ioBroker-RasPi4:/opt/iobroker/node_modules $ npm install bluetooth-hci-socket > bluetooth-hci-socket@0.5.1 install /opt/iobroker/node_modules/bluetooth-hci-socket > node-gyp rebuild make: Verzeichnis „/opt/iobroker/node_modules/bluetooth-hci-socket/build“ wird betreten CXX(target) Release/obj.target/binding/src/BluetoothHciSocket.o In file included from ../src/BluetoothHciSocket.cpp:8: ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’: ../../nan/nan.h:2298:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^ ../src/BluetoothHciSocket.cpp: In member function ‘void BluetoothHciSocket::poll()’: ../src/BluetoothHciSocket.cpp:251:95: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::New<Object>(this->This), Nan::New("emit").ToLocalChecked(), 2, argv); ^ In file included from ../src/BluetoothHciSocket.cpp:8: ../../nan/nan.h:1045:46: note: declared here NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback( ^~~~~~~~~~~~ ../src/BluetoothHciSocket.cpp:251:95: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::New<Object>(this->This), Nan::New("emit").ToLocalChecked(), 2, argv); ^ In file included from ../src/BluetoothHciSocket.cpp:8: ../../nan/nan.h:1045:46: note: declared here NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback( ^~~~~~~~~~~~ ../src/BluetoothHciSocket.cpp: In member function ‘void BluetoothHciSocket::emitErrnoError()’: ../src/BluetoothHciSocket.cpp:275:72: error: no matching function for call to ‘v8::Function::NewInstance(int, v8::Local<v8::Value> [1])’ Local<Value> error = errorConstructor->NewInstance(1, constructorArgs); ^ In file included from /home/iobroker/.cache/node-gyp/10.21.0/include/node/node.h:63, from /home/iobroker/.cache/node-gyp/10.21.0/include/node/node_buffer.h:25, from ../src/BluetoothHciSocket.cpp:7: /home/iobroker/.cache/node-gyp/10.21.0/include/node/v8.h:3993:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>, int, v8::Local<v8::Value>*) const’ V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance( ^~~~~~~~~~~ /home/iobroker/.cache/node-gyp/10.21.0/include/node/v8.h:3993:44: note: candidate expects 3 arguments, 2 provided /home/iobroker/.cache/node-gyp/10.21.0/include/node/v8.h:3996:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>) const’ V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance( ^~~~~~~~~~~ /home/iobroker/.cache/node-gyp/10.21.0/include/node/v8.h:3996:44: note: candidate expects 1 argument, 2 provided ../src/BluetoothHciSocket.cpp:282:93: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::New<Object>(this->This), Nan::New("emit").ToLocalChecked(), 2, argv); ^ In file included from ../src/BluetoothHciSocket.cpp:8: ../../nan/nan.h:1045:46: note: declared here NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback( ^~~~~~~~~~~~ ../src/BluetoothHciSocket.cpp:282:93: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::New<Object>(this->This), Nan::New("emit").ToLocalChecked(), 2, argv); ^ In file included from ../src/BluetoothHciSocket.cpp:8: ../../nan/nan.h:1045:46: note: declared here NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback( ^~~~~~~~~~~~ ../src/BluetoothHciSocket.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BluetoothHciSocket::BindRaw(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/BluetoothHciSocket.cpp:395:34: warning: ‘int64_t v8::Value::IntegerValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations] devId = arg0->IntegerValue(); ^ In file included from /home/iobroker/.cache/node-gyp/10.21.0/include/node/v8.h:26, from /home/iobroker/.cache/node-gyp/10.21.0/include/node/node.h:63, from /home/iobroker/.cache/node-gyp/10.21.0/include/node/node_buffer.h:25, from ../src/BluetoothHciSocket.cpp:7: /home/iobroker/.cache/node-gyp/10.21.0/include/node/v8.h:2476:46: note: declared here V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const); ^~~~~~~~~~~~ /home/iobroker/.cache/node-gyp/10.21.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ ../src/BluetoothHciSocket.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BluetoothHciSocket::BindUser(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/BluetoothHciSocket.cpp:417:34: warning: ‘int64_t v8::Value::IntegerValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations] devId = arg0->IntegerValue(); ^ In file included from /home/iobroker/.cache/node-gyp/10.21.0/include/node/v8.h:26, from /home/iobroker/.cache/node-gyp/10.21.0/include/node/node.h:63, from /home/iobroker/.cache/node-gyp/10.21.0/include/node/node_buffer.h:25, from ../src/BluetoothHciSocket.cpp:7: /home/iobroker/.cache/node-gyp/10.21.0/include/node/v8.h:2476:46: note: declared here V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const); ^~~~~~~~~~~~ /home/iobroker/.cache/node-gyp/10.21.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ In file included from /home/iobroker/.cache/node-gyp/10.21.0/include/node/node_buffer.h:25, from ../src/BluetoothHciSocket.cpp:7: ../src/BluetoothHciSocket.cpp: At global scope: /home/iobroker/.cache/node-gyp/10.21.0/include/node/node.h:573:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^ /home/iobroker/.cache/node-gyp/10.21.0/include/node/node.h:607:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/BluetoothHciSocket.cpp:499:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(binding, BluetoothHciSocket::Init); ^~~~~~~~~~~ In file included from /home/iobroker/.cache/node-gyp/10.21.0/include/node/node.h:63, from /home/iobroker/.cache/node-gyp/10.21.0/include/node/node_buffer.h:25, from ../src/BluetoothHciSocket.cpp:7: /home/iobroker/.cache/node-gyp/10.21.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’: /home/iobroker/.cache/node-gyp/10.21.0/include/node/node_object_wrap.h:84:78: required from here /home/iobroker/.cache/node-gyp/10.21.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/iobroker/.cache/node-gyp/10.21.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’: ../../nan/nan_object_wrap.h:65:61: required from here /home/iobroker/.cache/node-gyp/10.21.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] make: *** [binding.target.mk:101: Release/obj.target/binding/src/BluetoothHciSocket.o] Fehler 1 make: Verzeichnis „/opt/iobroker/node_modules/bluetooth-hci-socket/build“ wird verlassen gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:191:23) gyp ERR! stack at ChildProcess.emit (events.js:198:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12) gyp ERR! System Linux 4.19.118-v7l+ gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/bluetooth-hci-socket gyp ERR! node -v v10.21.0 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@^1.0.5 (node_modules/iobroker.info/node_modules/osx-temperature-sensor): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/build/package.json' npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! bluetooth-hci-socket@0.5.1 install: `node-gyp rebuild` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the bluetooth-hci-socket@0.5.1 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2020-06-19T11_34_24_506Z-debug.log
Den Installation fixer habe ich auch schonmal drüber laufen lassen. Bisher alles ohne Erfolg. Ich bin aber auch nicht der beste im Lesen dieser Logs insbesondere von npm. Könnt ihr mir vielleicht sagen was das Problem noch sein könnte?
-
Ich würde nach solchen Stunts einfach das passende OS frisch neuinstallieren. Dann passen auch die Treiber zur Hardware.
-
PUSH!
Keiner einer Idee oder ist das so mühselig das jetzt herauszufinden? Ich kann gerne weitere Infos bereitstellen, wenn das hilft.
-
@kenny384 Hi,
also dein Bluetooth funktioniert da garnicht, das hat mal nix mit iobroker zu tun, würd ich sagen...stoppe mal den ble adapter, und dann versuch doch mal in der konsole mit sudo hcitool lescan zu sehen, welches device er nimmt und ob überhaupt Geräte oder was gefunden wird...
-
@ilovegym Danke für die Antwort:
Scheinbar findet er gar nichts:
pi@ioBroker-RasPi4:~ $ sudo hcitool lescan Could not open device: No such device
-
This adapter needs additional libraries to compile. See https://github.com/sandeepmistry/noble#prerequisites for detailed instructions. On Raspberry Pi and similar, this should do it: sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev libcap2-bin If the adapter starts but won't connect to your bluetooth hardware, please check the info.driverState state in ioBroker. If it is unauthorized, you need to give node additional permissions. For Linux, this is as simple as sudo setcap cap_net_raw+eip $(eval readlink -f `which node`) which requires libcap2-bin to be installed.
-
@crunchip Ich glaube das hatte ich schonmal gemacht. Von den genannten Paketen war scheinbar auch schon alles installiert. Der Befehl "sudo setcap cap_net_raw+eip $(eval readlink -f
which node
)" läuft so durch, aber hat auch nichts geändert. Log beim Starten vom BLE weiterhin so:ble.0 2020-06-24 15:58:07.288 info (30522) Terminated (NO_ERROR): Without reason ble.0 2020-06-24 15:58:07.286 info (30522) terminating ble.0 2020-06-24 15:58:07.237 error at process._tickCallback (internal/process/next_tick.js:61:11) ble.0 2020-06-24 15:58:07.237 error at process.nextTick (/opt/iobroker/node_modules/@abandonware/noble/lib/noble.js:60:24) ble.0 2020-06-24 15:58:07.237 error at NobleBindings.init (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:78:13) ble.0 2020-06-24 15:58:07.237 error at Hci.init (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/hci.js:100:35) ble.0 2020-06-24 15:58:07.237 error (30522) Error: ENODEV, No such device ble.0 2020-06-24 15:58:07.236 error (30522) uncaught exception: ENODEV, No such device ble.0 2020-06-24 15:58:06.954 info (30522) monitored services: fe95 ble.0 2020-06-24 15:58:06.952 info (30522) enabled plugins: Xiaomi, _default ble.0 2020-06-24 15:58:06.950 info (30522) loaded plugins: Xiaomi, mi-flora, ruuvi-tag, _default ble.0 2020-06-24 15:58:06.783 info (30522) starting. Version 0.11.6 in /opt/iobroker/node_modules/iobroker.ble, node: v10.21.0, js-controller: 3.1.4
-
@kenny384 hmm vielleicht in der config bluetooth deaktiviert?
in der /boot/config.text schauen ob bluetooth disabled ist.. -
@ilovegym wollte ich auch gerade schreiben.
Und nach den Befehlen, System neu starten -
@ilovegym Finde keine Einstellung die BT disabled haben könnte. Oder übersehe ich etwas? Die allerletzte Zeile finde ich aber interessant. Ist das richtig so? Habe einen Pi4.
#hdmi_mode=1 # uncomment to force a HDMI mode rather than DVI. This can make audio work in # DMT (computer monitor) modes #hdmi_drive=2 # uncomment to increase signal to HDMI, if you have interference, blanking, or # no display #config_hdmi_boost=4 # uncomment for composite PAL #sdtv_mode=2 #uncomment to overclock the arm. 700 MHz is the default. #arm_freq=800 # Uncomment some or all of these to enable the optional hardware interfaces #dtparam=i2c_arm=on #dtparam=i2s=on #dtparam=spi=on # Uncomment this to enable the lirc-rpi module #dtoverlay=lirc-rpi # Additional overlays and parameters are documented /boot/overlays/README # Enable audio (loads snd_bcm2835) dtparam=audio=on enable_uart=1 [pi4] # Enable DRM VC4 V3D driver on top of the dispmanx display stack dtoverlay=vc4-fkms-v3d max_framebuffers=2 [all] #dtoverlay=vc4-fkms-v3d dtoverlay=pi3-miniuart-bt-overlay
-
@kenny384 sagte in BLE-Adapter startet nicht mehr:
dtoverlay=pi3-miniuart-bt-overlay
dtoverlay=miniuart-bt .... sollte das jetzt sein, mWn
-
@harrym Habe ich testweise mal ganz unten drunter gesetzt und die Zeile darüber auskommentiert. Neustart --> Leider keine Veränderung
Ich habe noch folgenden Befehl im Netz gefunden und mal ausgeführt:
pi@ioBroker-RasPi4:~ $ systemctl status hciuart.service ● hciuart.service - Configure Bluetooth Modems connected by UART Loaded: loaded (/lib/systemd/system/hciuart.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Wed 2020-06-24 16:25:35 CEST; 10min ago Process: 365 ExecStart=/usr/bin/btuart (code=exited, status=1/FAILURE) Jun 24 16:25:05 ioBroker-RasPi4 systemd[1]: Starting Configure Bluetooth Modems connected by UART... Jun 24 16:25:35 ioBroker-RasPi4 btuart[365]: Initialization timed out. Jun 24 16:25:35 ioBroker-RasPi4 btuart[365]: bcm43xx_init Jun 24 16:25:35 ioBroker-RasPi4 systemd[1]: hciuart.service: Control process exited, code=exited, status=1/FAILURE Jun 24 16:25:35 ioBroker-RasPi4 systemd[1]: hciuart.service: Failed with result 'exit-code'. Jun 24 16:25:35 ioBroker-RasPi4 systemd[1]: Failed to start Configure Bluetooth Modems connected by UART.
-
@kenny384 Ei jo, wenn du dein bluetooth device verschiebst, dann isses nicht mehr, wo es sein soll
schau mal hier
https://forum.homegear.eu/t/bluetooth-ohne-funktion-nach-dtoverlaypi3-miniuart-bt/2013/7 -
@ilovegym Puuh, das bekomme ich irgendwie nicht hin. Ich habe die config.txt jetzt so (Auszug), aber das hat nichts verändert:
# Additional overlays and parameters are documented /boot/overlays/README # Enable audio (loads snd_bcm2835) dtparam=audio=on enable_uart=1 [pi4] # Enable DRM VC4 V3D driver on top of the dispmanx display stack dtoverlay=vc4-fkms-v3d max_framebuffers=2 [all] #dtoverlay=vc4-fkms-v3d dtoverlay=pi3-miniuart-bt core_freq=250
Hinter dem dtoverlay=pi3-miniuart-bt stand vorher noch -overlay. Das habe ich im Beispiel oben weggenommen, hat aber auch nichts verändert.
-
Die in dem verlinkten Thread beschriebene hciuart.service sieht bei mir so aus:
[Unit] Description=Configure Bluetooth Modems connected by UART ConditionFileNotEmpty=/proc/device-tree/soc/gpio@7e200000/bt_pins/brcm,pins Requires=dev-serial1.device After=dev-serial1.device [Service] Type=forking ExecStart=/usr/bin/btuart [Install] WantedBy=multi-user.target
-
-
@kenny384
neue SD-Karte, und nochmal von Anfang an.. irgendwo ist da was geschossen.. normal ist bluetooth kein Thema und auch nicht deaktiviert. -
@ilovegym Okay, muss ich dann wohl tun, wenn ich mal die Zeit habe. Liegt bestimmt daran, dass das System ursprünglich mal auf einem Raspi 3 erstellt wurde, dann auf einen Raspi 4 umgezogen ist und jetzt noch von SD auf SSD. Kennt man ja aus dem echten Leben: Bei jedem Umzug geht irgendwas verloren und/oder kaputt
-
@kenny384 ahh okay..
oder alles was bluetooth angeht, deinstallieren und noch mal neu.. aber bevor du dir ne bestehende installation müllst.. lieber ne andere Karte rein... und ganz neu frisch aufgesetzt.
-
-
@haselchen sagte in BLE-Adapter startet nicht mehr:
sudo service bluetooth status
pi@ioBroker-RasPi4:~ $ sudo service bluetooth status ● bluetooth.service - Bluetooth service Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled) Active: inactive (dead) Docs: man:bluetoothd(8) Jun 24 16:53:02 ioBroker-RasPi4 systemd[1]: Condition check resulted in Bluetooth service being skipped.