Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Anyone have this working on Pi 5? #180

Open
ImDroided opened this issue Jan 27, 2024 · 9 comments
Open

Anyone have this working on Pi 5? #180

ImDroided opened this issue Jan 27, 2024 · 9 comments

Comments

@ImDroided
Copy link

Has anyone gotten the caribou to work on a pi5? if so what steps did you take? I am getting /dev/gpiomem not found as it seems they changed the GPIO access in the 5

@alphafox02
Copy link

I think hardware has changed on Pi5. I’m sitting here with one but had to drop back to the Pi4.

@ImDroided
Copy link
Author

I think hardware has changed on Pi5. I’m sitting here with one but had to drop back to the Pi4.

I've seen they changed the way the gpio is so hopefully this is just a caribou firmware update we need and not the end of the road. I picked up a pi 5 just for this project in hopes of making a all in one sdr system to carry around.

By the way thanks for all your work on DragonOS it really is a awesome SDR OS build.

@steve-m
Copy link

steve-m commented Feb 3, 2024

As of now, it won't work with the RPi 5. In my opinion it should be mentioned everywhere, because that is quite misleading.

The Raspberry Pi 5 doesn't have the SMI (Secondary Memory Interface) the cariobou relies on, because that was a feature of the Broadcom SoC. Now the 40-pin GPIO header is connected to the RP1, which doesn't implement this interface.

As the RP1 has an ARM core with PIO peripherals however, it might be possible to implement an interface to the FPGA there, but that will require quite intensive software changes, patching of the ARM code running in the RP1, and most likely a modified gateware for the FPGA on the caribou.

Currently, there isn't even an official way to run code on the RP1, let alone documentation for the ARM peripherals (like the PIO) of the RP1. However, some people are already hacking/reverse engineering that:

https://github.com/MichaelBell/rp1-hacking
https://github.com/librerpi/rp1-lk

Yet, I doubt there will be RPi5 support for the caribou anytime soon.

@great9
Copy link

great9 commented Feb 4, 2024

They are trying to make it work...
61ed205

@ImDroided
Copy link
Author

Awesome I am happy to see at least some progress. The performance of my pi5 8gb's blows my pi4's out the water. sometimes I forget that I am on a pi when in remote desktop. I hope to have a pi5 with my m.2 nvme and the caribou to use with my satellite tracker but I need to run gpredict and satdump at the same time. the pi5 can do live passes while running a GUI desktop and the 4 can barely hang in console mode. This paired with a 10in touchscreen and battery all stuffed in a nice all in one case will be the ultimate mobile sat rig. Sure I could use a laptop but where is the fun in that.

@cleverca22
Copy link

i have control of the PIO block on the pi5, and it can sustain about 500mbit of transfer from gpio to dram
but it drops some samples, so you need some hw flow control to throttle it

the repos:
https://github.com/MichaelBell/rp1-hacking/tree/main/launch_core1
https://github.com/librerpi/rp1-lk
https://github.com/cleverca22/rp1-kernel-example

an example of using it:

[clever@amd-nixos:~/apps/rpi/rp1-lk]$ time make PROJECT=rp1-test -j && scp build-rp1-test/lk.bin pi5w:.
root@raspberrypi:~# cd ~/rp1-hacking/launch_core1/ && ./core1_test -f /home/clever/lk.bin

core1_test will reset the cortex-m3 core1 in the RP1, and then force it to jump into a given binary
rp1-lk is a small kernel, that gives you a repl on uart1 (gpio 0/1), and configures the PIO
rp1-kernel-example sets up dma between /dev/example and the PIO FIFO

after that, its just a matter of getting some PIO code to handshake with the fpga and setup bi-directional comms

@great9
Copy link

great9 commented Apr 21, 2024

i have control of the PIO block on the pi5

Just tagging these devs in case they haven't seen this @AlonSpinner @matteoserva @meexmachina

@geerlingguy
Copy link

Would love to see it :)

Getting into some SDR stuff this year (finally), and I was about to pop it on a Pi 5 but will hold off and stick with a Zero 2W for now. I would be happy to help in any way (even if that's just trying to run a few things up to whoever will listen, for better RP1 support/documentation).

@great9
Copy link

great9 commented May 10, 2024

Would love to see it :)

Getting into some SDR stuff this year (finally), and I was about to pop it on a Pi 5 but will hold off and stick with a Zero 2W for now. I would be happy to help in any way (even if that's just trying to run a few things up to whoever will listen, for better RP1 support/documentation).

hi Jeff.
Drivers were really bad before - I couldn't get a stream running without completely blocking my rpi3b+. Even though it was an older SBC it should have worked. Now, the drivers are much better with the last month's overhaul. They're now stable, and transmission is possible with @matteoserva 's branch. There's lots to fix in the drivers and the entire software package but at least it works now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants