Yesterday, 17:28
Code:
-- Script USB Reset Final pour LM5 OpenRB
-- Version simplifiée et optimisée
local function write_file_safe(file, value)
local f = io.open(file, "w")
if f then
local success, err = pcall(function()
f:write(value)
f:close()
end)
if success then
log("✓ Reset: " .. file)
return true
end
end
return false
end
-- Configuration LM5 validée
local USB_BUSES = {
"/sys/devices/platform/soc/2100000.aips-bus/2184000.usb/ci_hdrc.0/usb1",
"/sys/devices/platform/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb2"
}
-- Reset USB rapide et efficace
local function restart_usb_lm5()
log("=== Redémarrage USB LM5 ===")
for i, bus_path in ipairs(USB_BUSES) do
log("Reset bus USB" .. i .. "...")
-- Désauthoriser le bus
write_file_safe(bus_path .. "/authorized", "0")
os.execute("sleep 1")
-- Réauthoriser le bus
write_file_safe(bus_path .. "/authorized", "1")
os.execute("sleep 1")
end
log("✓ Reset USB terminé")
-- Attendre la détection des périphériques
os.execute("sleep 2")
-- Vérification
log("Vérification des périphériques USB...")
local handle = io.popen("dmesg | grep -E 'ttyUSB|ftdi_sio|SerialNumber' | tail -5 2>/dev/null")
if handle then
for line in handle:lines() do
log(" > " .. line)
end
handle:close()
end
log("=== Fin du redémarrage ===")
end
-- Fonction principale simplifiée
local function main(arg)
if #arg == 0 or arg[1] == "restart" then
restart_usb_lm5()
else
log("Usage: main({\"restart\"}) ou main({})")
end
end
-- Auto-exécution
main({})

Jean-Marc