🔧 ProgrammierungThree checks that were green for the wrong reason(16.09.2026 um 06:43 Uhr)
🔧 ProgrammierungTreat the Grader as Code, Not a Hidden Prompt(16.09.2026 um 06:49 Uhr)
🔧 Programmierung[Event Sourcing] Trying out Sekiban DCB: Implementation(16.09.2026 um 06:50 Uhr)
🔧 AI Nachrichten An LLM Is Not Your Backend — Here's What I Learned(16.09.2026 um 06:53 Uhr)
🔧 ProgrammierungA week of NVIDIA news is 5,718 articles. My filter kept 161(16.09.2026 um 06:55 Uhr)
🔧 ProgrammierungThree checks that were green for the wrong reason(16.09.2026 um 06:43 Uhr)
🔧 ProgrammierungTreat the Grader as Code, Not a Hidden Prompt(16.09.2026 um 06:49 Uhr)
🔧 Programmierung[Event Sourcing] Trying out Sekiban DCB: Implementation(16.09.2026 um 06:50 Uhr)
🔧 AI Nachrichten An LLM Is Not Your Backend — Here's What I Learned(16.09.2026 um 06:53 Uhr)
🔧 ProgrammierungA week of NVIDIA news is 5,718 articles. My filter kept 161(16.09.2026 um 06:55 Uhr)

🐧 Unix Server 🕛 vor 9 Jahren 3 Min Lesezeit
0

Power-cycling a USB port should be simple, right?

↗ Quelle (laforge.gnumonks.org)
🗣️ Stimme:

Every so often I happen to be involved in designing electronics
equipment that's supposed to run reliably remotely in inaccessible
locations,without any ability for "remote hands" to perform things like
power-cycling or the like. I'm talking about really remote locations,
possible with no but limited back-haul, and a very high cost of ever
sending somebody there for remote maintenance.


Given that a lot of computer peripherals (chips, modules, ...) use USB
these days, this is often some kind of an embedded ARM (rarely x86) SoM
or SBC, which is hooked up to a custom board that contains a USB hub
chip as well as a line of peripherals.


One of the most important lectures I've learned from experience is:
Never trust reset signals / lines, always include power-switching
capability
. There are many chips and electronics modules available on
the market that have either no RESET, or even might claim to have a
hardware RESET line which you later (painfully) discover just to be a
GPIO polled by software which can get stuck, and hence no way to really
hard-reset the given component.


In the case of a USB-attached device (even though the USB
might only exist on a circuit board between two ICs), this is typically
rather easy: The USB hub is generally capable of switching the power of
its downstream ports. Many cheap USB hubs don't implement this at all,
or implement only ganged switching, but if you carefully select your USB
hub (or in the case of a custom PCB), you can make sure that the given
USB hub supports individual port power switching.


Now the next step is how to actually use this from your (embedded) Linux
system. It turns out to be harder than expected. After all, we're
talking about a standard feature that's present in the USB
specifications since USB 1.x in the late 1990ies. So the expectation is
that it should be straight-forward to do with any decent operating
system.


I don't know how it's on other operating systems, but on Linux I
couldn't really find a proper way how to do this in a clean way. For
more details, please read my post to the linux-usb mailing list.


Why am I running into this now? Is it such a strange idea? I mean,
power-cycling a device should be the most simple and straight-forward
thing to do in order to recover from any kind of "stuck state" or other
related issue. Logical enabling/disabling of the port, resetting the
USB device via USB protocol, etc. are all just "soft" forms of a reset
which at best help with USB related issues, but not with any other part
of a USB device.


And in the case of e.g. an USB-attached cellular modem, we're actually
talking about a multi-processor system with multiple built-in
micro-controllers, at least one DSP, an ARM core that might run another
Linux itself (to implement the USB gadget), ... - certainly enough
complex software that you would want to be able to power-cycle it...


I'm curious what the response of the Linux USB gurus is.

Vollständiger Original-Artikel
Den kompletten Beitrag mit allen Details direkt auf laforge.gnumonks.org lesen.
↗ Original-Artikel auf laforge.gnumonks.org lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
1 Quelle
Mega-Upate für Google Pixel: Android 17 QPR1 bringt euch 25+ Neuerungen und 20 Fixes
1 Quelle
Three checks that were green for the wrong reason
1 Quelle
The Realpolitik of Tech: Navigating the Machiavellian Reality of People Management
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Power-cycling a USB port should be simple, right?

Thematisch verwandte Begriffe: Powercycling, port, should, simple · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...