Pi 5, ControlBlock and nvme issues?
-
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?
-
@r3dstar said in Pi 5, ControlBlock and nvme issues?:
PiMoroni board
Is
itthis the NVME Base board ? -
@mitu That's the one!
-
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
-
@r3dstar With the implementation of the custom silicon RP1 the whole GPIO device tree changed. I think you need another software solution.
-
@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.
-
@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.
-
Installed on an SD card and unplugged NVMe, but the same results.
-
@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. -
@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.
-
@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.
-
@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.
-
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!
-
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
. -
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.
-
-
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.
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.