Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FT-847 always defaults to main VFO #1286

Closed
kconkas opened this issue May 11, 2023 · 8 comments
Closed

FT-847 always defaults to main VFO #1286

kconkas opened this issue May 11, 2023 · 8 comments
Labels
bug fixed Issue has been fixed
Milestone

Comments

@kconkas
Copy link

kconkas commented May 11, 2023

I am trying to use FT-847 (serial number starting with 8K, hence not one of those early "problematic" CAT models) in satellite mode with gpredict. The issue I am experiencing is uplink and downlink frequencies periodically alternate in the main VFO, without any changes whatsoever to the sub VFO.

To troubleshoot this, I tried with rigctl only and it turns out that it returns only the main VFO irrespective of main or sub VFO requested. For example, for my rig in satellite mode with main (RX) VFO set to 435.900 MHz and sub VFO set to 145.900 MHz I get the following:

$ rigctl -vvvv -m 1001 -r /dev/ttyUSB0 -s 57600
rigctl.c(442) Startup: rigctl -vvvv -m 1001 -r /dev/ttyUSB0 -s 57600
rigctl Hamlib 4.6~git Mar 14 22:35:33Z 2023 SHA=24a4a0 64-bit
Report bugs to <hamlib-developer@lists.sourceforge.net>

yaesu: initrigs4_yaesu called
rig_init: rig_model=Yaesu FT-847
rig_init: rig has VFO_SUB
rig_init: rig has VFO_MAIN
ft847_init called 
 1:rig.c(827):rig_open entered
rig_settings_load_all: settings_file (/home/kconkas/.config/hamlib_settings): No such file or directory
rig_open: cwd=/home/kconkas/Downloads/mydde
rig_open: /home/kconkas/Downloads/mydde/hamlib_settings does not exist
serial_open: /dev/ttyUSB0
tcflush
  2:rig.c(7508):async_data_handler_start entered
  2:rig.c(7515):async_data_handler_start returning(0) 
rig.c(262):add_opened_rig returning2(0) 
rig_open: 0x1427c7c rs->comm_state==1?=1
ft847_open: called
ft847.c(1086):ft847_open returning2(0) 
rig_get_freq(2044) called vfo=VFOA
rig.c(2053) vfo=Main, curr_vfo=Main
rig_get_freq(2141): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Main 
read_block_generic called, direct=1
from_bcd_be called
  2:rig.c(2619):rig_passband_normal entered
  2:rig_passband_normal: return filter#0, width=2200
  2:rig.c(2640):rig_passband_normal returning(2200) 
rig_get_freq(2044) called vfo=VFOB
rig.c(2053) vfo=Sub, curr_vfo=Main
rig_get_freq(2141): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Sub 
read_block_generic called, direct=1
from_bcd_be called
  2:rig.c(2619):rig_passband_normal entered
  2:rig_passband_normal: return filter#0, width=2200
  2:rig.c(2640):rig_passband_normal returning(2200) 
  2:rig.c(5147):rig_get_split_vfo entered
ft847_get_split_vfo called
  2:rig.c(5212):rig_get_split_vfo returning(0) 
rig_open(1388): Current split=0, tx_vfo=Sub
  2:rig.c(2465):rig_get_mode entered
get_freq_and_mode: vfo =Main 
read_block_generic called, direct=1
from_bcd_be called
   3:rig.c(2619):rig_passband_normal entered
   3:rig_passband_normal: return filter#0, width=2200
   3:rig.c(2640):rig_passband_normal returning(2200) 
   3:cache.c(35):rig_set_cache_mode entered
   3:cache.c(118):rig_set_cache_mode returning(0) 
  2:rig.c(2598):rig_get_mode returning(0) 
 1:rig.c(1412):rig_open returning(0) 
Opened rig model 1001, 'FT-847'
Backend version: 20220525.0, Status: Stable

Rig command: f
 1:rigctl_parse.c(2115):rigctl_get_freq entered
rig_get_freq(2044) called vfo=currVFO
rig.c(2053) vfo=currVFO, curr_vfo=Main
rig_get_freq(2141): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Main 
read_block_generic called, direct=1
from_bcd_be called
  2:rig.c(2619):rig_passband_normal entered
  2:rig_passband_normal: return filter#0, width=2200
  2:rig.c(2640):rig_passband_normal returning(2200) 
Frequency: 435900000
 1:rigctl_parse.c(2141):rigctl_get_freq returning(0) 

Rig command: i
 1:rigctl_parse.c(2896):rigctl_get_split_freq entered
  2:rig.c(4267):rig_get_split_freq entered
vfo_fixup(1995): split=0, vfo==TX tx_vfo=TX
get_freq_and_mode: vfo =TX 
read_block_generic called, direct=1
from_bcd_be called
   3:rig.c(2619):rig_passband_normal entered
   3:rig_passband_normal: return filter#0, width=2200
   3:rig.c(2640):rig_passband_normal returning(2200) 
  2:rig.c(4293):rig_get_split_freq returning(0) 
TX Frequency: 435900000
 1:rigctl_parse.c(2912):rigctl_get_split_freq returning(0) 

The same also happens if I try it with --vfo option:

$ rigctl -vvvv --vfo -m 1001 -r /dev/ttyUSB0 -s 57600
rigctl.c(442) Startup: rigctl -vvvv --vfo -m 1001 -r /dev/ttyUSB0 -s 57600
rigctl Hamlib 4.6~git Mar 14 22:35:33Z 2023 SHA=24a4a0 64-bit
Report bugs to <hamlib-developer@lists.sourceforge.net>

yaesu: initrigs4_yaesu called
rig_init: rig_model=Yaesu FT-847
rig_init: rig has VFO_SUB
rig_init: rig has VFO_MAIN
ft847_init called 
 1:rig.c(827):rig_open entered
rig_settings_load_all: settings_file (/home/kconkas/.config/hamlib_settings): No such file or directory
rig_open: cwd=/home/kconkas/Downloads/mydde
rig_open: /home/kconkas/Downloads/mydde/hamlib_settings does not exist
serial_open: /dev/ttyUSB0
tcflush
  2:rig.c(7508):async_data_handler_start entered
  2:rig.c(7515):async_data_handler_start returning(0) 
rig.c(262):add_opened_rig returning2(0) 
rig_open: 0x19bec7c rs->comm_state==1?=1
ft847_open: called
ft847.c(1086):ft847_open returning2(0) 
rig_get_freq(2044) called vfo=VFOA
rig.c(2053) vfo=Main, curr_vfo=Main
rig_get_freq(2141): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Main 
read_block_generic called, direct=1
from_bcd_be called
  2:rig.c(2619):rig_passband_normal entered
  2:rig_passband_normal: return filter#0, width=2200
  2:rig.c(2640):rig_passband_normal returning(2200) 
rig_get_freq(2044) called vfo=VFOB
rig.c(2053) vfo=Sub, curr_vfo=Main
rig_get_freq(2141): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Sub 
read_block_generic called, direct=1
from_bcd_be called
  2:rig.c(2619):rig_passband_normal entered
  2:rig_passband_normal: return filter#0, width=2200
  2:rig.c(2640):rig_passband_normal returning(2200) 
  2:rig.c(5147):rig_get_split_vfo entered
ft847_get_split_vfo called
  2:rig.c(5212):rig_get_split_vfo returning(0) 
rig_open(1388): Current split=0, tx_vfo=Sub
  2:rig.c(2465):rig_get_mode entered
get_freq_and_mode: vfo =Main 
read_block_generic called, direct=1
from_bcd_be called
   3:rig.c(2619):rig_passband_normal entered
   3:rig_passband_normal: return filter#0, width=2200
   3:rig.c(2640):rig_passband_normal returning(2200) 
   3:cache.c(35):rig_set_cache_mode entered
   3:cache.c(118):rig_set_cache_mode returning(0) 
  2:rig.c(2598):rig_get_mode returning(0) 
 1:rig.c(1412):rig_open returning(0) 
Opened rig model 1001, 'FT-847'
Backend version: 20220525.0, Status: Stable

Rig command: f
VFO: Main
rig_parse_vfo called
 1:rigctl_parse.c(2115):rigctl_get_freq entered
rig_get_freq(2044) called vfo=Main
rig.c(2053) vfo=Main, curr_vfo=Main
rig_get_freq(2141): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Main 
read_block_generic called, direct=1
from_bcd_be called
  2:rig.c(2619):rig_passband_normal entered
  2:rig_passband_normal: return filter#0, width=2200
  2:rig.c(2640):rig_passband_normal returning(2200) 
Frequency: 435900000
 1:rigctl_parse.c(2141):rigctl_get_freq returning(0) 

Rig command: i
VFO: Sub
rig_parse_vfo called
 1:rigctl_parse.c(2896):rigctl_get_split_freq entered
  2:rig.c(4267):rig_get_split_freq entered
vfo_fixup(1995): split=0, vfo==TX tx_vfo=TX
get_freq_and_mode: vfo =TX 
read_block_generic called, direct=1
from_bcd_be called
   3:rig.c(2619):rig_passband_normal entered
   3:rig_passband_normal: return filter#0, width=2200
   3:rig.c(2640):rig_passband_normal returning(2200) 
  2:rig.c(4293):rig_get_split_freq returning(0) 
TX Frequency: 435900000
 1:rigctl_parse.c(2912):rigctl_get_split_freq returning(0) 

It seems to me like this is a hamlib issue because using MacDoppler (which comes with its own CAT implementation) on a MacOS box I can set both VFOs independently and have no issues with tracking satellites.

Has anyone got this working? If so, I'd appreciate any advice about what I'm doing wrong.

@kconkas
Copy link
Author

kconkas commented May 11, 2023

If this helps, dump_caps returns:

 rigctl -m 1001 -r /dev/ttyUSB0 -s 57600

Rig command: 1
Caps dump for model: 1001
Model name:	FT-847
Mfg name:	Yaesu
Backend version:	20220525.0
Backend copyright:	LGPL
Backend status:	Stable
Rig type:	Other Receiver Transmitter Transceiver 
PTT type:	Rig capable
DCD type:	Rig capable
Port type:	RS-232
Serial speed: 4800..57600 bauds, 8N2 
Write delay: 50mS, timeout 1000mS, 0 retry
Post Write delay: 50mS
Has targetable VFO: Y
Has async data support: N
Announce: 0x0
Max RIT: -0.0kHz/+0.0kHz
Max XIT: -0.0kHz/+0.0kHz
Max IF-SHIFT: -0.0kHz/+0.0kHz
Preamp: None
Attenuator: None
AGC levels: 9=NONE

CTCSS: 67.0 69.3 71.9 74.4 77.0 79.7 82.5 85.4 88.5 91.5 94.8 97.4 100.0 103.5 107.2 110.9 114.8 118.8 123.0 127.3 131.8 136.5 141.3 146.2 151.4 156.7 162.2 167.9 173.8 179.9 186.2 192.8 203.5 210.7 218.1 225.7 233.6 241.8 250.3 Hz, 39 tones
DCS: 23 25 26 31 32 36 43 47 51 53 54 65 71 72 73 74 114 115 116 122 125 131 132 134 143 145 152 155 156 162 165 172 174 205 212 223 225 226 243 244 245 246 251 252 255 261 263 265 266 271 274 306 311 315 325 331 332 343 346 351 356 364 365 371 411 412 413 423 431 432 445 446 452 454 455 462 464 465 466 503 506 516 523 526 532 546 565 606 612 624 627 631 632 654 662 664 703 712 723 731 732 734 743 754, 104 codes
Get functions: 
Set functions: TONE TSQL 
Extra functions:
Get level: RAWSTR(0..255/0) ALC(0..1/0.01) STRENGTH(0..60/0) 
Set level: BAND_SELECT(0..16/1) 
Extra levels:
Get parameters: 
Set parameters: 
Extra parameters:
Mode list: AM CW USB LSB FM CWR 
VFO list: Sub Main 
VFO Ops: 
Scan Ops: 
Number of banks:	0
Memory name desc size:	0
Memories: None
TX ranges #1 for ITU1:
	1810000 Hz - 2000000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	3500000 Hz - 3800000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	7000000 Hz - 7200000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	10100000 Hz - 10150000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	14000000 Hz - 14350000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	18068000 Hz - 18168000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	21000000 Hz - 21450000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	24890000 Hz - 24990000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	28000000 Hz - 29700000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	1810000 Hz - 2000000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	3500000 Hz - 3800000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	7000000 Hz - 7200000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	10100000 Hz - 10150000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	14000000 Hz - 14350000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	18068000 Hz - 18168000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	21000000 Hz - 21450000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	24890000 Hz - 24990000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	28000000 Hz - 29700000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	50000000 Hz - 54000000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	50000000 Hz - 54000000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	70000000 Hz - 70500000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 50 W
	70000000 Hz - 70500000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 12.5 W
	144000000 Hz - 146000000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 50 W
	144000000 Hz - 146000000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 12.5 W
	430000000 Hz - 440000000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 50 W
	430000000 Hz - 440000000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 12.5 W
RX ranges #1 for EUR:
	100000 Hz - 30000000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM CWR 
		Antenna list: ANT1 
	36000000 Hz - 76000000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM CWR 
		Antenna list: ANT1 
	108000000 Hz - 174000000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM CWR 
		Antenna list: ANT1 
	420000000 Hz - 512000000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM CWR 
		Antenna list: ANT1 
TX ranges #2 for USA:
	1800000 Hz - 2000000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	3500000 Hz - 4000000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	7000000 Hz - 7300000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	10100000 Hz - 10150000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	14000000 Hz - 14350000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	18068000 Hz - 18168000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	21000000 Hz - 21450000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	24890000 Hz - 24990000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	28000000 Hz - 29700000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	1800000 Hz - 2000000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	3500000 Hz - 4000000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	7000000 Hz - 7300000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	10100000 Hz - 10150000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	14000000 Hz - 14350000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	18068000 Hz - 18168000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	21000000 Hz - 21450000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	24890000 Hz - 24990000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	28000000 Hz - 29700000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	50000000 Hz - 54000000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 5 W, High power: 100 W
	50000000 Hz - 54000000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 25 W
	144000000 Hz - 148000000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 50 W
	144000000 Hz - 148000000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 12.5 W
	430000000 Hz - 450000000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 50 W
	430000000 Hz - 450000000 Hz
		VFO list: Sub Main 
		Mode list: AM 
		Antenna list: ANT1 
		Low power: 1 W, High power: 12.5 W
RX ranges #2 for USA:
	100000 Hz - 30000000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM CWR 
		Antenna list: ANT1 
	36000000 Hz - 76000000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM CWR 
		Antenna list: ANT1 
	108000000 Hz - 174000000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM CWR 
		Antenna list: ANT1 
	420000000 Hz - 512000000 Hz
		VFO list: Sub Main 
		Mode list: AM CW USB LSB FM CWR 
		Antenna list: ANT1 
TX ranges #3 for TBD:
RX ranges #3 for TBD:
TX ranges #4 for TBD:
RX ranges #4 for TBD:
TX ranges #5 for TBD:
RX ranges #5 for TBD:
TX ranges #1 status for ITU1:	OK (0)
RX ranges #1 status for EUR:	OK (0)
TX ranges #2 status for USA:	OK (0)
RX ranges #2 status for USA:	OK (0)
TX ranges #3 status for TBD:	OK (0)
RX ranges #3 status for TBD:	OK (0)
TX ranges #4 status for TBD:	OK (0)
RX ranges #4 status for TBD:	OK (0)
TX ranges #5 status for TBD:	OK (0)
RX ranges #5 status for TBD:	OK (0)
Tuning steps:
	1.0 Hz:   	CW USB LSB CWR 
	10.0 Hz:   	CW USB LSB CWR 
	100.0 Hz:   	CW USB LSB CWR 
	10.0 Hz:   	AM FM 
	100.0 Hz:   	AM FM 
Tuning steps status:	OK (0)
Filters:
	2.2000 kHz:   	CW USB LSB CWR 
	500.0 Hz:   	CW CWR 
	9.0000 kHz:   	AM 
	2.2000 kHz:   	AM 
	15.0000 kHz:   	FM 
	9.0000 kHz:   	FM 
Bandwidths:
	AM	Normal: 9.0000 kHz,	Narrow: 2.2000 kHz,	Wide: 0.0 Hz
	CW	Normal: 2.2000 kHz,	Narrow: 500.0 Hz,	Wide: 0.0 Hz
	USB	Normal: 2.2000 kHz,	Narrow: 0.0 Hz,	Wide: 0.0 Hz
	LSB	Normal: 2.2000 kHz,	Narrow: 0.0 Hz,	Wide: 0.0 Hz
	FM	Normal: 15.0000 kHz,	Narrow: 9.0000 kHz,	Wide: 0.0 Hz
	CWR	Normal: 2.2000 kHz,	Narrow: 500.0 Hz,	Wide: 0.0 Hz
Spectrum scopes: None
Spectrum modes: 
Spectrum spans: 
Spectrum averaging modes: 
Spectrum attenuator: None
Has priv data:	N
Has Init:	Y
Has Cleanup:	Y
Has Open:	Y
Has Close:	Y
Can set Conf:	N
Can get Conf:	N
Can set Frequency:	Y
Can get Frequency:	Y
Can set Mode:	Y
Can get Mode:	Y
Can set VFO:	N
Can get VFO:	N
Can set PTT:	Y
Can get PTT:	Y
Can get DCD:	Y
Can set Repeater Duplex:	Y
Can get Repeater Duplex:	N
Can set Repeater Offset:	Y
Can get Repeater Offset:	N
Can set Split Freq:	Y
Can get Split Freq:	Y
Can set Split Mode:	Y
Can get Split Mode:	Y
Can set Split VFO:	Y
Can get Split VFO:	Y
Can set Tuning Step:	N
Can get Tuning Step:	N
Can set RIT:	N
Can get RIT:	N
Can set XIT:	N
Can get XIT:	N
Can set CTCSS:	Y
Can get CTCSS:	N
Can set DCS:	N
Can get DCS:	N
Can set CTCSS Squelch:	Y
Can get CTCSS Squelch:	N
Can set DCS Squelch:	Y
Can get DCS Squelch:	N
Can set Power Stat:	N
Can get Power Stat:	N
Can Reset:	N
Can get Ant:	N
Can set Ant:	N
Can set Transceive:	N
Can get Transceive:	N
Can set Func:	Y
Can get Func:	N
Can set Level:	N
Can get Level:	Y
Can set Param:	N
Can get Param:	N
Can send DTMF:	N
Can recv DTMF:	N
Can send Morse:	N
Can send Voice:	N
Can decode Events:	N
Can set Bank:	N
Can set Mem:	N
Can get Mem:	N
Can set Channel:	N
Can get Channel:	N
Can ctl Mem/VFO:	N
Can Scan:	N
Can get Info:	N
Can get power2mW:	N
Can get mW2power:	N

Overall backend warnings: 0   

@kconkas
Copy link
Author

kconkas commented May 11, 2023

And another update: it looks like this is working if I set the sub VFO frequency before trying to read it:

$ rigctl -vvvv -m 1001 -r /dev/ttyUSB0 -s 57600
rigctl.c(442) Startup: rigctl -vvvv -m 1001 -r /dev/ttyUSB0 -s 57600
rigctl Hamlib 4.6~git Mar 14 22:35:33Z 2023 SHA=24a4a0 64-bit
Report bugs to <hamlib-developer@lists.sourceforge.net>

yaesu: initrigs4_yaesu called
rig_init: rig_model=Yaesu FT-847
rig_init: rig has VFO_SUB
rig_init: rig has VFO_MAIN
ft847_init called 
 1:rig.c(827):rig_open entered
rig_settings_load_all: settings_file (/home/kconkas/.config/hamlib_settings): No such file or directory
rig_open: cwd=/home/kconkas/Downloads/mydde
rig_open: /home/kconkas/Downloads/mydde/hamlib_settings does not exist
serial_open: /dev/ttyUSB0
tcflush
  2:rig.c(7508):async_data_handler_start entered
  2:rig.c(7515):async_data_handler_start returning(0) 
rig.c(262):add_opened_rig returning2(0) 
rig_open: 0x1637c7c rs->comm_state==1?=1
ft847_open: called
ft847.c(1086):ft847_open returning2(0) 
rig_get_freq(2044) called vfo=VFOA
rig.c(2053) vfo=Main, curr_vfo=Main
rig_get_freq(2141): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Main 
read_block_generic called, direct=1
from_bcd_be called
  2:rig.c(2619):rig_passband_normal entered
  2:rig_passband_normal: return filter#0, width=2200
  2:rig.c(2640):rig_passband_normal returning(2200) 
rig_get_freq(2044) called vfo=VFOB
rig.c(2053) vfo=Sub, curr_vfo=Main
rig_get_freq(2141): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Sub 
read_block_generic called, direct=1
from_bcd_be called
  2:rig.c(2619):rig_passband_normal entered
  2:rig_passband_normal: return filter#0, width=2200
  2:rig.c(2640):rig_passband_normal returning(2200) 
  2:rig.c(5147):rig_get_split_vfo entered
ft847_get_split_vfo called
  2:rig.c(5212):rig_get_split_vfo returning(0) 
rig_open(1388): Current split=0, tx_vfo=Sub
  2:rig.c(2465):rig_get_mode entered
get_freq_and_mode: vfo =Main 
read_block_generic called, direct=1
from_bcd_be called
   3:rig.c(2619):rig_passband_normal entered
   3:rig_passband_normal: return filter#0, width=2200
   3:rig.c(2640):rig_passband_normal returning(2200) 
   3:cache.c(35):rig_set_cache_mode entered
   3:cache.c(118):rig_set_cache_mode returning(0) 
  2:rig.c(2598):rig_get_mode returning(0) 
 1:rig.c(1412):rig_open returning(0) 
Opened rig model 1001, 'FT-847'
Backend version: 20220525.0, Status: Stable

Rig command: i
 1:rigctl_parse.c(2896):rigctl_get_split_freq entered
  2:rig.c(4267):rig_get_split_freq entered
vfo_fixup(1995): split=0, vfo==TX tx_vfo=TX
get_freq_and_mode: vfo =TX 
read_block_generic called, direct=1
from_bcd_be called
   3:rig.c(2619):rig_passband_normal entered
   3:rig_passband_normal: return filter#0, width=2200
   3:rig.c(2640):rig_passband_normal returning(2200) 
  2:rig.c(4293):rig_get_split_freq returning(0) 
TX Frequency: 435900000
 1:rigctl_parse.c(2912):rigctl_get_split_freq returning(0) 

Rig command: I 145856000
 1:rigctl_parse.c(2881):rigctl_set_split_freq entered
rig_set_split_freq called vfo=TX, curr_vfo=Main, tx_freq=145856000
rig_get_freq(2044) called vfo=TX
vfo_fixup(1995): split=0, vfo==TX tx_vfo=TX
rig.c(2053) vfo=Main, curr_vfo=Main
rig_get_freq(2141): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Main 
read_block_generic called, direct=1
from_bcd_be called
  2:rig.c(2619):rig_passband_normal entered
  2:rig_passband_normal: return filter#0, width=2200
  2:rig.c(2640):rig_passband_normal returning(2200) 
  2:rig.c(4973):rig_set_split_vfo entered
rig_set_split_vfo: rx_vfo=VFOA, split=1, tx_vfo=VFOB, cache.split=0
rig_set_split_vfo: final rxvfo=Main, txvfo=Sub, split=1
ft847_set_split_vfo called
  2:rig.c(5064):rig_set_split_vfo returning(0) 
ft847: requested freq = 145856000 Hz, vfo=TX
to_bcd_be called
from_bcd_be called
from_bcd_be called
ft847_set_freq: requested freq after conversion = 145856000 Hz 
rig.c(4141):rig_set_split_freq returning2(0) 
 1:rigctl_parse.c(2885):rigctl_set_split_freq returning(0) 

Rig command: i
 1:rigctl_parse.c(2896):rigctl_get_split_freq entered
  2:rig.c(4267):rig_get_split_freq entered
vfo_fixup(1995): split=1, vfo==TX tx_vfo=Sub
get_freq_and_mode: vfo =Sub 
read_block_generic called, direct=1
from_bcd_be called
   3:rig.c(2619):rig_passband_normal entered
   3:rig_passband_normal: return filter#0, width=2200
   3:rig.c(2640):rig_passband_normal returning(2200) 
  2:rig.c(4314):rig_get_split_freq returning(0) 
TX Frequency: 145856000
 1:rigctl_parse.c(2912):rigctl_get_split_freq returning(0) 

@mdblack98
Copy link
Contributor

mdblack98 commented May 11, 2023 via email

mdblack98 added a commit that referenced this issue May 11, 2023
@mdblack98 mdblack98 added the bug label May 11, 2023
@mdblack98 mdblack98 added this to the 4.6 milestone May 11, 2023
@mdblack98 mdblack98 added the needs test Patches have been submitted but need testing to close issue label May 11, 2023
@kconkas
Copy link
Author

kconkas commented May 12, 2023

@mdblack98 thanks for looking into this. As requested, the output is:

$ rigctl -vvvvv -m 1001 -r /dev/ttyUSB0 -s 57600
rigctl.c(442) Startup: rigctl -vvvvv -m 1001 -r /dev/ttyUSB0 -s 57600
rigctl Hamlib 4.6~git Mar 14 22:35:33Z 2023 SHA=24a4a0 64-bit
Report bugs to <hamlib-developer@lists.sourceforge.net>

rig_check_rig_caps: p1=0x7fdb361be480, p2=0x7fdb361c4a00, rig_model=0x7fdb361be480, macro_name=0x7fdb361c4a00
yaesu: initrigs4_yaesu called
rig_init: rig_model=Yaesu FT-847
rig_init: rig has VFO_SUB
rig_init: rig has VFO_MAIN
ft847_init called 
 1:rig.c(827):rig_open entered
rig_settings_get_path: path=/home/kconkas/.config/hamlib_settings
rig_settings_load_all: settings_file (/home/kconkas/.config/hamlib_settings): No such file or directory
rig_open: cwd=/home/kconkas/Downloads
rig_open: /home/kconkas/Downloads/hamlib_settings does not exist
rig_open: async_data_enable=0, async_data_supported=0
serial_open: /dev/ttyUSB0
serial_setup: tcgetattr
serial_setup: cfmakeraw
serial_setup: cfsetispeed=57600,0x1001
serial_setup: cfsetospeed=57600,0x1001
serial_setup: data_bits=8
serial_setup: parity=0
serial_setup: Handshake=None
serial_setup: tcsetattr TCSANOW
read_string_generic called, rxmax=4095 direct=1, expected_len=1
tcflush
  2:rig.c(7508):async_data_handler_start entered
async_data_handler_start: async data support disabled since async_data_enabled=0
  2:rig.c(7515):async_data_handler_start returning(0) 
rig.c(262):add_opened_rig returning2(0) 
rig_open: 0x57bc7c rs->comm_state==1?=1
ft847_open: called
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 00                                      .....           
ft847.c(1086):ft847_open returning2(0) 
rig.c(1317) trace
rig_open: vfo_curr=currVFO, tx_vfo=TX
vfo_fixup:(from rig_open:1349) vfo=VFOA, vfo_curr=currVFO, split=0
rig_open: No set_vfo function rig so default vfo = Main
rig_get_freq(2044) called vfo=VFOA
vfo_fixup:(from rig_get_freq:2051) vfo=VFOA, vfo_curr=Main, split=0
rig.c(2053) vfo=Main, curr_vfo=Main
rig_get_freq: cache miss age=1000000ms, cached_vfo=Main, asked_vfo=Main, use_cached_freq=0
rig_get_freq(2141): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Main 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 03                                      .....           
read_block_generic called, direct=1
read_block_generic(): RX 5 bytes, direct=1
0000    43 55 81 07 01                                      CU...           
from_bcd_be called
  2:rig.c(2619):rig_passband_normal entered
  2:rig_passband_normal: return filter#0, width=2200
  2:rig.c(2640):rig_passband_normal returning(2200) 
 1:rig_get_freq: elapsed=302ms
rig_get_freq(2044) called vfo=VFOB
vfo_fixup:(from rig_get_freq:2051) vfo=VFOB, vfo_curr=Main, split=0
vfo_fixup: final vfo=Sub
rig.c(2053) vfo=Sub, curr_vfo=Main
rig_get_freq: cache miss age=1000000ms, cached_vfo=Sub, asked_vfo=Sub, use_cached_freq=0
rig_get_freq(2141): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Sub 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 03                                      .....           
read_block_generic called, direct=1
read_block_generic(): RX 5 bytes, direct=1
0000    43 55 81 07 01                                      CU...           
from_bcd_be called
  2:rig.c(2619):rig_passband_normal entered
  2:rig_passband_normal: return filter#0, width=2200
  2:rig.c(2640):rig_passband_normal returning(2200) 
 1:rig_get_freq: elapsed=379ms
  2:rig.c(5147):rig_get_split_vfo entered
rig_get_split_vfo: cache check age=1000000ms
rig_get_split_vfo: cache miss age=1000000ms
rig.c(5199) trace
ft847_get_split_vfo called
rig_get_split_vfo: cache.split=0
  2:rig_get_split_vfo: elapsed=0ms
  2:rig.c(5212):rig_get_split_vfo returning(0) 
rig_open(1388): Current split=0, tx_vfo=Sub
  2:rig.c(2465):rig_get_mode entered
vfo_fixup:(from rig_get_mode:2488) vfo=VFOA, vfo_curr=Main, split=0
rig_get_mode: Main cache check age=680ms
rig_get_mode: cache miss age mode=680ms, width=680ms
rig.c(2536) trace
get_freq_and_mode: vfo =Main 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 03                                      .....           
read_block_generic called, direct=1
read_block_generic(): RX 5 bytes, direct=1
0000    43 55 81 07 01                                      CU...           
from_bcd_be called
   3:rig.c(2619):rig_passband_normal entered
   3:rig_passband_normal: return filter#0, width=2200
   3:rig.c(2640):rig_passband_normal returning(2200) 
rig_get_mode: retcode after get_mode=0
rig_get_mode(2582): debug
   3:cache.c(35):rig_set_cache_mode entered
   3:cache.c(118):rig_set_cache_mode returning(0) 
  2:rig_get_mode: elapsed=302ms
  2:rig.c(2598):rig_get_mode returning(0) 
 1:rig.c(1412):rig_open returning(0) 
Opened rig model 1001, 'FT-847'
Backend version: 20220525.0, Status: Stable
rigctl_parse: called, interactive=1

Rig command: f
rigctl_parse: input_line: f
rigctl_parse: vfo_opt=0
 1:rigctl_parse.c(2115):rigctl_get_freq entered
rig_get_freq(2044) called vfo=currVFO
vfo_fixup:(from rig_get_freq:2051) vfo=currVFO, vfo_curr=Main, split=0
vfo_fixup: Leaving currVFO alone
rig.c(2053) vfo=currVFO, curr_vfo=Main
rig_get_freq: cache miss age=29637ms, cached_vfo=Main, asked_vfo=Main, use_cached_freq=0
rig_get_freq(2141): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Main 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 03                                      .....           
read_block_generic called, direct=1
read_block_generic(): RX 5 bytes, direct=1
0000    43 55 81 07 01                                      CU...           
from_bcd_be called
  2:rig.c(2619):rig_passband_normal entered
  2:rig_passband_normal: return filter#0, width=2200
  2:rig.c(2640):rig_passband_normal returning(2200) 
 1:rig_get_freq: elapsed=302ms
Frequency: 435581070
 1:rigctl_parse.c(2141):rigctl_get_freq returning(0) 
rigctl_parse: called, interactive=1

Rig command: i
rigctl_parse: input_line: i
rigctl_parse: vfo_opt=0
 1:rigctl_parse.c(2896):rigctl_get_split_freq entered
  2:rig.c(4267):rig_get_split_freq entered
vfo_fixup:(from rig_get_split_freq:4281) vfo=TX, vfo_curr=Main, split=0
vfo_fixup(1995): split=0, vfo==TX tx_vfo=TX
vfo_fixup: RIG_VFO_TX changed to Main, split=0, satmode=0
rig.c(4290) trace
get_freq_and_mode: vfo =TX 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 03                                      .....           
read_block_generic called, direct=1
read_block_generic(): RX 5 bytes, direct=1
0000    43 55 81 07 01                                      CU...           
from_bcd_be called
   3:rig.c(2619):rig_passband_normal entered
   3:rig_passband_normal: return filter#0, width=2200
   3:rig.c(2640):rig_passband_normal returning(2200) 
  2:rig_get_split_freq: elapsed=302ms
  2:rig.c(4293):rig_get_split_freq returning(0) 
TX Frequency: 435581070
 1:rigctl_parse.c(2912):rigctl_get_split_freq returning(0) 
rigctl_parse: called, interactive=1

Rig command: I 145850000
rigctl_parse: input_line: I 145850000
rigctl_parse: vfo_opt=0
 1:rigctl_parse.c(2881):rigctl_set_split_freq entered
rig_set_split_freq called vfo=TX, curr_vfo=Main, tx_freq=145850000
rig_get_freq(2044) called vfo=TX
vfo_fixup:(from rig_get_freq:2051) vfo=TX, vfo_curr=Main, split=0
vfo_fixup(1995): split=0, vfo==TX tx_vfo=TX
vfo_fixup: RIG_VFO_TX changed to Main, split=0, satmode=0
rig.c(2053) vfo=Main, curr_vfo=Main
rig_get_freq: cache miss age=73192ms, cached_vfo=Main, asked_vfo=Main, use_cached_freq=0
rig_get_freq(2141): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Main 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 03                                      .....           
read_block_generic called, direct=1
read_block_generic(): RX 5 bytes, direct=1
0000    43 55 81 07 01                                      CU...           
from_bcd_be called
  2:rig.c(2619):rig_passband_normal entered
  2:rig_passband_normal: return filter#0, width=2200
  2:rig.c(2640):rig_passband_normal returning(2200) 
 1:rig_get_freq: elapsed=302ms
rig.c(4138) trace
  2:rig.c(4973):rig_set_split_vfo entered
rig_set_split_vfo: rx_vfo=VFOA, split=1, tx_vfo=VFOB, cache.split=0
vfo_fixup:(from rig_set_split_vfo:5020) vfo=VFOA, vfo_curr=Main, split=1
vfo_fixup:(from rig_set_split_vfo:5021) vfo=VFOB, vfo_curr=Main, split=1
vfo_fixup: final vfo=Sub
rig_set_split_vfo: final rxvfo=Main, txvfo=Sub, split=1
rig.c(5030) trace
rig.c(5052) trace
ft847_set_split_vfo called
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 4e                                      ....N           
  2:rig_set_split_vfo: elapsed=301ms
  2:rig.c(5064):rig_set_split_vfo returning(0) 
ft847: requested freq = 145850000 Hz, vfo=TX
to_bcd_be called
from_bcd_be called
from_bcd_be called
ft847_set_freq: requested freq after conversion = 145850000 Hz 
write_block(): TX 5 bytes, method=1
0000    14 58 50 00 21                                      .XP.!           
 1:rig_set_split_freq: elapsed=905ms
rig.c(4141):rig_set_split_freq returning2(0) 
 1:rigctl_parse.c(2885):rigctl_set_split_freq returning(0) 
rigctl_parse: called, interactive=1

Rig command: i
rigctl_parse: input_line: i
rigctl_parse: vfo_opt=0
 1:rigctl_parse.c(2896):rigctl_get_split_freq entered
  2:rig.c(4267):rig_get_split_freq entered
vfo_fixup:(from rig_get_split_freq:4281) vfo=TX, vfo_curr=Main, split=1
vfo_fixup(1995): split=1, vfo==TX tx_vfo=Sub
vfo_fixup: RIG_VFO_TX changed to Sub, split=1, satmode=0
rig.c(4311) trace
get_freq_and_mode: vfo =Sub 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 23                                      ....#           
read_block_generic called, direct=1
read_block_generic(): RX 5 bytes, direct=1
0000    14 58 50 00 00                                      .XP..           
from_bcd_be called
   3:rig.c(2619):rig_passband_normal entered
   3:rig_passband_normal: return filter#0, width=2200
   3:rig.c(2640):rig_passband_normal returning(2200) 
  2:rig_get_split_freq: elapsed=302ms
  2:rig.c(4314):rig_get_split_freq returning(0) 
TX Frequency: 145850000
 1:rigctl_parse.c(2912):rigctl_get_split_freq returning(0) 
rigctl_parse: called, interactive=1

Rig command: 

@mdblack98
Copy link
Contributor

mdblack98 commented May 12, 2023 via email

@kconkas
Copy link
Author

kconkas commented May 12, 2023

@mdblack98 thanks. I've compiled the latest from master and this fixed my problem in satellite mode. However; I am now unable to get the main VFO output in non-satellite mode (even though the frequency does seem to get read correctly):

$ /usr/local/bin/rigctl -vvvvv -m 1001 -r /dev/ttyUSB0 -s 57600
rigctl.c(442) Startup: /usr/local/bin/rigctl -vvvvv -m 1001 -r /dev/ttyUSB0 -s 57600
rigctl Hamlib 4.6~git May 11 21:36:12Z 2023 SHA=dfc5e7 64-bit
Report bugs to <hamlib-developer@lists.sourceforge.net>

rig_check_rig_caps: p1=0x7f9dda463ac0, p2=0x7f9dda46a040, rig_model=0x7f9dda463ac0, macro_name=0x7f9dda46a040
yaesu: initrigs4_yaesu called
rig_init: rig_model=Yaesu FT-847 20230511.0
rig_init: rig has VFO_SUB
rig_init: rig has VFO_MAIN
ft847_init called 
 1:rig.c(830):rig_open entered
rig_settings_get_path: path=/home/kconkas/.config/hamlib_settings
rig_settings_load_all: settings_file (/home/kconkas/.config/hamlib_settings): No such file or directory
rig_open: cwd=/home/kconkas/src/Hamlib
rig_open: /home/kconkas/src/Hamlib/hamlib_settings does not exist
rig_open: async_data_enable=1, async_data_supported=0
serial_open: /dev/ttyUSB0
serial_setup: tcgetattr
serial_setup: cfmakeraw
serial_setup: cfsetispeed=57600,0x1001
serial_setup: cfsetospeed=57600,0x1001
serial_setup: data_bits=8
serial_setup: parity=0
serial_setup: Handshake=None
serial_setup: tcsetattr TCSANOW
tcflush
  2:rig.c(7529):async_data_handler_start entered
async_data_handler_start: async data support disabled since async_data_enabled=0
  2:rig.c(7536):async_data_handler_start returning(0) 
rig.c(262):add_opened_rig returning2(0) 
rig_open: 0x2426c7c rs->comm_state==1?=1
ft847_open: called
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 00                                      .....           
ft847.c(1086):ft847_open returning2(0) 
rig.c(1328) trace
rig_open: vfo_curr=currVFO, tx_vfo=TX
vfo_fixup:(from rig_open:1360) vfo=VFOA, vfo_curr=currVFO, split=0
rig_open: No set_vfo function rig so default vfo = Main
rig_get_freq(2054) called vfo=VFOA
vfo_fixup:(from rig_get_freq:2061) vfo=VFOA, vfo_curr=Main, split=0
rig.c(2063) vfo=Main, curr_vfo=Main
rig_get_freq: cache miss age=1000000ms, cached_vfo=Main, asked_vfo=Main, use_cached_freq=0
rig_get_freq(2151): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Main 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 03                                      .....           
read_block_generic called, direct=1
read_block_generic(): RX 5 bytes, direct=1
0000    02 48 90 00 01                                      .H...           
from_bcd_be called
  2:rig.c(2629):rig_passband_normal entered
  2:rig_passband_normal: return filter#0, width=2200
  2:rig.c(2650):rig_passband_normal returning(2200) 
 1:rig_get_freq: elapsed=302ms
rig_get_freq(2054) called vfo=VFOB
vfo_fixup:(from rig_get_freq:2061) vfo=VFOB, vfo_curr=Main, split=0
vfo_fixup: final vfo=Sub
rig.c(2063) vfo=Sub, curr_vfo=Main
rig_get_freq: cache miss age=1000000ms, cached_vfo=Sub, asked_vfo=Sub, use_cached_freq=0
rig_get_freq(2151): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Sub 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 23                                      ....#           
read_block_generic called, direct=1
read_block_generic(): Timed out 0.500602 seconds after 0 chars, direct=1
ft847: read_block returned -5
 1:rig_get_freq: elapsed=802ms
  2:rig.c(5159):rig_get_split_vfo entered
rig_get_split_vfo: cache check age=1000000ms
rig_get_split_vfo: cache miss age=1000000ms
rig.c(5211) trace
ft847_get_split_vfo called
rig_get_split_vfo: cache.split=1
  2:rig_get_split_vfo: elapsed=0ms
  2:rig.c(5224):rig_get_split_vfo returning(0) 
rig_open(1399): Current split=1, tx_vfo=Sub
  2:rig.c(2475):rig_get_mode entered
vfo_fixup:(from rig_get_mode:2498) vfo=VFOA, vfo_curr=Main, split=1
rig_get_mode: Main cache check age=1104ms
rig_get_mode: cache miss age mode=1104ms, width=1104ms
rig.c(2546) trace
get_freq_and_mode: vfo =Main 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 13                                      .....           
read_block_generic called, direct=1
read_block_generic(): Timed out 0.500598 seconds after 0 chars, direct=1
ft847: read_block returned -5
rig_get_mode: retcode after get_mode=-5
   3:cache.c(36):rig_set_cache_mode entered
   3:cache.c(119):rig_set_cache_mode returning(0) 
  2:rig_get_mode: elapsed=802ms
  2:rig.c(2608):rig_get_mode returning(-5) Communication timed out

xxxsplit=1
rig.c(1411) trace
  2:rig.c(2475):rig_get_mode entered
vfo_fixup:(from rig_get_mode:2498) vfo=VFOB, vfo_curr=Main, split=1
vfo_fixup: final vfo=Sub
rig_get_mode: Sub cache check age=1605ms
rig_get_mode: cache miss age mode=1605ms, width=1605ms
rig.c(2546) trace
get_freq_and_mode: vfo =Sub 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 23                                      ....#           
read_block_generic called, direct=1
read_block_generic(): Timed out 0.500600 seconds after 0 chars, direct=1
ft847: read_block returned -5
rig_get_mode: retcode after get_mode=-5
   3:cache.c(36):rig_set_cache_mode entered
   3:cache.c(119):rig_set_cache_mode returning(0) 
  2:rig_get_mode: elapsed=802ms
  2:rig.c(2608):rig_get_mode returning(-5) Communication timed out

 1:rig.c(1423):rig_open returning(0) 
Opened rig model 1001, 'FT-847'
Backend version: 20230511.0, Status: Stable
rigctl_parse: called, interactive=1

Rig command: f
rigctl_parse: input_line: f
rigctl_parse: vfo_opt=0
 1:rigctl_parse.c(2112):rigctl_get_freq entered
rig_get_freq(2054) called vfo=currVFO
vfo_fixup:(from rig_get_freq:2061) vfo=currVFO, vfo_curr=Main, split=1
vfo_fixup: Leaving currVFO alone
rig.c(2063) vfo=currVFO, curr_vfo=Main
rig_get_freq: cache miss age=4759ms, cached_vfo=Main, asked_vfo=Main, use_cached_freq=0
rig_get_freq(2151): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Main 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 13                                      .....           
read_block_generic called, direct=1
read_block_generic(): Timed out 0.500611 seconds after 0 chars, direct=1
ft847: read_block returned -5
 1:rig_get_freq: elapsed=802ms
 1:rigctl_parse.c(2118):rigctl_get_freq returning(-5) Communication timed out

get_freq: error = rig_get_freq(2086): freqMainB=0, modeMainB=, widthMainB=0
rig_get_cache(269):  vfo=Main, current_vfo=Main
rig_get_cache(455): vfo=Main, freq=24890000, mode=, width=0
rig_get_freq(2122): freqMainA=24890000, modeMainA=, widthMainA=0
rig_get_freq(2122): freqMainB=0, modeMainB=, widthMainB=0
rig_get_freq: cache miss age=4759ms, cached_vfo=Main, asked_vfo=Main, use_cached_freq=0
rig_get_freq(2152): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Main 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 13                                      .....           
read_block_generic called, direct=1
read_block_generic(): Timed out 0.500611 seconds after 0 chars, direct=1
ft847: read_block returned -5
rig_get_freq(2169): freqMainA=24890000, modeMainA=, widthMainA=0
rig_get_freq(2169): freqMainB=0, modeMainB=, widthMainB=0
rig_set_cache_freq(132):  vfo=Main, current_vfo=Main
 1:rig_get_freq: elapsed=802ms
 1:rigctl_parse.c(2118):rigctl_get_freq returning(-5) Communication timed out

Communication timed out

main: i/o error
 1:rig.c(1445):rig_close entered
ft847_close: called
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 80                                      .....           
  2:rig.c(7573):async_data_handler_stop entered
  2:rig.c(7603):async_data_handler_stop returning(0) 
ser_close: restoring options
rig_close(1579): 0x2426c7c rs->comm_state==0?=0
 1:rig.c(1583):rig_close returning(0) 
main: rig_close retcode=0
 1:rig.c(830):rig_open entered
rig_settings_get_path: path=/home/kconkas/.config/hamlib_settings
rig_settings_load_all: settings_file (/home/kconkas/.config/hamlib_settings): No such file or directory
rig_open: cwd=/home/kconkas/src/Hamlib
rig_open: /home/kconkas/src/Hamlib/hamlib_settings does not exist
rig_open: async_data_enable=0, async_data_supported=0
serial_open: /dev/ttyUSB0
serial_setup: tcgetattr
serial_setup: cfmakeraw
serial_setup: cfsetispeed=57600,0x1001
serial_setup: cfsetospeed=57600,0x1001
serial_setup: data_bits=8
serial_setup: parity=0
serial_setup: Handshake=None
serial_setup: tcsetattr TCSANOW
tcflush
  2:rig.c(7529):async_data_handler_start entered
async_data_handler_start: async data support disabled since async_data_enabled=0
  2:rig.c(7536):async_data_handler_start returning(0) 
rig.c(262):add_opened_rig returning2(0) 
rig_open: 0x2426c7c rs->comm_state==1?=1
ft847_open: called
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 00                                      .....           
ft847.c(1086):ft847_open returning2(0) 
rig.c(1328) trace
rig_open: vfo_curr=Main, tx_vfo=TX
vfo_fixup:(from rig_open:1360) vfo=VFOA, vfo_curr=Main, split=0
rig_open: No set_vfo function rig so default vfo = Main
rig_get_freq(2054) called vfo=VFOA
vfo_fixup:(from rig_get_freq:2061) vfo=VFOA, vfo_curr=Main, split=0
rig.c(2063) vfo=Main, curr_vfo=Main
rig_get_freq: cache miss age=1993ms, cached_vfo=Main, asked_vfo=Main, use_cached_freq=0
rig_get_freq(2151): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Main 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 13                                      .....           
read_block_generic called, direct=1
read_block_generic(): Timed out 0.500605 seconds after 0 chars, direct=1
ft847: read_block returned -5
 1:rig_get_freq: elapsed=802ms
 1:rig.c(1423):rig_open returning(0) 
main: rig_open retcode=0
rigctl_parse: called, interactive=1

@mdblack98
Copy link
Contributor

mdblack98 commented May 12, 2023 via email

@kconkas
Copy link
Author

kconkas commented May 12, 2023

@mdblack98 thank you so much for fixing this and so quickly, hamradio and open source at its best. I can confirm it's working now both for sat and non-sat mode. There's just one tiny slight snag in the sat mode: I can only read the secondary VFO after I have written to it, but this is good enough to me (gpredict, where I connect to rigctld from, sets both frequencies):

$ /usr/local/bin/rigctl -vvvvv -m 1001 -r /dev/ttyUSB0 -s 57600
rigctl.c(442) Startup: /usr/local/bin/rigctl -vvvvv -m 1001 -r /dev/ttyUSB0 -s 57600
rigctl Hamlib 4.6~git May 12 16:19:02Z 2023 SHA=1f98f0 64-bit
Report bugs to <hamlib-developer@lists.sourceforge.net>

rig_check_rig_caps: p1=0x7febb6bffac0, p2=0x7febb6c06040, rig_model=0x7febb6bffac0, macro_name=0x7febb6c06040
yaesu: initrigs4_yaesu called
rig_init: rig_model=Yaesu FT-847 20230512.0
rig_init: rig has VFO_SUB
rig_init: rig has VFO_MAIN
ft847_init called 
 1:rig.c(830):rig_open entered
rig_settings_get_path: path=/home/kconkas/.config/hamlib_settings
rig_settings_load_all: settings_file (/home/kconkas/.config/hamlib_settings): No such file or directory
rig_open: cwd=/home/kconkas/src/Hamlib
rig_open: /home/kconkas/src/Hamlib/hamlib_settings does not exist
rig_open: async_data_enable=1, async_data_supported=0
serial_open: /dev/ttyUSB0
serial_setup: tcgetattr
serial_setup: cfmakeraw
serial_setup: cfsetispeed=57600,0x1001
serial_setup: cfsetospeed=57600,0x1001
serial_setup: data_bits=8
serial_setup: parity=0
serial_setup: Handshake=None
serial_setup: tcsetattr TCSANOW
tcflush
  2:rig.c(7529):async_data_handler_start entered
async_data_handler_start: async data support disabled since async_data_enabled=0
  2:rig.c(7536):async_data_handler_start returning(0) 
rig.c(262):add_opened_rig returning2(0) 
rig_open: 0x13c6c7c rs->comm_state==1?=1
ft847_open: called
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 00                                      .....           
ft847.c(1086):ft847_open returning2(0) 
rig.c(1328) trace
rig_open: vfo_curr=currVFO, tx_vfo=TX
vfo_fixup:(from rig_open:1360) vfo=VFOA, vfo_curr=currVFO, split=0
rig_open: No set_vfo function rig so default vfo = Main
rig_get_freq(2054) called vfo=VFOA
vfo_fixup:(from rig_get_freq:2061) vfo=VFOA, vfo_curr=Main, split=0
rig.c(2063) vfo=Main, curr_vfo=Main
rig_get_freq: cache miss age=1000000ms, cached_vfo=Main, asked_vfo=Main, use_cached_freq=0
rig_get_freq(2151): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Main 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 03                                      .....           
read_block_generic called, direct=1
read_block_generic(): RX 5 bytes, direct=1
0000    43 59 00 00 01                                      CY...           
from_bcd_be called
  2:rig.c(2629):rig_passband_normal entered
  2:rig_passband_normal: return filter#0, width=2200
  2:rig.c(2650):rig_passband_normal returning(2200) 
 1:rig_get_freq: elapsed=302ms
rig_get_freq(2054) called vfo=VFOB
vfo_fixup:(from rig_get_freq:2061) vfo=VFOB, vfo_curr=Main, split=0
vfo_fixup: final vfo=Sub
rig.c(2063) vfo=Sub, curr_vfo=Main
rig_get_freq: cache miss age=1000000ms, cached_vfo=Sub, asked_vfo=Sub, use_cached_freq=0
rig_get_freq(2151): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Sub 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 23                                      ....#           
read_block_generic called, direct=1
read_block_generic(): RX 5 bytes, direct=1
0000    14 59 00 00 00                                      .Y...           
from_bcd_be called
  2:rig.c(2629):rig_passband_normal entered
  2:rig_passband_normal: return filter#0, width=2200
  2:rig.c(2650):rig_passband_normal returning(2200) 
 1:rig_get_freq: elapsed=302ms
  2:rig.c(5159):rig_get_split_vfo entered
rig_get_split_vfo: cache check age=1000000ms
rig_get_split_vfo: cache miss age=1000000ms
rig.c(5211) trace
ft847_get_split_vfo called
rig_get_split_vfo: cache.split=0
  2:rig_get_split_vfo: elapsed=0ms
  2:rig.c(5224):rig_get_split_vfo returning(0) 
rig_open(1399): Current split=0, tx_vfo=Sub
  2:rig.c(2475):rig_get_mode entered
vfo_fixup:(from rig_get_mode:2498) vfo=VFOA, vfo_curr=Main, split=0
rig_get_mode: Main cache check age=603ms
rig_get_mode: cache miss age mode=603ms, width=603ms
rig.c(2546) trace
get_freq_and_mode: vfo =Main 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 03                                      .....           
read_block_generic called, direct=1
read_block_generic(): RX 5 bytes, direct=1
0000    43 59 00 00 01                                      CY...           
from_bcd_be called
   3:rig.c(2629):rig_passband_normal entered
   3:rig_passband_normal: return filter#0, width=2200
   3:rig.c(2650):rig_passband_normal returning(2200) 
rig_get_mode: retcode after get_mode=0
rig_get_mode(2592): debug
   3:cache.c(36):rig_set_cache_mode entered
   3:cache.c(119):rig_set_cache_mode returning(0) 
  2:rig_get_mode: elapsed=302ms
  2:rig.c(2608):rig_get_mode returning(0) 
 1:rig.c(1423):rig_open returning(0) 
Opened rig model 1001, 'FT-847'
Backend version: 20230512.0, Status: Stable
rigctl_parse: called, interactive=1

Rig command: f
rigctl_parse: input_line: f
rigctl_parse: vfo_opt=0
 1:rigctl_parse.c(2112):rigctl_get_freq entered
rig_get_freq(2054) called vfo=currVFO
vfo_fixup:(from rig_get_freq:2061) vfo=currVFO, vfo_curr=Main, split=0
vfo_fixup: Leaving currVFO alone
rig.c(2063) vfo=currVFO, curr_vfo=Main
rig_get_freq: cache miss age=10102ms, cached_vfo=Main, asked_vfo=Main, use_cached_freq=0
rig_get_freq(2151): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Main 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 03                                      .....           
read_block_generic called, direct=1
read_block_generic(): RX 5 bytes, direct=1
0000    43 59 00 00 01                                      CY...           
from_bcd_be called
  2:rig.c(2629):rig_passband_normal entered
  2:rig_passband_normal: return filter#0, width=2200
  2:rig.c(2650):rig_passband_normal returning(2200) 
 1:rig_get_freq: elapsed=302ms
Frequency: 435900000
 1:rigctl_parse.c(2138):rigctl_get_freq returning(0) 
rigctl_parse: called, interactive=1

Rig command: i
rigctl_parse: input_line: i
rigctl_parse: vfo_opt=0
 1:rigctl_parse.c(2893):rigctl_get_split_freq entered
  2:rig.c(4279):rig_get_split_freq entered
vfo_fixup:(from rig_get_split_freq:4293) vfo=TX, vfo_curr=Main, split=0
vfo_fixup(2004): split=0, vfo==TX tx_vfo=TX
vfo_fixup: RIG_VFO_TX changed to Main, split=0, satmode=0
rig.c(4302) trace
get_freq_and_mode: vfo =TX 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 03                                      .....           
read_block_generic called, direct=1
read_block_generic(): RX 5 bytes, direct=1
0000    43 59 00 00 01                                      CY...           
from_bcd_be called
   3:rig.c(2629):rig_passband_normal entered
   3:rig_passband_normal: return filter#0, width=2200
   3:rig.c(2650):rig_passband_normal returning(2200) 
  2:rig_get_split_freq: elapsed=302ms
  2:rig.c(4305):rig_get_split_freq returning(0) 
TX Frequency: 435900000
 1:rigctl_parse.c(2909):rigctl_get_split_freq returning(0) 
rigctl_parse: called, interactive=1

Rig command: I
rigctl_parse: input_line: I
TX Frequency: 145905000
rigctl_parse: vfo_opt=0
 1:rigctl_parse.c(2878):rigctl_set_split_freq entered
rig_set_split_freq called vfo=TX, curr_vfo=Main, tx_freq=145905000
rig_get_freq(2054) called vfo=TX
vfo_fixup:(from rig_get_freq:2061) vfo=TX, vfo_curr=Main, split=0
vfo_fixup(2004): split=0, vfo==TX tx_vfo=TX
vfo_fixup: RIG_VFO_TX changed to Main, split=0, satmode=0
rig.c(2063) vfo=Main, curr_vfo=Main
rig_get_freq: cache miss age=20856ms, cached_vfo=Main, asked_vfo=Main, use_cached_freq=0
rig_get_freq(2151): vfo_opt=0, model=1001
get_freq_and_mode: vfo =Main 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 03                                      .....           
read_block_generic called, direct=1
read_block_generic(): RX 5 bytes, direct=1
0000    43 59 00 00 01                                      CY...           
from_bcd_be called
  2:rig.c(2629):rig_passband_normal entered
  2:rig_passband_normal: return filter#0, width=2200
  2:rig.c(2650):rig_passband_normal returning(2200) 
 1:rig_get_freq: elapsed=302ms
rig.c(4150) trace
  2:rig.c(4985):rig_set_split_vfo entered
rig_set_split_vfo: rx_vfo=VFOA, split=1, tx_vfo=VFOB, cache.split=0
vfo_fixup:(from rig_set_split_vfo:5032) vfo=VFOA, vfo_curr=Main, split=1
vfo_fixup:(from rig_set_split_vfo:5033) vfo=VFOB, vfo_curr=Main, split=1
vfo_fixup: final vfo=Sub
rig_set_split_vfo: final rxvfo=Main, txvfo=Sub, split=1
rig.c(5042) trace
rig.c(5064) trace
ft847_set_split_vfo called
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 4e                                      ....N           
  2:rig_set_split_vfo: elapsed=302ms
  2:rig.c(5076):rig_set_split_vfo returning(0) 
ft847: requested freq = 145905000 Hz, vfo=TX
to_bcd_be called
from_bcd_be called
from_bcd_be called
ft847_set_freq: requested freq after conversion = 145905000 Hz 
write_block(): TX 5 bytes, method=1
0000    14 59 05 00 21                                      .Y..!           
 1:rig_set_split_freq: elapsed=905ms
rig.c(4153):rig_set_split_freq returning2(0) 
 1:rigctl_parse.c(2882):rigctl_set_split_freq returning(0) 
rigctl_parse: called, interactive=1

Rig command: i
rigctl_parse: input_line: i
rigctl_parse: vfo_opt=0
 1:rigctl_parse.c(2893):rigctl_get_split_freq entered
  2:rig.c(4279):rig_get_split_freq entered
vfo_fixup:(from rig_get_split_freq:4293) vfo=TX, vfo_curr=Main, split=1
vfo_fixup(2004): split=1, vfo==TX tx_vfo=Sub
vfo_fixup: RIG_VFO_TX changed to Sub, split=1, satmode=0
rig.c(4323) trace
get_freq_and_mode: vfo =Sub 
write_block(): TX 5 bytes, method=1
0000    00 00 00 00 23                                      ....#           
read_block_generic called, direct=1
read_block_generic(): RX 5 bytes, direct=1
0000    14 59 05 00 00                                      .Y...           
from_bcd_be called
   3:rig.c(2629):rig_passband_normal entered
   3:rig_passband_normal: return filter#0, width=2200
   3:rig.c(2650):rig_passband_normal returning(2200) 
  2:rig_get_split_freq: elapsed=302ms
  2:rig.c(4326):rig_get_split_freq returning(0) 
TX Frequency: 145905000
 1:rigctl_parse.c(2909):rigctl_get_split_freq returning(0) 
rigctl_parse: called, interactive=1

@mdblack98 mdblack98 added fixed Issue has been fixed and removed needs test Patches have been submitted but need testing to close issue labels Aug 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug fixed Issue has been fixed
Projects
None yet
Development

No branches or pull requests

2 participants