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 refer to the product documentation or 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

1235

Comments

  • Alan
    Alan Member ✭✭✭✭

    I put this together for my notes.

    Alan. WA9WUD

    =======================

    GitHub. https://github.com/kc2g-flex-tools

    **Make a new directory to hold nCAT and xCAT. I named mine “Flex” in the “Home” directory:**

    >>> mkdir /home/pi/Flex

    **Change to the new directory:**

    >>> cd /home/pi/Flex

    **Download nDAX:**

    AMD 32 byte >>>. wget https://github.com/kc2g-flex-tools/nDAX/releases/download/v0.1-20210714.0/nDAX-linux-arm

    AMD 64 byte >>> wget https://github.com/kc2g-flex-tools/nDAX/releases/download/v0.1-20210714.0/nDAX-linux-amd64

    **Download nCAT:**

    AMD32 byte>>> wget https://github.com/kc2g-flex-tools/nCAT/releases/download/v0.0-20210420.0/nCAT-linux-arm

    AMD64 byte>>> wget https://github.com/kc2g-flex-tools/nCAT/releases/download/v0.0-20210420.0/nCAT-linux-amd64

    **Rename Files:**

    >>> mv nCAT-linux-arm nCAT

    >>> mv nDAX-linux-arm nDAX

    **Make Executable:**

    >>> chmod +x nDAX

    >>> chmod +x nCAT

    **Test nDAX From The Terminal, enter Flex IP address and Client Name as shown:**

    >>> ./nDAX -station >Client Name< -slice A -daxch 1 -source flex.sliceA.rx -sink flex.sliceA.tx -radio >Flex IP Address<

    **>>>>>>Note: Open a new terminal session<<<<<**

    **Test nCAT From The Terminal, enter Flex IP address and Client Name as shown:**

    >>> ./nCAT -radio >Flex IP Address< -station >Client Name<

    **>>>> Note: Close terminal sessions to **** nDAX and nCAT**

  • arodland
    arodland Member ✭✭

    @PaulB there's no need to install anything. Download and run from anywhere.

  • PaulB
    PaulB Member ✭✭

    Thanks...I tried that... must be doing something wrong.

    pi@raspberrypi:~/Downloads $ ls

     fldigi-4.1.18             fldigi-4.1.18.tar.gz  IC-7300.xml

    'fldigi-4.1.18(1).tar.gz'  fldigi-4.1.19.tar.gz  nCAT-linux-arm

    pi@raspberrypi:~/Downloads $ ./nCAT -Linux-arm -station N7JDI

    bash: ./nCAT: No such file or directory

  • arodland
    arodland Member ✭✭

    "./nCAT -Linux-arm" is not the same thing as "./nCAT-linux-arm".

  • PaulB
    PaulB Member ✭✭
    edited April 2022

    Ahh...I see thx

  • PaulB
    PaulB Member ✭✭

    9:40AM INF Waiting for station station=N7JDI

    9:40AM INF Found client client_id=0x59152DB3 uuid=7FE86A15-A08F-4B8A-A531-66B11E91526E

    9:40AM INF Looking for slice slice_id=A

    9:40AM INF Found slice slice_idx=0

    So what happens next?

  • PaulB
    PaulB Member ✭✭

    Now that it runs (thank you) what is done at this point? I guess I need some guidance on how this is actually implemented in Linux and other programs.

  • PaulB
    PaulB Member ✭✭

    What a great addition, thank you. Got it running finally on nDAX. I do have an nCAT suggestion, however.

    Currently nCAT serves up hamlib on an IP, which is great for wsjtx, js8call, etc. But for FLDIGI, that won't work unfortunately because the hamlib option is looking for a tty. Is there a way to request features, such as adding a tty interface in addition to the ip interface?

  • arodland
    arodland Member ✭✭
    edited April 2022

    @PaulB emulating a tty is more difficult than it sounds, but it's not necessary. fldigi works 100% with IP (as does any decent hamlib app). Just select "Hamlib NET rigctl" for rig and type "localhost" (or whatever IP address) as "device" in the config dialog, ignore all of the serial port options, and make sure "PTT via hamlib command" is selected.

  • arodland
    arodland Member ✭✭

    I do have something in the works that emulates a serial port with a Kenwood TS-2000 (much as Flex's own CAT software does), mostly to support Windows apps running under wine, because most of those don't know about hamlib. But it's not fully baked yet.

  • PaulB
    PaulB Member ✭✭

    Actually, disregard my last. I had the frequency "Locked" in SmartSDR while trying to solve the problem of JS8 removing digital mode when transmitting.

  • PaulB
    PaulB Member ✭✭

    Since you are monitoring this post, I'll post my next question here...


    So I'm running nDAX on a raspberri pi. Sir, you are a godsend for creating..thank you.

    I am having an issue however. Randomly nDAX quits in terminal and says "killed". Then I restart it and it has an error, then starts working again. I can't reproduce it, but is usually after an hour or so of it running. Is it an idle time out or something possibly?

     ./nDAX-linux-arm -station Flex -slice A -daxch 1 -source flex.sliceA.rx -sink flex.sliceA.tx

    1:08PM INF Waiting for station station=Flex

    1:08PM INF Found Client id=0x5C7BB1FD uuid=7FE86A15-A08F-4B8A-A531-66B11E91526E

    1:08PM INF Looking for slice slice_id=A

    1:08PM INF Found slice slice_idx=0

    1:08PM INF Enabled RX DAX stream stream_id=4000009

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

    Killed

    pi@raspberrypi:~ $ ./nDAX-linux-arm -station Flex -slice A -daxch 1 -source flex.sliceA.rx -sink flex.sliceA.tx

    11:03PM WRN source flex.sliceA.rx exists but was created by an nDAX process that no longer appears to be running. Will try to unload... module_index=27 pid=1041

    11:03PM WRN sink flex.sliceA.tx exists but was created by an nDAX process that no longer appears to be running. Will try to unload... module_index=28 pid=1041

    11:03PM INF Waiting for station station=Flex

    11:03PM INF Found Client id=0x5C7BB1FD uuid=7FE86A15-A08F-4B8A-A531-66B11E91526E

    11:03PM INF Looking for slice slice_id=A

    11:03PM INF Found slice slice_idx=0

    11:03PM INF Enabled RX DAX stream stream_id=4000009

    11:03PM INF Enabled TX DAX stream stream_id=84000000

    Killed

  • PaulB
    PaulB Member ✭✭

    Thank you sir. I was not aware you could change the "device" field to localhost. I have done that.

    When I connect, it pulls the frequency from the radio (good) but then when I try to change a frequency within fldigi, I get the following in the nCAT terminal window....fldigi and nCAT are running on the same machine on the same network as the flex. Thx in advance.

    pi@raspberrypi:~ $ ./nCAT-linux-arm -station FLEX

    8:36AM INF Waiting for station station=FLEX

    8:36AM INF Found client client_id=0x5C7BB1FD uuid=7FE86A15-A08F-4B8A-A531-66B11E91526E

    8:36AM INF Looking for slice slice_id=A

    8:36AM INF Found slice slice_idx=0

    8:38AM WRN Handler returned error error="slice tune 50000068" cmd=["F","8110000.000000"]

    8:38AM WRN Handler returned error error="slice tune 50000068" cmd=["F","8110000.000000"]

    8:38AM WRN Handler returned error error="slice tune 50000068" cmd=["F","8110000.000000"]

    8:38AM WRN Handler returned error error="slice tune 50000068" cmd=["F","8110000.000000"]

    8:38AM WRN Handler returned error error="slice tune 50000068" cmd=["F","8110000.000000"]

    8:38AM WRN Handler returned error error="slice tune 50000068" cmd=["F","8110000.000000"]

    8:38AM WRN Handler returned error error="slice tune 50000068" cmd=["F","8110000.000000"]

    8:38AM WRN Handler returned error error="slice tune 50000068" cmd=["F","8110000.000000"]

    8:38AM WRN Handler returned error error="slice tune 50000068" cmd=["F","8110000.000000"]

    8:38AM WRN Handler returned error error="slice tune 50000068" cmd=["F","8110000.000000"]


  • arodland
    arodland Member ✭✭

    A few notable updates today.

    • nDAX now supports the DAX "reduced bandwidth" mode, and enables it by default. This reduces bandwidth usage in both directions by approximately 70%, with no downside unless you are doing very strange things. The reduced bandwidth mode is the only mode that's used by the Windows DAX software.
    • nCAT now has experimental support for the metering protocol, allowing S-meter, output power, SWR, ALC, voltage, and temperature to be sent to hamlib clients that support it (this includes JTDX if you turn on the "S meter" and "Output power" options in the radio settings tab). Metering is disabled by default, for now, but I encourage anyone who's interested to try it out by adding "-metering" to their nCAT command line.
    • nSPOT, an app for sending DX Cluster spots to the Flex, is now good enough that people besides me might actually want to use it. Spot handling is improved, the ability to send commands to the cluster server was added, and CI builds are now enabled. There are definitely still bugs, and there's no documentation, but feel free to give it a try.

    Downloads are available as usual from

    https://github.com/kc2g-flex-tools/nCAT/releases, https://github.com/kc2g-flex-tools/nDAX/releases, and https://github.com/kc2g-flex-tools/nSPOT/releases.

  • PaulB
    PaulB Member ✭✭

    Outstanding Sir! Thank your for your continued development!

  • Jim_K0QEI
    Jim_K0QEI Member ✭✭
    anyone tried this with the newest smart sdr rig software? i dont want things to break so im asking before i break things
  • Jim_K0QEI
    Jim_K0QEI Member ✭✭
    > @Jim_K0QEI said:
    > anyone tried this with the newest smart sdr rig software? i dont want things to break so im asking before i break things

    i upgraded to the latest firmware on the radio and the latest nCAT and nDax programs, while using wsjt-x i am now getting DT of over 2. it appears to be somehting with the network connections between the radio and the computer since my 991 does not have this issue, pre upgraded firmware i did not have this problem. not sure if this is a radio issue of upgraded nDAX issue. any help with be appreciated.
  • Jim_K0QEI
    Jim_K0QEI Member ✭✭
    here are the pings, seems to be something with the nDAX not my internal network.

    PING 192.168.200.101 (192.168.200.101) 56(84) bytes of data.
    64 bytes from 192.168.200.101: icmp_seq=1 ttl=64 time=0.102 ms
    64 bytes from 192.168.200.101: icmp_seq=2 ttl=64 time=0.139 ms
    64 bytes from 192.168.200.101: icmp_seq=3 ttl=64 time=0.136 ms
    64 bytes from 192.168.200.101: icmp_seq=4 ttl=64 time=0.133 ms
    64 bytes from 192.168.200.101: icmp_seq=5 ttl=64 time=0.109 ms
    ^C
    --- 192.168.200.101 ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4103ms
    rtt min/avg/max/mdev = 0.102/0.123/0.139/0.015 ms
  • arodland
    arodland Member ✭✭

    Yes, I'm always testing with the latest radio firmware, usually before it comes out, or within a day or two of release at the latest. There are no 3.4-specific issues in nCAT or nDAX.

    As for your time offset issue, nothing has changed that I would expect to cause that, and I haven't heard of any problems from anyone else (including me — I use it regularly). Previous versions are always available from the GitHub releases page, and you can always downgrade your radio, so debugging should be straightforward. You can also try adding the "-high-bw" flag to nDAX and see if that makes any difference.

  • Jim_K0QEI
    Jim_K0QEI Member ✭✭
    I downgraded to 3.3.33 for the radio software, the newest nCAT, and downgraded to the nDax you created for 3.3. i am haivng an odd problem now were the audio scope is degrading over time, it starts out very crisp as it shoud and then becomes almost blurry. i had the same problem with your newest nDAX. I was able to half my DT by using the older version of nDAX. Here is a link to a screen shot as i cannot figure out how to add one here. https://imgur.com/a/URlR3tW According to the flex at the time this was taken signals were in the same quantity and amplitude.
  • Jim_K0QEI
    Jim_K0QEI Member ✭✭

    after a week of experimenting, it appears my waterfall is getting washed out on wsjt only after i transmit, and takes a 15 minutes to recover

  • Jim_K0QEI
    Jim_K0QEI Member ✭✭

    Problems are resolved, i reimaged my computer and went back one OS revision, 22.04 was giving me problems, im stable again on 20.04

  • arodland
    arodland Member ✭✭

    @Jim_K0QEI interesting. I'm running Ubuntu 22.10 here, and was running 22.04 before that, without problems, so all I can say is "probably something weird on your computer". There isn't anything in nDAX that should ever cause an issue like that.

  • arodland
    arodland Member ✭✭

    Just a note that while nDAX had some issues with older versions of pipewire (a pulseaudio replacement), pipewire version 0.3.65 (released 2023-01-26) and newer are 100% compatible with nDAX. This means that Ubuntu 23.04 (lunar) and Arch latest will work well.

    As of now, Steam Deck is still on pipewire 0.3.59, which has issues with nDAX, but it will probably update to 0.3.70 the next time Valve releases an OS upgrade.

    For those still using PulseAudio, everything is still fine, and everything will keep being fine.

  • arodland
    arodland Member ✭✭

    It turns out that my last announcement was a bit premature. As of today, nDAX still has some issues with pipewire, which may show up as very high receive latency, or as receive audio that becomes corrupted after switching from RX to TX and back to RX.

    While I work on resolving these issues, my recommendation is *use PulseAudio if possible*. But if PipeWire is unavoidable, try this workaround:

    Before starting nDAX, open the "pavucontrol" (Volume Control) app to the "Input Devices" tab. Leave it open in the background for as long as you're using nDAX. Why does that make any difference? pavucontrol has a level meter for every device, which means it always has the device open for recording, which changes the way that buffering happens internally.

    I'll be back with more info and possibly an nDAX update once we get to the bottom of the issue.

  • KM6MZM
    KM6MZM Member, Unconfirmed ✭✭
    Wondering If I can request a feature here, any chance of a single client merged to supply nDAX and nCAT in one executable?
  • arodland
    arodland Member ✭✭

    It might happen someday. In particular, I've been thinking about writing something that would replace multiple instances of nDAX and nCAT for people who like to run several slices, with automatic coordination between them. That would work just as well for the people who only want one. But the idea isn't fully-baked yet, so it's not going to happen too soon.

  • k9bdh
    k9bdh Member ✭✭

    what port does ham librun on trying to get Ncat to work with my ham clock so i can click on dx station and tune my flex.

  • Jim_K0QEI
    Jim_K0QEI Member ✭✭
    edited April 21

    I am using your software on Ubuntu 22 and when i transmit i end up having bad decodes after. i was wondering if you had any ideas? it ends up being washed out between transmit cycles.

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.