USB-Geräte unter Linux nicht sofort nach dem Start funktionsfähig

Ich hoffe hier kann mit jemand weiter helfen.

Habe einen Z-Wave ZME_UZB1 auf meinem Raspberry installiert.
Funktionier soweit auch ganz gut.

Jedoch immer nach Stromausfall oder reboot muss ich in der IO-Instantz den Serial Port einmal schließen und wieder öffnen damit er wieder funktioniert.

Gibt es einen Linux Befehl um den Port per Scrip zu schließen und wieder öffnen ?

Habe exakt das gleiche Problem mit meinem IPS-1-Wire GW und einem ESERA 1-Wire GW. Bzw. muss ich sogar die beiden gateways 1x hard resetten.

Habt ihr mal ins Logfile geschaut, ob dort ein paar passende Fehlermeldungen auftauchen? Sind die I/Os nach dem Start IPS als Fehlerhaft markiert?

paresy

Sieht so aus:

20:13:48 | 43638 | MESSAGE | Z-Wave Module | Erstelle…
20:13:48 | 65162 | MESSAGE | HMS | Erstelle…
20:13:48 | 58888 | MESSAGE | Dummy Module | Erstelle…
20:13:48 | 59996 | MESSAGE | Dummy Module | Erstelle…
20:13:48 | 44023 | MESSAGE | Client Socket | Erstelle…
20:13:48 | 44023 | MESSAGE | Client Socket | Öffne Socket…
20:13:48 | 52836 | MESSAGE | OneWire F28 | Erstelle…
20:13:48 | 48421 | MESSAGE | Client Socket | Erstelle…
20:13:48 | 48421 | MESSAGE | Client Socket | Öffne Socket…
20:13:49 | 48421 | WARNING | Client Socket | Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte
20:13:49 | 10482 | MESSAGE | Z-Wave Module | Erstelle…
20:13:49 | 59418 | MESSAGE | Dummy Module | Erstelle…
20:13:49 | 59389 | MESSAGE | Z-Wave Module | Erstelle…
20:13:49 | 12058 | MESSAGE | FS20 | Erstelle…
20:13:49 | 56881 | MESSAGE | Z-Wave Module | Erstelle…
20:13:49 | 59138 | MESSAGE | Notification Control | Erstelle…

passiert aber nur bei einem Neustart meines WIN2012R2 Servers. Dann muss ich die gatewys 1x aus/an machen, dann verbindet sich IPS sofort.
Die I/O sind fehlerhaft markiert. Gleiches Verhalten bei einem IPS 1W GW und einem ESERA. Sicher keine Hardware Problem.

Hallo luckycharly,

Du könntest beim Start von Linux auf die serielle Schnittstelle warten. Für eth0 gibt es da schon Beispiele im Netz. Die könntest Du umbauen.

Grüße, Gerhard

Hallo Paresy

Nach dem Neustart ist die Schnittstelle nicht fehlerhaft Markiert.
Im Logfile kommt der Fehler

31.07.2017 13:12:16 | TimerPool | Z-Wave Gateway (KeepAlive): Waiting for acknowledge timed out.

Hallo Gerhard

Kannst du mir den Link schicken, habe nichts gefunden.

MfG Karl

Hallo Karl,

ich nutze /dev/ttyAMA0 für ZWave und ich muß hier nach dem boot nichts tun. Was steht denn in Deiner /boot/cmdline.txt ?

Grüße, Gerhard

@ Gerhard


dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=3ba1d6e1-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles

Hallo Karl,

was passiert, wenn Du ‚console=serial0,115200‘ weg läßt? Ich habe es bei mir nicht.

Grüße, Gerhard

@wupperi: Dies könnte ja passieren, wenn zum Startzeitpunkt das Netzwerk noch nicht verfügbar ist? Greift nach 1 Minute nicht der automatische Reconnect von IP-Symcon? Hast du mal versucht den Dienst mit verzögertem Start einzurichten?

paresy

Es sieht eher so aus, als würde IPS die Connection schon halten (Deswegen kommt beim Verbinden ein „Connection refused“, aber keine Daten durchschicken (Rotes Ausrufezeichen).

Nur wenn ich den Gateway hart ausschalte, also die Connection auf GW Seite kille, verbindet sich IPS.

Ich muss aber nochmals schauen, ob nicht irgendein VCP versucht, sich zu verbinden und IPS die Connection weg nimmt. Kommt mir gerade so beim Schreiben…

Hallo Gerhard

Hab’s gerade versucht leider gleiches Ergebnis.
Welchen USB Z-Wave Stick besitzt du, kaufe mir lieber einen neunen bevor ich hier noch viele Stunden verbrate.

Gruß Karl

So, ich habe IPS auf einen neuen Windows Server 2016, als VM in ESXi, ohne jegliche Altlasten (VCPs, o.ä.) migriert. Genau das gleiche Verhalten. Ist also definitiv nicht der Fall, dass sich ein anderer VCP schon auf IP:Port der gateways gelegt hat.

Hallo Karl,

ich habe für ZWave ein Zusatzmodul (razberry) für den Pi2 - deshalb auch die Anbindung über ttyAMA0. Einen USB-Stck würde ich auf ttyUSB erwarten. Wenn mehrere USB verwendet werden, kann es sein, dass sie beim Neustart nicht mehr unter der gleichen ID liegen. Da könnte der USB-Mapper von paresy helfen.
razberry: wird nur gesteckt, hätte auch eigene Software, die aber NICHT parallel zu IPS verwendet werden kann. Kann manuell mit einer größeren Antenne versehen werden (Bastellösung).

Grüße, Gerhard

Hallo Gerhard

Konnte es zwischenzeitlich lösen.
Sript wird nach dem Neustart ausgeführt.


IPS_Sleep(20000); // 20 Sek. Verzögerung bis Serial bereit    
$id = 27855 /*[Serial Port (Z-Wave Gateway #59005)]*/ ;
IPS_SetProperty($id, "Open", false); //I/O Instanz soll deaktiviert sein.
IPS_SetProperty($id, "Open", true); //I/O Instanz soll aktiviert sein.
IPS_ApplyChanges($id); //Neue Konfiguration übernehmen  

Hallo Karl,

die Lösung von Thomas hatte ich garnicht mehr auf dem Schirm. Sonst hätte ich Dich gleich dorthin geschickt.
Schön, dass es jetzt funktioniert.

Grüße, Gerhard