Autor Thema: CUL mit serial für eindeutige Zuordnung per udev?  (Gelesen 5081 mal)

Offline kpwg

  • Full Member
  • ***
  • Beiträge: 246
CUL mit serial für eindeutige Zuordnung per udev?
« am: 03 August 2014, 12:13:24 »
Hallo Leute,

nachdem ich jetzt das Forum durchstöbert habe und wir auch im Chat das Thema hatten, jedoch keine befriedigende Lösung fanden, stelle ich das hier als Wunsch zur Debatte:

Besteht die Möglichkeit, jedem CUL eine Serial oder anderes eindeutiges Merkmal zu verpassen? Ich betreibe mehrere CUL868 mit verschiedenen Antennen und habe aktuell nach jedem Reboot die CULs zufällig zugeordnet. Mal klappt's, dann wieder nicht. Entsprechend habe ich dann manche Sensoren nicht mehr auf dem Schirm.

Die Idee, per Bus:Device die Sticks mit udev zu unterscheiden ist nicht die Lösung, da spätestens bei der nächsten Änderung am USB-Hub oder dessen Ersatz die Zuordnung wieder futsch ist. Auch sollte die Lösung ein Update der culfw überleben.

Wie denkt ihr darüber?

Viele Grüße, Ricardo
FHEM 5.x auf RasPi2, 6x E6 mit LAN/ZBus/RFM12-433/ADC/PWM/3xLCD/7xDHT22/LTC1257/BMP180/3x1wire/C6, CUL868, KS200, Jeelink(Arduino+RFM12)/LaCrosse/EC3000, CUL-HM, HM-RC-4-2, HM-SCI-3-FM, HM-ES-TX-WM, uvm

Offline schka17

  • Sr. Member
  • ****
  • Beiträge: 767
Antw:CUL mit serial für eindeutige Zuordnung per udev?
« Antwort #1 am: 03 August 2014, 12:25:06 »
Hallo Ricardo,

Ich hatte mit mehreren Jeelinks immer wieder Probleme, ich habs dann über die Serial ID gelöst.

Beispiel:

/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AE01DTY1-if00-port0

Gruß

Karl
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

Offline kpwg

  • Full Member
  • ***
  • Beiträge: 246
Antw:CUL mit serial für eindeutige Zuordnung per udev?
« Antwort #2 am: 03 August 2014, 17:33:06 »
Ich hatte mit mehreren Jeelinks immer wieder Probleme, ich habs dann über die Serial ID gelöst.

Hallo Karl,

genau diese Serial ID (oder eine andere Eindeutigkeit) fehlt dem CUL.
FHEM 5.x auf RasPi2, 6x E6 mit LAN/ZBus/RFM12-433/ADC/PWM/3xLCD/7xDHT22/LTC1257/BMP180/3x1wire/C6, CUL868, KS200, Jeelink(Arduino+RFM12)/LaCrosse/EC3000, CUL-HM, HM-RC-4-2, HM-SCI-3-FM, HM-ES-TX-WM, uvm

Offline Tobias

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3193
Antw:CUL mit serial für eindeutige Zuordnung per udev?
« Antwort #3 am: 22 August 2014, 09:27:32 »
Ich stand vor dem selben Problem (habe 3x CUL) und habe auch keine Lösung gehabt, schlussendlich ist es aber egal, da die Funkprotokolle per attr gesetzt werden. Normalerweise ist es egal ob Homematic der erste oder der 2te sendet.
Ich würde an deiner Stelle allen eine einheitliche antenne verpassen.
FHEM auf Cubitruck mit Homematic, MAX, PCA301, Panstamp-Sensoren, RPi mit 2x 1wire, RPi mit Text2Speech.
Maintainer der Module: DbLog, Text2Speech, SprinkleControl, Sprinkle, TrashCal, MediaList

Offline kpwg

  • Full Member
  • ***
  • Beiträge: 246
Antw:CUL mit serial für eindeutige Zuordnung per udev?
« Antwort #4 am: 22 August 2014, 10:33:31 »
Tobias, das löst aber das Problem nicht. Die Antennen wurden auf bestimmte Richtungen experimentell optimiert und die CUL befinden sich an unterschiedlichen Standorten (5m USB-Verlängerung funktioniert  8)). Mit komplett identischen Antennen erreiche ich meinen Außensensor nicht mehr (bzw. empfange ihn nicht).
FHEM 5.x auf RasPi2, 6x E6 mit LAN/ZBus/RFM12-433/ADC/PWM/3xLCD/7xDHT22/LTC1257/BMP180/3x1wire/C6, CUL868, KS200, Jeelink(Arduino+RFM12)/LaCrosse/EC3000, CUL-HM, HM-RC-4-2, HM-SCI-3-FM, HM-ES-TX-WM, uvm

Offline Tobias

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3193
Antw:CUL mit serial für eindeutige Zuordnung per udev?
« Antwort #5 am: 22 August 2014, 10:42:14 »
Ich weiß nur, das es keine Lösung gibt. Hift dir nicht ein Repeater weiter? Für HM setze ich auch einen ein, für FS20 gibt es auch einen bzw nutze ich hier einen abgesetzten CUNO statt CUL
FHEM auf Cubitruck mit Homematic, MAX, PCA301, Panstamp-Sensoren, RPi mit 2x 1wire, RPi mit Text2Speech.
Maintainer der Module: DbLog, Text2Speech, SprinkleControl, Sprinkle, TrashCal, MediaList

Offline no_Legend

  • Sr. Member
  • ****
  • Beiträge: 711
Antw:CUL mit serial für eindeutige Zuordnung per udev?
« Antwort #6 am: 29 Dezember 2014, 21:14:29 »
Hi ich bin gerade auch auf der Suche nach einer Lösung.

Ich habe einen CUL für 433 und einen für 868.
Kann man nicht einen Statische Zuweisugn über USB Port machen?
Muss ja nicht unbedingt die Seriennummer herhalten.

Hab mich jetzt noch nicht in Uhde eingelesen.
Auch keine Ahnung wie es sich mit USB Hubs verhält.

Muss ich die Tage mal testen.

Edit:
Hab was gefunden
http://askubuntu.com/questions/49910/how-to-distinguish-between-identical-usb-to-serial-adapters

Es müsste also gehen anhand der port Nummer zu arbeiten.

Gruß Robert
« Letzte Änderung: 29 Dezember 2014, 21:24:41 von no_Legend »
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

Offline hermannk

  • Jr. Member
  • **
  • Beiträge: 60
Antw:CUL mit serial für eindeutige Zuordnung per udev?
« Antwort #7 am: 27 Februar 2015, 15:10:03 »
Hallo kpwg,

genau diese Serial ID (oder eine andere Eindeutigkeit) fehlt dem CUL.

wirklich? ich betreibe einen CUL433 (slowRF) und einen CUL868 (HM) parallel.

ls -l /dev/serial/by-id
total 0
lrwxrwxrwx 1 root root 13 Feb 27 14:30 usb-busware.de_CUL433-if00 -> ../../ttyACM0
lrwxrwxrwx 1 root root 13 Feb 27 14:31 usb-busware.de_CUL868-if00 -> ../../ttyACM1
lrwxrwxrwx 1 root root 13 Feb 27 13:46 usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 -> ../../ttyUSB0

Also: Wenn sich die Frequenzen unterscheiden, dann bekommen sie unter /dev/serial/by-id verschiedene Portnamen.

Mit udev-Regeln (...ATTRS{iProduct}="CUL433", ...) war ich zuvor gescheitert, weil iProduct anscheinend nicht ausgewertet wird.

Gruss,

Hermann

Offline no_Legend

  • Sr. Member
  • ****
  • Beiträge: 711
Antw:CUL mit serial für eindeutige Zuordnung per udev?
« Antwort #8 am: 27 Februar 2015, 15:43:34 »
Das mit den USB Ports scheint zu funktionieren.
Ich hab es so eingerichtet.

MIt der Frequenz geht nur wenn du nur einen Stick mit der Frequenz hast.
Solltest du zwei haben mit der gleichen Frequenz geht das nicht mehr.
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

Offline noxinu

  • New Member
  • *
  • Beiträge: 6
Antw:CUL mit serial für eindeutige Zuordnung per udev?
« Antwort #9 am: 08 Juli 2015, 17:21:24 »
Alternativ by-path:
pi@pi ~ $ ls -l /dev/serial/by-path/
insgesamt 0
lrwxrwxrwx 1 root root 13 Jan  1  1970 platform-bcm2708_usb-usb-0:1.2:1.0 -> ../../ttyACM0
lrwxrwxrwx 1 root root 13 Jan  1  1970 platform-bcm2708_usb-usb-0:1.3:1.0 -> ../../ttyACM1
lrwxrwxrwx 1 root root 13 Jun 27 17:15 platform-bcm2708_usb-usb-0:1.4:1.0 -> ../../ttyACM2
lrwxrwxrwx 1 root root 13 Jan  1  1970 platform-bcm2708_usb-usb-0:1.5:1.0-port0 -> ../../ttyUSB0

also zum Beispiel:
define CUL_2 CUL /dev/serial/by-path/platform-bcm2708_usb-usb-0:1.3:1.0@9600 1234

Offline noansi

  • Full Member
  • ***
  • Beiträge: 343
Antw:CUL mit serial für eindeutige Zuordnung per udev?
« Antwort #10 am: 23 Dezember 2015, 16:19:34 »
Hallo Zusammen,

Ich hatte das gleiche Problem und mein RasPi hat die CULs auch in der Reihenfolge vertauscht, wenn ich einen Warmstart statt eines Kaltstart gemacht habe. Blöd, wenn einer eine 433Hz und einer 868MHz Version ist. (Und noch blöder, wenn man gerade Änderungen an SlowRf testet und nur deswegen plötzlich der Empfang mies ist... und HM nicht mehr gut empfangen wird... und man schon neue CULs ordern will...  :o).

Code für eine einstellbare Seriennummer ist hier http://forum.fhem.de/index.php/topic,24436.msg377742.html#msg377742 zu finden in den Descriptors.

Das müsste nur in der allgemeinen Version verfügbar gemacht werden.
Da ich aber beim Firmware Code abseits des Standard Pfades unterwegs bin, kann ich das nicht mal eben machen.

Im Standard Code gibt es noch einen Define LUFA, der, wenn gesetzt die Seriennummer des Atmel Chips als USB Seriennummer nutzbar machen sollte. Vielleicht mal in die board.h bei CUL_V3 u. CUL_V4 einbauen, compilieren, flashen und testen?

Grüße und frohes Fest,

Ansgar.
« Letzte Änderung: 27 Dezember 2015, 15:29:23 von noansi »

Offline PeMue

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3101
Antw:CUL mit serial für eindeutige Zuordnung per udev?
« Antwort #11 am: 11 Januar 2016, 21:40:32 »
Code für eine einstellbare Seriennummer ist hier http://forum.fhem.de/index.php/topic,24436.msg377742.html#msg377742 zu finden in den Descriptors.

Das müsste nur in der allgemeinen Version verfügbar gemacht werden.
Da ich aber beim Firmware Code abseits des Standard Pfades unterwegs bin, kann ich das nicht mal eben machen.
Hallo Ansgar,

kennst Du diese application note von Atmel http://www.atmel.com/Images/doc8201.pdf? Könnte man das in die Descriptors.c einbauen und per board.h verfügbar machen?

Gruß Peter
1x FB7170 (29.04.88) 5.7 1xCUNO2 1.63 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F)
1x RPi BV2LCDCSM 1.63 5.7 2xMAX HKT, 1xMAX RT, V200KW1
1xFB 7490 (113.06.05) 5.7 1xCUL V3 1.63 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 1xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU 1xRFXtrx 90 1xWT440H 1xCM160 3xTFA30.3150 5xFA21R

Offline noansi

  • Full Member
  • ***
  • Beiträge: 343
Antw:CUL mit serial für eindeutige Zuordnung per udev?
« Antwort #12 am: 24 Januar 2016, 22:52:26 »
Hallo Peter,

Die application note hatte ich gelesen.

Wenn LUFA definiert ist, dann ist das wohl schon so gedacht, daß das von Lufa so gemacht wird.
Man müsste dem Code dazu mal in Lufa nachgehen, wo es klemmt oder ob LUFA das nur nicht mit dem ATmega32U4 macht.

EDIT: Es klemmt an der LUFA Version im CUL Projekt. Im letzten Stand wird auch ATmega32U4 und ATmega32U2 mit der integrierten ATMEL Seriennummer unterstützt. D.h. der LUFA code wäre entsprechend anzupassen.

Der Weg, einen einstellbaren Seriennummer Descriptor einzubauen, war schneller und einfacher umzusetzen.  ;)

Gruß, Ansgar.
« Letzte Änderung: 04 Februar 2016, 21:08:39 von noansi »

Offline noxinu

  • New Member
  • *
  • Beiträge: 6
Antw:CUL mit serial für eindeutige Zuordnung per udev?
« Antwort #13 am: 02 Februar 2016, 22:14:02 »
Hi.

Die Zuweisung "by-path" ist auch Käse und führt zumindest bei mir auf einem VMware ESX immer wieder zu Problemen, da die Gerät scheinbar nach Shutdown-Restarts verschiedener VMs immer wieder auf anderen virtuellen Ports zu finden sind.

Alternativ lässt sich die ID des Geräts editieren in der board.h

Näheres findet sich hier http://culfw.de/commandref.html

die culfw auschecken via
svn checkout svn://svn.code.sf.net/p/culfw/code/trunk culfw-code

wenn im HOME Verzeichnis ausgepackt,
dann findet sich in ~/culfw-code/culfw/Devices/CUL/

die Datei board.h

diese lässt sich dann zB via

nano board.h

bearbeiten.

Editiert habe ich...

#define BOARD_ID_STR            "CUL868FS20"
#define BOARD_ID_USTR           L"CUL868FS20"

Das Ergebnis sieht dann so aus:

root@debian ~ > ls -l /dev/serial/by-id
insgesamt 0
lrwxrwxrwx 1 root root 13 Jan 18 22:40 usb-busware.de_CUL433-if00 -> ../../ttyACM2
lrwxrwxrwx 1 root root 13 Jan 13 11:55 usb-busware.de_CUL868FS20-if00 -> ../../ttyACM1
lrwxrwxrwx 1 root root 13 Jan 13 11:48 usb-busware.de_CUL868HM-if00 -> ../../ttyACM0
lrwxrwxrwx 1 root root 13 Nov 26 23:40 usb-FTDI_FT232R_USB_UART_A603IGD0-if00-port0 -> ../../ttyUSB2
lrwxrwxrwx 1 root root 13 Nov 26 23:40 usb-FTDI_FT232R_USB_UART_A7031F5L-if00-port0 -> ../../ttyUSB1
lrwxrwxrwx 1 root root 13 Jan 13 10:18 usb-FTDI_FT232R_USB_UART_AL006T17-if00-port0 -> ../../ttyUSB0

Das brauchte ich neulig selbst wieder und konnte die Info auf die Schnelle nicht finden, deshalb hier kurz zusammengefasst.

Achja, um den CUL in den Bootloader zu schicken kann man das Teil natürlich mit gedrücktem Taster in den USB Port stecken.... oder aber....

set CUL_xxx raw B01

an das zu flashende Gerät absetzen...

Have Fun

Offline Darkman

  • New Member
  • *
  • Beiträge: 43
Antw:CUL mit serial für eindeutige Zuordnung per udev?
« Antwort #14 am: 03 Februar 2016, 11:28:09 »
Moin,

danke fuer den Tipp mit der Firmware anpassung. Ich wuerde an der Stelle jedoch die "Serial" nehmen die Busware auf das Ding drauf gedruckt hat. Dann hat man ein eindeutigen Identifikationsstring der auch auf dem Ding drauf steht. Falls dann doch mal der HM Stick fuer was anderes herhalten soll.

Wer sich das ersparen moechte, koennte noch folgenden "Trick" versuchen:
Statt die ID zu nehmen gibt es auch noch den USB Port als Referenz. Wer also nicht extra neue Firmware bauen moechte kann die Dinger via.
/dev/serial/by-path/
einbinden. Wenn man dort mit einem "ls -la" guckt, sieht man die aktuelle Zuordnung (so als Hilfe) und kann die entsprechenden Devices darueber einbinden. Also fuer nen Raspi (ohne Gewaehr!) z.B. ueber
/dev/serial/by-path/platform-3f980000.usb-usb-0:1.3:1.0-port0
fuer den ersten USB Port, port1 fuer den 2. usw.

Solange ihr die Sticks dann in die richtigen Ports steckt, passts.

Gruss,
Sven[/code]
« Letzte Änderung: 03 Februar 2016, 12:20:01 von Darkman »
FHEM: 5.7 auf Raspi 2
FHEM2FHEM: 5.7 auf Raspi 1B

Protokolle: LaCrosse/Jeelink, HM, SlowRF, 433 Funksteckdosen, EI Electronics via. GPIO
Module: NetIO230B, ESA2000, Calendar, CALVIEW, Weather, UWZ, HUEBridge, pilight, RPI_GPIO, RESIDENTS/ROOMATE

 

decade-submarginal