TS2000 CAT - Let's try to fix it

151 views
Skip to first unread message

Rocco Labella IK8XLD

unread,
Dec 31, 2025, 10:25:40 AM (11 days ago) 12/31/25
to SkyRoof
Hi Alex, thank you for the fantastic Skyroof.

Unfortunately, the CAT control isn't working perfectly with the TS2000.

 I noticed that the AI0 command has already been fixed.

 Based on my experience with the TS-2000.json file, I've noticed another error regarding the SAT MODE command (SAxxxxxxx).

The first hexadecimal digit is incorrect: it is currently listed as 52, but it should be 53. For example, the sequence 52 41 xx xx  should actually be 53 41 xx.

I don't understand also what the client is requesting with the 'a' command, because when it occurs, the log shows the following:

C:\Users\rocco\Desktop\SkyCat_1.6>skycatd -m 2014 -r COM1 -s 57600 -vvv -f
skycatd started.
Log level: Verbose
Press Ctrl-C to exit.

Log file created at: C:\Users\rocco\Desktop\SkyCat_1.6\Logs\skycatd_2025-12-31_154536.log

15:45:36.730 [INF] Starting CAT server: skycatd v.1.6.0.0.
15:45:36.984 [INF] Radio model: 'TS-2000' (2014)
15:45:36.987 [INF] Opening serial port COM1 at 57600 Baud...
15:45:37.295 [INF] Serial port opened.
15:45:37.295 [INF] Starting TCP server on port 4532...
15:45:37.301 [INF] TCP server started.
15:45:44.574 [INF] Client #1 connected: 127.0.0.1:57907 (1 connected clients)
15:45:44.575 [DBG] Received from client #1: 'a'
15:45:44.594 [DBG]   Replying to client #1: '{"model":"TS-2000","cross_band_split":false,"simplex":{"when_receiving":["read_rx_frequency","read_rx_mode","read_ptt","write_rx_frequency","write_rx_mode","write_ptt_off","write_ptt_on"],"when_transmitting":["read_tx_frequency","read_tx_mode","read_ptt","write_tx_frequency","write_tx_mode","write_ptt_off","write_ptt_on"],"when_setting_up":["setup","read_rx_frequency","read_rx_mode","read_ptt","write_rx_frequency","write_rx_mode","write_ptt_off","write_ptt_on"]},"split":{"when_receiving":["read_rx_frequency","read_tx_frequency","read_rx_mode","read_ptt","write_rx_frequency","write_tx_frequency","write_rx_mode","write_ptt_off","write_ptt_on"],"when_transmitting":["read_rx_frequency","read_tx_frequency","read_tx_mode","read_ptt","write_rx_frequency","write_tx_frequency","write_ptt_off","write_ptt_on"],"when_setting_up":["setup","read_rx_frequency","read_tx_frequency","read_rx_mode","read_ptt","write_rx_frequency","write_tx_frequency","write_rx_mode","write_tx_mode","write_ptt_off","write_ptt_on"]},"duplex":{"when_receiving":["read_rx_frequency","read_tx_frequency","read_rx_mode","read_ptt","write_rx_frequency","write_tx_frequency","write_rx_mode","write_tx_mode","write_ptt_off","write_ptt_on"],"when_transmitting":["read_rx_frequency","read_tx_frequency","read_tx_mode","read_ptt","write_rx_frequency","write_tx_frequency","write_rx_mode","write_tx_mode","write_ptt_off","write_ptt_on"],"when_setting_up":["setup","read_rx_frequency","read_tx_frequency","read_rx_mode","read_ptt","write_rx_frequency","write_tx_frequency","write_rx_mode","write_tx_mode","write_ptt_off","write_ptt_on"]}}'



 SIMPLEX MODE works fine, but there are still other errors when operating in DUPLEX mode

I hope this helps you fix the issue!"

73 Rocco IK8XLD

Alex VE3NEA

unread,
Dec 31, 2025, 11:47:43 AM (11 days ago) 12/31/25
to SkyRoof
Hi  Rocco,

Thank you for testing the ts-2000 file! I have fixed the error in the SA command, please re-download the json. Also, feel free to make changes to the file yourself, for faster change/test turn around.

The "a" command asks SkyCAT to return the capabilities of the radio so that the calling application knows what commands are safe to use.

For further debugging, please send me the full log file that SkyCAT generates when the -f option is included on the command line.


Rocco Labella IK8XLD

unread,
Dec 31, 2025, 5:17:43 PM (11 days ago) 12/31/25
to SkyRoof
Hi Alex,
this is the best result I can get by modifying the TS-2000.json file. Everything works correctly until a satellite with inverted bands relative to the previous one is selected. If the previous satellite was V/U and you switch to one that is U/V, the frequencies are not updated. Additionally, I noticed that there is no implementation for handling sub-tones."

73 Rocco IK8XLD

Logs.rar
TS-2000.json

Alex VE3NEA

unread,
Jan 1, 2026, 10:20:57 AM (10 days ago) Jan 1
to SkyRoof
Thank you for the logs, Rocco. Your logs show that the radio does not reply to any commands. It probably receives them, an executes them, but never sends any replies. This, in particular, means that all read commands fail, and the program does not know transceiver's rx and tx frequencies, or its tx/rx status. This is what you have to focus on first. Once SkyCAT starts receiving the replies from the radio, we can work on the individual commands. The errors in the log look like this:

[ERR] Command failed: Received 0 bytes, expected 14 bytes.

 The most probable cause of that is incorrect COM port settings, either in the software or in radio's menu.

Rocco Labella IK8XLD

unread,
Jan 1, 2026, 2:47:18 PM (10 days ago) Jan 1
to SkyRoof

Hi Alex, in attached the log file named skycatd_V-U satellities.log, recorded with the radio's initial setup of MAIN on any VHF frequency and SUB on any UHF frequency. When using the program only with satellites having a VHF downlink (same band as the MAIN)—AO-91, JO-97, AO-7 Mode A, and AO-7 Mode B—everything worked correctly, except for the usual error caused by the READ PTT command.

            The second one file, named U-V satellities.log, starts from the same initial radio setup (MAIN VHF and SUB UHF). However, when selecting the RS-44 satellite and then ARISS (both having a UHF downlink), the radio fails to receive the correct                     satellite frequencies and remains stuck with the VHF MAIN and UHF SUB configuration. Of course with the usual READ PTT errors.
            This is the main issue that needs to be resolved.
            For READ PTT error, can you send to me a test version without the READ PTT client request?
            I'm available for a remote session if necessary.

            73 Rocco IK8XLD
skycatd_V-U satellities.log
skycatd_U-V satellities.log

Alex VE3NEA

unread,
Jan 1, 2026, 2:58:40 PM (10 days ago) Jan 1
to SkyRoof
I am sorry to say that your radio still does not send any replies back, to any commands. Not only Read PTT fails, but all other read commands fail as well. We cannot make any progress until this is fixed, please play with the menu settings in your Kenwood until this is resolved.

The U/V switching error is something we can solve, but let us make sure that the reads work first.

Alex VE3NEA

unread,
Jan 1, 2026, 3:14:03 PM (10 days ago) Jan 1
to SkyRoof

When I worked on the file for IC-9700, I also faced the problem of switching between the V/U and U/V satellites. The problem occurs because the radio does not allow setting the Main and Sub receivers to the same band. The solution is to use an alternative command ("alt_messages" in the file). If the Set Frequency command fails, SkyCAT then tries the alternative command which swaps Main and Sub first, then sets the frequency again. This command is highlighted with yellow here:

Rocco Labella IK8XLD

unread,
Jan 1, 2026, 4:33:54 PM (10 days ago) Jan 1
to SkyRoof
Thank you for your reply and the valuable advice. On the TS-2000 menu, there are no other serial parameters to configure besides the baud rate, which in my case is set to 57600, while Skycat is configured as follows skycatd -m 2014 -r COM1 -s 57600 -vvv -f (it work fine with omnirig). I will try to investigate other possible reasons for the communication failure. I hope to get Skycat working with the TS-2000 soon! :)  

 73 Rocco IK8XLD

Rocco Labella IK8XLD

unread,
Jan 3, 2026, 11:52:56 AM (8 days ago) Jan 3
to SkyRoof

Hi Alex,

I’ve tried changing all the Windows and radio settings for the serial port without success. However, I want to tell you what happened: right after closing SkyCat and SkyRoof, I opened Putty on the serial port where the TS-2000 is connected. As soon as Putty launched, the radio's responses to the previous commands requested by SkyRoof immediately appeared in the terminal. This leads me to believe there is a flow control mismatch. Could adding an option for different flow control settings be a future feature for SkyCat? I should also add that when I send commands directly via the Putty terminal, the radio responds perfectly. What do you think aboute?

P.S. The TS-2000 manual states: 'The required control is achieved by using the RTS and CTS lines 
Tnx 
73  Rocco IK8XLD

Alex VE3NEA

unread,
Jan 4, 2026, 9:59:12 AM (7 days ago) Jan 4
to SkyRoof
Hi  Rocco,

I was afraid it was flow control. TS-2000 does not have menu options to disable it, so we need to use another solution. This problem is easy to fix in the hardware, all you have to do is modify your CAT cable, disconnect some pins from the wires on the radio side and connect them together: RTS to CTS, DTR to DSR. 

A pure software solution is also possible, but I am really hoping that this can be avoided. The problem is that in many setups the same COM port is used for both CAT and PTT. Setting the RTS or DTR line to High on such port switches the radio to the transmit mode. You cannot imagine how many emails I received from the OmniRig users who complained about this.

A complete software solution would require command line options to set DTR to High, Low, or use it for PTT, and the same three options for RTS. This should be available on the port used for CAT, or on another, user-specified port. In some setups the CD, CTS or DSR line is used to read PTT back to the software, so a complete solution whould also support this - again, on the same port or on a different one. This would make the command line too complex, I would probably have to switch from having the options on the command line to storing them in a config file - a big change I am not ready for, at least not yet.

Please see if you can modify your cable, or make a new one, with just three wires: TxD, RxD, and Ground, and other pins connected as described above.

Rocco Labella IK8XLD

unread,
Jan 4, 2026, 11:57:08 AM (7 days ago) Jan 4
to SkyRoof

Hi Alex,

 I’ve just modified the cable and everything seems to be working fine now. I can finally read the responses from the RADIO. I’m attaching the log for you.

However, I don't think everyone will be willing to modify their radio cable, so I hope that in the future you’ll be able to work on the Skyat options.

But for now, we are in a condition to improve the TS-2000.JSON file, so if you like, we can move on to solving the V/U - U/V issue ;)"

73 Rocco IK8XLD

Rocco Labella IK8XLD

unread,
Jan 4, 2026, 11:59:56 AM (7 days ago) Jan 4
to SkyRoof
skycatd_2026-01-04_174556.log

Alex VE3NEA

unread,
Jan 4, 2026, 1:14:16 PM (7 days ago) Jan 4
to SkyRoof
Thank you for trying the cable mod, this has unblocked us! According to your log, everything works now, except the band change. We have  a problem here. When the Set Frequency command succeeds, TS-2000 does not send a reply, but when it fails, the radio sends "?;" (3F, 3B). Because of this, the software does not know if it should wait for a reply or not. Moreover, the reply is sent with a delay, when the program has already issued the next command, so we cannot tell which command failed. CAT protocols of Ham transceivers are full of such design flaws. In many cases there is a work around, but in this case I am afraid the only work around is to change the band manually.

The cable modification that I described in the previous posting is not a hack, it a standard cable type often used with the COM ports. Here are some examples:


I hope I will eventually be able to address the flow control issue in the software, but for now the users should just use the right cable.

Rocco Labella IK8XLD

unread,
Jan 4, 2026, 1:45:46 PM (7 days ago) Jan 4
to SkyRoof

  In my case, I just connected RTS and CTS on the radio side, since the manual shows the other pins aren't used.  
Cattura.PNG

Rocco Labella IK8XLD

unread,
Jan 4, 2026, 3:31:49 PM (7 days ago) Jan 4
to SkyRoof
Other log file for you  after changing the CAT timers to 200 ms.
skycatd_2026-01-04_205754.log
skycatd_2026-01-04_205808.log
skycatd_2026-01-04_205847.log

Rocco Labella IK8XLD

unread,
Jan 4, 2026, 4:05:42 PM (7 days ago) Jan 4
to SkyRoof
 When the skyroof closes, could SAT mode on the radio be disabled?  
For TS2000 the command is SA0000000;.
TNX 

73 Rocco IK8XLD  

Alex VE3NEA

unread,
Jan 4, 2026, 6:19:49 PM (7 days ago) Jan 4
to SkyRoof
Is there anything specific that you want me to look at in your logs? At first glance it works the same way as before, all is good except the band change.

Rocco Labella IK8XLD

unread,
Jan 5, 2026, 3:12:53 AM (7 days ago) Jan 5
to SkyRoof
  Hi Alex, I got the impression that it worked better with the CAT delay at 200ms.  

Alex VE3NEA

unread,
Jan 5, 2026, 9:13:04 AM (6 days ago) Jan 5
to SkyRoof
I have not worked with TS-2000, but in my old TS-570  CAT was pretty slow. The slower the CAT, the longer delay should be selected in the settings, 200 ms is about right for a Kenwood. In IC-9700 CAT response is pretty fast, the delay for this radio should be set to 100 ms or less. The lower the delay, the smoother the software response to the dial knob, but if the delay is too short, the response becomes erratic.

Rocco Labella IK8XLD

unread,
Jan 6, 2026, 12:13:38 PM (5 days ago) Jan 6
to SkyRoof

Hi Alex, I’ve done some further testing to investigate potential solutions for the U/V <-> V/U band switching issue on the TS-2000. Here is what I’ve discovered:

If I switch from a satellite configured for U/V to one with an HF downlink (such as AO-7 Mode A) and then move to a V/U satellite, everything works correctly and the frequencies are properly received by the TS-2000.

I hope this helps you find a way to make the TS-2000 work smoothly with Skyroof. I’ve attached the log and I’m available for any further tests you might need.

73 Rocco IK8XLD
skycatd_2026-01-06_180716.log

Alex VE3NEA

unread,
Jan 9, 2026, 9:44:36 AM (2 days ago) Jan 9
to SkyRoof
You know Rocco, this may actually work. As you know, the problem is that the radio does not allow you to set Main and Sub receivers to the same band, but this is exactly what happens when we start switching from U/V to V/U satellites: as a first step, we switch the main to V, and the radio rejects the V/V combination. A work around would be to switch both receivers to some HF modes, say, 21/28, then setting any of them to U, or to V, would not cause an error. This cannot be a part of the set frequency command: when we update the frequencies to track the Doppler offset, we want to stay on the same band. What we can do is set the 21/28 bands as part of the setup command. Please try this with your radio and see if it works.

Rocco Labella IK8XLD

unread,
Jan 9, 2026, 1:31:14 PM (2 days ago) Jan 9
to SkyRoof

I just tested it and, as you just wrote, unfortunately the TS-2000 does not accept two HF/HF bands even with Satellite mode active. This combination is only possible in Split mode, but unfortunately, that doesn't solve the problem. :( 

To start working with Skyroof (while waiting for a better solution), could the following sequence be correct? First, write a fixed frequency (e.g., 28 MHz) to either of the two bands, and then send the intended satellite frequencies to the two VFOs

73 Rocco IK8XLD

Alex VE3NEA

unread,
Jan 9, 2026, 4:10:30 PM (2 days ago) Jan 9
to SkyRoof
yes, please try to write HF during the setup at least in the second receiver. Then the first write to the first receiver will work, as well as all subsequent write commands.

Rocco Labella IK8XLD

unread,
Jan 10, 2026, 5:50:12 PM (yesterday) Jan 10
to SkyRoof

Hi Alex, here is a ts2000.json file I modified to correctly write the uplink and downlink frequencies for all V/U and U/V combinations. It could still be improved, but it’s a starting point. The intermediate frequency written to the second receiver is 28 MHz.

I’m also working on another ts2000.json file that allows V/U - U/V switching without using an HF frequency, but sometimes you have to select the satellite twice time because the uplink and downlink frequencies are  inverted (could you help me solve this problem?)

73 Rocco IK8XLD

TS-2000.json
Reply all
Reply to author
Forward
0 new messages