Autor Thema: knxd mit B&J 6123 USB  (Gelesen 4115 mal)

pirndi

  • Gast
knxd mit B&J 6123 USB
« am: 30 Mai 2016, 21:19:03 »
Hallo!


Ich habe einen kleinen Homeserver auf den ich FHEM laufen habe (kein raspi sonder x64)
Ich habe als Linux Lubuntu 16.04 drauf. Ich bin gerade dabei alles auf den neuesten Stand zu bringen und habe deshalb auch den umstieg von eibd auf knxd gewagt.
Ich hatte bereits mit eibd probleme mit dem autostart und habe sie jetzt wieder mit knxd.

wenn ich knxd mit sudo im Terminal starte dann läuft alles (zugriff mit ETS und FHEM)
Aber als Dienst will es einfach nicht starten.
Ich vermute das es ein Berechtigungsproblem ist da er es als user knxd starten will. Kann das sein?

wenn ich die knxd.conf original lasse dann startet auch knxd. Sobald ich die Parameter ändere bekomme ich einen  fehler

Zitat
hserver@Server-Daniel:~$ systemctl status knxd.service
? knxd.service - KNX Daemon
   Loaded: loaded (/lib/systemd/system/knxd.service; disabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Mon 2016-05-30 20:59:47 CEST; 5s ago
  Process: 27463 ExecStart=/usr/bin/knxd $KNXD_OPTS (code=exited, status=1/FAILURE)
 Main PID: 27463 (code=exited, status=1/FAILURE)

Mai 30 20:59:47 Server-Daniel systemd[1]: knxd.service: Unit entered failed state.
Mai 30 20:59:47 Server-Daniel systemd[1]: knxd.service: Failed with result 'exit-code'.


so läuft es wenn ich es manuell starte:

Zitat
sudo knxd -e=1.1.128 -u /run/eib -i -D -T -R -S -b usb:3:3:1:0:0

ich hab in der config  -u /run/eib -i weggelassen wie es in der Beschreibung steht!!

Offline smurfix

  • Developer
  • Full Member
  • ****
  • Beiträge: 277
Antw:knxd mit B&J 6123 USB
« Antwort #1 am: 31 Mai 2016, 01:26:51 »

Ich vermute das es ein Berechtigungsproblem ist da er es als user knxd starten will. Kann das sein?


Dem ist so. Du musst die /etc/udev/rules.d/70-kndx.rules anpassen. Füge die folgende Zeile ein:
SUBSYSTEM=="usb", ATTR{idVendor}=="HEX1", ATTR{idProduct}=="HEX2", OWNER="knxd"
HEX1 und HEX2 musst du durch die Werte für dein Gerät ersetzen, die bekommst du mit "lsusb". Danach das Ding abziehen und neu anstecken, sollte reichen, ansonsten "sudo systemctl restart udev" und nochmal.
Bei ls -l /dev/usb siehst du dann einen Eintrag, der dem knxd gehört.

NB: Für alle: Bitte KNXD_OPTS aus /etc/knxd.conf direkt posten statt Behauptungen aufzustellen. ;-)

pirndi

  • Gast
Antw:knxd mit B&J 6123 USB
« Antwort #2 am: 31 Mai 2016, 18:36:01 »
So hab ich geändert aber es will nicht. Ich poste mal alle Infos die ich mit meinen begrenzten Linux Kenntnissen bekomme:

in der knxd.conf:
Zitat
KNXD_OPTS="-e=1.1.128 -D -T -R -S -b usb:3:4:1:0:0"

wenn ich die config ändere und einen neustart des Dinstes mache:
Zitat
hserver@Server-Daniel:~$ systemctl restart knxd.service
Job for knxd.service failed because the control process exited with error code. See "systemctl status knxd.service" and "journalctl -xe" for details.

und:

Zitat
hserver@Server-Daniel:~$ systemctl status knxd.service
? knxd.service - KNX Daemon
   Loaded: loaded (/lib/systemd/system/knxd.service; disabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Die 2016-05-31 18:31:26 CEST; 8s ago
  Process: 2152 ExecStart=/usr/bin/knxd $KNXD_OPTS (code=exited, status=1/FAILURE)
 Main PID: 2152 (code=exited, status=1/FAILURE)

Mai 31 18:31:26 Server-Daniel systemd[1]: knxd.service: Unit entered failed state.
Mai 31 18:31:26 Server-Daniel systemd[1]: knxd.service: Failed with result 'exit-code'.

mit findknxusb wird der Adapter gefunden
Zitat
Possible addresses for KNX USB devices:
device: 3:4:1:0:0 (Busch-Jaeger Elektro GmbH:KNX-USB Interface (Flush mounted))

Zitat
hserver@Server-Daniel:~$ lsusb
Bus 002 Device 002: ID 8087:8001 Intel Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8009 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 03eb:204b Atmel Corp. LUFA USB to Serial Adapter Project
Bus 003 Device 004: ID 145c:1330 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

wenn ich es normal starte dann läufts?

Offline Andi291

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1125
Antw:knxd mit B&J 6123 USB
« Antwort #3 am: 31 Mai 2016, 19:36:56 »
Servus!

Der KNXD besteht aus zwei Diensten. Starte die mal manuell nacheinander.

Also z.b.:

sudo systemctl stop knxd.service
sudo systemctl stop knxd.socket
sudo systemctl start knxd.service

Lass den Socket mal bewusst weg, und schau, was passiert.

Grüße, Andi

pirndi

  • Gast
Antw:knxd mit B&J 6123 USB
« Antwort #4 am: 31 Mai 2016, 19:41:37 »
hserver@Server-Daniel:~$ sudo systemctl stop knxd.service
[sudo] Passwort für hserver:
hserver@Server-Daniel:~$ sudo systemctl stop knxd.socket
hserver@Server-Daniel:~$ sudo systemctl start knxd.service
Job for knxd.service failed because the control process exited with error code. See "systemctl status knxd.service" and "journalctl -xe" for details.

hserver@Server-Daniel:~$ sudo systemctl status knxd.service
? knxd.service - KNX Daemon
   Loaded: loaded (/lib/systemd/system/knxd.service; disabled; vendor preset: enabled)
   Active: activating (start) since Die 2016-05-31 19:40:51 CEST; 3ms ago
 Main PID: 4357 (knxd)
   CGroup: /system.slice/knxd.service
           ??4357 /usr/bin/knxd -e=1.1.128 -D -T -R -S -b usb:3:4:1:0:0

Mai 31 19:40:51 Server-Daniel systemd[1]: Stopped KNX Daemon.
Mai 31 19:40:51 Server-Daniel systemd[1]: Starting KNX Daemon...

sieht aber so aus als ob er die config nimmt...

pirndi

  • Gast
Antw:knxd mit B&J 6123 USB
« Antwort #5 am: 31 Mai 2016, 19:44:02 »
und nach ein paar sekunden das wieder:

Zitat
hserver@Server-Daniel:~$ sudo systemctl status knxd.service
? knxd.service - KNX Daemon
   Loaded: loaded (/lib/systemd/system/knxd.service; disabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Die 2016-05-31 19:43:15 CEST; 3s ago
  Process: 4437 ExecStart=/usr/bin/knxd $KNXD_OPTS (code=exited, status=1/FAILURE)
 Main PID: 4437 (code=exited, status=1/FAILURE)

Mai 31 19:43:15 Server-Daniel systemd[1]: Failed to start KNX Daemon.
Mai 31 19:43:15 Server-Daniel systemd[1]: knxd.service: Unit entered failed state.
Mai 31 19:43:15 Server-Daniel systemd[1]: knxd.service: Failed with result 'exit-code'.
hserver@Server-Daniel:~$

Offline Andi291

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1125
Antw:knxd mit B&J 6123 USB
« Antwort #6 am: 31 Mai 2016, 20:05:20 »
Puh...

Probier mal, nur den knxd.socket zu laden. Der wiederum müsste, wenn irgendwas auf den Sockets anfragt, den Daemon laden.

pirndi

  • Gast
Antw:knxd mit B&J 6123 USB
« Antwort #7 am: 31 Mai 2016, 20:39:59 »
 knxd.socket - KNX Daemon (socket)
   Loaded: loaded (/lib/systemd/system/knxd.socket; disabled; vendor preset: enabled)
   Active: inactive (dead)
   Listen: [::]:6720 (Stream)

Mai 31 19:40:02 Server-Daniel systemd[1]: [/lib/systemd/system/knxd.socket:5] Failed to parse address value, ignoring: run
Mai 31 19:40:02 Server-Daniel systemd[1]: Closed KNX Daemon (socket).
Mai 31 19:40:02 Server-Daniel systemd[1]: [/lib/systemd/system/knxd.socket:5] Failed to parse address value, ignoring: run
Mai 31 19:40:02 Server-Daniel systemd[1]: [/lib/systemd/system/knxd.socket:5] Failed to parse address value, ignoring: run
Mai 31 20:38:46 Server-Daniel systemd[1]: [/lib/systemd/system/knxd.socket:5] Failed to parse address value, ignoring: run

gibt es für den socket auch eine config datei?

Offline Andi291

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1125
Antw:knxd mit B&J 6123 USB
« Antwort #8 am: 31 Mai 2016, 21:36:25 »
Nein, beide Services beziehen Ihre config aus der opts.

Sorry, ich bin raus.

Schick mal dem user smurfix eine PN und bitte ihn, hier zu posten.

Grüße, Andi

Offline smurfix

  • Developer
  • Full Member
  • ****
  • Beiträge: 277
Antw:knxd mit B&J 6123 USB
« Antwort #9 am: 01 Juni 2016, 00:55:05 »
Ich bin bereits hier.

Konkrete Frage: was sagt
ls -lR /dev/bus/usb?

pirndi

  • Gast
Antw:knxd mit B&J 6123 USB
« Antwort #10 am: 04 Juni 2016, 18:57:39 »
Hallo!

Sorry hatte leider keine Zeit in den letzten Tagen

Zitat
hserver@Server-Daniel:~$ ls -lR /dev/bus/usb
/dev/bus/usb:
insgesamt 0
drwxr-xr-x 2 root root  80 Mai 29 11:38 001
drwxr-xr-x 2 root root  80 Mai 29 11:38 002
drwxr-xr-x 2 root root 100 Mai 31 18:25 003
drwxr-xr-x 2 root root  60 Mai 29 11:38 004

/dev/bus/usb/001:
insgesamt 0
crw-rw-r-- 1 root root 189, 0 Mai 29 11:38 001
crw-rw-r-- 1 root root 189, 1 Mai 29 11:38 002

/dev/bus/usb/002:
insgesamt 0
crw-rw-r-- 1 root root 189, 128 Mai 29 11:38 001
crw-rw-r-- 1 root root 189, 129 Mai 29 11:38 002

/dev/bus/usb/003:
insgesamt 0
crw-rw-r-- 1 root root 189, 256 Mai 29 11:38 001
crw-rw-r-- 1 root root 189, 257 Mai 29 11:38 002
crw-rw-r-- 1 root eibd 189, 259 Jun  4 18:56 004

/dev/bus/usb/004:
insgesamt 0
crw-rw-r-- 1 root root 189, 384 Mai 29 11:38 001


Offline smurfix

  • Developer
  • Full Member
  • ****
  • Beiträge: 277
Antw:knxd mit B&J 6123 USB
« Antwort #11 am: 04 Juni 2016, 21:17:38 »
Soso. Das USB-Device gehört also der Gruppe "eibd". Blöderweise setzt "meine" udev-Rule den User knxd. Eine eibd-Gruppe kenne ich so nicht.

Du hast folglich irgendwo eine eibd-Regel-Altlast rumliegen, die mit der vom knxd kollidiert. Oder was auch immer. Jedenfalls funktioniert meine Rule nicht.

Ändere die Rechte mal manuell
# sudo chown knxd /dev/bus/usb/003/004und probier aus was passiert.

Zum udev-Regeln-Debuggen gibt es ansonsten genug Seiten im Netz …

pirndi

  • Gast
Antw:knxd mit B&J 6123 USB
« Antwort #12 am: 05 Juni 2016, 21:28:46 »
So ich hab alle alten eibd Altlasten entfernt und alles auf knxd geändert. Jetzt läuft der Dienst aber der Socket will noch nicht so ganz

Zitat
hserver@Server-Daniel:~$ sudo systemctl status knxd.socket
? knxd.socket - KNX Daemon (socket)
   Loaded: loaded (/lib/systemd/system/knxd.socket; disabled; vendor preset: enabled)
   Active: inactive (dead)
   Listen: [::]:6720 (Stream)

Jun 05 21:21:53 Server-Daniel systemd[1]: [/lib/systemd/system/knxd.socket:5] Failed to parse address value, ignoring: run
Jun 05 21:26:02 Server-Daniel systemd[1]: [/lib/systemd/system/knxd.socket:5] Failed to parse address value, ignoring: run

Offline smurfix

  • Developer
  • Full Member
  • ****
  • Beiträge: 277
Antw:knxd mit B&J 6123 USB
« Antwort #13 am: 05 Juni 2016, 23:15:45 »
Sehr strange. Steht bei dir irgendwas Seltsames in der knxd.socket?

pirndi

  • Gast
Antw:knxd mit B&J 6123 USB
« Antwort #14 am: 06 Juni 2016, 08:37:10 »
So nach einen Neustart des Server läuft der Socket aber dafür der knxd Dienst wieder nicht....