Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
If you are having a problem, please check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.

Announce: experimental CAT/DAX clients for Linux



  • Steve KD2OM
    Steve KD2OM Member ✭✭

    Hi Ted, Yes I am running v3.

    I have managed to get it to run using a linux laptop

    ./nDAX -station WSPR -slice A -daxch 1 -source flex.sliceA.rx -sink flex.sliceA.tx -log-level trace

    10:24PM INF Waiting for station station=WSPR

    10:24PM DBG Set thread to realtime thread="udp thread"

    10:24PM INF Found Client id=0xAA20CC0B uuid=E41C327C-368E-457F-8A9A-C2142743674C

    10:24PM INF Looking for slice slice_id=A

    10:24PM INF Found slice slice_idx=1

    10:24PM INF Enabled RX DAX stream stream_id=4000009

    10:24PM INF Enabled TX DAX stream stream_id=84000000

    10:24PM DBG Set thread to realtime thread="tx thread"

    10:24PM DBG Set thread to realtime thread="rx thread"

    But not with a Pi or an i7 running Ubuntu 18.04. The fact that I have to run SSDR on another computer makes this less useful. Perhaps when nCAT runs SSDR isn't necessary. What I am really after is to only use wsjt-x command line with no GUI.

  • arodland
    arodland Member ✭✭
    edited February 1


    Yes, you need to have a session coming from somewhere. That can be a Windows or Mac copy of SmartSDR, or a Maestro or -M radio front panel, or nCAT in "headless" mode. That last one is kind of experimental (nCAT doesn't support everything that SmartSDR does, and in particular it doesn't know how to create a slice that doesn't already exist) but people have had success with it by using another tool to save a global profile (e.g. several slices of FT8) and using nCAT's -profile option to load that profile on startup.

    That isn't actually the cause of the errors you're getting, however. Could you please let me know what "pulseaudio --version" reports on the machines where it doesn't work?

  • Chris WX7V
    Chris WX7V Member ✭✭

    I’ve been running nCAT and nDAX on KUBUNTU 20.04 for since September with no issues, and I’ve made more than 700 confirmed contacts with FT8.

    I’ve successfully got cat control working on fldigi with the set up with Hamlib NET rigctl using similar config to WJSTX.

    I’ve not figured out the soured card config tho- I’ve tried PortAudio but don’t see flexdax.rx or flexdax.tx in the capture/playback option drop down like I have in WSJTX. I’ve searched google for PulseAudio - if that is the correct option not sure what to put in the parameter box.

    Thanks for any help!

    73, Chris - WX7V

  • Chris WX7V
    Chris WX7V Member ✭✭
    edited February 19

    Removing duplicate post- I hit submit twice.

  • arodland
    arodland Member ✭✭

    @Chris WX7V for fldigi, select PulseAudio, leave the "server string" box blank, and hit okay. Then use a mixer app (pavucontrol is one, but you might already have a suitable one hiding behind the volume control button on your taskbar) to set fldigi's playback stream to flexdax.tx and its capture stream to flexdax.rx. PulseAudio should remember the setting so that in the future fldigi will get those devices by default (as long as you start it while nDAX is running).

    This is fldigi's issue for not having a UI to select PulseAudio devices, but fortunately it's an easy enough one to work around.

    Very glad to hear about your success with wsjtx.

  • Chris WX7V
    Chris WX7V Member ✭✭

    Thank you - that was easy enough. nCAT and nDAX are solid- the learning curve now is with fldigi and these digital modes.

  • Nick Cloyes, N4CL
    Nick Cloyes, N4CL Member ✭✭

    I am using a Flex 6700 along with a Raspberry PI 4+

    I’m having issues with nDAX TX output to the Flex. At times, it works and I see output in the P/CW level window, just as shown in the windows screenshot. I do see output from the playback audio, I think wsjtx is outputting audio, and PulseAudio is processing it, but the Flex is not seeing it. 

    I would appreciate any help.

    Thanks in advance,


    Nick Cloyes – N4CL

    PS – I send my compliments to arodland for these fine, stable apps. I’ve had lots of fun using them!


    Below is the nDAX startup along with screenshots of wsjtx running in windows and Raspberry PI.


    [email protected]:~/sambashare$ ./nDAX

    9:08PM INF Waiting for station station=Flex

    9:08PM WRN Couldn't get realtime error="MakeThreadRealtime: Operation not permitted" thread="udp thread"

    9:08PM INF Found Client id=0x6B9D2835 uuid=63762A21-B56D-42CF-A6C4-832706ED0018

    9:08PM INF Looking for slice slice_id=A

    9:08PM INF Found slice slice_idx=1

    9:08PM INF Enabled RX DAX stream stream_id=4000008

    9:08PM INF Enabled TX DAX stream stream_id=84000000

    9:08PM WRN Couldn't get realtime error="MakeThreadRealtime: Operation not permitted" thread="rx thread"

    9:08PM WRN Couldn't get realtime error="MakeThreadRealtime: Operation not permitted" thread="tx thread"


    pacmd list-sinks

    1 sink(s) available.

     * index: 0

           name: <auto_null>

           driver: <module-null-sink.c>


           state: IDLE

           suspend cause: (none)

           priority: 1000

           volume: front-left: 65536 / 100% / 0.00 dB,  front-right: 65536 / 100% / 0.00 dB

                   balance 0.00

           base volume: 65536 / 100% / 0.00 dB

           volume steps: 65537

           muted: no

           current latency: 1399.48 ms

           max request: 344 KiB

           max rewind: 344 KiB

           monitor source: 0

           sample spec: s16le 2ch 44100Hz

           channel map: front-left,front-right


           used by: 0

           linked by: 0

           configured latency: 2000.00 ms; range is 0.50 .. 2000.00 ms

           module: 2


                   device.description = "Dummy Output"

                   device.class = "abstract"

                   device.icon_name = "audio-card"

    pacmd list-sink-inputs

    1 sink input(s) available.

       index: 1

           driver: <protocol-native.c>


           state: RUNNING

           sink: 1 <flexdax.tx>

           volume: mono: 65536 / 100% / 0.00 dB

                   balance 0.00

           muted: no

           current latency: 200.00 ms

           requested latency: 21.33 ms

           sample spec: s16le 1ch 48000Hz

           channel map: mono


           resample method: copy

           module: 3

           client: 3 <QtPulseAudio:777320>


                   media.role = "production"

                   media.name = "QtmPulseStream-777320-281472225262528"

                   application.name = "QtPulseAudio:777320"

                   native-protocol.peer = "UNIX socket client"

                   native-protocol.version = "34"

                   application.process.id = "777320"

                   application.process.user = "cloyesjn"

                   application.process.host = "ubuntu-desktop"

                   application.process.binary = "wsjtx"

                   application.language = "en_US.UTF-8"

                   window.x11.display = ":10.0"

                   application.process.machine_id = "f0bd04b5fe0d457badf0188180f8c9cb"

                   application.icon_name = "wsjtx_icon"


    Raspberry PI

  • arodland
    arodland Member ✭✭

    @Nick Cloyes, N4CL next time you run into the problem, try exiting wsjtx, exiting nDAX (^C), restarting nDAX, and restarting wsjtx, without touching any controls in SmartSDR, and see if it works after that. I'm not quite sure what is going on, but possibly something is trying to "steal" nDAX's DAX channel.

    You might also try running nDAX with "-daxch 2" and see if that prevents the problem entirely.

  • arodland
    arodland Member ✭✭

    @Nick Cloyes, N4CL another thought, since I see you're using remote desktop — make sure to disable any option in the remote desktop app for forwarding the Pi's audio to your Windows machine, as that might interfere.

  • Nick Cloyes, N4CL
    Nick Cloyes, N4CL Member ✭✭

    I believe I have found it

    I checked mode =Data/Pkt and it started working. Does that make sense? It seems to work like a charm now.

  • Chris WX7V
    Chris WX7V Member ✭✭

    All, Confirming nCAT and nDAX work with the recent Flexradio upgrade V.3.2.31. The only issue I had was with the upgrade itself - the radio got stuck and I had to remove the DC power source per instructions in the release notes.

    1) From Page 4 of the Release Notes for V.3.2.31: "What to do if the firmware updates do not finish after 5 minutes?

     On rare occasions, an update may not signal the completion of a firmware update. If five (5) minutes have elapsed without the radio restarting and completing the upgrade, power off the radio by pressing the power button. The radio should restart, and the firmware update should complete normally. Note: It would be rare that a single press on the power button does not shut down the radio. However, if this occurs, remove the DC power cable from the radio to force a hard reset. Wait about 1 minute, restore DC power, wait 2 minutes and depress the power button. The radio will restart and the firmware update should complete successfully"

Leave a Comment

Rich Text Editor. To edit a paragraph's style, hit tab to get to the paragraph menu. From there you will be able to pick one style. Nothing defaults to paragraph. An inline formatting menu will show up when you select text. Hit tab to get into that menu. Some elements, such as rich link embeds, images, loading indicators, and error messages may get inserted into the editor. You may navigate to these using the arrow keys inside of the editor and delete them with the delete or backspace key.