How to use my RSPduo w/ Rpi-3 & command line?

SDRPlay Independent Community Forum Forums General How to use my RSPduo w/ Rpi-3 & command line?

  • This topic has 29 replies, 2 voices, and was last updated by .
Viewing 15 posts - 1 through 15 (of 30 total)
  • Author
    Posts
  • #1671
    alanmalk
    Participant

    Just asking for some general pointers:
    I have a RSPduo that works well on Mac OS and CubicSDR. I would like to use it with my Raspberry Pi 3 python-based application to receive commercial FM broadcast radio. For that I would need to be able to control the RSPduo through a command line. Currently I am using an inexpensive dongle and rtl_fm piped to ‘play’ or ‘aplay’, but the audio and sensitivity leave much to be desired. So far everything I have looked at wants to start a GUI. My last attempt was gnuradio, and I have tried others over the past weeks.

    A suggestion or two would be most appreciated be it just a name or a pointer. Thanks!

    #1693
    Anonymous

    SdrTest can drive the RSPduo and it can be controlled by the control utility. Any program can use the control utility by piping it commands to control the RSPduo. Here is a video showing the usage –

    SdrTest being remotely controlled by the control utility.

    #1696
    alanmalk
    Participant

    First – a hearty thank you for all the work you have done with regards to the SDR universe.

    I – apparently successfully – installed rtAudio, SdrGlut, sdrTest.
    Unfortunately, running the following command (via SSH) gives me an error:
    %./sdrTest -fc 1e6 -f 0.76e6 -am -gain 1
    Detached kernel driver
    Found Rafael Micro R820T tuner
    Reattached kernel driver
    [INFO] [UHD] linux; GNU C++ version 8.2.0; Boost_106700; UHD_3.13.1.0-3
    Number of Devices Found: 2
    SDR device = 0 label = PulseAudio
    SDR device = 1 label = Generic RTL2832U OEM :: 00000001

    device = 0 selected
    default_input = True default_output = True device_id = 0 driver = audio label = PulseAudio

    driver = Audio
    hardware = Audio
    device_id = 0 origin = https://github.com/pothosware/SoapyAudio

    Rx antennas:
    RX

    Setting Info:

    Segmentation fault

    It appears sdrTest is finding and trying to use my inexpensive dongle: Bus 001 Device 005: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
    My SdrPlay RSPduo is attached – (from lsusb) : Bus 001 Device 004: ID 1df7:3020
    but I have no way of specifying that sdrTest is to use it.
    The dongle is somewhat difficult to remove since it is inside my pi radio box, whereas the RSPduo is external.

    Any possibility of a workaround that will allow me to leave the dongle attached?

    Thank you!

    #1697
    Anonymous

    If you look at the output your Generic RTL2832U is device 1 – so you need to specify that on the command line –

    ./sdrTest -fc 1e6 -f 0.76e6 -am -gain 1 -device 1

    #1698
    Anonymous

    For FM you need –

    ./sdrTest -fc 101.1e6 -f 101.5e6 -fm -gain 1 -device 1

    For nbfm –

    ./sdrTest -fc 162.0e6 -f 162.4e6 -nbfm -gain 1 -device 1

    For AM you need –

    ./sdrTest -fc 1e6 -f 0.76e6 -gain 1 -device 1 -set direct_samp 2

    #1699
    Anonymous

    The above should make the RTL stick work.

    Best guess, you have two version of soapy installed. Uninstall one of them –

    sudo apt-get remove libsoapysdr0.6
    sudo apt-get remove libsoapysdr-dev

    and rebuild sdrglut, sdrTest – That should get the SdrPlay RSPduo going.

    #1700
    alanmalk
    Participant

    Yet again – I am grateful that you are able to provide me with support.

    No luck yet with finding the correct device.

    Perhaps there are some clues in the following:

    <My comment on the following command: It seems my RSPduo is available.>
    pi@macpi:~ $ SoapySDRUtil –probe=’\”driver=sdrplay’
    ######################################################
    ## Soapy SDR — the SDR abstraction library ##
    ######################################################

    Probe device \driver=sdrplay
    [INFO] devIdx: 0
    [INFO] hwVer: 3
    [INFO] rspDuoMode: 1
    [INFO] tuner: 1
    [INFO] rspDuoSampleFreq: 0.000000

    —————————————————-
    — Device identification
    —————————————————-
    driver=SDRplay
    hardware=1806037A32 – Single Tuner
    sdrplay_api_api_version=3.070000
    sdrplay_api_hw_version=3
    ————– remainder truncated ———

    <My comment on the following command: I am certain the RSPduo is device 006>
    pi@macpi:~ $ lsusb
    Bus 001 Device 005: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
    Bus 001 Device 006: ID 1df7:3020
    Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
    Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

    <My comment on the following command: Using “-device 6” looks quite odd to me. I don’t want to use the dongle.>
    pi@macpi:~ $ ./Downloads/SdrGlut/sdrTest/sdrTest -fc 1e6 -f 0.76e6 -am -gain 1 -device 6
    Detached kernel driver
    Found Rafael Micro R820T tuner
    Reattached kernel driver
    [INFO] [UHD] linux; GNU C++ version 8.2.0; Boost_106700; UHD_3.13.1.0-3
    Number of Devices Found: 2
    SDR device = 0 label = PulseAudio
    SDR device = 1 label = Generic RTL2832U OEM :: 00000001

    Error Opening SDR

    <My comment on the command(s) below: Getting nothing for 1-1.6 is very worrisome. Tried 1-1.3 for proof that something was logged – but both device 4 & 6??!.>
    pi@macpi:~ $ dmesg | grep 1-1.6
    pi@macpi:~ $ dmesg | grep 1-1.3
    [ 4.194408] usb 1-1.3: new high-speed USB device number 4 using dwc_otg
    [ 4.325106] usb 1-1.3: New USB device found, idVendor=1df7, idProduct=3020, bcdDevice= 2.00
    [ 4.325133] usb 1-1.3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [ 472.000252] usb 1-1.3: USB disconnect, device number 4
    [ 472.309740] usb 1-1.3: new high-speed USB device number 6 using dwc_otg
    [ 472.440220] usb 1-1.3: New USB device found, idVendor=1df7, idProduct=3020, bcdDevice= 2.08
    [ 472.440233] usb 1-1.3: New USB device strings: Mfr=0, Product=0, SerialNumber=1
    [ 472.440241] usb 1-1.3: SerialNumber: 1806037A32
    pi@macpi:~ $

    Does anything stand out as “user error” to you?

    #1701
    alanmalk
    Participant

    Just saw your suggestion to rebuild. I’ll do that asap.

    #1702
    Anonymous

    First of all

    ./Downloads/SdrGlut/sdrTest/sdrTest -fc 1e6 -f 0.76e6 -am -gain 1 -device 1 -set direct_samp 2

    should be to get the RTL-STICK going.

    Lets see the output of

    SoapySDRUtil –info

    that should tell where the RSPduo is.

    #1703
    alanmalk
    Participant

    Rebuilt SdrGlut, sdrTest and for good measure, rtaudio.

    Ran the requested –info. Also ran –find for additional details.

    pi@macpi:~ $ SoapySDRUtil –info
    ######################################################
    ## Soapy SDR — the SDR abstraction library ##
    ######################################################

    Lib Version: v0.8.0-g351896d3
    API Version: v0.8.0
    ABI Version: v0.8
    Install root: /usr/local
    Search path: /usr/local/lib/SoapySDR/modules0.8
    Module found: /usr/local/lib/SoapySDR/modules0.8/libsdrPlaySupport.so (0.3.0-208f95d)
    Available factories… sdrplay
    Available converters…
    – CF32 -> [CF32, CS16, CS8, CU16, CU8]
    – CS16 -> [CF32, CS16, CS8, CU16, CU8]
    – CS32 -> [CS32]
    – CS8 -> [CF32, CS16, CS8, CU16, CU8]
    – CU16 -> [CF32, CS16, CS8]
    – CU8 -> [CF32, CS16, CS8]
    – F32 -> [F32, S16, S8, U16, U8]
    – S16 -> [F32, S16, S8, U16, U8]
    – S32 -> [S32]
    – S8 -> [F32, S16, S8, U16, U8]
    – U16 -> [F32, S16, S8]
    – U8 -> [F32, S16, S8]

    pi@macpi:~ $ SoapySDRUtil –find
    ######################################################
    ## Soapy SDR — the SDR abstraction library ##
    ######################################################

    Found device 0
    driver = sdrplay
    label = SDRplay Dev0 RSPduo 1806037A32 – Single Tuner
    rspduo_mode = 1

    Found device 1
    driver = sdrplay
    label = SDRplay Dev1 RSPduo 1806037A32 – Dual Tuner
    rspduo_mode = 2

    Found device 2
    driver = sdrplay
    label = SDRplay Dev2 RSPduo 1806037A32 – Master
    rspduo_mode = 4

    Found device 3
    driver = sdrplay
    label = SDRplay Dev3 RSPduo 1806037A32 – Master (RSPduo sample rate=8Mhz)
    rspduo_mode = 4
    rspduo_sample_freq = 8

    #1704
    alanmalk
    Participant

    But no joy with everything rebuilt…

    pi@macpi:~/Downloads/SdrGlut/sdrTest $ ./sdrTest -fc 1e6 -f 0.76e6 -am -gain 1 -device 1 -set direct_samp 2
    Detached kernel driver
    Found Rafael Micro R820T tuner
    Reattached kernel driver
    [INFO] [UHD] linux; GNU C++ version 8.2.0; Boost_106700; UHD_3.13.1.0-3
    Number of Devices Found: 2
    SDR device = 0 label = PulseAudio
    SDR device = 1 label = Generic RTL2832U OEM :: 00000001

    device = 1 selected
    available = Yes driver = rtlsdr label = Generic RTL2832U OEM :: 00000001 manufacturer = Realtek product = RTL2838UHIDIR rtl = 0 serial = 00000001 tuner = Rafael Micro R820T

    Detached kernel driver
    Found Rafael Micro R820T tuner
    driver = RTLSDR
    hardware = RTLSDR
    origin = https://github.com/pothosware/SoapyRTLSDR rtl = 0

    Rx antennas:
    RX

    Setting Info:

    setcount 1
    direct_samp 2
    Segmentation fault

    #1705
    Anonymous

    It looks like the old soapysdr is still around.

    Did you do the ? –

    sudo apt-get remove libsoapysdr0.6
    sudo apt-get remove libsoapysdr-dev

    What does –

    sudo find / -name “*rtlsdrSupport*”

    find.

    #1706
    alanmalk
    Participant

    I did sudo apt-get remove libsoapysdr0.6 first.
    Then did an install “sudo apt-get

      install

    libsoapysdr-dev” expecting to see “libsoapysdr-dev is already the newest version (0.6.1-4+b4).”, but it in fact did an install.
    So that tells me only one version of soapysdr was around at the beginning of my efforts.

    pi@macpi:~ $ sudo find / -name “*rtlsdrSupport*”
    /usr/lib/arm-linux-gnueabihf/SoapySDR/modules0.6/librtlsdrSupport.so

    Hmmm, should this have been removed?

    This is wierd…
    Ran “sudo apt-get remove libsoapysdr0.6” again (just now). Then
    Ran sudo find / -name “*rtlsdrSupport*” again. But this time – nothing found!

    I’m about burnt out for the day. Will try again tomorrow. Meanwhile, please accept my thanks for all your efforts.
    Something-somehow is installing libsoapysdr0.6 !!!
    As I mentioned, earlier today I rebuilt SdrGlut, sdrTest and rtaudio. Could one of these be installing libsoapysdr0.6? Logic says no, but I didn’t install anything else today.

    #1707
    alanmalk
    Participant

    Well, as fried as my brain is now, I couldn’t resist one more try.

    pi@macpi:~ $ ./Downloads/SdrGlut/sdrTest//sdrTest -fc 1e6 -f 0.76e6 -am -gain 1 -device 1 -set direct_samp 2
    ./Downloads/SdrGlut/sdrTest//sdrTest: error while loading shared libraries: libSoapySDR.so.0.6: cannot open shared object file: No such file or directory

    Seems I moved from the frying pan into the fire.

    Time to run away screaming…

    #1708
    Anonymous

    That is what it should do –

    ./Downloads/SdrGlut/sdrTest//sdrTest: error while loading shared libraries: libSoapySDR.so.0.6: cannot open shared object file: No such file or directory

    Now when you rebuild the sdrglut and sdrTest you should get the correct routines from /usr/local/lib.

    You can check for the correct routines with a

    ldd ./sdrglut.x

    ldd ./sdrTest

    It should have a –

    /usr/local/lib/libSoapySDR…

    linked to it.

    To get the RTL stick going – you will need to download and install –

    librtlsdr and SoapyRTLSDR using cmake.

Viewing 15 posts - 1 through 15 (of 30 total)
  • You must be logged in to reply to this topic.