frankjoke / ioBroker.radar

ioBroker der Verfügbarkeiten von IP- und Bluetooth-Adressen prüft
MIT License
5 stars 5 forks source link

no arp-scan available #21

Closed Michael-Sauer closed 6 years ago

Michael-Sauer commented 6 years ago

Hallo bekomme folgende Warnung:

MAC addresses 'A4:6C:F1:00:BE:A2' will not be scanned because no arp-scan is available!

Arp-scan ist installiert. Adapter ist in einer vorherigen ioBroker Installation schon einmal gelaufen. Was kann ich machen?

frankjoke commented 6 years ago

Hi Michael!

Versuch mal mit root/sudo arp-scan -lgq --retry=7

Der Adapter ruft arp-scan auf und wenn er einen Fehler bekommt meldet er mit obiger Warnung. Der Fehler kann durch arp-scan oder das Betriebssystem (wenn der Adapter nicht als root läuft) kommen.

LG Frank

Michael-Sauer commented 6 years ago

Danke für die Info.

Wenn ich es ohne Root/sudo aufrufe kommt ein "Speicherzugriffsfehler".

Wenn ich es mit sudo arp-scan -lgq --retry=7 aufrufe kommt die

Fehlermeldung: WARNING: Could not obtain IP address for interface eth0. Using 0.0.0.0 for the source address, which is probably not what you want. Either configure eth0 with an IP address, or manually specify the address with the --arpspa option. Interface: eth0, datalink type: EN10MB (Ethernet) ERROR: Could not obtain interface IP address and netmask ERROR: pcap_lookupnet: eth0: no IPv4 address assigned

Habe es dann mal mit sudo arp-scan -lgq -I br0 --retry=7 probiert wo er mir alle Netzwerkadressen auflistet.

Was und wo muss ich ändern das es im ioBroker läuft?

Danke für die Unterstützung.

frankjoke commented 6 years ago

Ok, I'm not a linux/network specialist but it seems you have other than direct connected network running.

Just try ip link show which produces 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether a2:ca:83:42:ff:a2 brd ff:ff:ff:ff:ff:ff 3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether a2:ca:83:42:ff:a3 brd ff:ff:ff:ff:ff:ff

As you see on my orange-pi I am connected to eth0 (it's UP) and it works You need to check/change your network setting until arp-scan works without the -I option. This shoulöd be the case if you enable only the right network and disable the rest (like I did with wlan).

BR Frank

Michael-Sauer commented 6 years ago

So sieht es bei mir aus. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP mode DEFAULT group default qlen 1000 link/ether b8:27:eb:16:7a:e3 brd ff:ff:ff:ff:ff:ff

3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether b8:27:eb:43:2f:b6 brd ff:ff:ff:ff:ff:ff

4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether b8:27:eb:16:7a:e3 brd ff:ff:ff:ff:ff:ff

6: vethpivccu@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP mode DEFAULT group default qlen 1000 link/ether fe:58:40:d2:c7:3a brd ff:ff:ff:ff:ff:ff link-netnsid 0 Der Raspberry ist per LAN angeschlossen.

Auf meinem Raspberry läuft gleichzeitig pivccu.

frankjoke commented 6 years ago

Anscheinend hat dein Rechner durch die CCU eine bridge. Möglicherweise kannst du die Netzwerk-konfig umschreiben damit bro nummer 2 wird und eth0 nummer 4, vielleicht geht's dann aber ich bin leider kein Netzwerk-Spezialist auf Linux!

ghost commented 6 years ago

Gleiches Problem auch bei mir. Der Raspi arbeitet gleichzeitig als CCU und hat daher die Bridge.

Da bei dir die Abfrage mit dem einfügen von " -I br0 " funktioniert hat... (bei mir auch, nur mit ' -I yahmbr0 ' habe ich kurzerhand die Datei 'radar.js' im Adapter-Verzeichnis an allen Stellen wo "arp-scan" durchgeführt wird mit dem obigen ergänzt und siehe da... funktioniert...

Als Work-around vielleicht erstmal machbar.

Dem Ersteller des Adapters: Vielleicht kann man sowas "als Extra" im Konfig-Menü unterbringen? Einfaches Feld wo man das eintragen kann... wenn ausgefüllt wird im Script halt '-I WERT' hinzugefügt in allen arp-scan-exec's; wenn leer, dann nicht.

Michael-Sauer commented 6 years ago

Hat funktioniert.

Danke für die Hilfe.

frankjoke commented 6 years ago

Ok, tipp aufgenommen und und für nächste Version im Hinterkopft!

ltsalvatore commented 5 years ago

hallo zusammen, kurze frage..

ich bin von raspberry pi auf nuc mit proxmox und debian umgestiegen und bin gerade dabei alle adapter auf dem neuen iobroker server zu installieren.

jetzt ist mir aufgefallen, dass der radar adapter garnicht mehr so sauber funktioniert.. sprich, der adapter ist zwar online und aktiv aber die werte in den objekten sind alles falsch. sowohl auf dem alten als auch auf dem neuen system.

habe versucht das ganze hier etwas zu verstehen und umzusetzen.. aber ich blick da noch nicht so ganz durch..

meine settings im radar adapter sehen aktuell so aus: 2019-01-21 21_56_08-instances - iobroker

muss ich evtl. noch was in der shell machen?

frankjoke commented 5 years ago

Hast schon die neue 1.2.0-Testversion von git probiert? Einfach mit dem admin über git laden. Lies dir auch die geänderte Beschreibung auf Git durch, es könnte sein dass du etwas einstellen musst.

Iobroker hat einige wichtige Duinge geändert die leider Adapter besonders betreffen welche root-Rechte brauchen. Man muss dann den iobroker-user sudo fähig machen.

wenn's noch immer nicht geht dann bitte den log welches der Adapter nach dem Start schreibt mal posten.

ltsalvatore commented 5 years ago

hi frankjoke,

die 1.2.0 hab ich mir installiert und in der Git hab ich auch mal gestöbert...

den user iobroker habe ich in der sudoers hinzugefügt:

2019-01-23 22_32_26-192 168 111 5

nach dem neustart des adapters spuckt das log folgendes aus:

radar.0 2019-01-23 22:18:30.964 info Adapter initialization finished! radar.0 2019-01-23 22:18:30.813 debug Make State AllUnknownIPs and set value to '{}' radar.0 2019-01-23 22:18:30.802 debug Make State AllUnknownBTs and set value to '{}' radar.0 2019-01-23 22:18:30.799 debug Noble found unknown BT's: {}, unknown IP's: {} radar.0 2019-01-23 22:18:30.794 debug Make State whoHere and set value to '' radar.0 2019-01-23 22:18:30.790 debug Make State allHere and set value to '' radar.0 2019-01-23 22:18:30.785 debug Make State countHere and set value to 0 radar.0 2019-01-23 22:18:30.784 info ScanAll: From all 0 devices dedected 0 are whoHere: radar.0 2019-01-23 22:18:30.774 debug Make State ipad.btHere and set value to false radar.0 2019-01-23 22:18:30.767 debug Make State ipad.here and set value to false radar.0 2019-01-23 22:18:30.762 debug Make State ipad.count and set value to -3 radar.0 2019-01-23 22:18:30.762 debug ipad={ name: 'ipad', ip: '', macs: 'AC:CF:5C:5B:13:13', bluetooth: 'AC:CF:5C:5B:13:13', id: 'ipad', hasMAC: [ 'AC:CF:5C:5B:13:13' ], hasBT: true, printer: '', hasIP: '', btHere: fals radar.0 2019-01-23 22:18:30.755 debug Make State iPhoneJanine.btHere and set value to false radar.0 2019-01-23 22:18:30.750 debug Make State iPhoneJanine.here and set value to false radar.0 2019-01-23 22:18:30.746 debug Make State iPhoneJanine.count and set value to -3 radar.0 2019-01-23 22:18:30.745 debug iPhoneJanine={ name: 'iPhoneJanine', ip: '', macs: '48:4B:AA:CC:10:11', bluetooth: '48:4B:AA:CC:10:11', id: 'iPhoneJanine', hasMAC: [ '48:4B:AA:CC:10:11' ], hasBT: true, printer: '', h radar.0 2019-01-23 22:18:30.738 debug Make State SLT-i6S.btHere and set value to false radar.0 2019-01-23 22:18:30.732 debug Make State SLT-i6S.here and set value to false radar.0 2019-01-23 22:18:30.727 debug Make State SLT-i6S.count and set value to -3 radar.0 2019-01-23 22:18:30.726 debug SLT-i6S={ name: 'SLT-i6S', ip: '', macs: '38:71:DE:1E:10:10', bluetooth: '38:71:DE:1E:10:10', id: 'SLT-i6S', hasMAC: [ '38:71:DE:1E:10:10' ], hasBT: true, printer: '', hasIP: '', btH radar.0 2019-01-23 22:18:30.622 debug l2ping for ipad err: "Error: Command failed: sudo l2ping -i hci0 -c1 AC:CF:5C:5B:13:13 Can't connect: No route to host " radar.0 2019-01-23 22:18:30.462 debug l2ping for iPhoneJanine err: "Error: Command failed: sudo l2ping -i hci0 -c1 48:4B:AA:CC:10:11 Can't connect: No route to host " radar.0 2019-01-23 22:18:30.302 debug l2ping for SLT-i6S err: "Error: Command failed: sudo l2ping -i hci0 -c1 38:71:DE:1E:10:10 Can't connect: No route to host " radar.0 2019-01-23 22:18:30.242 debug Would now start scan for devices! Would also scan for printer ink now! radar.0 2019-01-23 22:18:30.242 info radar set use of noble(true), fping(true), doMac("arp-scan -lgq" on Interface: ens18, datalink type: EN10MB (Ethernet)), doHci(true), doBtv(false), btid(0) and doUwz(null,0,0,,false). radar.0 2019-01-23 22:18:30.242 info radar adapter initialized 3 devices, ExternalNetwork = 0. radar.0 2019-01-23 22:18:30.241 info No UWZ warning because of Delay is 0 radar.0 2019-01-23 22:18:29.782 info Init item ipad with { name: 'ipad', ip: '', macs: 'AC:CF:5C:5B:13:13', bluetooth: 'AC:CF:5C:5B:13:13', id: 'ipad', hasMAC: [ 'AC:CF:5C:5B:13:13' ], hasBT: true, printer: '', hasIP: '' radar.0 2019-01-23 22:18:29.731 info Init item iPhoneJanine with { name: 'iPhoneJanine', ip: '', macs: '48:4B:AA:CC:10:11', bluetooth: '48:4B:AA:CC:10:11', id: 'iPhoneJanine', hasMAC: [ '48:4B:AA:CC:10:11' ], hasBT: true, p radar.0 2019-01-23 22:18:29.680 info Init item SLT-i6S with { name: 'SLT-i6S', ip: '', macs: '38:71:DE:1E:10:10', bluetooth: '38:71:DE:1E:10:10', id: 'SLT-i6S', hasMAC: [ '38:71:DE:1E:10:10' ], hasBT: true, printer: '', h radar.0 2019-01-23 22:18:29.655 info BT Bin Dir = '/opt/iobroker/node_modules/iobroker.radar\bin\bluetoothview\' radar.0 2019-01-23 22:18:29.655 info radar set to scan every 30 sec and printers every 500 scans. radar.0 2019-01-23 22:18:29.655 info found '@abandonware/noble' radar.0 2019-01-23 22:18:29.655 info starting. Version 1.2.0 in /opt/iobroker/node_modules/iobroker.radar, node: v8.15.0

frankjoke commented 5 years ago

Bitte version 1.2.1 installieren (gibt's auch schon im npm), wenn über git geladen dann bitte händisch iobroker upload radar durchführen damit das neue Konfig-Menü eingespielt wird (falls du Admin 3.x verwendest).

jerzimeik commented 5 years ago

Ich habe ein ähnliches Problem. Bei mir zeigt ip link sho aber folgendens

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 40: eth0@if41: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 22:bb:25:24:62:84 brd ff:ff:ff:ff:ff:ff link-netnsid 0

Was kann ich machen?

frankjoke commented 5 years ago

Ich sehe keine ipv4 Netzwerke mit ip-adressen! Was sagt ifconfig?

frankjoke commented 5 years ago

Habe vergessen, was sagt sudo arp-scan -lgq oder für jerzimeik sudo arp-scan -lgq --interface=eth0? Funkt das?

jerzimeik commented 5 years ago

ifconfig sagt:

root@iobroker-new:/#

 ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.178.22  netmask 255.255.255.0  broadcast 192.168.178.255
        inet6 fe80::20bb:25ff:fe24:6284  prefixlen 64  scopeid 0x20<link>
        ether 22:bb:25:24:62:84  txqueuelen 1000  (Ethernet)
        RX packets 5309974  bytes 1318230675 (1.2 GiB)
        RX errors 0  dropped 420  overruns 0  frame 0
        TX packets 7536244  bytes 1940382462 (1.8 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 31987594  bytes 4939395948 (4.6 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 31987594  bytes 4939395948 (4.6 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0`
jerzimeik commented 5 years ago

arp-scan macht eigentlich alles:

root@iobroker-new:/# sudo arp-scan -lgq Interface: eth0, datalink type: EN10MB (Ethernet) Starting arp-scan 1.9 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/) 192.168.178.1 7c:ff:4d:74:8a:22 192.168.178.14 f4:f2:6d:a4:f8:a6 192.168.178.19 10:7b:ef:bc:53:49 192.168.178.20 00:17:88:6e:d9:49 192.168.178.32 b8:27:eb:d9:2b:a8 192.168.178.31 34:ea:34:58:94:ca 192.168.178.44 b8:27:eb:99:80:6f 192.168.178.60 60:01:94:8c:89:7d 192.168.178.15 28:c6:8e:ad:7e:86 192.168.178.76 cc:9e:a2:f1:7e:1e 192.168.178.78 a0:02:dc:b1:b0:bc 192.168.178.79 c8:63:f1:b8:3c:5d 192.168.178.83 80:7d:3a:32:2a:f1 192.168.178.82 60:01:94:74:00:c9 192.168.178.36 78:11:dc:b2:70:91 192.168.178.90 86:1b:56:91:c9:1d 192.168.178.93 00:1a:22:0e:b8:ac 192.168.178.95 06:09:11:5d:bc:f7 192.168.178.50 60:01:94:ad:d0:3a 192.168.178.96 d2:b5:68:1a:d4:5e 192.168.178.97 96:be:76:a7:51:35 192.168.178.98 b6:7f:73:a5:2f:cc 192.168.178.99 00:01:80:76:8a:a8 192.168.178.103 74:c2:46:b3:5a:b2 192.168.178.104 74:5e:1c:13:5d:43 192.168.178.130 00:25:22:db:ee:62 192.168.178.70 84:20:96:22:90:1f 192.168.178.150 d4:85:64:2b:75:cf 192.168.178.75 5c:cf:7f:57:78:70 192.168.178.86 84:f3:eb:9f:60:da 192.168.178.87 84:f3:eb:32:b8:24 192.168.178.111 c0:25:06:02:df:ee 192.168.178.101 50:f5:da:50:8e:09 192.168.178.202 7c:ff:4d:74:8a:22 192.168.178.23 02:0f:b5:6b:68:81 192.168.178.26 02:0f:b5:fd:10:8f 192.168.178.84 02:0f:b5:e8:c2:36

jerzimeik commented 5 years ago

Im iobroker sieht es dann aber so aus: radar

frankjoke commented 5 years ago

Dein Netzwerk schaut normal aus und arp-scan ist auch OK. Hast du die install-Befehle (schau auf readme install Teil) VOR der Installation ausgeführt? Wenn nicht lösch den Adapter und führe die Befehle aus und installiere ihn dann wieder.

Wenn du ihn startest dann schalte vorher den debug-mode ein und checke alles, es sollten dann eigentlich keine Warnings oder errors kommen.

Wenn doch dann zeig mir den vom Start mit debug.

frankjoke commented 5 years ago

Ach übrigens, hab vergessen dass du eigentlich radar2 verwenden solltest! Auch hier muss was vor der Installation gemacht werden, aber ich mache Fehlerkorrekturen nur noch für radar2!

jerzimeik commented 5 years ago

Neuer Versuch mit radar2 und streng nach Anleitung ;-)

debug-mode ist an.

Folgende Fehler kommen dann: radar2

Etwas später dann:

radar2_2

frankjoke commented 5 years ago

Jerzimeik, wenn das im Debug-mode ist und die einzige Meldung starting version und radar2 initialization... ist dann stürzt node ab wenn er sich mit den iobroker-js-controller verbinden will.

Es sind SIGSEGV und SIGABRT, also Signale die ich nicht selbst im Adapter erzeuge sonder welche die das Betriebssystem oder js-controller erzeugt.

Andere Kollegen hatten das wenn die npm-Installation fehler gemacht hat und die Treiber nicht richtig kompiliert hat. Vor allem am Rock64 war das der Fall da das Betriebssystem dort die falsche Python-Version installiert hat.

Sonst kann ich dazu nichts sagen aber du kannst mal den Adapter in admin disablen und auf der Kommandozeile folgendes probieren: sudo -u iobroker node /opt/iobroker/node_modules/iobroker.radar2/radar2.js --force --logs --nolazy Dann sollte der gesamte startup mit log und gesamter Fehlermeldung angezeigt werden...

frankjoke commented 5 years ago

Übrigens, das ist was ein ordentlich installierter Adapter beim Start meldet (die ersten Zeilen): ` starting. Version 1.0.3 in /opt/iobroker/node_modules/iobroker.radar2, node: v8.15.1

radar2 initialization started...

radar2 starting main...

found '@abandonware/noble'

found 'node-bluetooth'

radar2 set to flag items away if they are not seen for 3 minutes

Debug mode set by adapter config ('!' as last letter in removeEnd)!

use known BT list: [ ... ] `

zwischen initialization started ... und starting main versucht der Adapter sich bei ioBroker anzumelden und wenn das passiert ist started er main, also das wirkliche Hauptprogramm, des Adapters welches die Geräte aus der Konfiguration liest und dann das scanning startet.