Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package rtl-sdr for openSUSE:Factory checked 
in at 2026-08-12 16:12:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rtl-sdr (Old)
 and      /work/SRC/openSUSE:Factory/.rtl-sdr.new.17972 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rtl-sdr"

Wed Aug 12 16:12:22 2026 rev:14 rq:1370777 version:2.0.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/rtl-sdr/rtl-sdr.changes  2026-04-25 
21:43:25.212610071 +0200
+++ /work/SRC/openSUSE:Factory/.rtl-sdr.new.17972/rtl-sdr.changes       
2026-08-12 16:13:33.449133007 +0200
@@ -1,0 +2,14 @@
+Wed Aug 12 05:22:14 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to version 2.0.3:
+  * Add support for the RTL-SDR Blog V4 Lite dongle
+  * Bypass the tracking filter on HF to reduce insertion loss
+  * Fix application hang on USB transfer errors
+  * Correct the release version recorded in CMakeLists.txt
+  * Allow building with CMake 4
+- Drop patches included upstream:
+  * 0002-Change-version-number.patch
+  * 0003-Fix-application-hang-on-usb-error.patch
+- Unpack from librtlsdr-2.0.3 as upstream repository was renamed
+
+-------------------------------------------------------------------

Old:
----
  0002-Change-version-number.patch
  0003-Fix-application-hang-on-usb-error.patch
  rtl-sdr-2.0.2.tar.gz

New:
----
  rtl-sdr-2.0.3.tar.gz

----------(Old B)----------
  Old:- Drop patches included upstream:
  * 0002-Change-version-number.patch
  * 0003-Fix-application-hang-on-usb-error.patch
  Old:  * 0002-Change-version-number.patch
  * 0003-Fix-application-hang-on-usb-error.patch
- Unpack from librtlsdr-2.0.3 as upstream repository was renamed
----------(Old E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rtl-sdr.spec ++++++
--- /var/tmp/diff_new_pack.0eQaQx/_old  2026-08-12 16:13:34.265167475 +0200
+++ /var/tmp/diff_new_pack.0eQaQx/_new  2026-08-12 16:13:34.265167475 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package rtl-sdr
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,18 +19,15 @@
 %define sover 0
 %define libname librtlsdr%{sover}
 %define rtlsdr_group rtlsdr
-
 Name:           rtl-sdr
-Version:        2.0.2
+Version:        2.0.3
 Release:        0
 Summary:        Support programs for RTL2832
 License:        GPL-2.0-or-later
-URL:            http://sdr.osmocom.org/trac/wiki/rtl-sdr
+URL:            https://sdr.osmocom.org/trac/wiki/rtl-sdr
 #Git-Clone:     https://git.osmocom.org/rtl-sdr
 Source:         
https://github.com/steve-m/librtlsdr/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
 Patch0:         0001-Better-udev-handling.patch
-Patch1:         0002-Change-version-number.patch
-Patch2:         0003-Fix-application-hang-on-usb-error.patch
 BuildRequires:  cmake >= 3.7.2
 BuildRequires:  gcc-c++
 BuildRequires:  pkgconfig
@@ -64,7 +61,9 @@
 Library headers for rtl-sdr driver.
 
 %prep
-%autosetup -p1
+# Upstream repository was renamed from rtl-sdr to librtlsdr, so the
+# generated GitHub archive now unpacks into librtlsdr-%%{version}
+%autosetup -p1 -n librtlsdr-%{version}
 
 %build
 %cmake \
@@ -103,8 +102,9 @@
 %{_bindir}/rtl_test
 
 %files -n %{libname}
-%{_libdir}/librtlsdr.so.%{sover}*
-%{_libdir}/librtlsdr.so.%{version}
+# Upstream sets the library VERSION from CMakeLists.txt, which has drifted
+# from the release tag before, so do not tie this glob to %%{version}
+%{_libdir}/librtlsdr.so.*
 
 %files udev
 %{_udevrulesdir}/rtl-sdr.rules

++++++ rtl-sdr-2.0.2.tar.gz -> rtl-sdr-2.0.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-2.0.2/CMakeLists.txt 
new/librtlsdr-2.0.3/CMakeLists.txt
--- old/rtl-sdr-2.0.2/CMakeLists.txt    2024-04-23 11:42:58.000000000 +0200
+++ new/librtlsdr-2.0.3/CMakeLists.txt  2026-08-12 00:11:56.000000000 +0200
@@ -19,7 +19,7 @@
 ########################################################################
 # Project setup
 ########################################################################
-cmake_minimum_required(VERSION 3.7.2)
+cmake_minimum_required(VERSION 3.7.2...4.2.0)
 
 # workaround for https://gitlab.kitware.com/cmake/cmake/issues/16967
 if(${CMAKE_VERSION} VERSION_LESS "3.12.0")
@@ -43,7 +43,7 @@
 # Set the version information here
 set(VERSION_INFO_MAJOR_VERSION 2) # increment major on api compatibility 
changes
 set(VERSION_INFO_MINOR_VERSION 0) # increment minor on feature-level changes
-set(VERSION_INFO_PATCH_VERSION 1) # increment patch for bug fixes and docs
+set(VERSION_INFO_PATCH_VERSION 3) # increment patch for bug fixes and docs
 include(Version) # setup version info
 
 ########################################################################
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-2.0.2/contrib/jenkins.sh 
new/librtlsdr-2.0.3/contrib/jenkins.sh
--- old/rtl-sdr-2.0.2/contrib/jenkins.sh        2024-04-23 11:42:58.000000000 
+0200
+++ new/librtlsdr-2.0.3/contrib/jenkins.sh      2026-08-12 00:11:56.000000000 
+0200
@@ -32,10 +32,20 @@
 $MAKE $PARALLEL_MAKE
 LD_LIBRARY_PATH="$inst/lib" $MAKE check \
   || cat-testlogs.sh
+
+# Prepare to run "make distcheck" by first running configure without
+# --enable-werror. "make distcheck" runs configure again, and if -Werror is set
+# the configure script itself will fail build its AC_CHECK_LIB test program,
+# resulting in "checking for atan2 in -lm" -> "result: no" and then attempting
+# to link rtl_test without -lm, which then fails.
+# https://bug-libtool.gnu.narkive.com/YrSM40bs/lt-lib-m-and-gcc
+./configure
+
 LD_LIBRARY_PATH="$inst/lib" \
   DISTCHECK_CONFIGURE_FLAGS="--enable-werror" \
   $MAKE distcheck \
   || cat-testlogs.sh
+
 $MAKE maintainer-clean
 
 osmo-clean-workspace.sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-2.0.2/debian/changelog 
new/librtlsdr-2.0.3/debian/changelog
--- old/rtl-sdr-2.0.2/debian/changelog  2024-04-23 11:42:58.000000000 +0200
+++ new/librtlsdr-2.0.3/debian/changelog        2026-08-12 00:11:56.000000000 
+0200
@@ -1,3 +1,26 @@
+rtl-sdr (2.0.3) unstable; urgency=medium
+
+  [ Oliver Smith ]
+  * contrib/jenkins: fix running "make distcheck"
+
+  [ Ramon Smits ]
+  * Fix application hang on USB transfer errors
+
+  [ Steve Markgraf ]
+  * Use CMake <min>...<max> syntax to get rid of deprecation warnings
+  * debian: drop invalid kfreebsd build-dep, switch to pkgconf
+  * debian: fix AppStream metadata validation
+  * debian: add man page for rtl_biast
+  * debian: fix wrong program name in rtl_fm man page header
+
+  [ Joshua Grieve ]
+  * Make include relative to project for use with FetchContent
+
+  [ rtlsdrblog ]
+  * Add RTL-SDR Blog V4L Support
+
+ -- Steve Markgraf <[email protected]>  Wed, 12 Aug 2026 00:02:45 +0200
+
 rtl-sdr (2.0.2) unstable; urgency=medium
 
   [ Mikael Falkvidd ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-2.0.2/debian/control 
new/librtlsdr-2.0.3/debian/control
--- old/rtl-sdr-2.0.2/debian/control    2024-04-23 11:42:58.000000000 +0200
+++ new/librtlsdr-2.0.3/debian/control  2026-08-12 00:11:56.000000000 +0200
@@ -4,10 +4,8 @@
 Maintainer: A. Maitland Bottoms <[email protected]>
 Build-Depends: cmake,
                debhelper (>= 10~),
-               libusb-1.0-0-dev [linux-any],
-               libusb-dev [hurd-i386],
-               libusb2-dev [kfreebsd-any],
-              pkg-config
+               libusb-1.0-0-dev,
+               pkgconf
 Standards-Version: 4.1.4
 Homepage: http://sdr.osmocom.org/trac/wiki/rtl-sdr
 Vcs-Browser: https://salsa.debian.org/bottoms/pkg-rtl-sdr
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-2.0.2/debian/copyright 
new/librtlsdr-2.0.3/debian/copyright
--- old/rtl-sdr-2.0.2/debian/copyright  2024-04-23 11:42:58.000000000 +0200
+++ new/librtlsdr-2.0.3/debian/copyright        2026-08-12 00:11:56.000000000 
+0200
@@ -1,10 +1,6 @@
 Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
 Upstream-Name: rtl-sdr
-Upstream-Contact: http://sdr.osmocom.org/trac/wiki/rtl-sdr
-Source:
- git clone git://git.osmocom.org/rtl-sdr.git
- The upstream package source tarball was generated from the tag:
- git archive --format=tar --prefix=rtl-sdr-0.5.2.7.3ab6/ 3ab6ff | gzip > 
../rtl-sdr_0.5.2.7.3ab6.orig.tar.gz
+Upstream-Contact: https://osmocom.org/projects/rtl-sdr
 Comment:
  Debian packages sponsored by A. Maitland Bottoms,
  based upon packaging work by Adam Cécile.
@@ -14,20 +10,24 @@
  Dimitri Stolnikov <[email protected]>
  Hoernchen <[email protected]>
  Kyle Keen <[email protected]>
-Copyright: 2012,2013 OSMOCOM Project
+Copyright: 2012,2013-2020 OSMOCOM Project
 License: GPL-2.0+
 
 Files: *
-Copyright: 2012, 2013, OSMOCOM Project
+Copyright: 2012, 2013-2020, OSMOCOM Project
 License: GPL-3+
 
 Files: debian/*
 Copyright: 2013 Adam Cécile (Le_Vert) <[email protected]>
-           2012,2013 A. Maitland Bottoms <[email protected]>
+           2012,2013-2020 A. Maitland Bottoms <[email protected]>
 License: GPL-2.0+
 
+Files: debian/org.osmocom.librtlsdr.metainfo.xml
+Copyright: 2018-2024 A. Maitland Bottoms <[email protected]>
+License: MIT
+
 Files: debian/librtlsdr0.udev
-Copyright: 2012, 2013, Osmocom rtl-sdr project
+Copyright: 2012, 2013, 2023, Osmocom rtl-sdr project
 License: GPL-3+
 
 Files: debian/rtl_adsb.1
@@ -190,7 +190,7 @@
  GNU General Public License for more details.
  .
  You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>
+ along with this program. If not, see <https://www.gnu.org/licenses/>
  .
  On Debian systems, the complete text of the GNU General
  Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
@@ -207,7 +207,7 @@
  GNU General Public License for more details.
  .
  You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ along with this program.  If not, see <https://www.gnu.org/licenses/>.
  .
  On Debian systems, the complete text of the GNU Lesser General
  Public License can be found in "/usr/share/common-licenses/GPL-3".
@@ -228,3 +228,24 @@
  .
  On Debian systems, the complete text of the GNU Lesser General
  Public License can be found in "/usr/share/common-licenses/LGPL-2".
+
+License: MIT
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+ .
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-2.0.2/debian/librtlsdr0.install 
new/librtlsdr-2.0.3/debian/librtlsdr0.install
--- old/rtl-sdr-2.0.2/debian/librtlsdr0.install 2024-04-23 11:42:58.000000000 
+0200
+++ new/librtlsdr-2.0.3/debian/librtlsdr0.install       2026-08-12 
00:11:56.000000000 +0200
@@ -1,2 +1,2 @@
 usr/lib/*/lib*.so.*
-debian/librtlsdr0.metainfo.xml usr/share/metainfo
+debian/org.osmocom.librtlsdr.metainfo.xml usr/share/metainfo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-2.0.2/debian/librtlsdr0.metainfo.xml 
new/librtlsdr-2.0.3/debian/librtlsdr0.metainfo.xml
--- old/rtl-sdr-2.0.2/debian/librtlsdr0.metainfo.xml    2024-04-23 
11:42:58.000000000 +0200
+++ new/librtlsdr-2.0.3/debian/librtlsdr0.metainfo.xml  1970-01-01 
01:00:00.000000000 +0100
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component>
-  <id>librtlsdr0</id>
-  <metadata_license>GPL-2+</metadata_license>
-  <name>librtlsdr0</name>
-  <summary>Control of rtl-sdr radio receiver</summary>
-  <description>
-    <p>
-rtl-sdr is a software defined radio (SDR) receiver software for certain
-low-cost DVB-T/DAB(+) USB dongles based on the Realtek RTL2832U chip.
-    </p>
-  </description>
-  <provides>
-    <modalias>usb:v0BDAp2832d*</modalias>
-    <modalias>usb:v0BDAp2838d*</modalias>
-    <modalias>usb:v0413p6680d*</modalias>
-    <modalias>usb:v0413p6F0Fd*</modalias>
-    <modalias>usb:v0458p707Fd*</modalias>
-    <modalias>usb:v0CCDp00A9d*</modalias>
-    <modalias>usb:v0CCDp00B3d*</modalias>
-    <modalias>usb:v0CCDp00B4d*</modalias>
-    <modalias>usb:v0CCDp00B5d*</modalias>
-    <modalias>usb:v0CCDp00B7d*</modalias>
-    <modalias>usb:v0CCDp00B8d*</modalias>
-    <modalias>usb:v0CCDp00B9d*</modalias>
-    <modalias>usb:v0CCDp00C0d*</modalias>
-    <modalias>usb:v0CCDp00C6d*</modalias>
-    <modalias>usb:v0CCDp00D3d*</modalias>
-    <modalias>usb:v0CCDp00D7d*</modalias>
-    <modalias>usb:v0CCDp00E0d*</modalias>
-    <modalias>usb:v1554p5020d*</modalias>
-    <modalias>usb:v15F4p0131d*</modalias>
-    <modalias>usb:v15F4p0133d*</modalias>
-    <modalias>usb:v185Bp0620d*</modalias>
-    <modalias>usb:v185Bp0650d*</modalias>
-    <modalias>usb:v185Bp0680d*</modalias>
-    <modalias>usb:v1B80pD393d*</modalias>
-    <modalias>usb:v1B80pD394d*</modalias>
-    <modalias>usb:v1B80pD395d*</modalias>
-    <modalias>usb:v1B80pD397d*</modalias>
-    <modalias>usb:v1B80pD398d*</modalias>
-    <modalias>usb:v1B80pD39Dd*</modalias>
-    <modalias>usb:v1B80pD3A4d*</modalias>
-    <modalias>usb:v1B80pD3A8d*</modalias>
-    <modalias>usb:v1B80pD3AFd*</modalias>
-    <modalias>usb:v1B80pD3B0d*</modalias>
-    <modalias>usb:v1D19p1101d*</modalias>
-    <modalias>usb:v1D19p1102d*</modalias>
-    <modalias>usb:v1D19p1103d*</modalias>
-    <modalias>usb:v1D19p1104d*</modalias>
-    <modalias>usb:v1F4DpA803d*</modalias>
-    <modalias>usb:v1F4DpB803d*</modalias>
-    <modalias>usb:v1F4DpC803d*</modalias>
-    <modalias>usb:v1F4DpD286d*</modalias>
-    <modalias>usb:v1F4DpD803d*</modalias>
-  </provides>
-</component>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rtl-sdr-2.0.2/debian/org.osmocom.librtlsdr.metainfo.xml 
new/librtlsdr-2.0.3/debian/org.osmocom.librtlsdr.metainfo.xml
--- old/rtl-sdr-2.0.2/debian/org.osmocom.librtlsdr.metainfo.xml 1970-01-01 
01:00:00.000000000 +0100
+++ new/librtlsdr-2.0.3/debian/org.osmocom.librtlsdr.metainfo.xml       
2026-08-12 00:11:56.000000000 +0200
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<component>
+  <id>org.osmocom.librtlsdr</id>
+  <metadata_license>MIT</metadata_license>
+  <project_license>GPL-2.0-or-later</project_license>
+  <name>librtlsdr0</name>
+  <summary>Control of rtl-sdr radio receiver</summary>
+  <description>
+    <p>
+rtl-sdr is a software defined radio (SDR) receiver software for certain
+low-cost DVB-T/DAB(+) USB dongles based on the Realtek RTL2832U chip.
+    </p>
+  </description>
+  <provides>
+    <modalias>usb:v0BDAp2832d*</modalias>
+    <modalias>usb:v0BDAp2838d*</modalias>
+    <modalias>usb:v0413p6680d*</modalias>
+    <modalias>usb:v0413p6F0Fd*</modalias>
+    <modalias>usb:v0458p707Fd*</modalias>
+    <modalias>usb:v0CCDp00A9d*</modalias>
+    <modalias>usb:v0CCDp00B3d*</modalias>
+    <modalias>usb:v0CCDp00B4d*</modalias>
+    <modalias>usb:v0CCDp00B5d*</modalias>
+    <modalias>usb:v0CCDp00B7d*</modalias>
+    <modalias>usb:v0CCDp00B8d*</modalias>
+    <modalias>usb:v0CCDp00B9d*</modalias>
+    <modalias>usb:v0CCDp00C0d*</modalias>
+    <modalias>usb:v0CCDp00C6d*</modalias>
+    <modalias>usb:v0CCDp00D3d*</modalias>
+    <modalias>usb:v0CCDp00D7d*</modalias>
+    <modalias>usb:v0CCDp00E0d*</modalias>
+    <modalias>usb:v1554p5020d*</modalias>
+    <modalias>usb:v15F4p0131d*</modalias>
+    <modalias>usb:v15F4p0133d*</modalias>
+    <modalias>usb:v185Bp0620d*</modalias>
+    <modalias>usb:v185Bp0650d*</modalias>
+    <modalias>usb:v185Bp0680d*</modalias>
+    <modalias>usb:v1B80pD393d*</modalias>
+    <modalias>usb:v1B80pD394d*</modalias>
+    <modalias>usb:v1B80pD395d*</modalias>
+    <modalias>usb:v1B80pD397d*</modalias>
+    <modalias>usb:v1B80pD398d*</modalias>
+    <modalias>usb:v1B80pD39Dd*</modalias>
+    <modalias>usb:v1B80pD3A4d*</modalias>
+    <modalias>usb:v1B80pD3A8d*</modalias>
+    <modalias>usb:v1B80pD3AFd*</modalias>
+    <modalias>usb:v1B80pD3B0d*</modalias>
+    <modalias>usb:v1D19p1101d*</modalias>
+    <modalias>usb:v1D19p1102d*</modalias>
+    <modalias>usb:v1D19p1103d*</modalias>
+    <modalias>usb:v1D19p1104d*</modalias>
+    <modalias>usb:v1F4DpA803d*</modalias>
+    <modalias>usb:v1F4DpB803d*</modalias>
+    <modalias>usb:v1F4DpC803d*</modalias>
+    <modalias>usb:v1F4DpD286d*</modalias>
+    <modalias>usb:v1F4DpD803d*</modalias>
+  </provides>
+</component>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-2.0.2/debian/rtl-sdr.manpages 
new/librtlsdr-2.0.3/debian/rtl-sdr.manpages
--- old/rtl-sdr-2.0.2/debian/rtl-sdr.manpages   2024-04-23 11:42:58.000000000 
+0200
+++ new/librtlsdr-2.0.3/debian/rtl-sdr.manpages 2026-08-12 00:11:56.000000000 
+0200
@@ -1,4 +1,5 @@
 debian/rtl_adsb.1
+debian/rtl_biast.1
 debian/rtl_eeprom.1
 debian/rtl_fm.1
 debian/rtl_power.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-2.0.2/debian/rtl_biast.1 
new/librtlsdr-2.0.3/debian/rtl_biast.1
--- old/rtl-sdr-2.0.2/debian/rtl_biast.1        1970-01-01 01:00:00.000000000 
+0100
+++ new/librtlsdr-2.0.3/debian/rtl_biast.1      2026-08-12 00:11:56.000000000 
+0200
@@ -0,0 +1,50 @@
+.TH "rtl_biast" 1 "2.0.3" RTL-SDR "User Commands"
+.SH NAME
+rtl_biast \- a tool for turning the bias tee or any GPIO on and off
+.SH SYNOPSIS
+.B  rtl_biast [OPTIONS]
+.SH DESCRIPTION
+Switch the bias tee power supply of an RTL2832 based receiver on or off.
+Many receivers provide a bias tee to feed DC power out over the antenna
+connector, for example to supply an external low noise amplifier or an
+active antenna.
+.LP
+The bias tee is driven by GPIO 0 of the RTL2832. Receivers that wire it
+to a different pin, or that expose further GPIOs, can be controlled with
+the -g option.
+.LP
+The setting is not reset when rtl_biast exits. The bias tee stays in the
+state it was left in until it is switched off again, either by another
+call to rtl_biast or by a client program that disables it explicitly.
+.SH OPTIONS
+.IP "-d device_index or serial (default: 0)"
+.IP "-b bias_on (default: 0)"
+.IP "-g GPIO select (default: 0)"
+.SH EXAMPLES
+.IP "To turn the bias tee of the first device on, call"
+ rtl_biast -d 0 -b 1
+.IP "To turn it off again, call"
+ rtl_biast -d 0 -b 0
+.IP "To switch GPIO 1 instead of the bias tee, call"
+ rtl_biast -d 0 -g 1 -b 1
+.SH SEE ALSO
+RTL-SDR wiki documentation:
+.B http://sdr.osmocom.org/trac/wiki/rtl-sdr
+.LP
+Other rtl-sdr programs:
+.sp
+rtl_adsb(1), rtl_eeprom(1), rtl_fm(1), rtl_power(1), rtl_sdr(1), rtl_tcp(1), 
rtl_test(1)
+.SH AUTHOR
+This manual page was written for the osmocom rtl-sdr project.
+.SH COPYRIGHT
+Copyright (c) 2012 Steve Markgraf <[email protected]>
+.LP
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+.LP
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-2.0.2/debian/rtl_fm.1 
new/librtlsdr-2.0.3/debian/rtl_fm.1
--- old/rtl-sdr-2.0.2/debian/rtl_fm.1   2024-04-23 11:42:58.000000000 +0200
+++ new/librtlsdr-2.0.3/debian/rtl_fm.1 2026-08-12 00:11:56.000000000 +0200
@@ -1,4 +1,4 @@
-.TH "rtl_adsb" 1 "0.5.0" RTL-SDR "User Commands"
+.TH "rtl_fm" 1 "0.5.0" RTL-SDR "User Commands"
 .SH NAME
 rtl_fm \- a simple FM demodulator for RTL2832 based DVB-T receivers
 .SH DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-2.0.2/src/CMakeLists.txt 
new/librtlsdr-2.0.3/src/CMakeLists.txt
--- old/rtl-sdr-2.0.2/src/CMakeLists.txt        2024-04-23 11:42:58.000000000 
+0200
+++ new/librtlsdr-2.0.3/src/CMakeLists.txt      2026-08-12 00:11:56.000000000 
+0200
@@ -22,7 +22,7 @@
   tuner_e4k.c tuner_fc0012.c tuner_fc0013.c tuner_fc2580.c tuner_r82xx.c)
 target_link_libraries(rtlsdr ${LIBUSB_LIBRARIES} ${THREADS_PTHREADS_LIBRARY})
 target_include_directories(rtlsdr PUBLIC
-  $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
+  $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
   $<INSTALL_INTERFACE:include>  # <prefix>/include
   ${LIBUSB_INCLUDE_DIRS}
   ${THREADS_PTHREADS_INCLUDE_DIR}
@@ -40,7 +40,7 @@
   tuner_e4k.c tuner_fc0012.c tuner_fc0013.c tuner_fc2580.c tuner_r82xx.c)
 target_link_libraries(rtlsdr ${LIBUSB_LIBRARIES} ${THREADS_PTHREADS_LIBRARY})
 target_include_directories(rtlsdr_static PUBLIC
-  $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
+  $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
   $<INSTALL_INTERFACE:include>  # <prefix>/include
   ${LIBUSB_INCLUDE_DIRS}
   ${THREADS_PTHREADS_INCLUDE_DIR}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-2.0.2/src/librtlsdr.c 
new/librtlsdr-2.0.3/src/librtlsdr.c
--- old/rtl-sdr-2.0.2/src/librtlsdr.c   2024-04-23 11:42:58.000000000 +0200
+++ new/librtlsdr-2.0.3/src/librtlsdr.c 2026-08-12 00:11:56.000000000 +0200
@@ -1563,7 +1563,12 @@
        reg = rtlsdr_i2c_read_reg(dev, R820T_I2C_ADDR, R82XX_CHECK_ADDR);
        if (reg == R82XX_CHECK_VAL) {
                fprintf(stderr, "Found Rafael Micro R820T tuner\n");
+
+               if (rtlsdr_check_dongle_model(dev, "RTLSDRBlog", "Blog V4L"))
+                       fprintf(stderr, "RTL-SDR Blog V4 Lite Detected\n");
+
                dev->tuner_type = RTLSDR_TUNER_R820T;
+
                goto found;
        }
 
@@ -1732,7 +1737,6 @@
                    LIBUSB_TRANSFER_NO_DEVICE == xfer->status) {
 #endif
                        dev->dev_lost = 1;
-                       rtlsdr_cancel_async(dev);
                        fprintf(stderr, "cb transfer status: %d, "
                                "canceling...\n", xfer->status);
 #ifndef _WIN32
@@ -1930,6 +1934,11 @@
                        break;
                }
 
+               /* Check if device was lost due to transfer errors */
+               if (dev->dev_lost && RTLSDR_RUNNING == dev->async_status) {
+                       dev->async_status = RTLSDR_CANCELING;
+               }
+
                if (RTLSDR_CANCELING == dev->async_status) {
                        next_status = RTLSDR_INACTIVE;
 
@@ -1973,6 +1982,9 @@
 
        dev->async_status = next_status;
 
+       if (dev->dev_lost)
+               return -1;
+
        return r;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-2.0.2/src/rtl_fm.c 
new/librtlsdr-2.0.3/src/rtl_fm.c
--- old/rtl-sdr-2.0.2/src/rtl_fm.c      2024-04-23 11:42:58.000000000 +0200
+++ new/librtlsdr-2.0.3/src/rtl_fm.c    2026-08-12 00:11:56.000000000 +0200
@@ -809,7 +809,11 @@
 static void *dongle_thread_fn(void *arg)
 {
        struct dongle_state *s = arg;
-       rtlsdr_read_async(s->dev, rtlsdr_callback, s, 0, s->buf_len);
+       int r = rtlsdr_read_async(s->dev, rtlsdr_callback, s, 0, s->buf_len);
+       if (r != 0 && !do_exit) {
+               fprintf(stderr, "\nDevice error detected, async read returned: 
%d\n", r);
+               do_exit = 1;
+       }
        return 0;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-2.0.2/src/tuner_r82xx.c 
new/librtlsdr-2.0.3/src/tuner_r82xx.c
--- old/rtl-sdr-2.0.2/src/tuner_r82xx.c 2024-04-23 11:42:58.000000000 +0200
+++ new/librtlsdr-2.0.3/src/tuner_r82xx.c       2026-08-12 00:11:56.000000000 
+0200
@@ -503,7 +503,7 @@
        if (rc < 0)
                return rc;
 
-       if (priv->cfg->rafael_chip == CHIP_R828D)
+       if (priv->cfg->rafael_chip == CHIP_R828D || 
rtlsdr_check_dongle_model(priv->rtl_dev, "RTLSDRBlog", "Blog V4L"))
                vco_power_ref = 1;
 
        vco_fine_tune = (data[4] & 0x30) >> 4;
@@ -1125,6 +1125,7 @@
 {
        int rc = -1;
        int is_rtlsdr_blog_v4;
+       int is_rtlsdr_blog_v4l;
        uint32_t upconvert_freq;
        uint32_t lo_freq;
        uint8_t air_cable1_in;
@@ -1135,10 +1136,11 @@
        uint8_t air_in;
 
        is_rtlsdr_blog_v4 = rtlsdr_check_dongle_model(priv->rtl_dev, 
"RTLSDRBlog", "Blog V4");
+       is_rtlsdr_blog_v4l = rtlsdr_check_dongle_model(priv->rtl_dev, 
"RTLSDRBlog", "Blog V4L");
 
        /* if it's an RTL-SDR Blog V4, automatically upconvert by 28.8 MHz if 
we tune to HF
         * so that we don't need to manually set any upconvert offset in the 
SDR software */
-       upconvert_freq = is_rtlsdr_blog_v4 ? ((freq < MHZ(28.8)) ? (freq + 
MHZ(28.8)) : freq) : freq;
+       upconvert_freq = (is_rtlsdr_blog_v4 || is_rtlsdr_blog_v4l) ? ((freq < 
MHZ(28.8)) ? (freq + MHZ(28.8)) : freq) : freq;
 
        lo_freq = upconvert_freq + priv->int_freq;
 
@@ -1165,6 +1167,19 @@
                 */
                band = (freq <= MHZ(28.8)) ? HF : ((freq > MHZ(28.8) && freq < 
MHZ(250)) ? VHF : UHF);
 
+               /* bypass tracking filter for HF to reduce insertion loss,
+                * the upconverter path doesn't benefit from it.
+                * Must be outside band-change guard since r82xx_set_mux
+                * re-applies the tracking filter on every frequency change. */
+               if (band == HF) {
+                       rc = r82xx_write_reg_mask(priv, 0x1a, 0x40, 0xc3);
+                       if (rc < 0)
+                               goto err;
+                       rc = r82xx_write_reg(priv, 0x1b, 0x00);
+                       if (rc < 0)
+                               goto err;
+               }
+
                /* switch between tuner inputs on the RTL-SDR Blog V4 */
                if (band != priv->input) {
                        priv->input = band;
@@ -1187,6 +1202,52 @@
                        rc = r82xx_write_reg_mask(priv, 0x05, cable_1_in, 0x40);
 
                        if (rc < 0)
+                               goto err;
+
+                       /* activate air_in (UHF input) */
+                       air_in = (band == UHF) ? 0x00 : 0x20;
+                       rc = r82xx_write_reg_mask(priv, 0x05, air_in, 0x20);
+
+                       if (rc < 0)
+                               goto err;
+               }
+       }
+       else if (is_rtlsdr_blog_v4l)
+       {
+               /* select tuner band based on frequency and only switch if 
there is a band change
+                *(to avoid excessive register writes when tuning rapidly)
+                */
+               band = (freq <= MHZ(28.8)) ? HF : UHF;
+
+               /* bypass tracking filter for HF to reduce insertion loss,
+                * the upconverter path doesn't benefit from it.
+                * Must be outside band-change guard since r82xx_set_mux
+                * re-applies the tracking filter on every frequency change. */
+               if (band == HF) {
+                       rc = r82xx_write_reg_mask(priv, 0x1a, 0x40, 0xc3);
+                       if (rc < 0)
+                               goto err;
+                       rc = r82xx_write_reg(priv, 0x1b, 0x00);
+                       if (rc < 0)
+                               goto err;
+               }
+
+               /* switch between tuner inputs on the RTL-SDR Blog V4L */
+               if (band != priv->input) {
+                       priv->input = band;
+
+                       cable_1_in = (band == HF) ? 0x40 : 0x00;
+
+                       /* Control upconverter GPIO switch on newer batches */
+                       rc = rtlsdr_set_bias_tee_gpio(priv->rtl_dev, 5, 
!cable_1_in);
+
+                       if (rc < 0)
+                               goto err;
+
+                       /* activate cable 1 (HF input) */
+                       rc = r82xx_write_reg_mask(priv, 0x05, cable_1_in, 0x40);
+
+                       if (rc < 0)
                                goto err;
 
                        /* activate air_in (UHF input) */

Reply via email to