Since this feature also disconnects running instances
of librtlsdr that claimed the device, it is now disabled
by default and can only be enabled at compile time.
To enable it when building with cmake:
cmake . -DDETACH_KERNEL_DRIVER=ON
To enable it when building with automake:
./configure --enable-driver-detach
Signed-off-by: Steve Markgraf <steve@steve-m.de>
libusb reacts differently to a device loss during runtime,
and sporadic errors can happen when starting a second
instance interfacing another dongle, thus we need to wait
for all transfers to fail before assuming the dongle has
been removed.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Since the R820T is a power hog and gets quite hot,
this makes sense, especially when being battery-
powered.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
This improves the situation on hosts with flaky host
controllers like the Raspberry Pi and the WR703N.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
This allows to open a device by a name (serial number string)
that has been programmed with rtl_eeprom -s.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Otherwise the tuner would use the uncorrected xtal value
after enabling and disabling the direct sampling mode
Signed-off-by: Steve Markgraf <steve@steve-m.de>
This commit adds the function rtlsdr_set_direct_sampling()
which can be used to enable/disable a mode where the
RTL2832 acts as a direct sampling receiver.
This mode disables the tuner, and by attaching a long
wire, or better, a 50Ω to 200Ω transformer and a lowpass-
filter to the In-phase ADC input (pin 1 or 2 of the RTL2832,
whereas pin 1 is at the molded dot) it is possible to listen to
shortwave radio stations. The coupling capacitors can be
left in place, but for better results they should be removed.
Tuning in this mode is done with the DDC, and since the
ADC samples with 28.8 MHz, tuning is possible from 0 to
28.8 MHz.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
This could lead to a misdetection of the tuner on some
platforms (E4K instead of FC0013 on the raspberry pi).
Thanks to Christoph Gommel for reporting this issue.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
This adds rtlsdr_set_agc_mode() to enable/disable it.
Thanks to Leif Asbrink for finding this setting.
Signed-off-by: Steve Markgraf <steve@steve-m.de>