Pi 5 Module for G2
Re: Pi 5 Module for G2
Everything is working great now even the dedicated NIC. When using the dedicated NIC absolutely no difference in network/ radio / Thetis performance. Jerrys monitoring app proves it. It was a must with my 7000 to utilize the dedicated NIC to run Thetis without VAC overflows. CMASIO also needed the dedicated NIC to limit audio artifacts. With the G2 and p2app no issues at all simply placing the G2 on your network, and as a bonus you have Ethernet connectivity with your pi OS in lieu of wireless.
Vin KD1GA
Re: Pi 5 Module for G2
This is the difference between the extremely mature and proven Linux network protocol stack vs. the very primitive protocol stack in the legacy openHPSDR FPGA firmware.
What is this "Jerry's monitoring app" you write about?
What is this "Jerry's monitoring app" you write about?
Re: Pi 5 Module for G2
You are absolutely correct. The protocol 2 firmwar for the 7000 series was definitely lacking and never officially supported as you know. The P2 app firmware for the G2 is rock solid and really a pleasure to deal with Jerry‘s monitoring app is simply an app that he added to his image, it monitors network activity Processor, load and ram usage really pretty cool.
Vin KD1GA
-
ianferrell
- Posts: 1
- Joined: Sun Aug 31, 2025 4:32 pm
Re: Pi 5 Module for G2
I've just upgraded my G2 Ultra w/ an official raspberry pi CM5 4gb w/ 32gb of MMC. First note that I would recomend using a lite and sticking to just using an sd card. I got it to work, it boots really fast but dealing w/ the microusb port was annoying. I've got the XDMA driver working and I can run thetis.
Second is a question, has anyone got the 8" display built into the g2 ultra to work with bookworm and the official pi cm5? What's the config.txt need to be? I found https://github.com/ramdor/G2Tools but the G2U8 config doesn't find the display at all. If I add ,dsi0 then I see dmesg logs indicating something is going on and the backlight comes on but doesn't show anything. I maybe confused and actually have a hardware issue, but I'd like some confirmation of what display config actually should work a CM5 in a G2 8" running bookworm.
Edit: just tried booting again with device_tree=bcm2712-rpi-cm5-cm4io.dtb in config.txt and it once again won't boot and says "os not compatible with CM5" ... " bcm2712-rpi-cm5-cm4io.dtb not found" I checked that it was in the /boot folder first as I've been down this path before, and had to then take the lid off again and the audio board and then plug in a microusb cable.
Last time I fixed that I spent a few hours first getting the thing to network boot but apparently the installer images won't really boot like that... was just hoping to be able to mount the boot partition and edit the config.txt file back without taking the radio back apart, but being non-UEFI makes just booting these things so weird and frustrating.
Edit 2: Finally messed around again and got it working, I think that the key maybe to set raspi-config to run the latest beta or whatever firmware, then the device_tree ... cm4io.dtb file works. the dtoverplay for the waveshare panel works w/out i2c commands w/ the proper device tree.
Second is a question, has anyone got the 8" display built into the g2 ultra to work with bookworm and the official pi cm5? What's the config.txt need to be? I found https://github.com/ramdor/G2Tools but the G2U8 config doesn't find the display at all. If I add ,dsi0 then I see dmesg logs indicating something is going on and the backlight comes on but doesn't show anything. I maybe confused and actually have a hardware issue, but I'd like some confirmation of what display config actually should work a CM5 in a G2 8" running bookworm.
Edit: just tried booting again with device_tree=bcm2712-rpi-cm5-cm4io.dtb in config.txt and it once again won't boot and says "os not compatible with CM5" ... " bcm2712-rpi-cm5-cm4io.dtb not found" I checked that it was in the /boot folder first as I've been down this path before, and had to then take the lid off again and the audio board and then plug in a microusb cable.
Last time I fixed that I spent a few hours first getting the thing to network boot but apparently the installer images won't really boot like that... was just hoping to be able to mount the boot partition and edit the config.txt file back without taking the radio back apart, but being non-UEFI makes just booting these things so weird and frustrating.
Edit 2: Finally messed around again and got it working, I think that the key maybe to set raspi-config to run the latest beta or whatever firmware, then the device_tree ... cm4io.dtb file works. the dtoverplay for the waveshare panel works w/out i2c commands w/ the proper device tree.
-
syracusepro
- Posts: 27
- Joined: Fri Oct 07, 2022 3:47 pm
ANAN G2 CM5 upgrade
Installed the CM5 PCB with the CM5 image.
Unable to read or load from SD card.
I do have the non emmc module.
Also, this CM5, the heatsink has some threads so the plastic screws protruding from the G2 board, can not be mounted, as I will need some holes, so those post pass through, then the heatsink can touch the CM5 or a source for a good heatsink.
As an update, I ordered the correct heatsink, as the plastic screws on the radio, does not allow the heatsink to be installing touching the CM5 PCB. that is due to short metal posts on the heatsink that can not be removed. So ordered the correct one from amazon, which has holes to allow the plastic screws to pass through. Didn't cut the screws, because in case I need to install the CM4 back, the screws are there for it. Now, the new heatsink also has a fan, two version one with a fan and one without a fan, and the fan unit uses the same voltage as the G2 original main fan, so it can be fed from there.
Still on the making and will update as soon as I get the CM5 to read from the SD card.
As an update on this posting, the CM5 is working fine. Reseating on sockets now it is reading SD card, and noticed apps working a lot faster and smoother. P2p I need to remote to it, then start p2P then load Thetis and go.
Working fine.
Still working on p2P autoloading to use with non Display unit. Researching code as changing on autostart was not enough.
As I can remote to inside the radio, I do start the P2P for now, then run Thetis to operate.
Unable to read or load from SD card.
I do have the non emmc module.
Also, this CM5, the heatsink has some threads so the plastic screws protruding from the G2 board, can not be mounted, as I will need some holes, so those post pass through, then the heatsink can touch the CM5 or a source for a good heatsink.
As an update, I ordered the correct heatsink, as the plastic screws on the radio, does not allow the heatsink to be installing touching the CM5 PCB. that is due to short metal posts on the heatsink that can not be removed. So ordered the correct one from amazon, which has holes to allow the plastic screws to pass through. Didn't cut the screws, because in case I need to install the CM4 back, the screws are there for it. Now, the new heatsink also has a fan, two version one with a fan and one without a fan, and the fan unit uses the same voltage as the G2 original main fan, so it can be fed from there.
Still on the making and will update as soon as I get the CM5 to read from the SD card.
As an update on this posting, the CM5 is working fine. Reseating on sockets now it is reading SD card, and noticed apps working a lot faster and smoother. P2p I need to remote to it, then start p2P then load Thetis and go.
Working fine.
Still working on p2P autoloading to use with non Display unit. Researching code as changing on autostart was not enough.
As I can remote to inside the radio, I do start the P2P for now, then run Thetis to operate.
Re: ANAN G2 CM5 upgrade
I assume you use Raspberrry Pi OS "Bookworm".syracusepro wrote: Sat Nov 15, 2025 8:38 pm Still working on p2P autoloading to use with non Display unit.
I do not know, if it is default already, but in my opinion you should try to use labwc as window manager:
# create an autostart entry for labwc
$ mkdir ~/.config/labwc
$ echo "~/github/Saturn/sw_projects/P2_app/p2app &" >> ~/.config/labwc/autostart
# change window manager to labwc
$ sudo raspi-config
6 Advanced Options
A7 Wayland
W3 Labwc
Finish & Reboot
Re: Pi 5 Module for G2
Hi all,
I’m testing **ANAN-G2 with Raspberry Pi CM5 on Bookworm 64-bit**.
Current state:
* Clean Bookworm 64-bit (eMMc)
* Saturn repo, `install-libraries.sh`, `fix-xdma.sh`, `update-G2.sh` completed
* Cold power cycles performed
Observed:
* `xdma` module loads
* `lspci` shows **no FPGA / no PCIe endpoint**
* `/dev/xdma*` not created
* `FPGAVersion` → *Bad file descriptor, version = 0*
* Flashwriter → *No PCIe Driver*
* Kernel always reports: `brcm-pcie: link down`
* LTSSM trace shows Detect → Polling → Compliance, then link down
So PCIe never comes up on CM5, making FPGA programming and XDMA impossible.
Several users report **successful CM5 setups**, so my question is:
**What specific changes are required for CM5 + Bookworm?**
(e.g. kernel parameters, DT/overlay, PCIe reset timing, firmware version, boot config)
Any known working CM5 + Bookworm configuration for G2 would be very helpful.
Thanks,
SQ9RST, David
---
I’m testing **ANAN-G2 with Raspberry Pi CM5 on Bookworm 64-bit**.
Current state:
* Clean Bookworm 64-bit (eMMc)
* Saturn repo, `install-libraries.sh`, `fix-xdma.sh`, `update-G2.sh` completed
* Cold power cycles performed
Observed:
* `xdma` module loads
* `lspci` shows **no FPGA / no PCIe endpoint**
* `/dev/xdma*` not created
* `FPGAVersion` → *Bad file descriptor, version = 0*
* Flashwriter → *No PCIe Driver*
* Kernel always reports: `brcm-pcie: link down`
* LTSSM trace shows Detect → Polling → Compliance, then link down
So PCIe never comes up on CM5, making FPGA programming and XDMA impossible.
Several users report **successful CM5 setups**, so my question is:
**What specific changes are required for CM5 + Bookworm?**
(e.g. kernel parameters, DT/overlay, PCIe reset timing, firmware version, boot config)
Any known working CM5 + Bookworm configuration for G2 would be very helpful.
Thanks,
SQ9RST, David
---
David SQ9RST
-
laurencebarker
- Posts: 335
- Joined: Mon Nov 11, 2019 7:39 pm
Re: Pi 5 Module for G2
You shouldn't have to do anything specific, other than run the various scripts that we've provide. The most capable is Jerry KD4YAL script, which is wat we have documented in the manual.
How did you perform your upgrade?
The most likely thing you will need to do is to rebuild (or possibly just reinstall) the PCI express device driver. I think Jerry's script does manage that.
I would suggest looking at the manual (v2.0 is the most recent) section 4.4, install Jerry's script and let it reload the device driver.
How did you perform your upgrade?
The most likely thing you will need to do is to rebuild (or possibly just reinstall) the PCI express device driver. I think Jerry's script does manage that.
I would suggest looking at the manual (v2.0 is the most recent) section 4.4, install Jerry's script and let it reload the device driver.
Laurence Barker G8NJJ
Re: Pi 5 Module for G2
Where is the v 2.0 manual posted? ....Erik.
-
laurencebarker
- Posts: 335
- Joined: Mon Nov 11, 2019 7:39 pm
Re: Pi 5 Module for G2
I hoped, on the Apache labs website. Seems not.
I have attached it to this message.
I have attached it to this message.
- Attachments
-
- Saturn manual v2.0.pdf
- (2.76 MiB) Downloaded 30 times
Laurence Barker G8NJJ
Re: Pi 5 Module for G2
Laurens, Thks. On the website v1.4 Aug 2024 is listed. Is there a link with always the latest version?laurencebarker wrote: Tue Jan 20, 2026 8:21 am I hoped, on the Apache labs website. Seems not.
I have attached it to this message.
73 Ronald PH7R
Re: Pi 5 Module for G2
Thanks!laurencebarker wrote: Tue Jan 20, 2026 8:21 am I hoped, on the Apache labs website. Seems not.
I have attached it to this message.
David SQ9RST
Re: Pi 5 Module for G2
Thank you for the quick response!laurencebarker wrote: Mon Jan 19, 2026 2:10 pm You shouldn't have to do anything specific, other than run the various scripts that we've provide. The most capable is Jerry KD4YAL script, which is wat we have documented in the manual.
How did you perform your upgrade?
The most likely thing you will need to do is to rebuild (or possibly just reinstall) the PCI express device driver. I think Jerry's script does manage that.
I would suggest looking at the manual (v2.0 is the most recent) section 4.4, install Jerry's script and let it reload the device driver.
Steps I perform on CM5 with eMMC:
1. Using Raspberry Pi Imager, I install the new OS Bookworm 64-bit (standard - no lite, no Full) on the internal eMMC memory. During system preparation, I add initial configuration.
2. The system boots without issues.
3. I clone the repository from GitHub. I've tried both, always on a clean Bookworm installation:
• https://github.com/laurencebarker/Saturn.git
• https://github.com/kd4yal2024/Saturn.git
4. I run 'update-G2.sh' - everything completes successfully/without errors.
5. I shut down the system, power off G2, and disconnect power.
6. I boot the system.
7. PCIe never enumerates:
• lspci shows no FPGA / no endpoint
• /dev/xdma* never appears
• FPGAVersion reports Bad file descriptor, version = 0
• Flashwriter reports No PCIe Driver
• Kernel consistently shows brcm-pcie: link down
• LTSSM trace ends in Polling → Compliance → link down
8. In response to the above errors, I try rebuilding and running the PCIe Driver (XDMA) but it yields no results.
This is where I get stuck. The problem described above affects both CM4 and CM5. If you know what I'm doing wrong, please provide guidance on what I'm doing incorrectly.
David SQ9RST
David SQ9RST
-
laurencebarker
- Posts: 335
- Joined: Mon Nov 11, 2019 7:39 pm
Re: Pi 5 Module for G2
I think the PCI express driver isn't being built.
The driver is in ~/github/Saturn/linuxdriver/xdma
There is a readme file there that says what is needed:
1. build instructions for the XDMA driver
get the kernel headers so the kernel module can compile:
(note if this fails you will need to use an older OS release, or rebuild the kernel
by following the instructions at https://www.raspberrypi.org/documentati ... uilding.md)
sudo apt install raspberrypi-kernel-headers
2. build the kernel module:
cd ~/github/Saturn/linuxdriver/xdma
make
sudo make install
3. copy the module "rules" files to /etc (among other things, this causes the access permissions to be changed when the module loads and the /dev/xdma devices are added)
sudo cp ../etc/udev/rules.d/* /etc/udev/rules.d
4. load the module: this results in the module loading every time the system boots, as required
sudo modprobe xdma
The driver is in ~/github/Saturn/linuxdriver/xdma
There is a readme file there that says what is needed:
1. build instructions for the XDMA driver
get the kernel headers so the kernel module can compile:
(note if this fails you will need to use an older OS release, or rebuild the kernel
by following the instructions at https://www.raspberrypi.org/documentati ... uilding.md)
sudo apt install raspberrypi-kernel-headers
2. build the kernel module:
cd ~/github/Saturn/linuxdriver/xdma
make
sudo make install
3. copy the module "rules" files to /etc (among other things, this causes the access permissions to be changed when the module loads and the /dev/xdma devices are added)
sudo cp ../etc/udev/rules.d/* /etc/udev/rules.d
4. load the module: this results in the module loading every time the system boots, as required
sudo modprobe xdma
Laurence Barker G8NJJ
Re: Pi 5 Module for G2
Thanks Laurence for the updated manual. It is very useful.
There is one omission as far as I can see. In section 4.4.1 you describe installing the update manager server. My radio is an early run of G2Ultra and does not have the .../Saturn/update_manager directory, so no update script. Where do I find the missing scripts?
73 de va7qi, ....Erik.
There is one omission as far as I can see. In section 4.4.1 you describe installing the update manager server. My radio is an early run of G2Ultra and does not have the .../Saturn/update_manager directory, so no update script. Where do I find the missing scripts?
73 de va7qi, ....Erik.
Re: Pi 5 Module for G2
Also, note that the link to the drive image from Apache Labs does not work (section 7.8.1). ....Erik.
Re: Pi 5 Module for G2
Hi all,
I’m worried that I may have damaged the FPGA on my ANAN-G2 and I’m looking for guidance on how to verify the hardware.
Before any changes, I had a **known-good setup**:
* ANAN-G2 with **CM4**
* original Apache Labs OS
* system fully working (FPGA, PCIe, XDMA all OK)
After experimenting with newer systems (Bookworm 64-bit, CM5 testing, rebuilding XDMA, etc.), I tried to **go back to the original, previously working CM4 + OS setup**, but now I see the **same symptoms as on the newer systems**:
* FPGA not detected
* no PCIe endpoint
* XDMA driver loads but **no `/dev/xdma*`**
* tools report FPGA firmware version = 0
This makes me concerned that the issue may now be **hardware-related**, not software.
My question is:
**What checks or tests can I perform to rule out (or confirm) FPGA hardware damage?**
For example:
* is there a minimal FPGA presence test independent of XDMA?
* any LED, SPI, or PROM-level check recommended?
* is it possible for FPGA PROM contents to be corrupted in a way that prevents PCIe enumeration?
Any advice on systematic steps to distinguish **software/configuration issues vs. actual FPGA failure** would be greatly appreciated.
Thank you in advance.
I’m worried that I may have damaged the FPGA on my ANAN-G2 and I’m looking for guidance on how to verify the hardware.
Before any changes, I had a **known-good setup**:
* ANAN-G2 with **CM4**
* original Apache Labs OS
* system fully working (FPGA, PCIe, XDMA all OK)
After experimenting with newer systems (Bookworm 64-bit, CM5 testing, rebuilding XDMA, etc.), I tried to **go back to the original, previously working CM4 + OS setup**, but now I see the **same symptoms as on the newer systems**:
* FPGA not detected
* no PCIe endpoint
* XDMA driver loads but **no `/dev/xdma*`**
* tools report FPGA firmware version = 0
This makes me concerned that the issue may now be **hardware-related**, not software.
My question is:
**What checks or tests can I perform to rule out (or confirm) FPGA hardware damage?**
For example:
* is there a minimal FPGA presence test independent of XDMA?
* any LED, SPI, or PROM-level check recommended?
* is it possible for FPGA PROM contents to be corrupted in a way that prevents PCIe enumeration?
Any advice on systematic steps to distinguish **software/configuration issues vs. actual FPGA failure** would be greatly appreciated.
Thank you in advance.
David SQ9RST
-
laurencebarker
- Posts: 335
- Joined: Mon Nov 11, 2019 7:39 pm
Re: Pi 5 Module for G2
How did you "go back"? Was that put back the original and unchanged SD card, or reinstall an older operating system? If it was by reinstalling the OS, you probably still don't have the XDMA device driver built and installed.
It is most unlikely there is a problem with the FPGA itself. It is possible the configuration memory for it is corrupted, but that memory does hold two configurations (the normal one, and a fallback/recovery one) and it's quite unlikely that both got corrupted.
You can tell if the XDMA driver is installed by looking in the /dev folder for a series of files whose names begin "xdma0". for example "xdma0_h2c_0". if that file exists, the driver is loaded; if it doesn't it is not.
The best way out of this will be to start again with a known working SD card image. The factory used to have some of these available, but they seemed to disappear. There are users on this forum that have made image available that may be a suitable source.
It is most unlikely there is a problem with the FPGA itself. It is possible the configuration memory for it is corrupted, but that memory does hold two configurations (the normal one, and a fallback/recovery one) and it's quite unlikely that both got corrupted.
You can tell if the XDMA driver is installed by looking in the /dev folder for a series of files whose names begin "xdma0". for example "xdma0_h2c_0". if that file exists, the driver is loaded; if it doesn't it is not.
The best way out of this will be to start again with a known working SD card image. The factory used to have some of these available, but they seemed to disappear. There are users on this forum that have made image available that may be a suitable source.
Laurence Barker G8NJJ
-
laurencebarker
- Posts: 335
- Joined: Mon Nov 11, 2019 7:39 pm
Re: Pi 5 Module for G2
the folder ~/github/Saturn/update_manager should appear if you go a "git pull" from the Saturn repository. It has been in the repository for 5 months.
The install script in in there, install_saturn_go_nginx.sh. Once you have installed that, there will be no more git pull, code builds etc - it does it all.
The install script in in there, install_saturn_go_nginx.sh. Once you have installed that, there will be no more git pull, code builds etc - it does it all.
Laurence Barker G8NJJ
Re: Pi 5 Module for G2
Yes, I reverted to the original unchanged SD card (factory one with CM4) that worked before during tests with CM5/eMMC—I did not reinstall the OS.
Unfortunately, even on this setup, /dev/xdma* files don't exist (lspci shows no Xilinx device, modprobe xdma does nothing).
From the ~/github/Saturn/update_manager directory, I ran the install_saturn_go_nginx.sh script, then performed a full update. Unfortunately, the FPGA still isn't detected.
Unfortunately, even on this setup, /dev/xdma* files don't exist (lspci shows no Xilinx device, modprobe xdma does nothing).
From the ~/github/Saturn/update_manager directory, I ran the install_saturn_go_nginx.sh script, then performed a full update. Unfortunately, the FPGA still isn't detected.
David SQ9RST
Re: Pi 5 Module for G2
Hi Laurence,
The update_manager directory is now installed and I ran the nginx install script, but the nginx server returns a 404 when I try to connect.
At least the web service is running, but it is not finding the saturn page.
The /opt/saturn-go directory is there.
73 de va7qi, ....Erik.
The update_manager directory is now installed and I ran the nginx install script, but the nginx server returns a 404 when I try to connect.
At least the web service is running, but it is not finding the saturn page.
The /opt/saturn-go directory is there.
73 de va7qi, ....Erik.