Just realized my patch attachments are getting scrubbed by the list.
Hopefully this plain text paste works.

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 );
     }


Regards,
Carl

Reply via email to