Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Steam Deck - Flash MCU on controller board R rev. B: Difference between revisions

From Repair Wiki
m (Not a stub)
No edit summary
 
Line 1: Line 1:
Steam Deck LCD - Flash MCU on controller board "R" revision B (Renesas RA4E1 MCU - R7FA4E10B2CFM or R7FA4E10D2CFM)
{{Repair Guide
{{Repair Guide
|Device=Steam Deck
|Device=Steam Deck
|Affects parts=Controller board revision B; R7FA4E10B2CFM; R7FA4E10D2CFM
|Affects parts=Controller board revision B; R7FA4E10B2CFM; R7FA4E10D2CFM
|Needs equipment=Steam Deck LCD
|Type=Software
|Difficulty=1. Easy
|Difficulty=1. Easy
|Needs equipment=Steam Deck LCD}}
}}
Steam Deck LCD - Flash MCU on controller board "R" revision B (Renesas RA4E1 MCU - R7FA4E10B2CFM or R7FA4E10D2CFM)
 
 
== Problem description ==
== Problem description ==
<!--  
<!--  

Latest revision as of 09:16, 9 September 2024

Steam Deck - Flash MCU on controller board R rev. B
Device Steam Deck
Affects part(s) Controller board revision B; R7FA4E10B2CFM; R7FA4E10D2CFM
Needs equipment Steam Deck LCD
Difficulty ◉◌◌◌ Easy
Type Software


Steam Deck LCD - Flash MCU on controller board "R" revision B (Renesas RA4E1 MCU - R7FA4E10B2CFM or R7FA4E10D2CFM)


Problem description

The controller board is not detected by SteamOS; MCU of the controller board was replaced and needs to be flashed with firmware

Symptoms

  • The controller board is not detected by SteamOS
  • The MCU needed to be replaced and flashed

Solution

There are three options to program the MCU on the controller board revision B.

Option 1: Flash the MCU off-the-board via external circuit and mount the MCU on the controller board afterwards.

Option 2: Flash via external programmer and tag-connect cable (TC2050)

Option 3: Program the MCU in USB boot mode via Steam OS

You can use the R7FA4E10B2CFM (256 KB flash) or the R7FA4E10D2CFM (512 KB flash) MCU on the revision B controller board.

Repair Steps

Figure 1: Connect the mode pin of the MCU to ground to switch to USB boot mode for programming

Option 3: Program the MCU via USB via SteamOS

To program the MCU via USB in Steam OS, we will need to either switch to Desktop mode (with e.g. external keyboard/mouse) or connect to the Deck via SSH (recommended way) from another computer. If you need to know how to switch to desktop mode or connect to SSH, check another guide.

The RA4E1 MCU needs to be put into USB/Serial boot mode by pulling the mode pin (MD) to ground during reset/power-on and keeping it pulled down during programming.

Figure 2: Pinout of the tag connect (TC2050) interface on the revision B controller board

Step 1 - prepare the controller board: Power off the Steam Deck/put it into standby. Connect the MD (mode) pin to ground (see figure 1). You can connect two pads of the tag-connect interface (the two on the upper right) for this (see figure 2). Power on the Deck/wake from standby. Check if the MCU has booted in USB mode by typing lsusb in console. You should see the following device (see figure 3):

Figure 3: lsusb: Renesas MCU in USB boot mode for programming

Hitachi, Ltd RA USB Boot

Step 2 - flash the bootloader: Change directory:

Figure 4: Running the script to flash the bootloader on the Renesas MCU via USB

cd /usr/share/jupiter_controller_fw_updater/RA_bootloader_updater

run the script:

./rfp_cli_linux.sh boot_ra_Release.srec --erase_prov_and_cal

(see figure 4) The script will as you to press and *hold* "Right Bumper" (R1), "Right Upper Back" (R4) and "Right Quick Access" ("..."). Keep the buttons pressed and programming will start. Keep the buttons pressed, until the script will prompt you to release them. The script will end and the bootloader is flashed on the MCU. Confirm this by typing lsusb into the console. You should see a USB device called Valve Software Steam Controller Bootloader

Figure 5: lsusb: Valve Software Steam Controller Bootloader

Step 3 - tidy up: Power down the deck. Remove the connection between MD and ground. Reassemble the Steam Deck and power on. The MCU will be programmed by SteamOS during start up. Confirm this by typing lsusb into the console. You should see a device called Valve Software Steam Controller The controller should also be recognized in gaming mode. All controller inputs should work.

Done.