OxygenOS 13: keine Verbindung mit USB 3.0 Kabel unter Linux

  • 5 Antworten
  • Letztes Antwortdatum
1

19087

Gast
Nach etwa einem Jahr, habe ich von OxygenOS 11 (Android 11) auf OxygenOS 13 (Android 13) upgegradet.

Seit OxygenOS 13 mit Android 13 gibt es jedoch einen wirklichen Schnitzer seitens OnePlus bzw. BBK, denn USB 3.0 funktioniert nicht mehr unter Linux.

Das Problem äussert sich derart, dass sobald man ein USB 3.0/3.1/3.2 Kabel verwendet, der Auswahldialog

USB verwenden
  • Nur laden
  • Dateien übertragen / Android Auto
  • Fotos übertragen
gar nicht erst erscheint. Es lassen sich also mit einem USB 3.1 Kabel keine Daten übertragen.
Schliesse ich jedoch das Oneplus 9 Pro mit einem reinen USB 2.0 Kabel an, funktioniert es problemlos und der Auswahldialog erscheint.

Da es unter OxygenOS 11 (Android 11) funktioniert hat, habe also von OxygenOS13 wieder auf OxygenOS 12 und dann auf OxygenOS 11 downgegradet und mir mal näher die Linux Kernel Logs angesehen, mit folgendem Ergebnis:


OnePlus 9 Pro Oxygen OS 13 LE2123_11_F.72
mit USB 3.1 Kabel

Jan 04 19:41:38 localhost kernel: usb 2-2: new SuperSpeed USB device number 10 using xhci_hcd
Jan 04 19:41:38 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:38 localhost kernel: usb 2-2: new SuperSpeed USB device number 11 using xhci_hcd
Jan 04 19:41:38 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:39 localhost kernel: usb usb2-port2: attempt power cycle
Jan 04 19:41:39 localhost kernel: usb 2-2: new SuperSpeed USB device number 12 using xhci_hcd
Jan 04 19:41:40 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:40 localhost kernel: usb 2-2: new SuperSpeed USB device number 13 using xhci_hcd
Jan 04 19:41:40 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:40 localhost kernel: usb usb2-port2: unable to enumerate USB device
Jan 04 19:41:41 localhost kernel: usb 2-2: new SuperSpeed USB device number 14 using xhci_hcd
Jan 04 19:41:41 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:41 localhost kernel: usb 2-2: new SuperSpeed USB device number 15 using xhci_hcd
Jan 04 19:41:41 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:42 localhost kernel: usb usb2-port2: attempt power cycle
Jan 04 19:41:42 localhost kernel: usb 2-2: new SuperSpeed USB device number 16 using xhci_hcd
Jan 04 19:41:42 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:43 localhost kernel: usb 2-2: new SuperSpeed USB device number 17 using xhci_hcd
Jan 04 19:41:43 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:43 localhost kernel: usb usb2-port2: unable to enumerate USB device
Jan 04 19:41:45 localhost kernel: usb 2-2: new SuperSpeed USB device number 18 using xhci_hcd
Jan 04 19:41:45 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:46 localhost kernel: usb 2-2: new SuperSpeed USB device number 19 using xhci_hcd
Jan 04 19:41:46 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:46 localhost kernel: usb usb2-port2: attempt power cycle
Jan 04 19:41:47 localhost kernel: usb 2-2: new SuperSpeed USB device number 20 using xhci_hcd
Jan 04 19:41:47 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:48 localhost kernel: usb 2-2: new SuperSpeed USB device number 21 using xhci_hcd
Jan 04 19:41:48 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:48 localhost kernel: usb usb2-port2: unable to enumerate USB device
Jan 04 19:41:50 localhost kernel: usb 2-2: new SuperSpeed USB device number 22 using xhci_hcd
Jan 04 19:41:50 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:50 localhost kernel: usb 2-2: new SuperSpeed USB device number 23 using xhci_hcd
Jan 04 19:41:50 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:51 localhost kernel: usb usb2-port2: attempt power cycle
Jan 04 19:41:52 localhost kernel: usb 2-2: new SuperSpeed USB device number 24 using xhci_hcd
Jan 04 19:41:52 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:52 localhost kernel: usb 2-2: new SuperSpeed USB device number 25 using xhci_hcd
Jan 04 19:41:52 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:53 localhost kernel: usb usb2-port2: unable to enumerate USB device
Jan 04 19:41:54 localhost kernel: usb 2-2: new SuperSpeed USB device number 26 using xhci_hcd
Jan 04 19:41:54 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:55 localhost kernel: usb 2-2: new SuperSpeed USB device number 27 using xhci_hcd
Jan 04 19:41:55 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:55 localhost kernel: usb usb2-port2: attempt power cycle
Jan 04 19:41:56 localhost kernel: usb 2-2: new SuperSpeed USB device number 28 using xhci_hcd
Jan 04 19:41:56 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:57 localhost kernel: usb 2-2: new SuperSpeed USB device number 29 using xhci_hcd
Jan 04 19:41:57 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device
Jan 04 19:41:57 localhost kernel: usb usb2-port2: unable to enumerate USB device
Jan 04 19:41:59 localhost kernel: usb 2-2: new SuperSpeed USB device number 30 using xhci_hcd
Jan 04 19:41:59 localhost kernel: usb 2-2: got a wrong device descriptor, warm reset device

mit USB 2.0 Kabel
Jan 04 19:44:40 localhost kernel: usb 3-2.1.3.1: new high-speed USB device number 14 using xhci_hcd
Jan 04 19:44:40 localhost kernel: usb 3-2.1.3.1: New USB device found, idVendor=18d1, idProduct=4ee8, bcdDevice= 5.04
Jan 04 19:44:40 localhost kernel: usb 3-2.1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 04 19:44:40 localhost kernel: usb 3-2.1.3.1: Product: SM8350-MTP _SN:XXXXXXXX
Jan 04 19:44:40 localhost kernel: usb 3-2.1.3.1: Manufacturer: OnePlus
Jan 04 19:44:40 localhost kernel: usb 3-2.1.3.1: SerialNumber: xxxxxxxx
Jan 04 19:44:42 localhost kernel: usb 3-2.1.3.1: USB disconnect, device number 14
Jan 04 19:44:43 localhost kernel: usb 3-2.1.3.1: new high-speed USB device number 15 using xhci_hcd
Jan 04 19:44:43 localhost kernel: usb 3-2.1.3.1: New USB device found, idVendor=18d1, idProduct=4ee8, bcdDevice= 5.04
Jan 04 19:44:43 localhost kernel: usb 3-2.1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 04 19:44:43 localhost kernel: usb 3-2.1.3.1: Product: SM8350-MTP _SN:XXXXXXXX
Jan 04 19:44:43 localhost kernel: usb 3-2.1.3.1: Manufacturer: OnePlus
Jan 04 19:44:43 localhost kernel: usb 3-2.1.3.1: SerialNumber: xxxxxxxx
Jan 04 19:44:44 localhost kernel: usb 3-2.1.3.1: USB disconnect, device number 15
Jan 04 19:44:44 localhost kernel: usb 3-2.1.3.1: new high-speed USB device number 16 using xhci_hcd
Jan 04 19:44:44 localhost kernel: usb 3-2.1.3.1: New USB device found, idVendor=22d9, idProduct=2764, bcdDevice= 5.04
Jan 04 19:44:44 localhost kernel: usb 3-2.1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 04 19:44:44 localhost kernel: usb 3-2.1.3.1: Product: SM8350-MTP _SN:XXXXXXXX
Jan 04 19:44:44 localhost kernel: usb 3-2.1.3.1: Manufacturer: OnePlus
Jan 04 19:44:44 localhost kernel: usb 3-2.1.3.1: SerialNumber: xxxxxxxx


OnePlus 9 Pro Oxygen OS 12 LE2123_11_C.66
mit USB 3.1 Kabel

Jan 04 19:26:44 localhost kernel: usb 2-2: new SuperSpeed USB device number 16 using xhci_hcd
Jan 04 19:26:44 localhost kernel: usb 2-2: LPM exit latency is zeroed, disabling LPM.
Jan 04 19:26:44 localhost kernel: usb 2-2: New USB device found, idVendor=18d1, idProduct=4ee8, bcdDevice= 5.04
Jan 04 19:26:44 localhost kernel: usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 04 19:26:44 localhost kernel: usb 2-2: Product: SM8350-MTP _SN:XXXXXXXX
Jan 04 19:26:44 localhost kernel: usb 2-2: Manufacturer: OnePlus
Jan 04 19:26:44 localhost kernel: usb 2-2: SerialNumber: xxxxxxxx

mit USB 2.0 Kabel
Jan 04 19:28:16 localhost kernel: usb 3-2.1.3.1: new high-speed USB device number 20 using xhci_hcd
Jan 04 19:28:16 localhost kernel: usb 3-2.1.3.1: New USB device found, idVendor=18d1, idProduct=4ee8, bcdDevice= 5.04
Jan 04 19:28:16 localhost kernel: usb 3-2.1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 04 19:28:16 localhost kernel: usb 3-2.1.3.1: Product: SM8350-MTP _SN:XXXXXXXX
Jan 04 19:28:16 localhost kernel: usb 3-2.1.3.1: Manufacturer: OnePlus
Jan 04 19:28:16 localhost kernel: usb 3-2.1.3.1: SerialNumber: xxxxxxxx
Jan 04 19:28:19 localhost kernel: usb 3-2.1.3.1: USB disconnect, device number 20
Jan 04 19:28:19 localhost kernel: usb 3-2.1.3.1: new high-speed USB device number 21 using xhci_hcd
Jan 04 19:28:19 localhost kernel: usb 3-2.1.3.1: New USB device found, idVendor=18d1, idProduct=4ee8, bcdDevice= 5.04
Jan 04 19:28:19 localhost kernel: usb 3-2.1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 04 19:28:19 localhost kernel: usb 3-2.1.3.1: Product: SM8350-MTP _SN:XXXXXXXX
Jan 04 19:28:19 localhost kernel: usb 3-2.1.3.1: Manufacturer: OnePlus
Jan 04 19:28:19 localhost kernel: usb 3-2.1.3.1: SerialNumber: xxxxxxxx


OnePlus 9 Pro Oxygen OS 11.2.10.10.LE15BA
mit USB 3.1 Kabel

Jan 04 18:01:26 localhost kernel: usb 2-2: new SuperSpeed USB device number 3 using xhci_hcd
Jan 04 18:01:26 localhost kernel: usb 2-2: LPM exit latency is zeroed, disabling LPM.
Jan 04 18:01:26 localhost kernel: usb 2-2: New USB device found, idVendor=05c6, idProduct=f000, bcdDevice= 5.04
Jan 04 18:01:26 localhost kernel: usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 04 18:01:26 localhost kernel: usb 2-2: Product: LAHAINA-MTP _SN:XXXXXXXX
Jan 04 18:01:26 localhost kernel: usb 2-2: Manufacturer: OnePlus
Jan 04 18:01:26 localhost kernel: usb 2-2: SerialNumber: xxxxxxxx
Jan 04 18:01:26 localhost kernel: usb-storage 2-2:1.1: USB Mass Storage device detected
Jan 04 18:01:26 localhost kernel: scsi host0: usb-storage 2-2:1.1

mit USB 2.0 Kabel
Jan 04 18:13:44 localhost kernel: usb 3-2.1.3.1: new high-speed USB device number 12 using xhci_hcd
Jan 04 18:13:44 localhost kernel: usb 3-2.1.3.1: New USB device found, idVendor=05c6, idProduct=f000, bcdDevice= 5.04
Jan 04 18:13:44 localhost kernel: usb 3-2.1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 04 18:13:44 localhost kernel: usb 3-2.1.3.1: Product: LAHAINA-MTP _SN:XXXXXXXX
Jan 04 18:13:44 localhost kernel: usb 3-2.1.3.1: Manufacturer: OnePlus
Jan 04 18:13:44 localhost kernel: usb 3-2.1.3.1: SerialNumber: xxxxxxxx
Jan 04 18:13:44 localhost kernel: usb-storage 3-2.1.3.1:1.1: USB Mass Storage device detected
Jan 04 18:13:44 localhost kernel: scsi host0: usb-storage 3-2.1.3.1:1.1


Damit steht zweifelsfrei fest, dass hier in OxygenOS 13 ein Bug seitens OnePlus vorliegt, der einen falschen Device Descriptor bei USB 3 liefert.
Unter Windows führt dies, warum auch immer, zu keinem Problem.
Fest steht aber, dass es dieses Problem mit OxygenOS 11 sowie OxygenOS 12 nicht gibt, sondern nur OxygenOS 13 des OnePlus 9 Pro betroffen ist.

Es wäre interessant, wenn hier andere ihre Erfahrung, auch mit anderen Geräten posten würden. Etwa ob auch das OnePlus 9, Oneplus 10 Pro, etc... betroffen sind.

Für jede weitere Info wäre ich dankbar. So können wir Informationen Sammeln und dies bei OnePlus melden.
Vielen Dank!
 
Zuletzt bearbeitet von einem Moderator:
Bearbeitet von: Cloud - Grund: Wie gewüsc
Das Problem scheint tatsächlich an OnePlus zu liegen, wie die Analyse eines ehemaligen Kernel-developers auf XDA-developers zeigt.

Der Quellcode der Kernel USB hub Treibers liefert die Fehlermeldung
got a wrong device descriptor, warm reset device

Linux Kernel USB Treiber hub.c
in folgendem Codezweig Zeile 4996:
Code:
/*
* Some superspeed devices have finished the link training process
* and attached to a superspeed hub port, but the device descriptor
* got from those devices show they aren't superspeed devices. Warm
* reset the port attached by the devices can fix them.
*/
if ((udev->speed >= USB_SPEED_SUPER) &&
        (le16_to_cpu(udev->descriptor.bcdUSB) < 0x0300)) {
    dev_err(&udev->dev, "got a wrong device descriptor, "
            "warm reset device\n");
    hub_port_reset(hub, port1, udev,
            HUB_BH_RESET_TIME, true);
    retval = -EINVAL;
    goto fail;
}

Dieser Codezweig behandelt den Fall, wenn USB Superspeed ( = USB 3) Geräte an einem Superspeed (USB 3) Hub angeschlossen sind und den Link-Trainingsprozess abgeschlossen haben, aber der von diesen Geräten erhaltene Geräte-Deskriptor anzeigt, dass das Gerät keine Superspeed (USB 3) unterstützen. Das ist natürlich ein Widerspruch in sich, denn das Link Training einigt sich auf USB 3, aber der Geräte-Deskriptor sagt, dass USB 3 nicht unterstützt wird. Dieser Widerspruch muss also aufgelöst werden. Um das Problem versuchen zu beheben, wird ein Warm-Reset des Ports, an den die Geräte angeschlossen ist, durchgeführt.
In den Kernel-Logs sieht man dies sehr gut, wo dies 20 mal wiederholt wird, bis schliesslich aufgegeben wird.

Und das ist dann auch der Grund, warum unter Windows dieses Problem nicht auftritt, weil der Windows USB-Treiber diesen Fall schlicht nicht behandelt und abfängt. Also Windows ignoriert quasi den Geräte-Deskriptor.
 
Zuletzt bearbeitet von einem Moderator:
Linux Mint 21.1 , bei Nutzung vom Originalkabel keine Probleme.
 
@alllloi
Das rote Originalkabel ist auch kein USB 3.0 Kabel sondern nur USB 2.0

Die beste Möglichkeit zu sehen, ob die Verbindung USB 2.0 oder >=3.0 ist, ist im Terminal die Kernel Logs anzusehen.

entweder mittels
dmesg

oder aber nur bezogen auf USB Meldungen
journalctl -k | grep -i -e usb -e error -e warning -e failed

Dann bekommst du nach anschliessen des Smartphones an den Computer mit einem USB Kabel folgende Meldungen, wie aus meinem ersten Posting:

Beispiel:
Jän 04 19:26:44 localhost kernel: usb 2-2: new SuperSpeed USB device number 16 using xhci_hcd
Jän 04 19:26:44 localhost kernel: usb 2-2: LPM exit latency is zeroed, disabling LPM.
Jän 04 19:26:44 localhost kernel: usb 2-2: New USB device found, idVendor=18d1, idProduct=4ee8, bcdDevice= 5.04
Jän 04 19:26:44 localhost kernel: usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jän 04 19:26:44 localhost kernel: usb 2-2: Product: SM8350-MTP _SN:XXXXXXXX
Jän 04 19:26:44 localhost kernel: usb 2-2: Manufacturer: OnePlus
Jän 04 19:26:44 localhost kernel: usb 2-2: SerialNumber: xxxxxxxx

Die erste fettgedruckte Zeile ist die wichtige

entweder du bekommst
new SuperSpeed USB device number 16 using xhci_hcd

wobei SuperSpeed für USB 3.0/3.1/3.2 steht,

oder aber du bekommst
new HighSpeed USB device number 16 using xhci_hcd

wo HighSpeed für USB 2.0 steht.
 
Zuletzt bearbeitet von einem Moderator:
Jan 06 14:05:48 alwis-X570-AORUS-ELITE kernel: usb 3-4: new high-speed USB device number 4 using xhci_hcd
Jan 06 14:05:48 alwis-X570-AORUS-ELITE kernel: usb 3-4: New USB device found, idVendor=18d1, idProduct=4ee8, bcdDevice= 5.04
Jan 06 14:05:48 alwis-X570-AORUS-ELITE kernel: usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 06 14:05:48 alwis-X570-AORUS-ELITE kernel: usb 3-4: Product: SM8350-MTP _SN:F7ED1E74
Jan 06 14:05:48 alwis-X570-AORUS-ELITE kernel: usb 3-4: Manufacturer: OnePlus

Bin nur Nutzer,kann damit so gut nichts anfangen.
 
Das ist relevante Zeile:
alllloi schrieb:
Jan 06 14:05:48 alwis-X570-AORUS-ELITE kernel: usb 3-4: new high-speed USB device number 4 using xhci_hcd


high-speed bedeutet, dass es USB 2.0 ist.
Wäre es USB 3.0, würde stattdessen SuperSpeed stehen.

Das Problem betrifft jedoch USB 3.0/3.1 Kabel.
Bei USB 2.0 Kabeln klappt die Verbindung wie erwartet. Die meisten reinen Ladekabel sind nur USB 2.0 bei der Datenübertragung, so wie eben das beiliegende rote, originale OnePlus USB-C Kabel.

Wenn du ein USB 3.0/3.1 Kabel nimmst, dann wirst du sehen, dass der Auswahldialog am OP9Pro nicht kommt, sondern das Handy nur auflädt.
Beiträge automatisch zusammengeführt:

Mlord (ehemaliger Kenerl Entwickler) hat das Problem nachstellen können und einen Kernel Patch getestet, um zu sehen, was OxygenOS 13 am OnePlus 9 Pro für einen Device Descriptor ausgibt.

Tatsächlich, das OnePlus 9 Pro mit OxygenOS13 gibt als Device Descriptor nur
bcdUSB = 0x0200

anstelle (was korrekt wäre)
bcdUSB = 0x0310
aus.

Danke an mlord@xdadevs
 
Zuletzt bearbeitet von einem Moderator:

Ähnliche Themen

benny l
Antworten
0
Aufrufe
358
benny l
benny l
S
Antworten
8
Aufrufe
1.498
Deltaplex
D
L
Antworten
0
Aufrufe
391
lala2011
L
Zurück
Oben Unten