From 12d7ac69b9af07ed9eb91f0282545929d3f368fd Mon Sep 17 00:00:00 2001 From: Alex P Date: Tue, 18 Nov 2025 01:56:52 +0200 Subject: [PATCH] Fix USB HID errors during browser refresh When browser refreshes (Shift+R), USB state changes from "configured" to "default" temporarily. Previously, HID files remained open with stale file handles, causing "transport endpoint shutdown" errors. Now proactively close HID files when USB transitions away from "configured" state, preventing writes to invalid endpoints. Fixes USB HID transport endpoint shutdown errors during browser refresh. --- usb.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/usb.go b/usb.go index debb96af..53b60a10 100644 --- a/usb.go +++ b/usb.go @@ -113,6 +113,11 @@ func checkUSBState() { usbState = newState usbLogger.Info().Str("from", oldState).Str("to", newState).Msg("USB state changed") + if oldState == "configured" && newState != "configured" { + usbLogger.Info().Msg("USB deconfigured, closing HID files") + gadget.CloseHidFiles() + } + if newState == "configured" && oldState != "configured" { usbLogger.Info().Msg("USB configured, reopening HID files") gadget.CloseHidFiles()