ts555 0 Posted January 12 Share Posted January 12 Hallo, mit folgendem Aufbau lässt sich ein Problem reproduzieren, dass ich erst kürzlich entdeckt habe: Ein Master Brick ist über einen USB2.0-Hub mit der USB-Schnittstelle eines PCs verbunden: PC <--> USB2.0-HUB <--> Master Brick (FW 2.4.10) Verwendet wird der Versionsstand Brick Deamon V2.4.3 und Brick Viewer V2.4.16. Im Brick Viewer wird eine Verbindung hergestellt und es erscheint ein Reiter "Master Brick 2.1". a) Wenn man nun die USB-Verbindung zwischen Master Brick und USB-Hub trennt, dann verschwindet im Brick Viewer der Reiter "Master Brick 2.1" automatisch. Nach erneutem Anstecken des USB-Kabels an den USB-Hub taucht der Reiter "Master Brick 2.1" automatisch wieder auf - so wie es sein soll. b) Wenn man die Verbindung zwischen PC und USB-Hub trennt, wird dies vom Brick Viewer (in den allermeisten Fällen) nicht erkannt. Der Reiter "Master Brick 2.1" bleibt bestehen. Alle set-Funktionen können ohne Fehlermeldung ausgeführt werden, obwohl der Brick gar nicht mehr angeschlossen ist! Nach erneutem Anstecken des USB-Hubs (inkl. Master Brick) an den PC wird zwar ein Connect-Callback/Enumerate ausgelöst, sodass der Master Brick dann auch wieder weiter läuft, aber die Trennung sollte ja auch erkannt werden. Woran könnte es liegen, dass die verlorengegangene USB-Verbindung zum Brick nicht erkannt wird, wenn man einen dazwischengeschalteten USB-Hub mit abtrennt? Quote Link to post Share on other sites
photron 12 Posted January 12 Share Posted January 12 Linux, Windows oder macOS? Brick Daemon verwendet die USB Hotplug Erkennung des Betriebssystems. Ich fürchte da können wir nicht viel machen, wenn das nicht richtig funktioniert. Quote Link to post Share on other sites
ts555 0 Posted January 12 Author Share Posted January 12 Windows 10 Im Windows-Gerätemanager wird beim An-/Abstecken alles fehlerfrei an- und abgemeldet... Quote Link to post Share on other sites
photron 12 Posted January 14 Share Posted January 14 Dann zeichne bitte mal mit dem Log Viewer den Fehlerfall auf. Dazu folgende Schritte durchführen: Hub ist abgesteckt "Brickd 2.4.3 - Log Viewer" starten "Live Log" auf "Debug Level" stellen Hub anstecken, kurz warten und wieder abstecken. Falls das Problem nicht aufgetreten ist, dann Log Viewer schließen und bei 1. wieder beginnen. Log Viewer fehlt noch eine Clear Funktion, daher muss Log Viewer neugestartet werden. Bitte nur einen An- und Absteckvorgang aufzeichnen Live Log mittels "Save..." speichern und hier anhängen Quote Link to post Share on other sites
ts555 0 Posted January 14 Author Share Posted January 14 Ich das jetzt mal so gemacht - allerdings noch mit parallel geöffnetem Brick Viewer, um sehen zu können, ob ich so einen Fehlerfall erwische. Zu folgenden Zeitpunkten habe ich Aktionen durchgeführt (vgl. Anhang): 13:26:30 - Klick auf "Connect" im Brick Viewer 13:26:40 - USB-Hub angesteckt 13:26:50 - USB-Hub abgesteckt 13:27:00 - Klick auf "Disconnect" im Brick Viewer Man kann erkennen, dass die Trennung vom Master Brick [6rkehm] eigentlich erkannt wurde? Im Brick Viewer blieb der Reiter "Master Brick 2.1" nach 13:26:50 aber offen... brickd_live_20210114_132710.log Quote Link to post Share on other sites
ts555 0 Posted January 14 Author Share Posted January 14 Hier zum Vergleich noch ein Log zu einem erfolgreichen Trennvorgang (trotz USB-Hub). Wieder mit Zeitangaben: 14:05:50 - Klick auf "Connect" im Brick Viewer 14:06:00 - USB-Hub angesteckt 14:06:10 - USB-Hub abgesteckt 14:06:20 - Klick auf "Disconnect" im Brick Viewer brickd_live_20210114_140805.log Quote Link to post Share on other sites
photron 12 Posted January 14 Share Posted January 14 Okay, das war sehr hilfreich. Das ist ein Bug in brickd. Brickd erwartet, dass zwischen dem Abstecken und der Benachrichtigung vom OS dazu maximal eine Sekunde vergeht. Im ersten Log vergehen dazwischen aber 2,5 Sekunden. Im zweiten fehlerfreien Log vergeht nicht mal 1 Millisekunde dazwischen. Der Bug ist, dass brickd das Abstecken dann nicht richtig behandelt und dadurch der Enumerate-Disconnected Callback nicht gesendet wird. Dadurch bleibt der Tab in Brick Viewer stehen. Ich werde hier in Kürze eine korrigierte brickd Version zum Testen posten. Quote Link to post Share on other sites
ts555 0 Posted January 14 Author Share Posted January 14 Ja wäre super, wenn das verbessert werden könnte 👍 Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.