Loading ...
Sorry, an error occurred while loading the content.

Re: Linux Programs for RXTX v6.3 [1 Attachment]

Expand Messages
  • graemevj
    Hi Sid, I am using the Ver 3.0 of Quisk and it works OK on receive except for the image due to my sound card problems. I compiled it but that is not necessary
    Message 1 of 22 , Apr 28, 2009
    • 0 Attachment
      Hi Sid,

      I am using the Ver 3.0 of Quisk and it works OK on receive except for the image due to my sound card problems. I compiled it but that is not necessary as it worked out of the box.

      Here is my quisk_config.py -- Hope it helps you.

      # These are the configuration parameters for Quisk, a software defined
      # radio receiver and transmitter.
      #
      # The Quisk receiver can use a high quality sound card for capture and playback,
      # or it can use the SDR-IQ by RfSpace for capture and a lower quality
      # sound card for playback.

      # In ALSA, soundcards have these names. The "hw" devices are the raw
      # hardware devices, and should be used for soundcard capture.
      #name_of_soundcard = "hw:0"
      #name_of_soundcard = "hw:1"
      #name_of_soundcard = "plughw"
      #name_of_soundcard = "plughw:1"
      #name_of_soundcard = "default"

      # If you use an SDR-IQ for capture, set use_sdriq to 1, otherwise 0.
      use_sdriq = 0

      if use_sdriq: # Configuration for SDR-IQ capture, soundcard playback
      sdriq_name = "/dev/ft2450" # Name of the SDR-IQ device to open
      sdriq_clock = 66666667.0 # actual sample rate (66666667 nominal)
      sdriq_decimation = 500 # Must be 360, 500, 600, or 1250
      sample_rate = int(float(sdriq_clock) / sdriq_decimation + 0.5) # Don't change this
      name_of_soundcard = "hw:0" # Playback on this soundcard
      # Note: For the SDR-IQ, playback is stereo at 48000 Hertz.
      channel_i = 0 # Soundcard index of left channel
      channel_q = 1 # Soundcard index of right channel
      rx_ip = '' # no receiver IP address for SDR-IQ
      else: # Configuration for soundcard capture and playback
      sample_rate = 48000 # ADC hardware sample rate in Hertz
      name_of_soundcard = "hw:0" # Name of soundcard capture hardware device.
      # Note: Use the "hw" device to avoid re-sampling problems.
      channel_i = 0 # Soundcard index of in-phase channel: 0, 1, 2, ...
      channel_q = 1 # Soundcard index of quadrature channel: 0, 1, 2, ...
      rx_ip = '192.168.1.4' # receiver IP address

      # This is the IP address of the transmitter, or ''
      #tx_ip = '192.168.1.44' # transmitter address
      tx_ip = ''

      # Quisk can capture microphone audio and send it to a transceiver.
      # Name of the microphone device to open, or "".
      microphone_name = ""
      #microphone_name = "hw:1"
      mic_sample_rate = 48000 # The microphone sample rate must be 48000

      # This is the port for the AT-200PC antenna tuner, or ''
      #name_at200pc = "/dev/ttyUSB0"
      name_at200pc = ""

      # This is the CW tone frequency in Hertz
      cwTone = 800

      # Use "amixer -c 1 contents" to get a list of mixer controls and their numid's for
      # card 1 (or "-c 0" for card 0). Then make a list of (device_name, numid, value)
      # for each control you need to set. The sample settings are for my USB microphone.
      mixer_settings = [
      # ("hw:1", 2, 0.80), # numid of microphone volume control, volume 0.0 to 1.0;
      # ("hw:1", 1, 1.0) # numid of capture on/off control, turn on with 1.0;
      ]

      # If your VFO is at a fixed frequency (SoftRock-40, etc.) enter it here in Hertz.
      # For example, fixedVFO = 7123456. Otherwise use fixedVFO = 0.
      fixedVFO = 0

      # This is the data used to draw colored lines on the frequency X axis to
      # indicate CW and Phone sub-bands. You can make it anything you want.

      # These are the colors used for sub-bands:
      CW = '#FF4444' # General class CW
      eCW = '#FF8888' # Extra class CW
      Phone = '#4444FF' # General class phone
      ePhone = '#8888FF' # Extra class phone
      # ARRL band plan special frequencies
      Data = '#FF9900'
      DxData = '#CC6600'
      RTTY = '#FF9900'
      SSTV = '#FFFF00'
      AM = '#00FF00'
      Packet = '#00FFFF'
      Beacons = '#66FF66'
      Satellite = '#22AA88'
      Repeater = '#AA00FF'
      Simplex = '#00FF44'
      Other = '#888888'

      # Colors start at the indicated frequency and continue until the
      # next frequency. The special color "None" turns off color.
      BandPlan = (
      # 160 meters
      ( 1800000, Data),
      ( 1809000, Other),
      ( 1811000, CW),
      ( 1843000, Phone),
      ( 1908000, Other),
      ( 1912000, Phone),
      ( 1995000, Other),
      ( 2000000, None),
      # 80 meters
      ( 3500000, eCW),
      ( 3525000, CW),
      ( 3570000, Data),
      ( 3589000, DxData),
      ( 3591000, Data),
      ( 3600000, ePhone),
      ( 3790000, Other),
      ( 3800000, Phone),
      ( 3844000, SSTV),
      ( 3846000, Phone),
      ( 3880000, AM),
      ( 3890000, Phone),
      ( 4000000, None),
      # 60 meters
      ( 5330600, Phone),
      ( 5333400, None),
      ( 5346600, Phone),
      ( 5349400, None),
      ( 5366600, Phone),
      ( 5369400, None),
      ( 5371600, Phone),
      ( 5374400, None),
      ( 5403600, Phone),
      ( 5406400, None),
      # 40 meters
      ( 7000000, eCW),
      ( 7025000, CW),
      ( 7039000, DxData),
      ( 7041000, CW),
      ( 7080000, Data),
      ( 7125000, ePhone),
      ( 7170000, SSTV),
      ( 7172000, ePhone),
      ( 7175000, Phone),
      ( 7285000, AM),
      ( 7295000, Phone),
      ( 7300000, None),
      # 30 meters
      (10100000, CW),
      (10130000, RTTY),
      (10140000, Packet),
      (10150000, None),
      # 20 meters
      (14000000, eCW),
      (14025000, CW),
      (14070000, RTTY),
      (14095000, Packet),
      (14099500, Other),
      (14100500, Packet),
      (14112000, CW),
      (14150000, ePhone),
      (14225000, Phone),
      (14229000, SSTV),
      (14231000, Phone),
      (14281000, AM),
      (14291000, Phone),
      (14350000, None),
      # 17 meters
      (18068000, CW),
      (18100000, RTTY),
      (18105000, Packet),
      (18110000, Phone),
      (18168000, None),
      # 15 meters
      (21000000, eCW),
      (21025000, CW),
      (21070000, RTTY),
      (21110000, CW),
      (21200000, ePhone),
      (21275000, Phone),
      (21339000, SSTV),
      (21341000, Phone),
      (21450000, None),
      # 12 meters
      (24890000, CW),
      (24920000, RTTY),
      (24925000, Packet),
      (24930000, Phone),
      (24990000, None),
      # 10 meters
      (28000000, CW),
      (28070000, RTTY),
      (28150000, CW),
      (28200000, Beacons),
      (28300000, Phone),
      (28679000, SSTV),
      (28681000, Phone),
      (29000000, AM),
      (29200000, Phone),
      (29300000, Satellite),
      (29520000, Repeater),
      (29590000, Simplex),
      (29610000, Repeater),
      (29700000, None),
      )

      # The program polls the soundcard or SDR-IQ for data every data_poll_usec microseconds.
      # A lower time reduces latency; a higher time is less taxing on the hardware.

      data_poll_usec = 5000 # poll time in microseconds

      # The fft_size is the width of the graph on the screen (about 800 to
      # 1200 pixels) times the fft_size_multiplier. You can make fft_size_multiplier
      # about 2 to 4, to make the FFT bins smaller if you have the processor power.
      # The fft_size must be big enough to handle a block of samples (data_poll_usec)
      # so the program may increase it.

      fft_size_multiplier = 2 # make fft size this times the graph width

      # The graph_refresh is the frequency at which the graph is updated,
      # and should be about 5 to 10 Hertz. Higher rates require more processor power.

      graph_refresh = 7 # update the graph at this rate in Hertz

      # latency_millisecs determines how many samples are in the soundcard play buffer.
      # A larger number makes it less likely that you will run out of samples to play,
      # but increases latency. It is OK to suffer a certain number of play buffer
      # underruns in order to get lower latency.

      latency_millisecs = 50 # latency time in milliseconds

      # If you are using keying, key-down throws away the current capture buffer
      # and starts a sidetone with a rise time of 5 milliseconds. For
      # key-up, the sidetone is ended with a fall time of 5 milliseconds, then
      # a silent period starts, then normal audio starts with a rise time of
      # 5 milliseconds. The length of the silent period is given by keyupDelay,
      # but will be at least the time necessary to collect enough samples to
      # refill the filters. A larger keyupDelay may be needed to accomodate
      # antenna switching or other requirement of your hardware.

      keyupDelay = 23 # extra milliseconds silence on key up

      ************************************************************
      --- In softrock40@yahoogroups.com, Sid Boyce <sboyce@...> wrote:
      >
      > That attachment didn't show up very well.
      > I set the IQ hardware device from /dev/ft245 to the UBW (/dev/pic18bl0),
      > quisk says sound not running.
      > # lsof /dev/dsp1
      > # lsof /dev/dsp
      > # lsof /dev/pic18bl0
      > COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
      > python 25399 root 4u CHR 180,192 0t0 244607 /dev/pic18bl0
      > quisk reported SDR-IQ device or resource busy, but I forgot to check
      > exactly what PID 25399 was.
      > Though lsof showed nothing using /dev/dsp, it was only after I exited
      > quisk that I got sound back in skype.
      >
      > Looks like we'll need someone who understands python, Softrock and the
      > UBW to tie it all together. Most of the manageable stuff out there is
      > designed to run HPSDR.
      > I tried xlinrad, but that didn't yield a result either.
      > 73 ... Sid.
      >
      [SNIP]
    • Sid Boyce
      Thanks, I shall use this as a guide tomorrow to see if I can get RX to work. 73 ... Sid. ... -- Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot
      Message 2 of 22 , Apr 29, 2009
      • 0 Attachment
        Thanks, I shall use this as a guide tomorrow to see if I can get RX to work.
        73 ... Sid.

        graemevj wrote:
        >
        >
        >
        > Hi Sid,
        >
        > I am using the Ver 3.0 of Quisk and it works OK on receive except for
        > the image due to my sound card problems. I compiled it but that is not
        > necessary as it worked out of the box.
        >
        > Here is my quisk_config.py -- Hope it helps you.
        >
        > # These are the configuration parameters for Quisk, a software defined
        > # radio receiver and transmitter.
        > #
        > # The Quisk receiver can use a high quality sound card for capture and
        > playback,
        > # or it can use the SDR-IQ by RfSpace for capture and a lower quality
        > # sound card for playback.
        >
        > # In ALSA, soundcards have these names. The "hw" devices are the raw
        > # hardware devices, and should be used for soundcard capture.
        > #name_of_soundcard = "hw:0"
        > #name_of_soundcard = "hw:1"
        > #name_of_soundcard = "plughw"
        > #name_of_soundcard = "plughw:1"
        > #name_of_soundcard = "default"
        >
        > # If you use an SDR-IQ for capture, set use_sdriq to 1, otherwise 0.
        > use_sdriq = 0
        >
        > if use_sdriq: # Configuration for SDR-IQ capture, soundcard playback
        > sdriq_name = "/dev/ft2450" # Name of the SDR-IQ device to open
        > sdriq_clock = 66666667.0 # actual sample rate (66666667 nominal)
        > sdriq_decimation = 500 # Must be 360, 500, 600, or 1250
        > sample_rate = int(float(sdriq_clock) / sdriq_decimation + 0.5) # Don't
        > change this
        > name_of_soundcard = "hw:0" # Playback on this soundcard
        > # Note: For the SDR-IQ, playback is stereo at 48000 Hertz.
        > channel_i = 0 # Soundcard index of left channel
        > channel_q = 1 # Soundcard index of right channel
        > rx_ip = '' # no receiver IP address for SDR-IQ
        > else: # Configuration for soundcard capture and playback
        > sample_rate = 48000 # ADC hardware sample rate in Hertz
        > name_of_soundcard = "hw:0" # Name of soundcard capture hardware device.
        > # Note: Use the "hw" device to avoid re-sampling problems.
        > channel_i = 0 # Soundcard index of in-phase channel: 0, 1, 2, ...
        > channel_q = 1 # Soundcard index of quadrature channel: 0, 1, 2, ...
        > rx_ip = '192.168.1.4' # receiver IP address
        >
        > # This is the IP address of the transmitter, or ''
        > #tx_ip = '192.168.1.44' # transmitter address
        > tx_ip = ''
        >
        > # Quisk can capture microphone audio and send it to a transceiver.
        > # Name of the microphone device to open, or "".
        > microphone_name = ""
        > #microphone_name = "hw:1"
        > mic_sample_rate = 48000 # The microphone sample rate must be 48000
        >
        > # This is the port for the AT-200PC antenna tuner, or ''
        > #name_at200pc = "/dev/ttyUSB0"
        > name_at200pc = ""
        >
        > # This is the CW tone frequency in Hertz
        > cwTone = 800
        >
        > # Use "amixer -c 1 contents" to get a list of mixer controls and their
        > numid's for
        > # card 1 (or "-c 0" for card 0). Then make a list of (device_name,
        > numid, value)
        > # for each control you need to set. The sample settings are for my USB
        > microphone.
        > mixer_settings = [
        > # ("hw:1", 2, 0.80), # numid of microphone volume control, volume 0.0 to
        > 1.0;
        > # ("hw:1", 1, 1.0) # numid of capture on/off control, turn on with 1.0;
        > ]
        >
        > # If your VFO is at a fixed frequency (SoftRock-40, etc.) enter it here
        > in Hertz.
        > # For example, fixedVFO = 7123456. Otherwise use fixedVFO = 0.
        > fixedVFO = 0
        >
        > # This is the data used to draw colored lines on the frequency X axis to
        > # indicate CW and Phone sub-bands. You can make it anything you want.
        >
        > # These are the colors used for sub-bands:
        > CW = '#FF4444' # General class CW
        > eCW = '#FF8888' # Extra class CW
        > Phone = '#4444FF' # General class phone
        > ePhone = '#8888FF' # Extra class phone
        > # ARRL band plan special frequencies
        > Data = '#FF9900'
        > DxData = '#CC6600'
        > RTTY = '#FF9900'
        > SSTV = '#FFFF00'
        > AM = '#00FF00'
        > Packet = '#00FFFF'
        > Beacons = '#66FF66'
        > Satellite = '#22AA88'
        > Repeater = '#AA00FF'
        > Simplex = '#00FF44'
        > Other = '#888888'
        >
        > # Colors start at the indicated frequency and continue until the
        > # next frequency. The special color "None" turns off color.
        > BandPlan = (
        > # 160 meters
        > ( 1800000, Data),
        > ( 1809000, Other),
        > ( 1811000, CW),
        > ( 1843000, Phone),
        > ( 1908000, Other),
        > ( 1912000, Phone),
        > ( 1995000, Other),
        > ( 2000000, None),
        > # 80 meters
        > ( 3500000, eCW),
        > ( 3525000, CW),
        > ( 3570000, Data),
        > ( 3589000, DxData),
        > ( 3591000, Data),
        > ( 3600000, ePhone),
        > ( 3790000, Other),
        > ( 3800000, Phone),
        > ( 3844000, SSTV),
        > ( 3846000, Phone),
        > ( 3880000, AM),
        > ( 3890000, Phone),
        > ( 4000000, None),
        > # 60 meters
        > ( 5330600, Phone),
        > ( 5333400, None),
        > ( 5346600, Phone),
        > ( 5349400, None),
        > ( 5366600, Phone),
        > ( 5369400, None),
        > ( 5371600, Phone),
        > ( 5374400, None),
        > ( 5403600, Phone),
        > ( 5406400, None),
        > # 40 meters
        > ( 7000000, eCW),
        > ( 7025000, CW),
        > ( 7039000, DxData),
        > ( 7041000, CW),
        > ( 7080000, Data),
        > ( 7125000, ePhone),
        > ( 7170000, SSTV),
        > ( 7172000, ePhone),
        > ( 7175000, Phone),
        > ( 7285000, AM),
        > ( 7295000, Phone),
        > ( 7300000, None),
        > # 30 meters
        > (10100000, CW),
        > (10130000, RTTY),
        > (10140000, Packet),
        > (10150000, None),
        > # 20 meters
        > (14000000, eCW),
        > (14025000, CW),
        > (14070000, RTTY),
        > (14095000, Packet),
        > (14099500, Other),
        > (14100500, Packet),
        > (14112000, CW),
        > (14150000, ePhone),
        > (14225000, Phone),
        > (14229000, SSTV),
        > (14231000, Phone),
        > (14281000, AM),
        > (14291000, Phone),
        > (14350000, None),
        > # 17 meters
        > (18068000, CW),
        > (18100000, RTTY),
        > (18105000, Packet),
        > (18110000, Phone),
        > (18168000, None),
        > # 15 meters
        > (21000000, eCW),
        > (21025000, CW),
        > (21070000, RTTY),
        > (21110000, CW),
        > (21200000, ePhone),
        > (21275000, Phone),
        > (21339000, SSTV),
        > (21341000, Phone),
        > (21450000, None),
        > # 12 meters
        > (24890000, CW),
        > (24920000, RTTY),
        > (24925000, Packet),
        > (24930000, Phone),
        > (24990000, None),
        > # 10 meters
        > (28000000, CW),
        > (28070000, RTTY),
        > (28150000, CW),
        > (28200000, Beacons),
        > (28300000, Phone),
        > (28679000, SSTV),
        > (28681000, Phone),
        > (29000000, AM),
        > (29200000, Phone),
        > (29300000, Satellite),
        > (29520000, Repeater),
        > (29590000, Simplex),
        > (29610000, Repeater),
        > (29700000, None),
        > )
        >
        > # The program polls the soundcard or SDR-IQ for data every
        > data_poll_usec microseconds.
        > # A lower time reduces latency; a higher time is less taxing on the
        > hardware.
        >
        > data_poll_usec = 5000 # poll time in microseconds
        >
        > # The fft_size is the width of the graph on the screen (about 800 to
        > # 1200 pixels) times the fft_size_multiplier. You can make
        > fft_size_multiplier
        > # about 2 to 4, to make the FFT bins smaller if you have the processor
        > power.
        > # The fft_size must be big enough to handle a block of samples
        > (data_poll_usec)
        > # so the program may increase it.
        >
        > fft_size_multiplier = 2 # make fft size this times the graph width
        >
        > # The graph_refresh is the frequency at which the graph is updated,
        > # and should be about 5 to 10 Hertz. Higher rates require more processor
        > power.
        >
        > graph_refresh = 7 # update the graph at this rate in Hertz
        >
        > # latency_millisecs determines how many samples are in the soundcard
        > play buffer.
        > # A larger number makes it less likely that you will run out of samples
        > to play,
        > # but increases latency. It is OK to suffer a certain number of play buffer
        > # underruns in order to get lower latency.
        >
        > latency_millisecs = 50 # latency time in milliseconds
        >
        > # If you are using keying, key-down throws away the current capture buffer
        > # and starts a sidetone with a rise time of 5 milliseconds. For
        > # key-up, the sidetone is ended with a fall time of 5 milliseconds, then
        > # a silent period starts, then normal audio starts with a rise time of
        > # 5 milliseconds. The length of the silent period is given by keyupDelay,
        > # but will be at least the time necessary to collect enough samples to
        > # refill the filters. A larger keyupDelay may be needed to accomodate
        > # antenna switching or other requirement of your hardware.
        >
        > keyupDelay = 23 # extra milliseconds silence on key up
        >
        > ************************************************************
        > --- In softrock40@yahoogroups.com <mailto:softrock40%40yahoogroups.com>,
        > Sid Boyce <sboyce@...> wrote:
        >>
        >> That attachment didn't show up very well.
        >> I set the IQ hardware device from /dev/ft245 to the UBW (/dev/pic18bl0),
        >> quisk says sound not running.
        >> # lsof /dev/dsp1
        >> # lsof /dev/dsp
        >> # lsof /dev/pic18bl0
        >> COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
        >> python 25399 root 4u CHR 180,192 0t0 244607 /dev/pic18bl0
        >> quisk reported SDR-IQ device or resource busy, but I forgot to check
        >> exactly what PID 25399 was.
        >> Though lsof showed nothing using /dev/dsp, it was only after I exited
        >> quisk that I got sound back in skype.
        >>
        >> Looks like we'll need someone who understands python, Softrock and the
        >> UBW to tie it all together. Most of the manageable stuff out there is
        >> designed to run HPSDR.
        >> I tried xlinrad, but that didn't yield a result either.
        >> 73 ... Sid.
        >>
        > [SNIP]
        >


        --
        Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot
        Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support
        Specialist, Cricket Coach
        Microsoft Windows Free Zone - Linux used for all Computing Tasks
      • andrew.nilsson
        ... I might be able to help here. I m looking at setting up a netbook with dttsp and encountering the same issues with the software. I ve previously written
        Message 3 of 22 , May 3 8:22 AM
        • 0 Attachment
          --- In softrock40@yahoogroups.com, Sid Boyce <sboyce@...> wrote:
          > Linrad seem the closest thing, but setting it up is the problem. I tried
          > it yesterday, but I think the problem is the inability to tune the Si570
          > via e.g, the UBW.

          I might be able to help here. I'm looking at setting up a netbook with dttsp and encountering the same issues with the software. I've previously written code for Mac OS X to interface with Tony's I2C board and I'll look at porting this in a command line utility form to linux.

          As for GUIs and tying things together - that's a far longer term project but one which I've got some thoughts on. Too many projects, so little time!

          Dttsp is being developed for performance, one of the recent versions uses only 12-13% cpu on my MSI Wind (Atom N270) so the potential for a portable setup exists. The key issue seems to be the GUI performance, especially with these netbooks.

          Andrew vk6jbl
        • Sid Boyce
          ... That would be very helpful as there is an array of software around, just getting things to work following a clear route is what s needed. Most software
          Message 4 of 22 , May 3 6:04 PM
          • 0 Attachment
            andrew.nilsson wrote:
            >
            >
            >
            > --- In softrock40@yahoogroups.com <mailto:softrock40%40yahoogroups.com>,
            > Sid Boyce <sboyce@...> wrote:
            >> Linrad seem the closest thing, but setting it up is the problem. I tried
            >> it yesterday, but I think the problem is the inability to tune the Si570
            >> via e.g, the UBW.
            >
            > I might be able to help here. I'm looking at setting up a netbook with
            > dttsp and encountering the same issues with the software. I've
            > previously written code for Mac OS X to interface with Tony's I2C board
            > and I'll look at porting this in a command line utility form to linux.
            >
            > As for GUIs and tying things together - that's a far longer term project
            > but one which I've got some thoughts on. Too many projects, so little time!
            >
            > Dttsp is being developed for performance, one of the recent versions
            > uses only 12-13% cpu on my MSI Wind (Atom N270) so the potential for a
            > portable setup exists. The key issue seems to be the GUI performance,
            > especially with these netbooks.
            >
            > Andrew vk6jbl
            >

            That would be very helpful as there is an array of software around, just
            getting things to work following a clear route is what's needed. Most
            software seems to be HPSDR centric.
            Getting jack/qjackctl to work on openSUSE is problematical and I am
            thinking of setting up a Kubuntu box soon.
            Thanks
            73 ... Sid.
            --
            Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot
            Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support
            Specialist, Cricket Coach
            Microsoft Windows Free Zone - Linux used for all Computing Tasks
          Your message has been successfully submitted and would be delivered to recipients shortly.