SteamOS icon indicating copy to clipboard operation
SteamOS copied to clipboard

[BIOS] USB DRD is still broken on 118/119/120 BIOSes

Open RodoMa92 opened this issue 2 years ago • 10 comments

Your system information

  • Steam client version:
  • SteamOS version: ---
  • Opted into Steam client beta?: Yes
  • Opted into SteamOS beta?: --- (Not using SteamOS)
  • Have you checked for updates in Settings > System?: Yes

Please describe your issue in as much detail as possible:

The default choice for later BIOSes to switch on DRD by default is still causing me random issues with USB devices on the Deck not being enumerated again randomly. I have no clue what the cause was, but it triggered today when I noticed that I didn't have any connection to the ethernet dock and I thought that the new .121 firmware caused problems. I tried every step possible to get them back, you can read it here.

Nothing worked besides disabling DRD, which made everything working again. Mind you that I had DRD on as of today with no issues.

After today I couldn't enumerate anything out of it. I still can reproduce it just by turning DRD on with 0118 + using the latest Dock firmware of one week ago (.121). As soon as I turn DRD on I lose all external USB connectivity.

RodoMa92 avatar Nov 12 '23 12:11 RodoMa92

Well, after opening an issue here, Mario found the offending commit quite quickly. It's this one. Not sure what is the cause of the breakage right now, but this seems to be the cause.

I hope it's not an hardware issue and only a driver bug.

RodoMa92 avatar Nov 15 '23 15:11 RodoMa92

Well, it seems that with Linux 6.6.1 the BIOS behaviour has gotten even worse now: regardless of the USB setting method (DRD or XHCI), I can't get any USB working at all from the external interface of the Deck. The only way to get them back on my unit is rolling the BIOS back to 116 and select XHCI from the BIOS (since 116 is the first version to force DRD on by default).

Mind you that in BIOS mode everything seems to work fine (USB sticks are detected and they are being able to be selected for booting. But as soon as the kernel start, any linux distribution with 6.6.1 will fail to find their rootfs if they are on an external USB stick and no USB keyboard will work).

Can anyone in the firmware team take a look at this issue and chime in? Beetween wireless issues all over the place and now this, I'm not really sure if Valve is tracking stuff.

Thanks,

Marco.

RodoMa92 avatar Nov 16 '23 07:11 RodoMa92

This issue was caused by an unrelated upstream driver misconfiguration. Sorry for the noise.

RodoMa92 avatar Dec 01 '23 10:12 RodoMa92

Until it wasn't. Device yesterday stopped again enumerating stuff with 119. Problem is still present. Logs on the AMD freedesktop page.

RodoMa92 avatar Dec 15 '23 08:12 RodoMa92

I am encountering this issue as well. When I tried to boot a live Linux image, it does not work with the "USB Configuration" set to "DRD" in the BIOS. It says that the root file system cannot be found after selecting a boot option from the GRUB menu. When switching to "XHCI", it works. This was on a LCD Steam Deck 64 GB model.

LukeShortCloud avatar Dec 29 '23 02:12 LukeShortCloud

BIOS 120 is affected as well. DRD does nothing (dwc modules/udc never loads in userspace)

parkerlreed avatar Jan 05 '24 20:01 parkerlreed

BIOS 120 is affected as well. DRD does nothing (dwc modules/udc never loads in userspace)

Yeah, it's extremely inconsistent. On the latest kernel (6.6.8) now it seems to work again, but you never know when it will stop working for no apparent reason.

RodoMa92 avatar Jan 05 '24 21:01 RodoMa92

On the latest kernel (6.6.8)

A lot of good that does for us on Steam OS 3.0 :D

So kernel combo can also affect if it works or not? Wow.

parkerlreed avatar Jan 05 '24 22:01 parkerlreed

Latest SteamOS stable is 6.1.52. I was trying to use the deckjoy project to turn my deck into a hardwired controller for the PC only to have issues with USB DRD. Also tried to set up usb ethernet gadget to directly remote control my deck over usb. Not working in SteamOS 3.5.7.

miwagner1 avatar Feb 02 '24 19:02 miwagner1

Just to complicate things further: I upgraded SteamOS to 3.5.17 today and noticed that DRD was suddenly broken when it was working for me previously. I was on BIOS version 120. I upgraded the BIOS to v121 (which reverted mode back to XHCI, forcing me to change it back to DRD on another reboot cycle. I thought DRD was the default in these newer BIOS versions?!) and now I have a working UDC again:

(deck@steamdeck ~)$ uname -a
Linux steamdeck 6.1.52-valve16-1-neptune-61 #1 SMP PREEMPT_DYNAMIC Tue, 06 Feb 2024 00:51:49 +0000 x86_64 GNU/Linux
(deck@steamdeck ~)$ sudo ls /sys/class/udc
dwc3.1.auto

samcday avatar Mar 01 '24 10:03 samcday