DMA not running

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!

Some real nice support you have there. For anyone with the same problems: The source code and binaries from the V3best github repo resemble a completely different state of development. You can not use any pre-built pieces of code with software built from the source code, they are just incompatible.

Also, you can not use any sample rates below or equal to 8 MHz caused by an internal PLL not locking. No documentation for that, nice. Also, the baseband filters do not seem to be implemented in the software (wtf?). Seems to do anything useful with this thing, you have to compile everything yourself, know how a Zynq works and be able to create own bitstreams, cross-compile the linux kernel for ARM, possibly the first-stage boot loader as well, and of course also the user space firmware and kernel modules.

@thasti I’m sorry to hear that and have contacted V3Best to get clarification on the status of this project.

Hello Andrew,
did you get any response back yet?

My current problem is that I can not get the system to run with a PL bitstream synthesized by myself. I can successfully compile the kernel modules and the userspace software, which at least then works when using the shipped PL bitstream. As soon as I synthesize the bitstream myself (using Xilinx PlanAhead), even without any changes, the DMA-not-running-problem occurs for me. I can not find a project file for the XC7Z020, which is on my SnowLEO, and for which also the shipped bitstream seems to be (according to its size).

I really need this platform to work soon, with a custom PL bitstream.

Any help is much appreciated!

@thasti, I’m afraid it looks as though SNOWLeo SDR is now end-of-life and we’ll be archiving the project and adding a note to this effect. All I can suggest is to contact V3 or the distributor you purchased this via directly.

Sad news. I tried contacting v3"best" multiple times. The first time, responses were superficial but at least available at all, but now nobody seems to respond to my mails anymore. v3worst in my opinion. $759 for a tool that can not be used out of the box is unacceptable, lacking support and documentation even more so.

We have updated the fpga project of SnowleoSDR in the Github,
https://github.com/v3best/SNOWLeo-SDR
You can download it and try again;
Maybe you can follow these steps,
1>.Synthesis the fpga project to generate the bit file(Or there’s bit in the <bootimage> fold);
2>.Export to SDK and compile these software projects,then got the elfs.
the fsbl,
snowleosdr_ctl,
snowleosdr_rx,
snowleosdr_tx,
snowleosdr;
3>.Use fsbl.elf,bit file and uboot to make the boot.bin;
4>.Compile the linux things,like kernel and v3best-tx,v3best-rx,then you got uImage,v3best-tx.ko,v3best-rx.ko;
5>.Copy all the stuff to the TF card and have a test.

Attention,
the updated fpga project still doesn’t support the sample rate below 10Mhz;
the new project(without PLL and support low sample rate) is pending…