Laut den Anleitungen (http://culfw.de/culfw.html) muss man den CUL entfernen und mit gedrücktem Mikroschalter wieder stecken.

Unter Umständen funktioniert es allerdings auch ohne das Drücken des Schalters.

Vorgeschichte

Der auf MAX/Moritz geflashte CUL lieferte nur noch sporadisch Daten und zeigte meist (im Log) nur noch

Error in CUL_MAX_SendQueueHandler: CUL CUL868 did not answer request for current credits. Waiting 5 seconds.

Ein "fhem>set CUL868 reopen" führte meist zu keiner Besserung, daher sollte ein Firmwareupdate durchgeführt werden.

Man findet dafür im Netz verschiedene Möglichkeiten:

  1. Direkt über FHEM
fhem>CULflash CUL868 CUL_V3
  1. Über eine normale Konsole
wget http://culfw.de/culfw-1.55.tar.gz
gunzip culfw-1.55.tar.gz
tar xfv culfw-1.55.tar
cd culfw-1.55/Devices/CUL
sudo make usbprogram_v3

Beide Wege scheiterten. Meist mit dem Hinweis auf "no device present". (Was auf den nicht-gedrückten Schalter hindeuten könnte.)
Ein Neustart des Gerätes (Raspberry) und einer erneuter Versuch über die Konsole brachte dann den Erfolg.

dfu-programmer atmega32u4 erase || true
dfu-programmer atmega32u4 flash CUL_V3.hex
Validating...
23220 bytes used (80.98%)
dfu-programmer atmega32u4 start

Anschließend wurde der CUL auch von lsusb wieder ordentlich erkannt:

Bus 001 Device 008: ID 03eb:204b Atmel Corp. LUFA USB to Serial Adapter Project

FHEM zeigte zwar auch nach einem Neustart des Raspberry noch Fehler an, allerdings half hier dann "reopen".

 

Ein Auswürde über die Konsole per

sh -c 'echo 1-1.8 > /sys/bus/usb/drivers/usb/unbind'
sh -c 'echo 1-1.8 > /sys/bus/usb/drivers/usb/bind'

war nicht erfolgreich.
Allerdings kann das auch an fehlerhaften USB-Pfaden (1.8) gelegen haben.

 

Der nächste Schritt ist die automatisierte Überwachung des CUL-Zustandes per Zabbix um entweder automatisch einen Versuch per "reopen" zu starten oder zumindest eine Benachrichtigung abzusetzen.