DIY batch-2, two/both USB-C ports stop working, after which suspend/shutdown will fail

Hi,

I have a DIY, running ubuntu 21.10. My usb-c ports have always been a little funky (I have two), but I’ve been experiencing them not working. I have a new keyboard, you see, and it speaks USB-C. After a boot everything is fine. Then, once the laptop has been on for one to two days, Things Stop Working. I’ve also been having this pretty near constant problem with suspend not working, and I’ve managed to link it up to this issue. Due to bisecting effort on my part, I’ve also linked shutdown/power-off not working to this same issue. When suspend causes a hard loop/CPU fan max, shutdown does as well. This suspend/shutdown failure will occur once the USB-C periphery stops working, 100% of the time. (From a debugging standpoint, during a shutdown the kernel prints that it is commanding power-off, and once the screen shuts off the laptop enters a hard loop eventually ramping the CPU fan up to leaf blower speeds. I take that to mean this is a BIOS issue.)

Things That Do Not Work:

  • Either USB-C expansion card, for connecting USB-C peripherals. Both USB-C cards/slots stop working simultaneously. HOWEVER. If my keyboard is already plugged in, it still works. Once some strange invisible line has been crossed, newly-connected devices will no longer work. That includes unplugging and re-plugging devices that were previously working due to having already been plugged in.
  • Swapping USB-C expansion cards between slots that previously had a USB-C expansion card.

Things That Do Work:

  • Charging.
  • Swapping USB-C to an expansion port that did not previous have a USB-C expansion card in it.
  • USB-C peripheral through USB-A expansion card in a different slot.
  • Suspend/shutdown while USB-C ports are functional.
  • USB-C peripherals that remain plugged in

Things That Do Not Seem To Matter

  • Leaving USB-C devices plugged in or not (meaning an existing, connected USB-C device does not seem to hasten or delay the onset of this problem)

Things I’ve Already Tried

  • I had the charger disconnect/reconnect loop thing, and thought it was just bad linux drivers. As part of the research for this post, I did eventually perform the EMI sticker fix, which resolved my charger disco/reco loop problem. This USB availability did not exhibit any change in persistence whatsoever.
  • I had this same suspend/shutdown thing since I got the laptop, when running 21.04. This is 21.10, and same problem with suspend/shutdown after a couple days. Only after I got 21.10 did I get a USB-C keyboard.

TL;DR: After a couple days, my DIY’s USB-C ports stop working [for new devices], and after that point in time suspend/shutdown will hang hard.

P.S.
Layout: USB-C expansion cards are in both bays closest to the screen hinges. These are the two bays that stop working with new USB-C devices at the same time. I have not tested other bays for prolonged-use USB-C failures. Only bay reliably tested for USB-C swap-and-work was lower-right bay–the one further from the power switch but on the same side. USB-A port used to test device post-failure-mode has been lower left.

P.P.S.
This has all been on BIOS 3.02. I’ve just upgraded to 3.06 and will report back after a few days.

One week later, an update:

Looks like BIOS 3.06, applied with fwupd using ubuntu 21.10, has stopped my USB-C port problem from recurring, which has in turn stopped my suspend/shutdown failures from occuring.

Advice: Install 3.06 ASAP if using linux. If your’re using fedora, check to make sure they’ve fixed the Fedora Problem I saw in a few other threads about using fwupd.

Looks like the last few bugs have been worked out, and this laptop does its job with no complaints. Very nice job, Framework.

I got hit by the no-charge drained battery BIOS bug in 3.06. I waited and waited for LVFS but it never came. I updated via usb stick (having to find a USB stick to format just to put some bios update on is a PITA).

Now I have updated to 3.07, and my keyboard will stop working after it is plugged in for more than half an hour. This is a USB-C dongle. They main keyboard continues to work. @support This is a regression.