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

24

Comments

  • Lou KI5FTY
    Lou KI5FTY Member ✭✭
    replace -Maestro with -station Maestro
    


  • Alan
    Alan Member ✭✭✭

    More progress, but still not there yet.

    I used "-station Maestro" with default for "discover". Got an error that port 4992 was in use. <first command/response>

    So, I added the IP of my Flex Server, "-radio string 192.168.50.80" to the command (I think I am beginning to understand how to configure nDAX now). Received new error message, "no such host connecting to string" <second and third command/response>.

    Note/Question - what is the "lookup string on 192.168.50.1:53 referring to? That is the ip of my router?? Is it asking the router where the Flex Server is? My router knows the flex IP because that is where I get the Flex IP from; the router client list.

    Alan WA9WUD

  • Ted  VE3TRQ
    Ted VE3TRQ Member ✭✭✭
    edited November 2020

    Use "-radio 192.168.50.80". The "string" is to be replaced with your radio's IP address.

    Also, the "Port 4992 in use" message is likely the result of already having nDax running in the background. Use the command "ps ax | grep -i dax" to find all instances of a running xDax process. The first part of the line will have a 4 or 5 digit number. Use the command "**** <number>", where <number> is replaced by that 4 digit number. Be careful that you type the number correctly - you will be terminating the process with that pid (Process Identification Number).

    [Edit: the Community interface replaced the "k i l l" with asterisks! What's with that??? the command is "k i l l <pid>" . And the second time through, it passed on the command - weird.]

  • Alan
    Alan Member ✭✭✭

    Thanks Ted:

    Still not working.

    Checked for multiple instances. None.

    Tried again with "-radio 192.168.50.80" >>....."no such file......" (now I see how to correctly enter config parameters)

    Tried again with default discovery >> ".....address in use....."

    Tried rebooting the Raspberry Pi. Did not fix the problem

    Tried rebooting the Flex Server (remote on/off). Did not fix the problem.

    Tried xDAX. Worked just fine.

    Tried DAX. Worked just fine.

    Checked for the VITA49 UDP broadcast on port 4992. Flex Server is sending the packets

    Was running multiplex. Removed a client. Now just the Maestro. Did not fix the problem.

    Help!

    Alan


  • Lou KI5FTY
    Lou KI5FTY Member ✭✭

    sudo netstat -nap|grep 4992

    this will tell us what program is using port 4992

  • Alan
    Alan Member ✭✭✭

    Lou. Thanks. Here is the result:

    192.168.50.171 is the Raspberry Pi running nDAX. I do not recognize the :41802 port??

    Alan



  • Ted  VE3TRQ
    Ted VE3TRQ Member ✭✭✭
    edited November 2020

    From your last attempt, with the radio specified, it looks like you are missing a pulseaudio component. I have not seen that, but perhaps you should review your audio software install on the Pi. Google “Install pulseaudio on RaspberryPi” and you may get some help. Or some kind soul with more time here on the Community can give you some guidance.

    i am unable to give specific advice because I refuse to run v3 software with multiflex - I want my profiles and tuner to work.

  • Alan
    Alan Member ✭✭✭

    Ted

    Thanks.

    But, that would not explain the failure for nDAX to see see and connect to the Flex Server??

    Back to your suggestion, I did a search "pulseaudio" on my Raspberry Pi "Synaptic Package Manager" and found a lot of hits. Can anyone tell me the specific pulse audio package I would need to install?

    Alan

  • Lou KI5FTY
    Lou KI5FTY Member ✭✭

    The second line is the one I am concerned with. so it looks like you have a dotnet application listening on port 4992. What software do you have running on the pi?

    Try rebooting the pi and run the netstat command again. We really need to track down what program is listening on 4992. Did you setup .Net on the pi for any programs?

  • Alan
    Alan Member ✭✭✭
    edited November 2020

    Lou

    I am running ".NET Core 3.1" for FRStack

    So.... I shut down FRStack, and re-ran the nDAX commands:

    • the port 4992 quarry now does not show dotnet
    • the nDAX with default "discover" command returns it cannot find a ????plse???file...
    • the nDAX with "-radio 192.168.50.80" command returns it cannot a ????pulse??? file..

    Looks like FRStack is a conflict. FRStack does listen to port 4992. Does that "tie up" the port?

    This looks like progress. Perhaps Ted was correct, I need to load a "pulseaudio" dependency??

    Which one?


    Alan

  • Lou KI5FTY
    Lou KI5FTY Member ✭✭

    yes it looks like there is a conflict with frstack, not sure how to get around that one....

    to install pulse:

    sudo apt-get install pulseaudio

  • Alan
    Alan Member ✭✭✭

    Lou

    So.....to further nDAX install. With FRstack shutdown.

    I installed PulseAudio:

    I re-ran nDAX.

    Notice nDAX, it is looking for a file "user/1000/pulse/native". But....the "user" director does not exist on a Raspberry Pi???? Ummm.

    Now, what do I do?

    Alan



  • Alan
    Alan Member ✭✭✭

    Lou

    I installed the Pulse Audio package you directed me to:

    sudo apt-get install pulseaudio

    nDAX is still looking for the "user" directory on a Pi?? How do we tell nDAX the correct path??

    Alan


  • Lou KI5FTY
    Lou KI5FTY Member ✭✭

    if you did not restart the pi after installing try running:

    sudo /etc/init.d/pulseaudio restart
    


  • Alan
    Alan Member ✭✭✭

    Lou - Progress!

    Re-started Pulse Audio.

    New problem. nDAX is now looking for "module-pipe-source"??

    Alan


  • Lou KI5FTY
    Lou KI5FTY Member ✭✭

    1st not sure if this will help but you will need it so lets try it first:

    sudo apt-get install pulseaudio-utils
    

    restart pulse again:

    sudo /etc/init.d/pulseaudio restart
    

    then rerun nDax

  • Alan
    Alan Member ✭✭✭

    Lou - Progress

    After installing the utilities, nDAX said it was waiting for a station name. I entered "Maestro". nDAX appears to be waiting, or does this mean nDAX is running and bound to Flex Client "Maestro"? In the end, there is no audio into WSJT-X....see below.

    So.... I took a look at WSJT-X. I now see the DAX audio devices in the pulldown.

    However, it does not look there is any Audio into WSjT-X:


  • Ted  VE3TRQ
    Ted VE3TRQ Member ✭✭✭

    Alan, you have specified a station (Flex v3 artefact for the instance of the radio you are talking to), as "station_name" - you should probably replace that in the nDax invocation with the actual name. You have been using "Maestro" earlier.

  • Lou KI5FTY
    Lou KI5FTY Member ✭✭
    -station Maestro
    


  • Alan
    Alan Member ✭✭✭

    Yaaaaaaa! Success!

    Now on to nCAT. Do you have any suggestions? I guess I will follow the same path as I did for nDAX.

    It was not exactly as "around" first said, "No installation required, and there are instructions in the README. For the most part, just download and run."

    Was me installing on a Raspberry Pi the reason extra steps were necessary?

    Alan


  • Lou KI5FTY
    Lou KI5FTY Member ✭✭

    it assumes you are using pulse audio, equivalent to windows audio system - just ant work without it. Most linux's have it installed by default, not rPi

  • Lou KI5FTY
    Lou KI5FTY Member ✭✭

    Good luck with nCAT - there should be no additional dependencies needed

  • Chris WX7V
    Chris WX7V Member ✭✭
    @arodland I've been running the new vesion of nDAX and agree this is a significant improvement. Very stable, and the linux audio configuration is much cleaner now and easier to manage!

    Any plans (or progress) on enhancing nCAT - especially to operate in split mode? I've tried running two version of nCAT as a work around, but WSJTS/HAMLIB configuration only supports one port from in the radio configuration. Not sure how to work around that.

    Thank you - Happy Holidays!
  • arodland
    arodland Member ✭✭

    @cdub89_WX7V split isn't too hard from a technical point of view, it's figuring out how it should work in terms of user interface / configuration that's tricky. I'd be happy to hear about how people would like to use it, so I can come up with the right design.

    For wsjt-x, setting split to "none" works just fine — the Flex has an absolutely flat TX passband in DIGU mode so there's no need for it to adjust the TX freq. Setting it to "fake it" works equally well, since the Flex can retune instantly without waiting for a VFO to settle :)

  • Chris WX7V
    Chris WX7V Member ✭✭
    For WSJT using "fake it" has been working fine- but i figured RIG control would work better. Thanks for confirming!
  • Steve KD2OM
    Steve KD2OM Member ✭✭

    I am having trouble getting nDAX to run in a linux machine after following the steps detailed here. One comment i see at the top of this page said the station_name is the flex name for your ssdr instance running on some machine. Does that mean that the only way for this to work is to have SSDR running on a windows machine at the same time as nDAX running on a linux machine?


    73

    Steve KD2OM

  • Steve KD2OM
    Steve KD2OM Member ✭✭

    This is what the tail of the syslog shows.

    Jan 31 12:14:58 Plexserver pulseaudio[5632]: [pulseaudio] source.c: Default and alternate sample rates are the same.

    Jan 31 12:14:58 Plexserver pulseaudio[5632]: [pulseaudio] module-pipe-sink.c: Failed to parse module arguments.

    Jan 31 12:14:58 Plexserver pulseaudio[5632]: [pulseaudio] module.c: Failed to load module "module-pipe-sink" (argument: "sink_name="flex.sliceA.tx" file="/tmp/nDAX-flex.sliceA.tx.pipe" rate="48000" format="float32be" channels="1" use_system_clock_for_timing="yes" sink_properties="device.icon_name=radio device.description='Flex TX'""): initialization failed.

  • Ted  VE3TRQ
    Ted VE3TRQ Member ✭✭✭

    Are you running v3 SSDR on the radio? As I recall, it is the v3 “session name”, or whatever they all it that is required for nDax / nCat. If you are running an older SSDR, I suppose it won’t work (and the reason as a Linux user I am not using nCat / nDax - I refuse to move to v3 at this time).

  • 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

    Steve:

    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?

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.