ValveSoftware / SteamOS

SteamOS community tracker
1.59k stars 70 forks source link

Internal controller not detected #1308

Open anderedna opened 11 months ago

anderedna commented 11 months ago

Your system information

Please describe your issue in as much detail as possible:

Steam deck internal controller (All buttons: thumbsticks, pads, trigger) not working except power and volume button.

Things working:

Things already done but didn't fix missing controller:

Is there a way to force reflashing the controller ROM?

Steps for reproducing this issue:

  1. Update steam deck when playing game.
  2. Restart steam deck when update finished.
  3. Relaunch the game and controller suddenly not working anymore.
  4. Controller firmware update maybe failed to flash the controller ROM?
Jaxsown commented 11 months ago

Same issue since yesterday, i opened the SD to check the ribbon cablesDB<>MB and re-set them (under the MB too), no change.

RodoMa92 commented 11 months ago

~Can you both post your lsusb output? It might be stuck in DFU mode, but if it's not there you might have a completely bricked controller :S I hope it's not a bug of the latest firmware tho.~

EDIT: Missed this part: journalctl -u jupiter-controller-update failed due to no hwid detected. Yeah, I'm not sure what you can do besides sending it in for repair if the controller is completely not detected from the host end.

anderedna commented 11 months ago

For reference.

lsusb:

(A+)(root@steamdeck ~)# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 13d3:3553 IMC Networks Bluetooth Radio
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

lsusb.py:

(A+)(root@steamdeck ~)# lsusb.py
usb1              1d6b:0002 09 1IF  [USB 2.00,   480 Mbps,   0mA] (xhci-hcd 0000:04:00.4) hub
  1-5               13d3:3553 e0 2IFs [USB 1.00,    12 Mbps, 500mA] (Realtek Bluetooth Radio 00e04c000001)
usb2              1d6b:0003 09 1IF  [USB 3.10, 10000 Mbps,   0mA] (xhci-hcd 0000:04:00.4) hub

Is there any alternative way other than sending it for repair? I'm willing to open the SD and tinker with it's internal.

RodoMa92 commented 11 months ago

Replying to https://github.com/ValveSoftware/SteamOS/issues/1308#issuecomment-1856224021

Just for a question that popped up in my mind, can you please try to switch to XHCI from DRD in the BIOS and see if anything change? It shouldn't, since the internal bus should not have this feature and therefore not affected by that, however that's easy to test at least.

If nothing change, the only way is to convince Valve to sell controller boards. Sadly they claim that calibration software is not available and it will never be, so no way to repair it yourself.

If Valve would actually be pro repair, please begin to sell controller boards and the associated software, especially since the shoulder buttons are the weaker part of the Deck LCD and in no way replaceable thanks to this.

Marco.

Jaxsown commented 11 months ago

Valve has accepted my rma request.

anderedna commented 11 months ago

Yeap, nothing changed when switching from DRD to XHCI. Still the same output and non usable controller.

I imported the SD as Valve didn't released it in my country so trying to RMA it would be a tough one.

Chnage to XHCI and disable bluetooth USB:

(A+)(root@steamdeck ~)# lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
(A+)(root@steamdeck ~)# lsusb.py
usb1              1d6b:0002 09 1IF  [USB 2.00,   480 Mbps,   0mA] (xhci-hcd 0000:04:00.3) hub
usb2              1d6b:0003 09 1IF  [USB 3.10, 10000 Mbps,   0mA] (xhci-hcd 0000:04:00.3) hub
usb3              1d6b:0002 09 1IF  [USB 2.00,   480 Mbps,   0mA] (xhci-hcd 0000:04:00.4) hub
usb4              1d6b:0003 09 1IF  [USB 3.10, 10000 Mbps,   0mA] (xhci-hcd 0000:04:00.4) hub
RodoMa92 commented 10 months ago

Besides forcing them to enter a sort of DFU unbrickable hardware mode (usually microcontrollers have a feature like that to recover them from failed flash) I have no other way to get them back. Problem is that the hardware is completely undocumented and no one has tried to reverse engineer it, so unless Valve wants to actively help you there is nothing you can do, sadly (apart from taking up the mantle yourself and do the RE part with your own hands).

anderedna commented 10 months ago

Many thanks @RodoMa92 .

I guess my only choice is to pair it with a Bluetooth controller and live with it for now.

DocMAX commented 7 months ago

I used to run Steam on native arch linux OS. It worked some months ago. Now steamdeck controller isn't detected. If i run SteamOS from SD card it works. So no hardware issue, but something is wrong now in arch linux.

root@steamdeck: ~ # lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 28de:1205 Valve Software Steam Deck Controller
Bus 003 Device 003: ID 13d3:3553 IMC Networks 802.11ac WLAN Adapter
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
root@steamdeck: ~ # lsusb.py
usb1              1d6b:0002 09 1IF  [USB 2.00,   480 Mbps,   0mA] (xhci-hcd 0000:04:00.3) hub
usb2              1d6b:0003 09 1IF  [USB 3.10, 10000 Mbps,   0mA] (xhci-hcd 0000:04:00.3) hub
usb3              1d6b:0002 09 1IF  [USB 2.00,   480 Mbps,   0mA] (xhci-hcd 0000:04:00.4) hub
  3-3               28de:1205 00 5IFs [USB 2.00,    12 Mbps, 500mA] (Valve Software Steam Deck Controller MEDA21500708)
  3-5               13d3:3553 e0 2IFs [USB 1.00,    12 Mbps, 500mA] (Realtek 802.11ac WLAN Adapter 00e04c000001)
usb4              1d6b:0003 09 1IF  [USB 3.10, 10000 Mbps,   0mA] (xhci-hcd 0000:04:00.4) hub
DocMAX commented 7 months ago

grafik Please help :-(

Skincanvas commented 7 months ago

@DocMAX Hey friend this isn't the right issue for this, as in I don't know if it would fix the OP's specific problem since it seems specific to us, but I found this thread trying to fix my problem. I too put Arch on my Deck and encountered this issue by updating. I reinstalled Steam, then restarted, and voila it worked. Hope that helps.

DocMAX commented 7 months ago

How was your procedure of "reinstall"? I deleted .local/share/Steam folder and still no controller.

DocMAX commented 6 months ago

Ok, so i found a workaround by accident. "rmmod usbhid" and then "modprobe usbhid" did steam make the controller recognize. so why is that? what is happening?

Edit: To break it down further, i needed to do: echo "3-3:1.2" > /sys/bus/usb/drivers/usbhid/bind So why isn't "3-3:1.2" loaded at boottime?

DocMAX commented 5 months ago

Hello?

anderedna commented 5 months ago

Hi @DocMAX.

To reinstall your Deck, you could follow the guide from Steam (https://help.steampowered.com/en/faqs/view/1B71-EDF2-EB6D-2BB3). Try "Re-image Steam Deck" to reinstall everything, including reformat the NVMe.

I've tried your method of rmmod and modprobe + force usbhid bind but it doesn't work on my Deck as the controller does not even listed as a USB HID. It was completely gone, not even detected in BIOS.

DocMAX commented 5 months ago

Ok, i did mention i'm on Arch Linux (so vanilla linux on Steam Deck).

Abfaker commented 4 months ago

R1 wasn't working well. So i removed the spring and put it back.. i forgot to remove ny sd card when closing the back.. it got broken.. i had to lose the part and removed the stucked sd card. So after everything my controls stopped work.. i was on windows when i did that.. i have reimage the steam deck.. installed all update.. nothing yet.. I'm frustrated.. I'm in Nigeria. Nobody knows about steam deck here & I'm sure this is not hatdware issue

Abfaker commented 4 months ago

Ok, so i found a workaround by accident. "rmmod usbhid" and then "modprobe usbhid" did steam make the controller recognize. so why is that? what is happening?

Edit: To break it down further, i needed to do: echo "3-3:1.2" > /sys/bus/usb/drivers/usbhid/bind So why isn't "3-3:1.2" loaded at boottime?

Is this the fix?

ivan-zdravkov commented 4 months ago

I'm facing the same issue. Controller doesn't work. Persistent between BIOS flashes, Steam OS and Bazzite installs. Valve Software Steam Controller Bootloader shows in the USB device list but doesn't have a hwid assigned. I also downgraded the hid version to 1.0.5 as indicated in https://github.com/ublue-os/bazzite/issues/1108 which describes a similar issue.

Has anyone been able to find a solution yet? It's been 3 days already I'm facing this and my Steam Deck is a paperweight at this point.

RodoMa92 commented 4 months ago

I'm facing the same issue. Controller doesn't work. Persistent between BIOS flashes, Steam OS and Bazzite installs. Valve Software Steam Controller Bootloader shows in the USB device list but doesn't have a hwid assigned. I also downgraded the hid version to 1.0.5 as indicated in https://github.com/ublue-os/bazzite/issues/1108 which describes a similar issue.

Has anyone been able to find a solution yet? It's been 3 days already I'm facing this and my Steam Deck is a paperweight at this point.

If you see the bootloader, then your controller do work. You just need to reflash using the script provided by Valve to reenable it back to a working condition. I'll post some instruction on how to do this shortly, but you can see them already on the linked thread from bazzite IIRC.

EDIT: what output do you get from this command? sudo systemctl status jupiter-controller-update.service

MatthewThomasRussell commented 4 months ago

Not sure if it'll help anyone else out but for me it was due to a pre-release decky plugin I had installed, I cant remember exactly which one but I disabled my decky plugins and rebooted which resolved it for me then I just re-added them until I found the broken one and uninstalled.

ivan-zdravkov commented 4 months ago

Replying to https://github.com/ValveSoftware/SteamOS/issues/1308#issuecomment-2194638411

Thanks for the quick response. I'm getting:

Warning: The unit file, source configuration file or drop-ins of jupiter-controller-update.service changed on disk. Run 'systemctl>
○ jupiter-controller-update.service - Jupiter Controller Firmware Update Service
     Loaded: loaded (/usr/lib/systemd/system/jupiter-controller-update.service; disabled; preset: disabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: inactive (dead)
RodoMa92 commented 4 months ago

Replying to https://github.com/ValveSoftware/SteamOS/issues/1308#issuecomment-2194644733

Try to run sudo systemctl start jupiter-controller-update.service, then sudo systemctl status jupiter-controller-update.service again.

ivan-zdravkov commented 4 months ago
ivan@steamdeck:/var/home/ivan/Downloads$ sudo systemctl start jupiter-controller-update.service
[sudo] password for ivan: 
Warning: The unit file, source configuration file or drop-ins of jupiter-controller-update.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Job for jupiter-controller-update.service failed because the control process exited with error code.
See "systemctl status jupiter-controller-update.service" and "journalctl -xeu jupiter-controller-update.service" for details.
ivan@steamdeck:/var/home/ivan/Downloads$ sudo systemctl status jupiter-controller-update.service
Warning: The unit file, source configuration file or drop-ins of jupiter-controller-update.service changed on disk. Run 'systemctl>
× jupiter-controller-update.service - Jupiter Controller Firmware Update Service
     Loaded: loaded (/usr/lib/systemd/system/jupiter-controller-update.service; disabled; preset: disabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: failed (Result: exit-code) since Thu 2024-06-27 16:14:56 EEST; 23s ago
    Process: 13391 ExecStart=/usr/bin/jupiter-controller-update (code=exited, status=1/FAILURE)
   Main PID: 13391 (code=exited, status=1/FAILURE)
        CPU: 1.445s

Jun 27 16:14:51 steamdeck jupiter-controller-update[13415]:     raise DogBootloaderUpdateError()
Jun 27 16:14:51 steamdeck jupiter-controller-update[13415]: DogBootloaderUpdateError
Jun 27 16:14:51 steamdeck jupiter-controller-update[13391]: FW update failed. Retrying... Count: 3
Jun 27 16:14:54 steamdeck jupiter-controller-update[13391]: FW update out of retries
Jun 27 16:14:54 steamdeck jupiter-controller-update[13391]: !! Failed to apply firmware update, see above
Jun 27 16:14:56 steamdeck jupiter-controller-update[13420]: SUCCESS
Jun 27 16:14:56 steamdeck systemd[1]: jupiter-controller-update.service: Main process exited, code=exited, status=1/FAILURE
Jun 27 16:14:56 steamdeck systemd[1]: jupiter-controller-update.service: Failed with result 'exit-code'.
Jun 27 16:14:56 steamdeck systemd[1]: Failed to start jupiter-controller-update.service - Jupiter Controller Firmware Update Servi>
Jun 27 16:14:56 steamdeck systemd[1]: jupiter-controller-update.service: Consumed 1.445s CPU time.

ivan@steamdeck:/var/home/ivan/Downloads$ sudo journalctl -xeu jupiter-controller-update.service
Jun 27 16:14:51 steamdeck jupiter-controller-update[13415]:   File "/usr/share/jupiter_controller_fw_updater/d21bootloader16.py", >
Jun 27 16:14:51 steamdeck jupiter-controller-update[13415]:     self.erase()
Jun 27 16:14:51 steamdeck jupiter-controller-update[13415]:   File "/usr/share/jupiter_controller_fw_updater/d21bootloader16.py", >
Jun 27 16:14:51 steamdeck jupiter-controller-update[13415]:     self._poll_ack()
Jun 27 16:14:51 steamdeck jupiter-controller-update[13415]:   File "/usr/share/jupiter_controller_fw_updater/d21bootloader16.py", >
Jun 27 16:14:51 steamdeck jupiter-controller-update[13415]:     raise DogBootloaderUpdateError()
Jun 27 16:14:51 steamdeck jupiter-controller-update[13415]: DogBootloaderUpdateError
Jun 27 16:14:51 steamdeck jupiter-controller-update[13391]: FW update failed. Retrying... Count: 3
Jun 27 16:14:54 steamdeck jupiter-controller-update[13391]: FW update out of retries
Jun 27 16:14:54 steamdeck jupiter-controller-update[13391]: !! Failed to apply firmware update, see above
Jun 27 16:14:56 steamdeck jupiter-controller-update[13420]: SUCCESS
Jun 27 16:14:56 steamdeck systemd[1]: jupiter-controller-update.service: Main process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ An ExecStart= process belonging to unit jupiter-controller-update.service has exited.
░░ 
░░ The process' exit code is 'exited' and its exit status is 1.
Jun 27 16:14:56 steamdeck systemd[1]: jupiter-controller-update.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ The unit jupiter-controller-update.service has entered the 'failed' state with result 'exit-code'.
Jun 27 16:14:56 steamdeck systemd[1]: Failed to start jupiter-controller-update.service - Jupiter Controller Firmware Update Servi>
░░ Subject: A start job for unit jupiter-controller-update.service has failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ A start job for unit jupiter-controller-update.service has finished with a failure.
░░ 
░░ The job identifier is 6428 and the job result is failed.
Jun 27 16:14:56 steamdeck systemd[1]: jupiter-controller-update.service: Consumed 1.445s CPU time.
░░ Subject: Resources consumed by unit runtime
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ The unit jupiter-controller-update.service completed and consumed the indicated resources.
ivan-zdravkov commented 4 months ago

The actual jupiter-controller-update fails with the following:

ivan@steamdeck:/var/home/ivan/Downloads$ /usr/bin/jupiter-controller-update
PTS: 6112FB7A, STS: 00000000
[
  {
    "path": "/dev/hidraw0",
    "vendor_id": 10462,
    "product_id": 4100,
    "serial_number": "N/A",
    "release_number": 256,
    "manufacturer_string": "Valve Software",
    "product_string": "Steam Controller Bootloader",
    "usage_page": 65280,
    "usage": 1,
    "interface_number": 0,
    "build_timestamp": 1628633978,
    "secondary_build_timestamp": 0,
    "is_bootloader": true
  }
]
Initial firmware update only necessary for galileo hardware
Device is in bootloader mode, update required
Found candidate device, build timestamp 6112FB7A, BL true, BL_Type 1, HYB false
Updating Type 1 System
Erasing: |                                                                                                                        
Traceback (most recent call last):
  File "/usr/share/jupiter_controller_fw_updater/d21bootloader16.py", line 1220, in <module>
    cli()
  File "/home/ivan/.local/lib/python3.12/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ivan/.local/lib/python3.12/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/ivan/.local/lib/python3.12/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ivan/.local/lib/python3.12/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ivan/.local/lib/python3.12/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/jupiter_controller_fw_updater/d21bootloader16.py", line 1004, in program
    bootloader.upload_firmware(firmware, verify=verify)
  File "/usr/share/jupiter_controller_fw_updater/d21bootloader16.py", line 932, in upload_firmware
    self.erase()
  File "/usr/share/jupiter_controller_fw_updater/d21bootloader16.py", line 864, in erase
    self._poll_ack()
  File "/usr/share/jupiter_controller_fw_updater/d21bootloader16.py", line 518, in _poll_ack
    raise DogBootloaderUpdateError()
DogBootloaderUpdateError
FW update failed. Retrying... Count: 1
RodoMa92 commented 4 months ago

Jun 27 16:14:51 steamdeck jupiter-controller-update[13415]: DogBootloaderUpdateError Jun 27 16:14:51 steamdeck jupiter-controller-update[13391]: FW update failed. Retrying... Count: 3 Jun 27 16:14:54 steamdeck jupiter-controller-update[13391]: FW update out of retries Jun 27 16:14:54 steamdeck jupiter-controller-update[13391]: !! Failed to apply firmware update, see above Jun 27 16:14:56 steamdeck jupiter-controller-update[13420]: SUCCESS

Seems that the script is failing the erase cycle, so it's not going forward in flashing the firmware, see:

Jun 27 16:14:51 steamdeck jupiter-controller-update[13415]: DogBootloaderUpdateError
Jun 27 16:14:51 steamdeck jupiter-controller-update[13391]: FW update failed. Retrying... Count: 3
Jun 27 16:14:54 steamdeck jupiter-controller-update[13391]: FW update out of retries
Jun 27 16:14:54 steamdeck jupiter-controller-update[13391]: !! Failed to apply firmware update, see above
Jun 27 16:14:56 steamdeck jupiter-controller-update[13420]: SUCCESS

You will probably need to ask Valve why it's failing, since it doesn't seem to tell you anything useful besides the chip erase going bad.

The two reports above tho seems identical, what software version are you on? SteamOS Main?

ivan-zdravkov commented 4 months ago

Latest Bazzite. But it's absolutely identical with SteamOS Main and Beta.

RodoMa92 commented 4 months ago

Latest Bazzite. But it's absolutely identical with SteamOS Main and Beta.

Odd, it works fine here (I also use bazzite on mine) and the latest time that bazzite has pulled in the controller updater has been from a month ago, so it should still work fine (unless it was from a while that you updated).

If you try to run manually sudo jupiter-controller-update, do you still get the same output back from the program? Can you post it here?

EDIT: Oh, you already did that without sudo. Try with sudo in the from just to be sure (it should be required to flash the controllers firmware IIRC).

RodoMa92 commented 4 months ago

Another thing I noticed in the unofficial Valve's changelog (please, Valve, start making your gitlab public by default): https://gitlab.com/evlaV/jupiter-hw-support/-/commit/b5eeda0affe1252764bde4070e64db2293624489

This mentions some regression in all firmwares after march 3. Not sure on what was the problem, since they do not clarify that in the commit log.

ivan-zdravkov commented 4 months ago

I installed Bazzite just yesterday, so it should be latest. Executing with sudo produces absolutely the same result. I'll check the unofficial changelog later when I get back tonight.

ivan-zdravkov commented 4 months ago

@RodoMa92, I tried standalone runs of older versions (3.4 /Dec22/ and 3.5 /Dec23/) of jupiter-hw-support , point them correctly to their own path in Downloads and I still get the same error. https://gitlab.com/evlaV/jupiter-hw-support/-/tree/37a7f657d0dbf891844ec181b382f4cfc205bf9e https://gitlab.com/evlaV/jupiter-hw-support/-/tree/0be4f88889a07da7a7855969e709aba4d786d6af

RodoMa92 commented 4 months ago

@RodoMa92, I tried standalone runs of older versions (3.4 /Dec22/ and 3.5 /Dec23/) of jupiter-hw-support , point them correctly to their own path in Downloads and I still get the same error. https://gitlab.com/evlaV/jupiter-hw-support/-/tree/37a7f657d0dbf891844ec181b382f4cfc205bf9e https://gitlab.com/evlaV/jupiter-hw-support/-/tree/0be4f88889a07da7a7855969e709aba4d786d6af

Maybe a specific regression with your controller architecture firmware? At this point I'm not really sure myself.

PTS: 65E4F1BA, STS: 65E4F213
[
  {
    "path": "/dev/hidraw2",
    "vendor_id": 10462,
    "product_id": 4613,
    "serial_number": "",
    "release_number": 512,
    "manufacturer_string": "Valve Software",
    "product_string": "Steam Deck Controller",
    "usage_page": 65535,
    "usage": 1,
    "interface_number": 2,
    "build_timestamp": 1709502906,
    "secondary_build_timestamp": 1709502995,
    "is_bootloader": false
  }
]
Initial firmware update only necessary for galileo hardware
NO UPDATE: Type 1/2 Device is running latest build 65E4F1BA
needs_update=0

Mine reports Type 1/2, there are 3 different (now 4 from the latest files) architectures (depending on the used microcontrollers on the two boards, IIRC 1 is Atmel, 2 is Renesas, and a weird combo called 1/2 like mine which I'm not sure what they represent (might be Atmel/Renesas per board, not sure). Now they seems to have added a nrf52 series micros in the firmware, but being bluetooth based devices I doubt they are meant to be used inside the Deck itself).

If the two posters above can check which architecture your embedded controller are we might at least narrow down if one specific controller configuration is to blame here. They had specific micros regressions like these in the past, IIRC. This might help them fix this faster (assuming it's not an hardware fault, but I doubt it with two different people with the same issue at the same time).

EDIT: yeah, your hardware reports type 1 here:

Found candidate device, build timestamp 6112FB7A, BL true, BL_Type 1, HYB false
Updating Type 1 System

We have different hardware controllers then.

BTW, I've already reported to the maintainers of bazzite to rebuild the controller updater firmware package, so it might be fixed as soon as a new build is uploaded in Github (assuming the regression mentioned is the issue that you have).

ivan-zdravkov commented 4 months ago

Ok, so I decided to try Windows and see if getting the latest jupiter-hw-support scripts on a brand new environment might do any good. My flash drives and microSD are terribly slow so I did flash on the internal SSD https://github.com/Minibattle/WinDeckOS for ease of setup. I know, I know. I wanted to just get something up and running quick!

I had to setup python, pip, install all the dependencies (1.0.5 hid), I also had to manually add the hidapi.dll in the python root directory and directly execute the bin I needed to flash, since reworking the update script for Windows would end up being a bit too hard.

So I ran:

python d21bootloader16.py program D21_APP_REL_6670767C.bin

And ended up with absolutely the same error.

I was already pretty bummed and decided to open up the Steam Deck and see if something came loose. Nothing obvious, but I ended up disconnecting and connecting again every cable I could get my hands on, without dismantling the whole thing.

IT WORKED!

The controller didn't work initially, but this time the script ran successfully and then it worked!

Pretty sure it's not the Windows but probably something came loose on the inside and fiddling with it for a bit seemed to have fixed it. Not what I had in mind, but might prove useful to test if everything else is a dead end.

Abfaker commented 4 months ago

How did you run the scrip..please give me the full details..i wanna fix mine

RodoMa92 commented 2 months ago

For the people here that CAN'T see any USB devices, someone managed to revive a dead Reneasas controller by reflashing the Bootloader. In his case they needed to replace the actual microcontroller, but if it's just software bricked you can try to follow his guide and see if you can get it back.

This is of course at your own risk: here