The KiwiSDR 2 online store is open for orders! Please visit kiwisdr.nz
Kiwirecorder script returning errors on 2 kiwis (ports 8074, 8075) [actually configuration error]
Setup: 3 Kiwis at remote location, using the same external IP address, ports 8073, 8074, 8075.
Addresses: g0luj.ddns.net:8073, g0luj.ddns.net:8074, g0luj.ddns.net:8075
Issue: The web interface works on all three Kiwis, but the Kiwiwspr script fails when the KiwiSDRs on 8074 and 8075 are tasked. 8073 is working normally.
Upon further investigation, Kiwiwspr makes use of Kiwirecorder.py, which returns the errors below when tested:
---------------------------------------------------------------------------------------------------------------------------------------------------------
./kiwirecorder.py -s g0luj.ddns.net -p 8073 -f 5450 -m usb --ncomp --tlimit=10 (No Errors)
---------------------------------------------------------------------------------------------------------------------------------------------------------
./kiwirecorder.py -s g0luj.ddns.net -p 8074 -f 5450 -m usb --ncomp --tlimit=10
Traceback (most recent call last):
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiworker.py", line 36, in run
self._recorder.run()
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 384, in run
self._process_ws_message(received)
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 166, in _process_ws_message
self._process_message(tag, body)
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 270, in _process_message
self._process_msg(bytearray2str(body[1:])) ## skip 1st byte
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 290, in _process_msg
self._process_msg_param(name, value)
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 227, in _process_msg_param
self._gps_pos = [float(x) for x in urllib.unquote(d['rx_gps'])[1:-1].split(",")[0:2]]
ValueError: invalid literal for float(): -2.621231)
--------------------------------------------------------------------------------------------------------------------------------------------------------
./kiwirecorder.py -s g0luj.ddns.net -p 8075 -f 5450 -m usb --ncomp --tlimit=10
Traceback (most recent call last):
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiworker.py", line 36, in run
self._recorder.run()
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 384, in run
self._process_ws_message(received)
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 166, in _process_ws_message
self._process_message(tag, body)
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 270, in _process_message
self._process_msg(bytearray2str(body[1:])) ## skip 1st byte
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 290, in _process_msg
self._process_msg_param(name, value)
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 227, in _process_msg_param
self._gps_pos = [float(x) for x in urllib.unquote(d['rx_gps'])[1:-1].split(",")[0:2]]
ValueError: invalid literal for float(): -2.621231)
----------------------------------------------------------------------------------------------------------------------------------------------------------
Thank you for reading. Any assistance appreciated.
Addresses: g0luj.ddns.net:8073, g0luj.ddns.net:8074, g0luj.ddns.net:8075
Issue: The web interface works on all three Kiwis, but the Kiwiwspr script fails when the KiwiSDRs on 8074 and 8075 are tasked. 8073 is working normally.
Upon further investigation, Kiwiwspr makes use of Kiwirecorder.py, which returns the errors below when tested:
---------------------------------------------------------------------------------------------------------------------------------------------------------
./kiwirecorder.py -s g0luj.ddns.net -p 8073 -f 5450 -m usb --ncomp --tlimit=10 (No Errors)
---------------------------------------------------------------------------------------------------------------------------------------------------------
./kiwirecorder.py -s g0luj.ddns.net -p 8074 -f 5450 -m usb --ncomp --tlimit=10
Traceback (most recent call last):
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiworker.py", line 36, in run
self._recorder.run()
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 384, in run
self._process_ws_message(received)
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 166, in _process_ws_message
self._process_message(tag, body)
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 270, in _process_message
self._process_msg(bytearray2str(body[1:])) ## skip 1st byte
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 290, in _process_msg
self._process_msg_param(name, value)
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 227, in _process_msg_param
self._gps_pos = [float(x) for x in urllib.unquote(d['rx_gps'])[1:-1].split(",")[0:2]]
ValueError: invalid literal for float(): -2.621231)
--------------------------------------------------------------------------------------------------------------------------------------------------------
./kiwirecorder.py -s g0luj.ddns.net -p 8075 -f 5450 -m usb --ncomp --tlimit=10
Traceback (most recent call last):
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiworker.py", line 36, in run
self._recorder.run()
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 384, in run
self._process_ws_message(received)
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 166, in _process_ws_message
self._process_message(tag, body)
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 270, in _process_message
self._process_msg(bytearray2str(body[1:])) ## skip 1st byte
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 290, in _process_msg
self._process_msg_param(name, value)
File "/home/questador/Music/kiwiclient-jks-v0.1/kiwiclient.py", line 227, in _process_msg_param
self._gps_pos = [float(x) for x in urllib.unquote(d['rx_gps'])[1:-1].split(",")[0:2]]
ValueError: invalid literal for float(): -2.621231)
----------------------------------------------------------------------------------------------------------------------------------------------------------
Thank you for reading. Any assistance appreciated.
Comments
Cause of error: KiwiSDR 8073 was already configured for the remote site. KiwiSDRs 8074 and 8075 had to have their location details updated, by taking the information from 8073.
In doing so, at some point, an extra parenthesis was copied and pasted into a Location field causing the script to fail.
For those of you who struggle like me to get regular expressions working this is the greatest thing since sliced bread: https://regex101.com