Beginning with v2.11.1, Rigplane is unable to maintain connection to IC-9700 via LAN. This issue does not exist with v2.11.0 or earlier. Fails with ERROR Internal error executing set_vfo. See debug log below.
Jun 22 14:33:40 pat systemd[1]: Starting rigplane.service - Rigplane Daemon (User Context)...
Jun 22 14:33:40 pat systemd[1]: Started rigplane.service - Rigplane Daemon (User Context).
Jun 22 14:33:41 pat rigplane[107665]: Logging to /home/jsimpson/.cache/rigplane/logs/rigplane.log (rotate at 50000000 bytes, keep 5 backups)
Jun 22 14:33:41 pat rigplane[107665]: 14:33:41 INFO UDP open to 192.168.1.19:50001, my_id=0x0001D7B1
Jun 22 14:33:41 pat rigplane[107665]: 14:33:41 INFO I Am Here received, remote_id=0x0A5E5901
Jun 22 14:33:41 pat rigplane[107665]: 14:33:41 INFO I Am Ready received
Jun 22 14:33:41 pat rigplane[107665]: 14:33:41 INFO Discovery complete, remote_id=0x0A5E5901
Jun 22 14:33:41 pat rigplane[107665]: 14:33:41 INFO Authenticated with 192.168.1.19:50001, token=0x1A833862
Jun 22 14:33:42 pat rigplane[107665]: 14:33:42 INFO Status: civ_port=50002, audio_port=50003, error=0x00000000, disconnected=False
Jun 22 14:33:42 pat rigplane[107665]: 14:33:42 INFO UDP open to 192.168.1.19:50002, my_id=0x00018184
Jun 22 14:33:42 pat rigplane[107665]: 14:33:42 INFO I Am Here received, remote_id=0x9B1BD286
Jun 22 14:33:42 pat rigplane[107665]: 14:33:42 INFO I Am Ready received
Jun 22 14:33:42 pat rigplane[107665]: 14:33:42 INFO Discovery complete, remote_id=0x9B1BD286
Jun 22 14:33:42 pat rigplane[107665]: 14:33:42 INFO civ-data-watchdog: started
Jun 22 14:33:43 pat rigplane[107665]: 14:33:43 INFO Connected to 192.168.1.19 (control=50001, civ=50002)
Jun 22 14:33:43 pat rigplane[107665]: 14:33:43 INFO initial state fetch (63 queries, gap=12ms)...
Jun 22 14:33:45 pat rigplane[107665]: 14:33:45 INFO initial state fetch done (63/63 ok)
Jun 22 14:33:45 pat rigplane[107665]: 14:33:45 INFO AudioFftScope: fft_size=2048 fps=20 window=hann avg=2 sr=48000
Jun 22 14:33:45 pat rigplane[107665]: 14:33:45 INFO Audio FFT scope available (has_audio=True, has_hw_scope=True)
Jun 22 14:33:45 pat rigplane[107665]: 14:33:45 INFO rigplane (IC-9700): state idle → connecting (reason=start, attempt=0)
Jun 22 14:33:45 pat rigplane[107665]: 14:33:45 INFO rigplane (IC-9700): using device 'pulse' (id 6)
Jun 22 14:33:45 pat rigplane[107665]: 14:33:45 INFO rigplane (IC-9700): bridge codec=PCM_1CH_16BIT input_channels=1 output_channels=1 sample_rate=48000 duplex_mode=full
Jun 22 14:33:45 pat rigplane[107665]: 14:33:45 INFO audio-bus: +subscriber 'audio-bridge' (1 total)
Jun 22 14:33:45 pat rigplane[107665]: 14:33:45 INFO UDP open to 192.168.1.19:50003, my_id=0x0001AEB7
Jun 22 14:33:45 pat rigplane[107665]: 14:33:45 INFO I Am Here received, remote_id=0x9AAE69D1
Jun 22 14:33:45 pat rigplane[107665]: 14:33:45 INFO I Am Ready received
Jun 22 14:33:45 pat rigplane[107665]: 14:33:45 INFO Discovery complete, remote_id=0x9AAE69D1
Jun 22 14:33:45 pat rigplane[107665]: 14:33:45 INFO Audio transport connected on port 50003
Jun 22 14:33:45 pat rigplane[107665]: 14:33:45 INFO Audio RX started (jitter_depth=5)
Jun 22 14:33:45 pat rigplane[107665]: 14:33:45 INFO audio-bus: RX started
Jun 22 14:33:45 pat rigplane[107665]: 14:33:45 INFO Audio TX started
Jun 22 14:33:45 pat rigplane[107665]: 14:33:45 INFO rigplane (IC-9700): same-device RX+TX (id 6) — opening single full-duplex stream (MOR-531)
Jun 22 14:33:46 pat rigplane[107665]: 14:33:46 INFO rigplane (IC-9700): state connecting → running (reason=started, attempt=0)
Jun 22 14:33:46 pat rigplane[107665]: 14:33:46 INFO rigplane (IC-9700): started (RX+TX, 48000Hz, 1ch, 20ms frames)
Jun 22 14:33:46 pat rigplane[107665]: 14:33:46 INFO rigctld listening on 0.0.0.0:4532
Jun 22 14:33:46 pat rigplane[107665]: 14:33:46 INFO band-plan: no band-plans/ directory found
Jun 22 14:33:46 pat rigplane[107665]: 14:33:46 INFO web server listening on http://0.0.0.0:9999
Jun 22 14:33:46 pat rigplane[107665]: 14:33:46 INFO radio-poller: started
Jun 22 14:33:46 pat rigplane[107665]: 14:33:46 INFO discovery responder listening on 0.0.0.0:8470 (UDP)
Jun 22 14:33:46 pat rigplane[107665]: 14:33:46 INFO radio-poller: NB controls fetched
Jun 22 14:33:46 pat rigplane[107665]: 14:33:46 INFO ws connect: /api/v1/scope 192.168.1.55:33936 (active=1)
Jun 22 14:33:46 pat rigplane[107665]: 14:33:46 INFO scope: enable queued
Jun 22 14:33:46 pat rigplane[107665]: 14:33:46 INFO radio-poller: scope enabled
Jun 22 14:33:47 pat rigplane[107665]: 14:33:47 INFO client #1 connected from 127.0.0.1:45422
Jun 22 14:33:47 pat rigplane[107665]: 14:33:47 INFO AuditRecord(timestamp='2026-06-22T21:33:47.129520+00:00', client_id=1, peername='127.0.0.1:45422', cmd='\\chk_vfo', long_cmd='chk_vfo', args=(), duration_ms=0.389, rprt=0, is_set=False, vfo=None)
Jun 22 14:33:47 pat rigplane[107665]: 14:33:47 INFO AuditRecord(timestamp='2026-06-22T21:33:47.131459+00:00', client_id=1, peername='127.0.0.1:45422', cmd='\\dump_state', long_cmd='dump_state', args=(), duration_ms=0.147, rprt=0, is_set=False, vfo=None)
Jun 22 14:33:47 pat rigplane[107665]: 14:33:47 INFO AuditRecord(timestamp='2026-06-22T21:33:47.132819+00:00', client_id=1, peername='127.0.0.1:45422', cmd='v', long_cmd='get_vfo', args=(), duration_ms=0.414, rprt=0, is_set=False, vfo=None)
Jun 22 14:33:47 pat rigplane[107665]: 14:33:47 INFO AuditRecord(timestamp='2026-06-22T21:33:47.133972+00:00', client_id=1, peername='127.0.0.1:45422', cmd='f', long_cmd='get_freq', args=(), duration_ms=0.504, rprt=0, is_set=False, vfo='VFOA')
Jun 22 14:33:47 pat rigplane[107665]: 14:33:47 ERROR Internal error executing set_vfo
Jun 22 14:33:47 pat rigplane[107665]: Traceback (most recent call last):
Jun 22 14:33:47 pat rigplane[107665]: File "/srv/rigplane/.venv/lib/python3.11/site-packages/rigplane/rigctld/handler.py", line 973, in execute
Jun 22 14:33:47 pat rigplane[107665]: response = cast(RigctldResponse, await handler_fn(self, cmd))
Jun 22 14:33:47 pat rigplane[107665]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 22 14:33:47 pat rigplane[107665]: File "/srv/rigplane/.venv/lib/python3.11/site-packages/rigplane/rigctld/handler.py", line 1539, in _cmd_set_vfo
Jun 22 14:33:47 pat rigplane[107665]: await self._command_service.execute(
Jun 22 14:33:47 pat rigplane[107665]: File "/srv/rigplane/.venv/lib/python3.11/site-packages/rigplane/core/command_service.py", line 147, in execute
Jun 22 14:33:47 pat rigplane[107665]: executor_result = await self._executor.execute(intent)
Jun 22 14:33:47 pat rigplane[107665]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 22 14:33:47 pat rigplane[107665]: File "/srv/rigplane/.venv/lib/python3.11/site-packages/rigplane/rigctld/handler.py", line 362, in execute
Jun 22 14:33:47 pat rigplane[107665]: error = await self.handler._execute_set_vfo(str(params["vfo"]))
Jun 22 14:33:47 pat rigplane[107665]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 22 14:33:47 pat rigplane[107665]: File "/srv/rigplane/.venv/lib/python3.11/site-packages/rigplane/rigctld/handler.py", line 1567, in _execute_set_vfo
Jun 22 14:33:47 pat rigplane[107665]: await select_receiver(target)
Jun 22 14:33:47 pat rigplane[107665]: File "/srv/rigplane/.venv/lib/python3.11/site-packages/rigplane/runtime/_dual_rx_runtime.py", line 447, in select_receiver
Jun 22 14:33:47 pat rigplane[107665]: await self._set_vfo_wire(target)
Jun 22 14:33:47 pat rigplane[107665]: File "/srv/rigplane/.venv/lib/python3.11/site-packages/rigplane/runtime/radio.py", line 3134, in _set_vfo_wire
Jun 22 14:33:47 pat rigplane[107665]: raise CommandError(f"Radio rejected VFO select {vfo}")
Jun 22 14:33:47 pat rigplane[107665]: rigplane.core.exceptions.CommandError: Radio rejected VFO select SUB
Jun 22 14:33:47 pat rigplane[107665]: 14:33:47 INFO AuditRecord(timestamp='2026-06-22T21:33:47.218322+00:00', client_id=1, peername='127.0.0.1:45422', cmd='V', long_cmd='set_vfo', args=('VFOB',), duration_ms=83.849, rprt=<HamlibError.EINTERNAL: -7>, is_set=True, vfo=None)
Jun 22 14:33:47 pat rigplane[107665]: 14:33:47 INFO AuditRecord(timestamp='2026-06-22T21:33:47.220124+00:00', client_id=1, peername='127.0.0.1:45422', cmd='s', long_cmd='get_split_vfo', args=(), duration_ms=0.607, rprt=0, is_set=False, vfo='VFOA')
Jun 22 14:33:47 pat rigplane[107665]: 14:33:47 INFO AuditRecord(timestamp='2026-06-22T21:33:47.335803+00:00', client_id=1, peername='127.0.0.1:45422', cmd='V', long_cmd='set_vfo', args=('VFOA',), duration_ms=114.913, rprt=<HamlibError.OK: 0>, is_set=True, vfo=None)
Jun 22 14:33:47 pat rigplane[107665]: 14:33:47 INFO AuditRecord(timestamp='2026-06-22T21:33:47.337332+00:00', client_id=1, peername='127.0.0.1:45422', cmd='m', long_cmd='get_mode', args=(), duration_ms=0.812, rprt=0, is_set=False, vfo='VFOA')
Jun 22 14:33:47 pat rigplane[107665]: 14:33:47 ERROR Internal error executing set_vfo
Jun 22 14:33:47 pat rigplane[107665]: Traceback (most recent call last):
Jun 22 14:33:47 pat rigplane[107665]: File "/srv/rigplane/.venv/lib/python3.11/site-packages/rigplane/rigctld/handler.py", line 973, in execute
Jun 22 14:33:47 pat rigplane[107665]: response = cast(RigctldResponse, await handler_fn(self, cmd))
Jun 22 14:33:47 pat rigplane[107665]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 22 14:33:47 pat rigplane[107665]: File "/srv/rigplane/.venv/lib/python3.11/site-packages/rigplane/rigctld/handler.py", line 1539, in _cmd_set_vfo
Jun 22 14:33:47 pat rigplane[107665]: await self._command_service.execute(
Jun 22 14:33:47 pat rigplane[107665]: File "/srv/rigplane/.venv/lib/python3.11/site-packages/rigplane/core/command_service.py", line 147, in execute
Jun 22 14:33:47 pat rigplane[107665]: executor_result = await self._executor.execute(intent)
Jun 22 14:33:47 pat rigplane[107665]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 22 14:33:47 pat rigplane[107665]: File "/srv/rigplane/.venv/lib/python3.11/site-packages/rigplane/rigctld/handler.py", line 362, in execute
Jun 22 14:33:47 pat rigplane[107665]: error = await self.handler._execute_set_vfo(str(params["vfo"]))
Jun 22 14:33:47 pat rigplane[107665]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 22 14:33:47 pat rigplane[107665]: File "/srv/rigplane/.venv/lib/python3.11/site-packages/rigplane/rigctld/handler.py", line 1567, in _execute_set_vfo
Jun 22 14:33:47 pat rigplane[107665]: await select_receiver(target)
Jun 22 14:33:47 pat rigplane[107665]: File "/srv/rigplane/.venv/lib/python3.11/site-packages/rigplane/runtime/_dual_rx_runtime.py", line 447, in select_receiver
Jun 22 14:33:47 pat rigplane[107665]: await self._set_vfo_wire(target)
Jun 22 14:33:47 pat rigplane[107665]: File "/srv/rigplane/.venv/lib/python3.11/site-packages/rigplane/runtime/radio.py", line 3134, in _set_vfo_wire
Jun 22 14:33:47 pat rigplane[107665]: raise CommandError(f"Radio rejected VFO select {vfo}")
Jun 22 14:33:47 pat rigplane[107665]: rigplane.core.exceptions.CommandError: Radio rejected VFO select SUB
Jun 22 14:33:47 pat rigplane[107665]: 14:33:47 INFO AuditRecord(timestamp='2026-06-22T21:33:47.421407+00:00', client_id=1, peername='127.0.0.1:45422', cmd='V', long_cmd='set_vfo', args=('VFOB',), duration_ms=80.738, rprt=<HamlibError.EINTERNAL: -7>, is_set=True, vfo=None)
Jun 22 14:33:48 pat rigplane[107665]: 14:33:48 INFO radio-poller: scope controls fetched (receiver=0)
Description
Beginning with v2.11.1, Rigplane is unable to maintain connection to IC-9700 via LAN. This issue does not exist with v2.11.0 or earlier. Fails with ERROR Internal error executing set_vfo. See debug log below.
Steps to Reproduce
Radio Model
IC-9700
rigplane Version
v2.11.1
Python Version
3.11.2
OS
Debian GNU/Linux 12 (bookworm)
Debug Log
Analysis (filled during fix)
No response