Hello,
for quite a long time now I’m investigating why the SnowLEO-SDR I have is not working. I did setup everything as in the documentations, with the intention of communicating with GNU Radio.
All software I use is from the V3Best repository, as the myriadrf-Repository does not even contain the user space software (snowleosdr_ctl, snowleosdr_rx, snowleosdr_tx)! But to no avail, I can see the successful handshaking via Ethernet to the SnowLEO and all console messages tell me it’s going to start sending data, but no data starts flowing. I could trace the problem down to snowleosdr_rx, where the DMA does not seem to start. The RX clock is set as expected and the RXIQSEL appears, and the PLL in the PL locks (i tested that by routing the LOCKED-signals to LEDs).
What I noticed is that my SnowLeo has a XC7Z020CLG400 instead of the XC7Z010CLG400. To ensure this causes no problems, I resynthesized the design for the 020, but that does not change anything. I debugged some more and found the “pldma_wr”-reset output is high as soon as GNU radio is connected, when snowleosdr_rx is using the axi_dma_* API. - I think this means the DMA is in reset?
When I use the ioctl-Interface (recompiling the software in Xilinx SDK for that), nothing happens at all after “rx client connect”, so this interface seems deprecated? Also, why is pldma_wr still used in the design, for which I can not find any documentation?
Does anyone know what may be the problem and/or could share a working copy of his snowleosdr_rx.elf?
I feel like this project is abandoned by the developers and I can not get support from V3Best directly, which is very sad! I did not even find any reports on someone having this device working on the internet. Also, the kernel modules would be interesting, as I can not find the source code for them and I am not sure, i have the most current version of them. The files in /dev/ created by them are named v3best-dma-rd and v3best-dma-wr - although I also found different names for them. The documentation is very sparse on that and I can not find any proper use of versioning.
Any ideas? Thank you!