Für rtl8822bu die Option rtw_switch_usb_mode=1 in /etc/modprobe.d hinterlegen

Hinweis: In dem Thema Für rtl8822bu die Option rtw_switch_usb_mode=1 in /etc/modprobe.d hinterlegen gibt es 8 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Der rtl8822bu Treiber (rtl8822bu-kmp-preempt-git20201115_k5.3.18_lp152.19-lp152.8.1.x86_64.rpm) für meine EDUP EP-AC1689-Dongles funktioniert soweit prima, kommt aber auch in einem USB3-Port nur auf halbe Geschwindigkeit.


    Mit iperf3:

    [ ID] Interval Transfer Bitrate Retr

    [ 5] 0.00-10.01 sec 236 MBytes 198 Mbits/sec 0 sender

    [ 5] 0.00-10.05 sec 234 MBytes 196 Mbits/sec receiver

    Code
    lsusb -t
    /:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
    /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
    |__ Port 1: Dev 4, If 0, Class=Vendor Specific Class, Driver=rtl88x2bu, 480M

    Lade ich den Treiber manuell, komme ich auf USB3-Geschwindigkeit:

    sudo modprobe rtl8822bu rtw_switch_usb_mode=1


    iperf3:

    [ ID] Interval Transfer Bitrate Retr

    [ 5] 0.00-10.02 sec 355 MBytes 297 Mbits/sec 0 sender

    [ 5] 0.00-10.22 sec 354 MBytes 291 Mbits/sec receiver

    Code
    lsusb -t
    /:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
        |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=rtl88x2bu, 5000M



    Ich habe versucht, die Dateien /etc/modprobe.d/rtl8822bu.conf oder /etc/modprobe.d/rtl88x2bu.conf anzulegen mit jeweils folgendem Inhalt:

    options rtl8822bu rtw_switch_usb_mode=1

    oder

    options rtl88x2bu rtw_switch_usb_mode=1


    Leider habe ich dann ohne manuelles Zutun noch immer nur USB2-Geschwindigkeit.

    Danke für einen Tipp, wie das richtig geht.

    Für den Inhalt des Beitrages 285357 haftet ausdrücklich der jeweilige Autor: Schugy

  • Da die openSUSE Sever down sind, dauert es etwas.......


    Kannst ja mal posten:

    Code
    rpm -qa kernel*
    Code
    rpm -qa rtl8822*
    Code
    lsusb
    Code
    uname -a

    Für den Inhalt des Beitrages 285359 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Hallo Sauerland,


    hier die 4 Ausgaben:

    Code
    kernel-firmware-20200107-lp152.1.1.noarch
    kernel-preempt-5.3.18-lp152.50.1.x86_64
    Code
    rtl8822bu-kmp-preempt-git20201115_k5.3.18_lp152.19-lp152.8.1.x86_64
    rtl8822bu-kmp-preempt-git20201115_k5.3.18_lp152.50-lp152.8.1.x86_64
    rtl8822bu-kmp-preempt-git20200822_k5.3.18_lp152.47-lp152.2.18.x86_64
    Code
    Bus 002 Device 004: ID 0bda:b728 Realtek Semiconductor Corp. 
    Bus 002 Device 003: ID 0bda:579a Realtek Semiconductor Corp. 
    Bus 002 Device 002: ID 0438:7900 Advanced Micro Devices, Inc. 
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 003: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
    Bus 001 Device 002: ID 0438:7900 Advanced Micro Devices, Inc. 
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 002: ID 0bda:b812 Realtek Semiconductor Corp. 
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Code
    Linux tux4 5.3.18-lp152.50-preempt #1 SMP PREEMPT Tue Nov 10 21:02:48 UTC 2020 (29ac38d) x86_64 x86_64 x86_64 GNU/Linux

    Für den Inhalt des Beitrages 285360 haftet ausdrücklich der jeweilige Autor: Schugy

  • Leider konnte ich wegen dem Stromausfall bei openSUSE erst heute schreiben, konnte das rpm ja auch nicht herunterladen um zu schauen, was ich da gebaut habe......


    Aber schön, das es läuft.

    Für den Inhalt des Beitrages 285369 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Die Beschreibung sieht schon sehr gut aus. Der dracut-Befehl hat mir gefehlt, habe einen anderen Treiber deswegen dazu installiert.

    Der echo-Befehl zur Dateierstellung von rtl8822bu.conf funktioniert, wenn ich schon mit sudo -s als root angemeldet bin. Wenn erst noch das Passwort eingegeben werden muss, funktioniert die Umleitung mit ">" in eine Datei nicht. Wenn es eine Möglichkeit ohne sudo-Session gibt, lerne ich diesen Befehl sehr gern.

    Für den Inhalt des Beitrages 285373 haftet ausdrücklich der jeweilige Autor: Schugy

  • Mach es vernünftig, trenn dich von sudo.

    Der ist unter openSUSE nicht so konfiguriert wie unter *buntu, was ja auch richtig ist.

    sudo ist kein su Ersatz.

    Für den Inhalt des Beitrages 285375 haftet ausdrücklich der jeweilige Autor: Sauerland

  • ... funktioniert die Umleitung mit ">" in eine Datei nicht. ...

    Da hat mal irgend so ein Loser ein Tutorial hier eingestellt, was genau dein "sudo- Problem" klärt.

    Dein eigentliches Problem mit diesem Shell Kommando sind aber zwei:

    1. Wenn du nur über deine Eingaben und deren Resultate schreibst, hilft das nicht wirklich.
      Poste künftig -statt zu berichten- den exakten Befehl samt dessen Ausgabe.
    2. Dein wirkliches, praktisches Problem ist das berüchtigte "Quoting"

    Jede moderne Shell ist ein Zwitter: Zu allererst dient eine Shell als "Userinterface" zum Kernel. Du startest damit Prozesse. Und du kannst damit in der jeweils eigenen "Skriptsprache" programmieren. Wahrlich ein degenerierter Zwitter mit enorm vielen Stolperfallen, die jeden versierten Programmierer in den Wahnsinn treiben können. (Und damit viel Raum für teure "Profis" schaffen)


    Damit eine Shell ein Kommando ausführen kann, muss die Schell den Unsinn, den ein User eintippselt, erst einmal verstehen lernen.

    Sobald du bei einer Eingabezeile <ENTER> drückst, durchläuft die Shell deshalb also fünf Schritte. (Ich gehe darauf hier aus Platz- und Lustgründen nicht genau ein)


    Die für dein Problem wesentlichen Schritte sind das Parsen und das Umleiten.

    Beim Parsen , das sich vom lateinischen pars (== Teil) herleitet, zerlegt die Shell die Eingabezeile in Tokens. Dies passiert bei der bash (== BourneAgainSHell) NACH dem Umleiten unter Berücksichtigung der "Bash- Systemvariablen" namens IFS (dem InternalFieldSeparator).


    Das Quoting, also das korrekte Einteilen der Kommadozeile durch Anführungszeichen zwingt die Shell die Eingabezeile von dir auch so zu verstehen, wie du das denkst.

    Quotest du nicht korrekt werdet ihr - die Shell und du- euch niemals verstehen.


    Ein schlichtes Beispiel:

    Probiere touch eine "eine Datei" Datei. Der Befehl touch "touched" eine existierende Datei (,ändert also lediglich die LastModify Zeit), oder erzeugt sie falls sie noch nicht existiert.

    Nach dem Befehl gibt es DREI Dateien. Die Anführungszeichen um "eine Datei" zwingen die Shell dazu die Zeichenkette "eine Datei" als ein Token wahrzunehmen - nicht als zwei.


    Und wie ich gerade das alles so vor mich hin brabble, ist mein Bier leer und ich somit müde.


    Es bleibt also gerad noch Zeit zu schreiben, dass du deine noch immer nicht gezeigte Eingabezeile lediglich dahingehend ändern musst, dass die Shell sie auch in deinem Sinne versteht. Remember: Erst das korrekte Quoting zwingt die Shell deine Eingabe auch so zu verstehen, wie du sie dir denkst.


    Poste den Befehl und ich schreibe dir die korrekt gequotete Version, die auch tut, was du möchtest.


    Und ganz davon ab: Hier hat schon einmal irgendein Trottel ein Tutorial zu su vs. sudo eingestellt.

    Und natürlich könntest du all das vermeiden, wenn du dir z.B. via YaST selbst einfach für solche Kommandos root- Rechte erteilst - und damit sogar ohne Spassworteingabe dir erlaubst alle möglichen root- Kommandos auszuführen, so du das möchtest.

    Generell handlen die zwei großen Linux- Familien RPM (openSUSE and alike) und alle DEBian Derivate diese Sache leicht unterschiedlich. Versteht man es, so tun sie alle das Gleiche (Distri- Bashing und Hopping sind nur für Anfäger, Schwachköpfe und AFDler).

    Alle kennen su und sudo. Wir sind Linux.

    Gute Nacht!


    Ach, noch eins: Lies einfach das da: https://mywiki.wooledge.org/Quotes