Ben:

I believe you are right in your advice to reboot the system and go from there, instead of tinkering around with the present condition as the state of the software upgrades is still in limbo (so to speak)

I will do that soon.


On 11/10/24 16:25, Ben Koenig wrote:
Your kernel should be detecting the hardware and implementing the quirk but that's 
something worth ruling out since there can be regressions or other reasons why the driver 
might behave differently. Rebooting the PC is a reliable way to make sure compliance mode 
is disabled, at least until the ports decide to go "dead"

However, on this particular model, you will always have glitchy behavior. EVEN 
WITH the quirk enabled, the kernel is unable to stop the HC from getting stuck 
in a weird state. This can take up to 2 seconds for the kernel to detect and 
resolve so any data streams active during that timeframe will be interrupted.

For simple devices this is not a huge problem and you may never even notice it. What I 
don't know is what "dead" looks like. Does the port vanish, the hub, or the 
entire HC?

Also not sure if that's what Randall is encountering, but if it is, the only 
way to resolve is a full reboot.

My approach would be to see if a reboot fixes the problem and go from there 
since that will help isolate the problem.


-Ben


On Sunday, November 10th, 2024 at 3:45 PM, American Citizen 
<[email protected]> wrote:

Russell

I have some upgrades to my software, including the kernal, but I've not
rebooted my system yet, since I am running some serious number crunching
programs.

This might be the cause of why I lost the USB 3.0 functionality.

And yes, USB 3.0 ports are a known problem for the Z420 workstation.

Randall

On 11/9/24 21:31, Russell Senior wrote:

Oh the Z820, with nothing plugged in, they just "aren't there". For example:

lspci | grep -i usb
00:1a.0 USB controller: Intel Corporation C600/X79 series chipset USB2
Enhanced Host Controller #2 (rev 05)
00:1d.0 USB controller: Intel Corporation C600/X79 series chipset USB2
Enhanced Host Controller #1 (rev 05)
03:00.0 USB controller: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller

The ASMedia is the PCIe card I plugged in. Whatever the C800/X79 xhci
devices are, they don't seem to show up in lscpi.

Otoh, dmidecode gives me:

Handle 0x001C, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J12 1394
Internal Connector Type: None
External Reference Designator: Rear USB 3.0(1)
External Connector Type: Access Bus (USB)
Port Type: USB

Handle 0x001D, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J12 1394
Internal Connector Type: None
External Reference Designator: Rear USB 3.0(2)
External Connector Type: Access Bus (USB)
Port Type: USB

and

Handle 0x0022, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: P29 I-USB3 (3)
Internal Connector Type: Access Bus (USB)
External Reference Designator: Not Specified
External Connector Type: None
Port Type: USB

Handle 0x0023, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: P29 I-USB3 (4)
Internal Connector Type: Access Bus (USB)
External Reference Designator: Not Specified
External Connector Type: None
Port Type: USB

The top pair look like they are talking about the USB3 ports on the
rear of the chassis. The second pair, I am not sure how to read.

On Sat, Nov 9, 2024 at 6:01 PM Ben Koenig [email protected] wrote:

Had to go look it up, but if anyone is curious why I suggested being extra 
methodical with troubleshooting... the HP Z420 has known USB3.0 quirks. check 
out the following functions (and comments) from the linux xhci source code 
(6.6.x):

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/usb/host/xhci.c?h=v6.6.60#n365

compliance_mode_recovery_timer_init()
xhci_compliance_mode_recovery_timer_quirk_check()

There are known problems with the redriver for this machine that causes the 
ports to go dead. There's not much you can see via software once that happens.

Also affects Z620, x820 and Z1 workstations. Assume nothing. Verify simple 
devices first and add complexity until it breaks.

-Ben

On Saturday, November 9th, 2024 at 5:32 PM, Ben Koenig 
[email protected] wrote:

Mot ready to conclude anything yet, just a couple more things to try.

Next step is to do a cold boot of the workstation. Turn it off, and UNPLUG the 
power cable. Make sure the motherboard drains either by waiting or pressing the 
power button while unplugged from the wall.

Then boot it up with only your mouse and keyboard connected (however you 
usually do that) since those appear to be working just fine.

Once everything is up, running, and happy open a terminal, start dmesg -w as 
before and plug in your logitech headphones to each USB port on the back, one 
by one. Check to make sure each one responds in dmesg. When you unplug you will 
see a cooresponding disconnect message for that USB port.

This part is important, use the LOGITECH HEADSET. You confirmed that this works via the 
older USB2 ports so we are going to call it youre "golden device" It's also 
much simply since it won't try to create any block devices. Don't try to plug in your 
sandisk USB stick until you've checked to make sure each port sees your golden device.

-Ben

On Saturday, November 9th, 2024 at 5:20 PM, American Citizen 
[email protected] wrote:

Ben:

I carefully followed your directions.

When I plugged in my USB flash drive into a USB cable, nothing happened,
nothing!

I pulled out my Logitech headphones connected with a USB 2.0 port and
dmesg -w caught that

But I am plugging my USB stick into the two USB 3.0 sockets and NOTHING
comes up

The Z420 workstation has front panel USB socket.. they are from top to
bottom: USB2, USB3, USB3

When I pick the top USB2 slot, the following dmesg messages come up

[3225340.916530] usb 1-1.3: new high-speed USB device number 8 using
ehci-pci
[3225341.037689] usb 1-1.3: New USB device found, idVendor=0781,
idProduct=5597, bcdDevice= 1.00
[3225341.037701] usb 1-1.3: New USB device strings: Mfr=1, Product=2,
SerialNumber=3
[3225341.037705] usb 1-1.3: Product: SanDisk 3.2Gen1
[3225341.037708] usb 1-1.3: Manufacturer: USB
[3225341.037711] usb 1-1.3: SerialNumber:
09012829b8b34ac0b32423247f16c72e303c7bc976805b653909ab36c22e3dcacf880000000000000000000074408ef6ff082d209755810711ae56dd
[3225341.038089] usb-storage 1-1.3:1.0: USB Mass Storage device detected
[3225341.092530] scsi host7: usb-storage 1-1.3:1.0
[3225342.121945] scsi 7:0:0:0: Direct-Access USB SanDisk
3.2Gen1 1.00 PQ: 0 ANSI: 6
[3225342.123655] sd 7:0:0:0: Attached scsi generic sg4 type 0
[3225342.124195] sd 7:0:0:0: [sdd] 488374272 512-byte logical blocks:
(250 GB/233 GiB)
[3225342.125193] sd 7:0:0:0: [sdd] Write Protect is off
[3225342.125199] sd 7:0:0:0: [sdd] Mode Sense: 43 00 00 00
[3225342.126191] sd 7:0:0:0: [sdd] Write cache: disabled, read cache:
enabled, doesn't support DPO or FUA
[3225342.247842] sdd: sdd1
[3225342.248001] sd 7:0:0:0: [sdd] Attached SCSI removable disk

All this is correct and I have access to the flash drive.

Is the USB 3.0 circuitry in my Hewlett-Packard Z420 workstation broken?

Randall

On 11/9/24 09:50, Ben Koenig wrote:

On Friday, November 8th, 2024 at 8:15 PM, American Citizen 
[email protected] wrote:

I have a Hewlett Packard Z420 workstation. About a week ago, the USB
ports stopped working. Tonight I identified that it is the USB 3.0 ports
that are not working, the USB 2.0 is still working just fine.

Has anyone had experience troubleshooting USB 3.0 ports under linux?

- Randall
Based on your description of the problem the OS is irrelevant. Most of the 
troubleshooting at this stage is pure hardware.
If you want, you can use the following commands to see if the USB3 host 
controller is detected by Linux and if any devices are detected.
To see a brief list of all USB devices, including host controllers:
$ lsusb

To see what happens when a device is inserted, unplug all devices from your 
USB3 slots and then run the following command (as root):
$ dmesg -w

The -w argument tells dmesg to print the log and any new messages as they 
occur. Once you have that running you can plug in a USB device and it should 
immediately start printing messages related to the device you inserted.

You can also automate this to only give you the difference, here's a rough 
example.
dmesg > dmesg-before.log
# insert the device
dmesg > dmesg-after.log
diff dmesg-before.log dmesg-after.log

Either way, when running into USB problems I always step away from the OS. It's much 
better to start with a "golden device" such as a mouse or keyboard that you 
know works and diagnose with that.

-Ben

Reply via email to