RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Pi 5, ControlBlock and nvme issues?

    Scheduled Pinned Locked Moved ControlBlock, PowerBlock & Co.
    controlblocknvmepi5
    19 Posts 5 Posters 1.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      r3dstar
      last edited by r3dstar

      Rather niche, but I've switched my Pi 4 out for a Pi 5, fresh install of OS Lite 64 through a network install onto a 2TB SSD on the PiMoroni board, and installed RetroPie. Everything went in lovely. After enabling the ControlBlock driver I get 2 gamepads detected, but when I go to map by holding down one of the buttons, nothing happens.

      Installed the ControlBlockService2 direct from the repo, but no joy. Certain nothing has come loose. Grounds are still wired in.

      Could the nvme cause issues with the GIPO?

      mituM 1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator @r3dstar
        last edited by mitu

        @r3dstar said in Pi 5, ControlBlock and nvme issues?:

        PiMoroni board

        Is it this the NVME Base board ?

        R 1 Reply Last reply Reply Quote 0
        • R
          r3dstar @mitu
          last edited by

          @mitu That's the one!

          1 Reply Last reply Reply Quote 0
          • R
            r3dstar
            last edited by

            Some things I've tried:

            Enabling, Disabling the driver
            Uninstalling and reinstalling using the quick installation and the building and installing as in the Git repo instructions https://github.com/petrockblog/ControlBlockService2
            Directly powering the Pi5 instead of the ControlBlock (no difference)

            Ran jstest for js0 and js1, no response.
            Running the testRPiGPIO.sh (Whilst I didn't unplug anything) runs and outputs initally

            ./scripts/testRPiGPIO.sh: line 43 echo write error: Invalid argument
            ./scripts/testRPiGPIO.sh: line 45 /sys/class/gpio/gpio8/direction No Such file of director
            ./scripts/testRPiGPIO.sh: line 47 /sys/class/gpio/gpio8/direction No Such file of directory
            ./scripts/testRPiGPIO.sh: line 43 echo write error: Invalid argument
            ./scripts/testRPiGPIO.sh: line 45 /sys/class/gpio/gpio9/direction No Such file of director
            ./scripts/testRPiGPIO.sh: line 47 /sys/class/gpio/gpio9/direction No Such file of directory
            

            *repeat for 10,11,17,18...

            Then just spams
             cat: /sys/class/gpio/gpioXX/value: No such file or directory
            

            XX being 8,9,10,11,17,18

            M 1 Reply Last reply Reply Quote 0
            • M
              mth75 @r3dstar
              last edited by

              @r3dstar With the implementation of the custom silicon RP1 the whole GPIO device tree changed. I think you need another software solution.

              mituM 1 Reply Last reply Reply Quote 0
              • mituM
                mitu Global Moderator @mth75
                last edited by

                @mth75 Actually the GPIO script doesn't work because of the kernel version change. Since Linux kernel version 6.6 (in RaspiOS) the sysfs GPIO interface has been removed (being deprecated for years in upstream linux kernel), see https://forums.raspberrypi.com/viewtopic.php?p=2178053#p2178053. This changes in 6.6 may have impacted ControlBlock also, but I remember that it worked in https://retropie.org.uk/forum/topic/34778/ with RPI5/RP1.

                R 1 Reply Last reply Reply Quote 1
                • R
                  r3dstar @mitu
                  last edited by

                  @mitu I did see that, but it seemed to be more about the power switch, however as the poster said that it worked in the end, but wasn't for me the only thing I couldn't match is using nvme. I'll try just going from the SD card after work and see if it does work, or if it is a GIPO issue.

                  @petrockblog does state that it is Pi5 compatible which again leads me to the use of a nvme SSD.
                  1dc4d984-38d6-4bd6-bf4f-d1a3341c3b51-image.png

                  1 Reply Last reply Reply Quote 0
                  • R
                    r3dstar
                    last edited by

                    Installed on an SD card and unplugged NVMe, but the same results.

                    mituM 1 Reply Last reply Reply Quote 0
                    • mituM
                      mitu Global Moderator @r3dstar
                      last edited by

                      @r3dstar said in Pi 5, ControlBlock and nvme issues?:

                      Installed on an SD card and unplugged NVMe, but the same results.

                      I'm just speculating here, but it may be due to the Linux kernel version (6.6) and GPIO related changes on that version. Which kernel version do you have installed ? Installing a fresh RaspiOS should start with Linux kernel version 6.1, but if you updated (via apt) then you'll get version 6.6.

                      R 1 Reply Last reply Reply Quote 0
                      • R
                        r3dstar @mitu
                        last edited by

                        @mitu I didn't update, but the default RaspiOS install for Pi5 is 6.6. Tried to install the legacy BullsEye 6.1 from an image and it doesn't want to run on a Pi5.

                        mituM 1 Reply Last reply Reply Quote 0
                        • mituM
                          mitu Global Moderator @r3dstar
                          last edited by mitu

                          @r3dstar said in Pi 5, ControlBlock and nvme issues?:

                          I didn't update, but the default RaspiOS install for Pi5 is 6.6

                          Try with an slightly older RaspiOS image that has a 6.1 kernel - https://downloads.raspberrypi.com/raspios_arm64/images/. However, while that might make ControlBlock work, may render the NVME Hat unusable if it needs a recent kernel version.

                          R 1 Reply Last reply Reply Quote 0
                          • R
                            r3dstar @mitu
                            last edited by

                            @mitu OK... this is promising.

                            I've used 2023-12-11-raspios-bookworm-arm64-lite.img on my SD card and ControlBlock works, so the kernal is absolutely the issue.

                            Now using disk duplicator to clone the SD to the NVMe which is still recognised.

                            Taking a bit as the card is 128GB...

                            Fingers crossed.

                            1 Reply Last reply Reply Quote 0
                            • R
                              r3dstar
                              last edited by

                              OK. Done?

                              Feel I'm missing something, but the SD card is out and ControlBlock is working with the NVMe?

                              Now to transfer over my games and my custom interface!

                              1 Reply Last reply Reply Quote 0
                              • mituM
                                mitu Global Moderator
                                last edited by mitu

                                OK, so the changes in the RaspiOS Linux ver 6.6 are breaking the ControlBlock driver. I guess the driver needs some modifications to be compatible with the new GPIO naming/changes introduced in that version, so for now maybe skip the Linux kernel package updates through apt.

                                1 Reply Last reply Reply Quote 1
                                • R
                                  r3dstar
                                  last edited by

                                  One thing I have noticed is that it doesn't seem to like the power going via the ControlBlock even refusing to boot past a certain point, power is going in direct to the Pi 5 at the moment.

                                  1 Reply Last reply Reply Quote 0
                                  • mituM mitu referenced this topic on
                                  • P
                                    petrockblog Global Moderator
                                    last edited by

                                    Sorry, I have messed up my forum notification settings, but they should be good again now 🤦‍♂️
                                    Sort for this delayed reply!

                                    The ControlBlock driver was updated five months ago for some RPi 5 specifics, but if a new kernel version introduces changes to the device tree, the driver probably needs an update again. I will take a look at this! I will update the test script that comes with driver as well. It is not up to date anymore and not very helpful with the RPi 5.

                                    T 1 Reply Last reply Reply Quote 0
                                    • T
                                      thebigzwatson @petrockblog
                                      last edited by

                                      @petrockblog Hi. I'm having problems with my install. When I do configure input in emulation station, it says 2 gamepads detected, but I can't configure them. I can configure the keyboard just fine.

                                      Pi5 with controlblock rev 2.1. Installed with the installation script. Full RaspianOS with retropie installed.

                                      Is this the kernal issue? Was it resolved?

                                      P 1 Reply Last reply Reply Quote 0
                                      • P
                                        petrockblog Global Moderator @thebigzwatson
                                        last edited by

                                        @thebigzwatson Hi, it sounds as if the driver is running as correctly since there are two controllers detected. I would try and check the wiring of the controls: Try using a jump wire to short the buttons to ground. This should lead to "key press" events. You could use jstest as described at https://github.com/petrockblog/ControlBlockService2?tab=readme-ov-file#troubleshooting for that as well. Hope that helps!

                                        T 1 Reply Last reply Reply Quote 0
                                        • T
                                          thebigzwatson @petrockblog
                                          last edited by thebigzwatson

                                          @petrockblog Thanks for the reply.

                                          Shorting the wires (just touching the signal and the ground together) doesn't solve the problem. I should have mentioned earlier that the controlblock works perfectly with my pi2, but I'm trying to upgrade.

                                          I can't get the jtest to work. I can't find the command in /dev/input.

                                          The more I'm playing around with this I think it is a problem with my retropie install, but I can't figure out what

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post

                                          Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                          Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.