Input not being accepted by PS4

Need help? Ask here and someone will help
PoorLeno
Posts: 4
Joined: Sun Mar 06, 2022 10:37 pm

Input not being accepted by PS4

Post by PoorLeno »

Back when GT Sport came out, I was able to use a CP2102 > "Arduino Leonardo" Robotdyn Micro ATmega32U4 (5V, 16MHz) successfully with a Logitech G27 to emulate a G29, using GIMX 6.11

Now that GT7 is out, I wanted to see if I could get it working with my rig that now has a Fanatec clubsport wheel and pedals. The end of the story is, the PS4 won't accept the PS button input. Here's how I got to where I am now:

I installed the current version of Gimx. As this is a new computer, it did not have 6.11 installed, I just happened to have the contents of the install folder from my old computer where this worked.
I had to replace my CP2102, as Windows 10 no longer recognized it. Working CP2102 is on COM3
With a new CP2102, I was still unable to flash the firmware with Gimx-loader. Here's the output:

Code: Select all

Connecting to programmer: .avrdude: butterfly_recv(): programmer is not responding

avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
Found programmer: Id = "Ç"; type = ï
    Software Version = D. ; Hardware Version =  .
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: leave prog mode
While making sure I had the wiring right, I must have reset the Leonardo enough to cause the bootloader to create COM4 for about 8 seconds. I noticed this by having USBLogView running while messing around with this.

In the old 6.11 folder, I found the Arduino Builder and used that to apply EMUG29PS4.hex successfully by plugging in the Leonardo and clicking the COM3 button on Builder.

Builder output: https://imgur.com/a/qgHA8pZ

I plugged the CP2120 end directly into my PC, and the Leonardo end directly into the back of my PS4, with a DS4 controller connected to my PC.

I started Gimx-loader, the config checked passed, I started my PS4 via the console's power button, didn't touch the DS4, and pressed the PS button I had assigned to my wheel, and nothing happened.

As a test (and where the below log comes from), I disconnected my wheel (which was on a powered hub with my pedals), made a small keyboard only configuration where I assigned the PS button, directional keys, and X/O to my keyboard. Started the software, pressed the PS key on my keyboard, and still the PS4 doesn't act like a PS button has been pressed.

Gimx log output: https://pastebin.com/dxmruHvB

If I plug the Leonardo end into my PC while Gimx is running, should it detect a G29? USBLogView shows no USB devices being added or removed when I do this.

Am I missing anything? Should I look at getting a new Leonardo (or something different)? I'd love to be able to figure this out instead of having to buy a PS4-compatible wheel.
User avatar
GoDlike
Posts: 1317
Joined: Thu Apr 28, 2016 12:47 pm
Location: Poland

Re: Input not being accepted by PS4

Post by GoDlike »

I am not sure if you are doing the flash correctly. You should plug both cables to PC, run gimx-loader and then replug leonardo cable. This will force it to go bootloader mode. GIMX-loader will detect the change and flash the firmware.
My hardware: PS3 Slim CFW 4.80 | PS4 Pro 500 Million LE | PS5 | Xbox Series X
Steam: Godlike_RU | PSN: GoDlike_RU | XBL: GoDlike
PoorLeno
Posts: 4
Joined: Sun Mar 06, 2022 10:37 pm

Re: Input not being accepted by PS4

Post by PoorLeno »

GoDlike wrote: Mon Mar 07, 2022 10:20 am You should plug both cables to PC, run gimx-loader and then replug leonardo cable. This will force it to go bootloader mode. GIMX-loader will detect the change and flash the firmware.
I had the feeling something wasn't right here. I had both plugged in, but unplugging/plugging the Leonardo had no effect. Unplugging/plugging the CP2102 is what got the flashing process to start, and fail.
While making sure I had the wiring right, I must have reset the Leonardo enough to cause the bootloader to create COM4 for about 8 seconds. I noticed this by having USBLogView running while messing around with this.
I'm guessing this was never the case while trying to upload firmware from GIMX-loader. Let me see if I can reset my Leonardo to get the bootloader and only unplug/plug that. I also ordered a replacement Leonardo as a backup, which should arrive in a few days
User avatar
GoDlike
Posts: 1317
Joined: Thu Apr 28, 2016 12:47 pm
Location: Poland

Re: Input not being accepted by PS4

Post by GoDlike »

Well, shit, maybe that was the CP2102 cable. I don't remember and I don't have a adapter with me right now. I'll ask the other guys.
My hardware: PS3 Slim CFW 4.80 | PS4 Pro 500 Million LE | PS5 | Xbox Series X
Steam: Godlike_RU | PSN: GoDlike_RU | XBL: GoDlike
User avatar
ckaiycool
Posts: 468
Joined: Thu Jul 10, 2014 8:16 pm
Location: Sweden

Re: Input not being accepted by PS4

Post by ckaiycool »

Connect both sides of gimx adapter to PC. (Motherboard back ports.)
Gimx Launcher - Help > Update Firmware.
Gimx loader - choose firmware.
When prompted - Unplug/replug uart or if it does not work try again with unplug/replug AVR side.

If this does not work i would try downloading the latest gimx version and try flashing with that.
Don't use a usb hub when flashing.
PoorLeno
Posts: 4
Joined: Sun Mar 06, 2022 10:37 pm

Re: Input not being accepted by PS4

Post by PoorLeno »

New Leonardo arrived in the mail today. An actual Arduino Leonardo, rather than a clone on a small board

Ground <> Ground, two TX <> RX connections. This caused my CP2102 to show a blue and red light now, vs just a red light with my old ATmega32U4. I bet that board was dead.

Followed your steps exactly.

Code: Select all

Connecting to programmer: .avrdude: butterfly_recv(): programmer is not responding

avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
Found programmer: Id = "Ç"; type = ï
    Software Version = D. ; Hardware Version =  .
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

I was able to upload the code through GIMX-loader by pressing the reset button on the Leonardo rather than unplug/plugging it in

However, it still fails to work. And I also get a "Failed to read firmware type" error when starting GIMX-loader. I tried my KB test config, using the COM port of my CP2102, and just get this:

Code: Select all

global option -c with value `KBTest.xml'
controller #1: option -p with value `COM3'
now reading arguments for controller #2
subpos flag is set
force_updates flag is set
auto-grab flag is set
Error: failed to read packet header from the GIMX adapter
Error: failed to read packet header from the GIMX adapter
Error: failed to read packet header from the GIMX adapter
...etc
Ran out of time to mess around with this for now, I'll try again tomorrow
User avatar
ckaiycool
Posts: 468
Joined: Thu Jul 10, 2014 8:16 pm
Location: Sweden

Re: Input not being accepted by PS4

Post by ckaiycool »

Have you tried to press the reset button quickly after you choose firmware and press Load?
If that does not work try to hold down the reset button for longer period (2-3 seconds).
If that does not work try holding the reset button down during the entire installation.

What Arduino Leonard are you using? Have you searched any info how to load firmware onto it?
What does the blinking lights mean for an example.
Micro versions does not have a reset button thats why im asking.
Have you soldered the wires? No bridges.
Do you connect to the computers back usb ports?
Reistall cp2104 drivers etc?
Lots of questions but these needs to be answered.
User avatar
ckaiycool
Posts: 468
Joined: Thu Jul 10, 2014 8:16 pm
Location: Sweden

Re: Input not being accepted by PS4

Post by ckaiycool »

If using Arduino Builder.

Launch Arduino Builder

Load Sketch / Binary (choose the firmware you want to use, specify Arduino Leonardo as Target, and specify @ 16Mhz. Then press the COM button.
If all goes well, the screen will say "Uploading completed!". I did it! If it succeeds, COM will disappear, so just pull out the Arduino board from the PC.
If that doesn't work, try resetting after pressing the COM button (reset by shorting RST & GND).
PoorLeno
Posts: 4
Joined: Sun Mar 06, 2022 10:37 pm

Re: Input not being accepted by PS4

Post by PoorLeno »

I tried again just to confirm it was broken, and it works now. Likely rebooting my computer had something to do with it, but I have no idea why.

Answering the questions for completeness:
ckaiycool wrote: Wed Mar 09, 2022 12:07 am Have you tried to press the reset button quickly after you choose firmware and press Load?
Yep, I did this yesterday to upload the firmware
ckaiycool wrote: Wed Mar 09, 2022 12:07 am Have you soldered the wires? No bridges.
The Leonardo came with headers installed, so I stuck my CP2102 into a breadboard and ran three wires from the breadboard to the Leonardo. I'll probably solder eventually.
ckaiycool wrote: Wed Mar 09, 2022 12:07 am Do you connect to the computers back usb ports?
Yes, my motherboard has two USB 2.0 ports that I used.
ckaiycool wrote: Wed Mar 09, 2022 12:07 am Reistall cp2104 drivers etc?
I had the Universal Windows driver installed from when I was trying to troubleshoot my faulty CP2102. Found them at https://www.silabs.com/developers/usb-t ... cp-drivers


It's working, but if I run into any more issues in the next few days I'll report back to this thread. Otherwise, I'm going to call this caused by a dead CP2102 and a dead Leonardo, replaced both (they were a few years old, no idea what killed them) and everything is now working. I appreciate the help!
User avatar
ckaiycool
Posts: 468
Joined: Thu Jul 10, 2014 8:16 pm
Location: Sweden

Re: Input not being accepted by PS4

Post by ckaiycool »

Nice. Glad it worked out for you. :D
Post Reply