Realtek USB hubs in Dell WD19SC/DC/TB fail to work after exiting s2idle
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
HWE Next |
Fix Released
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Chris Chiu | ||
Groovy |
Fix Released
|
Undecided
|
Chris Chiu | ||
Hirsute |
Fix Released
|
Undecided
|
Chris Chiu | ||
Impish |
Fix Released
|
Undecided
|
Unassigned | ||
linux-oem-5.10 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Chris Chiu | ||
Groovy |
Invalid
|
Undecided
|
Unassigned | ||
Hirsute |
Invalid
|
Undecided
|
Unassigned | ||
Impish |
Invalid
|
Undecided
|
Unassigned | ||
linux-oem-5.13 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned | ||
Groovy |
Invalid
|
Undecided
|
Unassigned | ||
Hirsute |
Invalid
|
Undecided
|
Unassigned | ||
Impish |
Invalid
|
Undecided
|
Unassigned |
Bug Description
[SRU Justification]
[Impact]
All of 3 different WD19(TB/SC/DC) docks have 3 Type-A ports and 2 Type-C ports, and there're highspeed Hubs(0bda:5487 and its substream hub 0bda:5413) and Superspeed Hubs (0bda:0487 and its downstream hub 0bda:0413). In the bug description below, we will refer the 2 highspeed hubs as Hub A and Hub A.3, and the 2 superspeed hubs as Hub B and Hub B.3. All devices connected via either Type-A or Type-C ports will connect to either Hub A.3 or Hub B.3. If we connect a wakup enabled device (keyboard) to a Type-A port, the Hub A.3 will fail to activate after exiting s2idle and all downstream devices will not be detected. If we have a superspeed device connected to other Type-A port in addition to the keyboard, this superspeed device actually connects to Hub B.3, and the Hub B.3 will also fails to work after exiting s2idle. If the wakeup enabled device connects via Type-C port, there's no such problem.
As a summary, a wakeup enabled device connect to Type-A port will cause the failure of Hub A.3 and Hub B.3. Hub B.3 only fails when a wakeup enabled device and a superspeed device both connect via Type-A port.
[Fix]
Before the resume failure, the upstream hub(Hub A or B) will hit the timeout problem while doing SetPortFeature(
The Hub B.3 will be tricky. The PORT_SUSPEND bit is not on after the suspend timeout, but it needs the ClearPortFeatur
[Test Case]
1. Make sure that the WD19 connects to the laptop
2. Connect USB keyboard/mouse to USB Type-A ports.
3. Suspend the system
4. Press the Enter key or power button to wake up the system
5. Check if the USB keyboard/mouse are still working
Repeat 4 and 5 for > 10 times w/o losing any USB devices.
[Where problems could occur]
A wakeup enabled device (keyboard) connect to Type-A port will cause the failure of Hub A.3 and Hub B.3 during resume. Hub B.3 only fails when a wakeup enabled device and a superspeed device both connect via Type-A port. All devices connects to Hub A.3 (and B.3 if superspeed device connect via Type-A port) will be lost after resume.
[Regression Potential]
Minimum. The fix is only triggered when timeout happens during USB port suspend and it follows the standard USB protocol to do either resume or reset_resume.
========== Original Bug Description ==========
● Summary
Plug in USB mouse and USB keyboard to WD19/WD19DC USB ports near LAN port. Plug dock into SUT and check USB keyboard and mouse work. SUT enter suspend. After 1 min resume SUT, check USB keyboard/mouse function. Sometimes USB keyboard/mouse no function.
Isolation:
1. VP on UMA and Discrete
2. When issue occur, both front and back port on WD19 can't work using USB keyboard/mouse but USB Key.
● Reproduce Steps
1.Plug in USB mouse and USB keyboard to WD19/WD19DC USB ports near LAN port.
2.Plug dock into SUT and check USB keyboard and mouse work.
3. SUT enter suspend.
4.After 1 min, resume SUT and check USB keyboard/mouse function.
5.Sometimes USB keyboard/mouse no function.
● Results
○ Expected Result
USB mouse or keyboard on dock can use after suspend
○ Actual Result
USB mouse or keyboard on dock sometimes no function after suspend
● Additional Information
○ Test Vault ID:60943.011
○ SKU:Broadmoor Latitude5421
○ BIOS Version:0.3.21
○ Image/Manifest:
dell-bto-
dell-bto-
○ CPU:TGL ES
○ GPU:Intel pGFX 2020
○ Failure rate:F/R: 2/2 units, 1/10 times
○ WD19 dock, Dock DFU: 1.0.15
---
ProblemType: Bug
ApportVersion: 2.20.11-
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
/dev/snd/
CasperMD5CheckR
CurrentDesktop: ubuntu:GNOME
DistributionCha
# This is the distribution channel descriptor for the OEM CDs
# For more information see http://
canonical-
DistroRelease: Ubuntu 20.04
InstallationDate: Installed on 2021-04-20 (22 days ago)
InstallationMedia: Ubuntu 20.04 "Focal" - Build amd64 LIVE Binary 20200502-05:58
MachineType: Dell Inc. Precision 5560
Package: linux-oem-5.10
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=
ProcVersionSign
RelatedPackageV
linux-
linux-
linux-firmware 1.187.10
Tags: focal
Uname: Linux 5.10.0-1023-oem x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
_MarkForUpload: True
dmi.bios.date: 04/01/2021
dmi.bios.release: 0.4
dmi.bios.vendor: Dell Inc.
dmi.bios.version: 0.4.4
dmi.board.vendor: Dell Inc.
dmi.chassis.
dmi.chassis.type: 10
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.
dmi.product.family: Precision
dmi.product.name: Precision 5560
dmi.product.sku: 0A62
dmi.sys.vendor: Dell Inc.
Changed in linux (Ubuntu Hirsute): | |
assignee: | nobody → Chris Chiu (mschiu77) |
Changed in linux (Ubuntu Groovy): | |
assignee: | nobody → Chris Chiu (mschiu77) |
Changed in linux (Ubuntu Focal): | |
assignee: | nobody → Chris Chiu (mschiu77) |
Changed in linux (Ubuntu): | |
assignee: | nobody → Chris Chiu (mschiu77) |
Changed in linux-oem-5.10 (Ubuntu Focal): | |
assignee: | nobody → Chris Chiu (mschiu77) |
Changed in linux (Ubuntu): | |
assignee: | Chris Chiu (mschiu77) → nobody |
Changed in linux-oem-5.10 (Ubuntu Focal): | |
status: | New → In Progress |
Changed in linux (Ubuntu Focal): | |
status: | New → In Progress |
Changed in linux (Ubuntu Groovy): | |
status: | New → In Progress |
Changed in linux (Ubuntu Hirsute): | |
status: | New → In Progress |
Changed in linux-oem-5.10 (Ubuntu Focal): | |
status: | In Progress → Confirmed |
Changed in linux (Ubuntu Hirsute): | |
status: | In Progress → Confirmed |
Changed in linux (Ubuntu Groovy): | |
status: | In Progress → Confirmed |
Changed in linux (Ubuntu Focal): | |
status: | In Progress → Confirmed |
Changed in linux (Ubuntu Focal): | |
status: | Confirmed → In Progress |
Changed in linux (Ubuntu Groovy): | |
status: | Confirmed → In Progress |
Changed in linux (Ubuntu Hirsute): | |
status: | Confirmed → In Progress |
Changed in linux-oem-5.10 (Ubuntu Focal): | |
status: | Confirmed → In Progress |
tags: | added: oem-priority originate-from-1917005 somerville |
tags: | added: originate-from-1921742 |
Changed in linux (Ubuntu Focal): | |
status: | In Progress → Invalid |
Changed in linux-oem-5.10 (Ubuntu Groovy): | |
status: | New → Invalid |
Changed in linux-oem-5.10 (Ubuntu Hirsute): | |
status: | New → Invalid |
Changed in linux-oem-5.10 (Ubuntu Impish): | |
status: | New → Invalid |
Changed in linux (Ubuntu Impish): | |
status: | Incomplete → In Progress |
description: | updated |
description: | updated |
Changed in linux-oem-5.10 (Ubuntu Focal): | |
status: | In Progress → Fix Committed |
tags: | added: verification-needed-focal |
Changed in linux (Ubuntu Focal): | |
status: | Invalid → In Progress |
tags: |
added: verification-done-focal removed: verification-needed-focal |
Changed in linux (Ubuntu Focal): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Groovy): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Hirsute): | |
status: | In Progress → Fix Committed |
tags: |
added: verification-done-groovy verification-done-hirsute removed: verification-needed-groovy verification-needed-hirsute |
Changed in hwe-next: | |
status: | New → Fix Released |
Changed in linux (Ubuntu Impish): | |
status: | Fix Released → Confirmed |
Changed in linux-oem-5.13 (Ubuntu Groovy): | |
status: | New → Invalid |
Changed in linux-oem-5.13 (Ubuntu Focal): | |
status: | New → Fix Committed |
Changed in linux-oem-5.13 (Ubuntu Hirsute): | |
status: | New → Invalid |
Changed in linux-oem-5.13 (Ubuntu Impish): | |
status: | New → Invalid |
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1928242
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.