Patch to detect the RTL-SDR Blog V4 in gr-osmosdr, and set the lower limit to 0 MHz.
Regards, Carl
diff --git a/lib/rtl/rtl_source_c.cc b/lib/rtl/rtl_source_c.cc index 5e3306b..644bf7a 100644 --- a/lib/rtl/rtl_source_c.cc +++ b/lib/rtl/rtl_source_c.cc @@ -455,6 +455,8 @@ double rtl_source_c::get_sample_rate() osmosdr::freq_range_t rtl_source_c::get_freq_range( size_t chan ) { osmosdr::freq_range_t range; + char manufact[256]; + char product[256]; if (_dev) { if (_no_tuner) { @@ -464,6 +466,8 @@ osmosdr::freq_range_t rtl_source_c::get_freq_range( size_t chan ) return range; } + rtlsdr_get_usb_strings( _dev, manufact, product, NULL ); + enum rtlsdr_tuner tuner = rtlsdr_get_tuner_type(_dev); if ( tuner == RTLSDR_TUNER_E4000 ) { @@ -478,6 +482,8 @@ osmosdr::freq_range_t rtl_source_c::get_freq_range( size_t chan ) range += osmosdr::range_t( 438e6, 924e6 ); } else if ( tuner == RTLSDR_TUNER_R820T ) { range += osmosdr::range_t( 24e6, 1766e6 ); + } else if ( tuner == RTLSDR_TUNER_R828D && strcmp(manufact, "RTLSDRBlog") == 0 && strcmp(product, "Blog V4") == 0 ) { + range += osmosdr::range_t( 0e6, 1766e6 ); } else if ( tuner == RTLSDR_TUNER_R828D ) { range += osmosdr::range_t( 24e6, 1766e6 ); }