Oleg-Malyutin / sdr_receiver_dvb_t2

This is a Software Defined Radio(SDR) project implementing a DVB-T2 receiver.
GNU General Public License v3.0
51 stars 10 forks source link

Crash on Fedora with SDRplay #4

Open fjl82 opened 2 years ago

fjl82 commented 2 years ago

I've just built this project from source using qmake and make on Fedora 34, and it starts up and detects my SDRplay RSP1a fine. But when I hit 'start', the only things that happen is the gain counting down, then the UI freezing up and a few seconds later a crash with message "Illegal instruction (core dumped)". No other output in the terminal whatsoever. Disabling AGC does not help.

Screenshot from 2021-11-12 12-46-46 Screenshot from 2021-11-12 12-47-23

Any way to fix this? Do you need more info?

Oleg-Malyutin commented 2 years ago

I do not speak English. I use translator. Initially, the project was not designed for receiving from an antenna. Good signal strength and a matched antenna are required. In practice, the gain reduction is at least 45 (gain:> 45). It is necessary to improve the algorithm for determining the P1 symbol. This is where a weak signal crashes and a sharp consumption of CPU resources.

fjl82 commented 2 years ago

I tried a few different gain values, but this doesn't seem to work at all. At least with autogain, I get a few seconds of constellation diagrams. When I enter gain manually, everything stays empty, and it doesn't seem to make an attempt at receiving.

I don't think it's a problem with bad signal. The signal looks fine to me in GQRX: Screenshot from 2021-11-12 15-29-24

That's a pity, I was hoping this was going to work. This is the only project so far that seems capable of receiving DVB-T2 from an SDR. The RTL sticks only support DVB-T, which has been replaced in most of Europe years ago by T2, and the Linux DVB kernel stack relies on the hardware doing all the decoding (which an SDR is not going to do). I hope someday you can get this working properly.

Oleg-Malyutin commented 2 years ago

I meant 45dB with automatic gain. This is an indication of the signal strength at the antenna. With a worse signal, the P1 symbol may be incorrectly assigned, and also there may not be enough performance for the LDPC decoder. There have already been consultations with a similar problem and this was solved by a good antenna. This is a test project and does not include CPU overload protection.

Oleg-Malyutin commented 2 years ago

P.S. SDRPlay no gain in db, it is gain reduction db

rapbando commented 2 years ago

@Oleg-Malyutin Hopw difficult would be to add compatibility for Hack-RF SDR?

Cheers

Oleg-Malyutin commented 2 years ago

I don't have HackRF. I think it's not difficult. I tried SdrPlay on 8 bit and it worked. The condition is an unprocessed signal with HackRF , i.e. without DC offset and IQ imbalance remove.

Regards.

rapbando commented 2 years ago

Is possible for you to integrate with Soapy so HackRF and other SDRs can be used?

Oleg-Malyutin commented 2 years ago

Unknown. As I wrote earlier, an unprocessed signal is needed (the driver's own DC offset and IQ imbalance remove functions are not suitable for DVB-T2). Soapy may not contain any driver settings to disable internal enhancements.

rapbando commented 2 years ago

@Oleg-Malyutin

I added the QT modifications nedded for HackRF SDR. Now before compiling I need to create rx_hackrf.hheader and rx_hackrf.cpp source code, could you help me since you already know all the requirements? I would very gladly send you a support donation if you can. Here and here I link for your reference the osmosdr analogues files for intefacing with hackrf.

Cheers

Oleg-Malyutin commented 2 years ago

I'll see. I don't promise a quick answer. This will be without a sanity check.

rapbando commented 2 years ago

@Oleg-Malyutin

Great, no rush whatsoever! When you will have some progress I can test and debug with my hackrf... Where can I send a donation?

Lawrence

andre1968 commented 1 year ago

I have the chinese SDRplay (DE BG7YZF) with libmirisdr-4 from f3exv/libmirisdr-4. I made my own rx_sdrplay.cpp and rx_sdrplay.h because the original was not working. This come because mine sdr is not working synchonous. I make it like the rx_airspy manner. My question is about the 8 bit samples. What values expect the software? Is it from 0-225 or from -128-127? Thank in advance. Andre

Oleg-Malyutin commented 1 year ago

I am writing through a translator. 8-bit -127 128. I strongly do not advise the driver. Had experience with a similar msi driver on Linux. This is reverse engineering and a lot of mistakes. I did not set the exact frequency. Chinese SDRPlay should work well with native drivers (I have both the original and from China). I recommend a version no newer than 2.x. Regards. Oleg.

andre1968 commented 1 year ago

Hello Oleg,

Thank you for your quick response. I use this driver from https://github.com/f4exb/libmirisdr-4 [https://opengraph.githubassets.com/547824d9ba890242d9975c1068698e4a26f9dc156330d2d02c81cf7d49e4702d/f4exb/libmirisdr-4]https://github.com/f4exb/libmirisdr-4 GitHub - f4exb/libmirisdr-4: Support of Mirics MSi001 + MSi2500 SDR deviceshttps://github.com/f4exb/libmirisdr-4 Support of Mirics MSi001 + MSi2500 SDR devices. Contribute to f4exb/libmirisdr-4 development by creating an account on GitHub. github.com

For other projects I use also this driver. I think this works well. I didn't see mistakes because I hadn't made no many projects.

Thank you very much.

Andre


Van: Oleg-Malyutin @.> Verzonden: donderdag 4 mei 2023 16:51 Aan: Oleg-Malyutin/sdr_receiver_dvb_t2 @.> CC: andre1968 @.>; Comment @.> Onderwerp: Re: [Oleg-Malyutin/sdr_receiver_dvb_t2] Crash on Fedora with SDRplay (Issue #4)

I am writing through a translator. 8-bit -127 128. I strongly do not advise the driver. Had experience with a similar msi driver on Linux. This is reverse engineering and a lot of mistakes. I did not set the exact frequency. Chinese SDRPlay should work well with native drivers (I have both the original and from China). I recommend a version no newer than 2.x. Regards. Oleg.

— Reply to this email directly, view it on GitHubhttps://github.com/Oleg-Malyutin/sdr_receiver_dvb_t2/issues/4#issuecomment-1535074243, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHSZ4F73UPU6Z7YTFE3IS5TXEPM75ANCNFSM5H4VNUGQ. You are receiving this because you commented.Message ID: @.***>

andre1968 commented 1 year ago

Hello Oleg, What documents did you use? I'm reading this one: ETSI EN 302 755 V1.3.1 (2012-04). Have you used also other documents? Andre

Oleg-Malyutin commented 1 year ago

Hello. Yes, this document and more:

Regards. Oleg.