F1ATB / Remote-SDR

Remote control of 2 Software Design Radio. Receiver and transmitter. Based on Adalm-Pluto SDR or RTL-SDR or Hack RF SDR or SDRplay and signal processing using GNU Radio on Raspberry PI. GUI on a web browser.
https://f1atb.fr
GNU General Public License v3.0
146 stars 23 forks source link

Not able to control RX side of Remote SDR with GPredict #43

Open genepool99 opened 6 months ago

genepool99 commented 6 months ago

I activated the Gpredict integration and can only control the TX side of the radio.

EDIT: After further experimentation, the receiver side of the radio can be controlled if you first tune it manually to be very close to the desired auto-tune frequency.

Reproduction Steps

  1. Restart RemoteSDR to turn the GPredict option on
  2. Setup receive and transmit interfaces in GPredict as described in the documentation
  3. Click "Engage" and "Track" in GPredict
  4. Observe the Tx being correctly controlled by RemoteSDR, but not the Rx. The GPredict icon briefly displays for Rx and Tx, then Rx disappears.

CMD LINE OUTPUT when run from terminal

pi@remsdr:/remsdr $ sudo node --trace-warnings Radio_Server.js Server on port 80 in http and port 443 in https.CTRL+C to quit. Server Gpredict RX is listening on port 8006. Server Gpredict TX is listening on port 8007 client RX Gpredict connected client TX Gpredict connected (node:1986) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [Socket]. Use emitter.setMaxListeners() to increase limit at _addListener (node:events:587:17) at Socket.addListener (node:events:605:10) at Socket.Readable.on (node:internal/streams/readable:875:35) at Socket. (/remsdr/remsdr_modules/Gpredict.js:96:28) at Socket.emit (node:events:513:28) at addChunk (node:internal/streams/readable:315:12) at readableAddChunk (node:internal/streams/readable:289:9) at Socket.Readable.push (node:internal/streams/readable:228:10) at TCP.onStreamRead (node:internal/stream_base_commons:190:23)

System

  1. Remote SDR v5 Pi image
  2. HackRF One SDR
  3. GPredict runs remotely on the same LAN (but locally running GPredict was also tested with the same result).

Additional Information A Nmap scan of the Remote SDR Pi shows a listening port 8007 but not 8006

SDR Info

hackrf_info version: unknown libhackrf version: unknown (0.5) Found HackRF Index: 0 Serial number: 0000000000000000b36863dc2f5d4813 Board ID Number: 4 (Unknown Board ID) Firmware Version: n_240412 (API:1.08) Part ID Number: 0xa000cb3c 0x006f435a Operacake found, address: 0xff Operacake found, address: 0xff Operacake found, address: 0xff Operacake found, address: 0xff Operacake found, address: 0xff Operacake found, address: 0xff Operacake found, address: 0xff Operacake found, address: 0xff

Debug Log

0:27:12 : ae7et> ms : 609 | RXsocket.connected 0:27:12 : ae7et> ms : 609 | Define IP adresses 0:27:14 : ae7et> ms : 37 | RXsocket.connected 0:27:14 : ae7et> ms : 38 | Define IP adresses 0:27:14 : ae7et> ms : 38 | RXsocket.io connected 0:27:14 : CPU> Launch RX: hackrf, RxSampRate: 3000000 0:27:14 : CPU> Launch TX: hackrf, TxSampRate: 2000000 0:27:14 : ae7et> ms : 238 | TX ready:true TX SDR:hackrf2f5d4813 0:27:14 : ae7et> ms : 251 | RX configuration received 0:27:14 : ae7et> ms : 261 | TX configuration received 0:27:14 : CPU> connected to RX Spectra server! 0:27:14 : CPU> connected to RX Audio server! 0:27:14 : ae7et> ms : 310 | Valide Local_Storage false 0:27:14 : ae7et> ms : 312 | Init Sliders 0:27:14 : ae7et> ms : 367 | Init_Page_RX() 0:27:14 : ae7et> ms : 368 | RX parameters init 0:27:14 : ae7et> ms : 370 | Init_Page_TX() 0:27:14 : ae7et> ms : 381 | TX Start New Mode 0:29:52 : ae7et> ms : 344 | RXsocket.connected 0:29:52 : ae7et> ms : 344 | Define IP adresses 0:29:56 : CPU> Kill RX: hackrf 0:29:56 : CPU> Kill TX: hackrf 0:30:0 : ae7et> ms : 61 | RXsocket.connected 0:30:0 : ae7et> ms : 61 | Define IP adresses 0:30:0 : CPU> Launch RX: hackrf, RxSampRate: 3000000 0:30:0 : CPU> Launch TX: hackrf, TxSampRate: 2000000 0:30:0 : ae7et> ms : 280 | TX ready:true TX SDR:hackrf2f5d4813 0:31:50 : ae7et> ms : 278 | RXsocket.connected 0:31:50 : ae7et> ms : 279 | Define IP adresses 0:31:52 : CPU> Kill RX: hackrf 0:31:52 : CPU> Kill TX: hackrf 0:31:53 : ae7et> ms : 95 | RXsocket.connected 0:31:53 : ae7et> ms : 95 | Define IP adresses 0:50:24 : ae7et> ms : 652 | RXsocket.connected 0:50:24 : ae7et> ms : 653 | Define IP adresses 0:50:27 : ae7et> ms : 26 | RXsocket.connected 0:50:27 : ae7et> ms : 26 | Define IP adresses 0:50:27 : ae7et> ms : 26 | RXsocket.io connected 0:50:27 : CPU> Launch RX: hackrf, RxSampRate: 3000000 0:50:27 : CPU> Launch TX: hackrf, TxSampRate: 2000000 0:50:27 : ae7et> ms : 216 | RX configuration received 0:50:27 : ae7et> ms : 218 | TX ready:true TX SDR:hackrf2f5d4813 0:50:27 : ae7et> ms : 326 | TX configuration received 0:50:27 : CPU> connected to RX Spectra server! 0:50:27 : CPU> connected to RX Audio server! 0:50:27 : ae7et> ms : 353 | Valide Local_Storage true 0:50:27 : ae7et> ms : 353 | Recall Rx parameters 0:50:27 : ae7et> ms : 360 | Init Sliders 0:50:27 : ae7et> ms : 358 | Recall_SDR_Para() 0:50:27 : ae7et> ms : 400 | Init_Page_RX() 0:50:27 : ae7et> ms : 401 | RX parameters init 0:50:27 : ae7et> ms : 403 | Init_Page_TX() 0:50:27 : ae7et> ms : 418 | TX Start New Mode 12:29:28 : ae7et> ms : 895 | RXsocket.connected 12:29:28 : ae7et> ms : 895 | Define IP adresses 12:29:29 : ae7et> ms : 138 | RXsocket.connected 12:29:29 : ae7et> ms : 138 | Define IP addresses

Gpredict Log

2024/05/25 17:50:38|1|_send_rigctld_command: SIZE ERROR -1 / 13 2024/05/25 17:50:38|1|_send_rigctld_command: rigctld port closed 2024/05/25 17:50:38|1|_send_rigctld_command: SIZE ERROR -1 / 13 2024/05/25 17:50:38|1|_send_rigctld_command: rigctld port closed 2024/05/25 17:50:39|1|open_rigctld_socket: Failed to connect to 127.0.0.1:8006 2024/05/25 17:50:39|1|_send_rigctld_command: SIZE ERROR -1 / 13 2024/05/25 17:50:39|1|_send_rigctld_command: rigctld port closed 2024/05/25 17:50:39|1|_send_rigctld_command: SIZE ERROR -1 / 13 2024/05/25 17:50:39|1|_send_rigctld_command: rigctld port closed 2024/05/25 17:50:39|1|gtk-rig-ctrl.c:rigctl_run: MAX_ERROR_COUNT (5) reached. Disengaging device!