USB Ports deaktivieren

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Hallo Ihr,

    lassen sich die USB-Ports und möglicherweise auch andere Ports deaktivieren ? Wenn das z.B. auch in Hinblick auf Energieverbrauch Sinn macht, würde ich das in meinem aktuellen Projekt tun. Ich verwende nur die GPIO-Pins.


    maksimilian

  • lassen sich die USB-Ports ...

    Ja, z. B. mit:

    Code
    lsusb
    sudo echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/remove
    lsusb

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Ist dann auch wieder Aktivierung möglich ?

    ja, nach einem reboot sind die wieder aktiviert.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • sudo echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/remove

    Dies dürfte evt. auf einem Pi4 funktionieren, auf dem angefragten (wenn ich der verwendeten Forenkategorie glauben darf) Pi3 jedoch nicht. Es gibt da auch sicher Möglichkeiten, evt. funktioniert da [tt]hub-ctrl[tt] sogar noch. Vielleicht gibts auch einen funktionierenden Eintrag im sysfs (eine Suchmaschie weiss da mehr als ich im Moment). Auf jeden Fall muss man imho aufpassen, dass man den per USB angebundenen Lan Chip nicht mit abschaltet.



    Edit: Die angegebene Zeile funktioniert auch auf einem Pi4 NICHT. Funktionierende Lösungen finden sich in #11 und #12.

  • Für den PI3 kann man z. B. mit:


    aktivieren:

    Code
    sudo echo '1-1' > /sys/bus/usb/drivers/usb/bind

    deaktivieren:

    Code
    sudo echo '1-1' > /sys/bus/usb/drivers/usb/unbind

    testen. Wenn man den LAN- bzw. WLAN-Anschluss des PI3 braucht und trotzdem getestet werden soll, sollte man einen cronjob (oder gleichwertig) haben, der die USP-Ports des PI3 wieder aktivieren kann und den PI3 rebootet, wenn das default gateway nicht mehr erreichbar ist.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Für den PI3

    Jetzt hab ich mal meinen Pi3 hergeholt, das funktioniert (zumindest so) nicht (mehr?). Vielleicht hast Du noch eins in petto, ich suche auch mal.

    Code
    root@raspberrypi:/home/pi# echo '1-1' > /sys/bus/usb/drivers/usb/bind
    bash: echo: Schreibfehler: Kein passendes Gerät gefunden.
  • Jetzt hab ich mal meinen Pi3 hergeholt, das funktioniert (zumindest so) nicht (mehr?). Vielleicht hast Du noch eins in petto, ich suche auch mal.

    Nein, denn auf meinem PI3 ist inzwischen FreeBSD als OS drauf.

    Evtl. im PIOS, mit:

    Code
    ls -la /sys/bus/usb/drivers/usb

    nachschauen. Aber ich denke, beim PI3 wird man ganz selten, die USP-Ports deaktivieren wollen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • PI3 wird man ganz selten, die USP-Ports deaktivieren wollen.

    Nun, der TE wollte es. ;) Ich guck mal nach, ob ich noch etwas finde und schreibs dann in diesen Post.


    Edit: Mit uhubctl lässt sich das recht einfach bewerkstelligen. Siehe auch #11.

  • Hallo maksimilian,

    Hallo Ihr,

    lassen sich die USB-Ports und möglicherweise auch andere Ports deaktivieren ? Wenn das z.B. auch in Hinblick auf Energieverbrauch Sinn macht, würde ich das in meinem aktuellen Projekt tun. Ich verwende nur die GPIO-Pins.


    maksimilian

    möglich ist das - aber Sinn macht das keinen. Es wird immer soviel abgegeben, wie gezogen wird. Hängt kein Verbraucher am USB, wird da auch nichts eingespart.


    An einem RPi 3B kannst Du die USB-Ports über Konfiguration des Kernel-Konfigurators ausschalten. Dann musst Du den Kernel neu kompilieren. Dies gilt aber nur für die Ports 2 bis 4. Port 1 lässt sich nicht deaktiveren.


    Mit dieser Lösung schleichen sich dann allerdings andere Probleme ein. Unter Umständen gibt es Probleme mit dem Internet-Zugang, die dann aber nicht mehr lösbar sind, ohne die Änderungen rückgängig zu machen. Denke auch daran, dass Dir bei Folgeproblemen niemand wird helfen können, weil sich niemand den Aufwend machen wird, sich einen derartig entstellten Kernel "zu gießen", nur um Folgeprobleme nachstellen zu können.


    Wie gesagt, für sinnvoll halte ich das nicht, auch wenn es Anwendungen dafür geben mag.


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • An einem RPi 3B kannst Du die USB-Ports über Konfiguration des Kernel-Konfigurators ausschalten. Dann musst Du den Kernel neu kompilieren. Dies gilt aber nur für die Ports 2 bis 4. Port 1 lässt sich nicht deaktiveren.

    Hast Du eine Quelle dafür?


    Alle Pi vor V4 verfügten über einen internen USB/Ethernet Hub (SMSC LAN9514 / LAN7515), der an den einzigen USB Kanal des Soc gekoppelt ist. Je nach Pi lassen sich einzelne Ports dieses Chips bzw. der komplette Chip schalten - der geneigte Leser darf gern damit herumspielen. Seiteneffekt der Abschaltung von USB Ports ist wie erwähnt unter manchen Umständen die gleichzeitige Deaktivierung des ebenfalls in den Hub integrierten Ethernet Chips. Auf keinen Fall muss man dafür gar einen neuen Kernel kompilieren, das lässt sich natürlich bei allen Pi nachträglich per Software erledigen und ebenso auch wieder rückgängig machen.



    Abgesehen davon ist natürlich diskussionswürdig, wieviel Strom duch das Abschalten des Hubs gespart würde. Kann man ja mal messen.


    Quellen: Raspberry Pi Documentation, uhubctl auf Github

  • Hallo,


    ich schalte meine USB-Ports am PI3 folgendermassen:


    Aus:

    echo 0 | sudo tee /sys/devices/platform/soc/3f980000.usb/buspower >/dev/null


    Ein:

    echo 1 | sudo tee /sys/devices/platform/soc/3f980000.usb/buspower >/dev/null


    Und ich messe im abgeschaltenen Zustand einen deutlich geringeren Strombedarf.


    EDIT:

    Und man kann beliebig ein- / ausschalten ohne Neustart!


    Grüße

    Dieter

  • Hallo STF,


    das könnte durchaus sein. WLAN geht aber auf jeden Fall, weil ich die PIs mittels Putty administriere.


    Dieter

  • Hallo STF,

    Hast Du eine Quelle dafür?

    Ich habe doch den Kernel-Konfigurator bzw. Menu-Konfigurator erwähnt. Mit diesem Programm klickst Du Dir u.a. die vom Kernel zu unterstützende Hardware zusammen. Wenn keine USB-Unterstützung gewünscht ist, dann wird das halt weggeklickt.

    Ich hatte 2014 dazu mal einen Thread eingekippt, in dem ich die Bedienung einer Software von mir vorgestellt hatte, die für die Icon-Tutorials 46 bis 50 den Themenschwerpunkt bildete. Ein Arbeitsschritt besteht in der Erstellung, Aufruf und Bedienuing des Menu-Konfigurators zur Erstellung beliebig individueller Linux-Kernels inkl. deren Compilierung.


    Da das alles vor über 6 Jahren dokumentiert ist, suche ich jetzt keine Screenshots bzgl. USB-Anbindung heraus. OK?


    Alle Linux-Kommandos dazu sind dort vorgestellt, so dass ein Nachmachen auch ohne aktuelle Version des Kernel-Compilators möglich ist. Du kannst natürlich auch die verwendete Konfig-Datei manuell anpassen. Da ist aber Vorsicht geboten, da viele Einstellungen Seiteneffekte enthalten, die unvorhersehbare Folgen haben, wenn man sich damit nicht auskennt.



    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Wenn das z.B. auch in Hinblick auf Energieverbrauch Sinn macht, würde ich das in meinem aktuellen Projekt tun. Ich verwende nur die GPIO-Pins.

    Macht es nicht. Jenseits von vielleicht ein paar Milliwatt, die durch die Nutzung des USB-Hubs und Ethernet-PHYs verbraucht werden, verbraten Ports keinen Strom, wenn nichts an ihnen haengt. Was glaube ich Andreas auch schon ausgefuehrt hat.

  • Kernel-Konfigurator

    OK, also im Jahre 2021 außerhalb von sehr speziellen Fällen völlig unsinnig, wenn es viel einfacher und vor Allem reversibel funktioniert. Danke Dir, habs mal überflogen.


    Wenn das z.B. auch in Hinblick auf Energieverbrauch Sinn macht,

    So, nach den ganzen Diskussionen hier habe ich das mal nachgeprüft. Im Hinblick auf den Energieverbrauch ohne angeschlossene Verbraucher hat es keinerlei Einfluss, ob am (in diesem Fall) RPi4 die USB Ports an oder abgeschaltet sind. Er idlet mit um die 490mA herum. Selbst mit einem testweise gesteckten USB Stick ändert sich das nicht, von den Spitzen beim mounten und (harten) unmounten mal abgesehen. Die rühren aber vom reagierenden System her.

  • [OT]

    Nur mal ganz nebenbei ...

    in einem Online-Beitrag las ich vor ein paar Tagen einen Beitrag, welcher lautete "Wie schmutzig ist ein Klick?".

    Nun habe ich mir gerade vorgestellt, welche Energie bei der Erstellung dieser 19 Beiträge und dem Tausenfachen Lesen selbiger verbraten wurde. Und das stelle ich dann ins Verhältnis zum Energie"Verbrauch" eines unbenutzten USB-Anschlusses bzw. zur erreichbaren Einsparung bei dessen Deaktivierung.

    [/OT]

  • Nun habe ich mir gerade vorgestellt, welche Energie bei der Erstellung dieser 19 Beiträge und dem Tausenfachen Lesen selbiger verbraten wurde. Und das stelle ich dann ins Verhältnis zum Energie"Verbrauch" eines unbenutzten USB-Anschlusses bzw. zur erreichbaren Einsparung bei dessen Deaktivierung.

    Aber dann sind sie wenigstens weg von der Straße. ;)


    Ne, im Ernst, bei der überhaupt auch nur theoretisch einzusparenden Energie spielt das sicher keine Rolle. Bei der Laufzeit eines Gerätes mit begrenzten Ressourcen vielleicht schon. Dass es keinen Unterschied gibt, ist ja auch eine Aussage.