Hallo,
ich hatte ein ähnliches Problem mit den Steca Solarix (AX 5000 Type). Hinter dem USB Port ist ein "ID 0665:5161 Cypress Semiconductor USB to Serial" verbaut, und meine drei Hybrid Inverter kamen dann gemeinsam mit 4 weiteren als /dev/hidraw(x) daher. Leider nicht nach jedem Reboot gleich.
Code: Alles auswählen
pi@solarctrl:~ $ ls /dev/hid* -al
crw------- 1 root root 245, 0 Feb 5 07:52 /dev/hidraw0
crw------- 1 root root 245, 1 Feb 5 07:52 /dev/hidraw1
crw------- 1 root root 245, 2 Feb 5 07:52 /dev/hidraw2
crw------- 1 root root 245, 3 Feb 5 07:52 /dev/hidraw3
crw------- 1 root root 245, 4 Feb 5 07:52 /dev/hidraw4
crw------- 1 root root 245, 5 Feb 5 07:52 /dev/hidraw5
crw------- 1 root root 245, 6 Feb 5 07:52 /dev/hidraw6
Ich habe dann versucht, über udev Rules fixe Zuordnungen zu machen, habe aber bei dem Chip kein eindeutiges Attribut (etwa SerialNumber) gefunden.
Schließlich habe ich das Problem plump aber effektiv "erledigt":
Die 3 Geräte sind jeweils auf fixe Positionen eines kleinen 4-Port USB Hub angesteckt. ( EAN: 4260113575703 )
In einem Shell Script hole ich mir die /dev/hidraw* und frage mit udevadm den ganzen Pfad ab. Wenn es sich um einen Cypress Chip handelt, dann errechne ich mir aus dem Port des USB Hub einen schönen Namen (Inv1 .. Inv3) und erzeuge eine Link unter /dev/cypress.
Code: Alles auswählen
pi@solarctrl:~ $ ls /dev/cypress/ -al
insgesamt 0
drwxr-xr-x 2 root root 100 Feb 5 07:52 .
drwxr-xr-x 19 root root 3900 Feb 5 07:52 ..
lrwxrwxrwx 1 root root 12 Feb 5 07:52 Inv1 -> /dev/hidraw0
lrwxrwxrwx 1 root root 12 Feb 5 07:52 Inv2 -> /dev/hidraw3
lrwxrwxrwx 1 root root 12 Feb 5 07:52 Inv3 -> /dev/hidraw6
pi@solarctrl:~ $
Das Script startet über Cron nach dem Reboot. Hat jetzt über wohl 20-30 Reboots sauber funktioniert.
Aufgefallen ist mir, dass es beim Raspi 3b+ andere USB Pfade gibt als beim normalen 3b, und ich gehe davon aus, dass es auf anderer Hardware wieder anders aussieht. Daher hänge ich das Script hier mal nicht direkt rein.
--
Franz