Hamlib rotor address already in use

rotctld, Hamlib 4.0
Report bugs to <hamlib-developer@lists.sourceforge.net>

rot_init called
initrots4_easycomm called
rot_register (201)
rot_register (202)
rot_register (204)
easycomm_rot_init called
set_conf: called
set_conf: token=timeout, val=500
rot_token_lookup called lookup timeout
rot_set_conf called
rot_set_conf: timeout='500'
frontrot_set_conf called
set_conf: token=retry, val=0
rot_token_lookup called lookup retry
rot_set_conf called
rot_set_conf: retry='0'
frontrot_set_conf called
rot_open called
serial_open called
serial_setup called
serial_setup: tcgetattr
serial_setup: cfmakeraw
serial_setup: cfsetispeed=9600,0x000d
serial_setup: cfsetospeed=9600,0x000d
serial_setup: data_bits=8
serial_setup: parity=0
serial_setup: tcsetattr TCSANOW
serial_flush called
tcflush
Opened rot model 204, 'EasycommIII'
Backend version: 20201203.0, Status: Alpha
binding failed (trying next interface): Network error 98: Address already in use
main: bind error - no available interface

I have connected arduino uno to raspberry pi via usb port

and i run command

rotctld -m 204 -r /dev/ttyACM0 -s 9600 -T 127.0.0.1 -t 4533 -C timeout=500 -C retry=0 -vvvvvvvv

Something is already using the tcp port (4533) that rotctld tries to bind to, which probably means another rotctld is already running.
Run ps ax|grep rotctld or pgrep -a rotctld to find out.

Also, try copying the log and pasting it here as text instead of image, it is searchable and quotable.
Put logs etc in preformatted text using that button in this editor, or Ctrl-e.

1 Like

thank you @SA2KNG,
I have run the commands and got following results

$ ps ax|grep rotctld

436 ?        Ss     0:00 /usr/bin/rotctld rotctld -m 202 -r /dev/ttyACM0 -s 9600 -T 127.0.0.1 -t 4533 -C retry=0 -vvvvvvvv > pause
 6111 pts/0    S+     0:00 grep --color=auto rotctld

and

pi@raspberrypi:~ $ pgrep -a rotctld


436 /usr/bin/rotctld rotctld -m 202 -r /dev/ttyACM0 -s 9600 -T 127.0.0.1 -t 4533 -C retry=0 -vvvvvvvv > pause

And what does that prove ?
Where is it started from ?
How did you install and configure it ?

I will provide you all the information and configuration I had made and What i am trying to do…

Hi Sir @SA2KNG,
I am currently on the project of my college to establish a ground station. For the mission, our ground station has to track the NOAA satellite automatically and also receive APT signal and decode it to the image.

For this, Hardware setup:

1. Raspberry Pi 4 Model B Rev 1.2, 4GB RAM:  can be access via ssh or desktop GUI login or real VNC. We are using desktop GUI login

2. Generic RTL2832U Rafael Micro R828D tuner

3. SatNOGS Rotor (only mechanical parts): rotor controller is self designed PCB including Arduino Uno, A4988, stepper motor and optical endstop sensor).

4. centre frequency 137 MHz V-dipole antenna with LNA-SPF5189Z 50-4000 MHz

imageimage
image

Arduino Uno is diretly connected to the Raspberry Pi.

On the software side,

1. SatNOGS Server

2. Manual tracking and decoding

1. SatNOGS Server

   Register Ground Station: https://network.satnogs.org/stations/3186/
      
   Raspberry Pi Client setup: Following these steps available at: https://wiki.satnogs.org/Raspberry_Pi and https://wiki.satnogs.org/SatNOGS_Client_Setup

correct installation verrified

pi@raspberrypi:~ $ systemctl status satnogs-client

â—Ź satnogs-client.service - SatNOGS client
     Loaded: loaded (/etc/systemd/system/satnogs-client.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2023-08-18 12:55:57 BST; 8min ago
   Main PID: 5123 (satnogs-client)
      Tasks: 4 (limit: 3933)
        CPU: 4.801s
     CGroup: /system.slice/satnogs-client.service
             └─5123 /var/lib/satnogs/bin/python /var/lib/satnogs/bin/satnogs-client

Aug 18 12:55:57 raspberrypi systemd[1]: Started SatNOGS client.

Setting up configuration


Generating support report. Please wait...
------------[ copy here ]------------
{
    "versions": {
        "satnogs-client": "1.8.1",
        "satnogs-client-ansible": "202209101521",
        "satnogs-flowgraphs": "1.4-1",
        "gr-satnogs": "2.3.4.0-1",
        "gr-soapy": "2.1.3.1-1",
        "gnuradio": "3.8.2.0-14",
        "satnogs-config": "0.13.2"
    },
    "state": {
        "is-applied": true,
        "pending-tags": null
    },
    "system": {
        "date": "2023-08-18T12:49:56.220566+00:00",
        "distribution": {
            "DESCRIPTION": "Raspbian GNU/Linux 11 (bullseye)",
            "RELEASE": "11",
            "CODENAME": "bullseye",
            "ID": "Raspbian"
        },
        "pending-updates": false,
        "platform": {
            "system": "Linux",
            "node": "raspberrypi",
            "release": "6.1.21-v8+",
            "version": "#1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023",
            "machine": "aarch64"
        },
        "memory": {
            "total": 3978645504,
            "available": 2994151424,
            "percent": 24.7,
            "used": 719589376,
            "free": 1842515968,
            "active": 1218703360,
            "inactive": 587558912,
            "buffers": 82264064,
            "cached": 1334276096,
            "shared": 185831424,
            "slab": 134963200
        },
        "disk": {
            "total": 30443524096,
            "used": 8013725696,
            "free": 21137813504,
            "percent": 27.5
        }
    },
    "configuration": {
        "hamlib_utils_rot_enabled": true,
        "hamlib_utils_rot_opts": "rotctld -m 202 -r /dev/ttyACM1 -s 9600 -T 127.0.0.1 -t 4533 -C retry=0 -vvvvvvvv > pause",
        "satnogs_antenna": "RX",
        "satnogs_api_token": "[redacted]",
        "satnogs_artifacts_api_token": "[redacted]",
        "satnogs_rf_gain": "32.8",
        "satnogs_rx_samp_rate": "2.048e6",
        "satnogs_soapy_rx_device": "driver=rtlsdr",
        "satnogs_station_elev": "1401",
        "satnogs_station_id": "3186",
        "satnogs_station_lat": "27.671114",
        "satnogs_station_lon": "85.439625"
    }
}
------------[ copy end ]-------------

Press Enter to continue...

i did test for rotctld status: I killed the previous process of rotctld

pi@raspberrypi:~ $ sudo systemctl status rotctld.service


â—Ź rotctld.service - rotctld server
     Loaded: loaded (/etc/systemd/system/rotctld.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2023-08-18 15:17:10 BST; 13min ago
   Main PID: 10607 (rotctld)
      Tasks: 1 (limit: 3933)
        CPU: 12ms
     CGroup: /system.slice/rotctld.service
             └─10607 /usr/bin/rotctld

Aug 18 15:17:10 raspberrypi systemd[1]: Started rotctld server.

and

pi@raspberrypi:~ $ ps ax|grep rotctld


10607 ?        Ss     0:00 /usr/bin/rotctld
11122 pts/0    S+     0:00 grep --color=auto rotctld

and,

pi@raspberrypi:~ $ pgrep -a rotctld

10607 /usr/bin/rotctld

Here I found.

pi@raspberrypi:~ $ netstat -lnt

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:4532          0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:2947          0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:4533            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 :::5900                 :::*                    LISTEN     
tcp6       0      0 ::1:2947                :::*                    LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN

I had only configured these configuration in SatNOGS Artifacts
Then when i run the command:

>  $ rotctld -m 202 -r /dev/ttyACM1 -s 9600 -T 127.0.0.1 -t 4533 -C timeout=500 -C retry=0 -vvvvvvvv > pause
rotctld, Hamlib 4.0
Report bugs to <hamlib-developer@lists.sourceforge.net>

rot_init called
initrots4_easycomm called
rot_register (201)
rot_register (202)
rot_register (204)
set_conf: called
set_conf: token=timeout, val=500
rot_token_lookup called lookup timeout
rot_set_conf called
rot_set_conf: timeout='500'
frontrot_set_conf called
set_conf: token=retry, val=0
rot_token_lookup called lookup retry
rot_set_conf called
rot_set_conf: retry='0'
frontrot_set_conf called
rot_open called
serial_open called
serial_setup called
serial_setup: tcgetattr
serial_setup: cfmakeraw
serial_setup: cfsetispeed=9600,0x000d
serial_setup: cfsetospeed=9600,0x000d
serial_setup: data_bits=8
serial_setup: parity=0
serial_setup: tcsetattr TCSANOW
serial_flush called
tcflush
Backend version: 20191206.0, Status: Beta
binding failed (trying next interface): Network error 98: Address already in use
main: bind error - no available interface

and running command:


$ sudo journalctl -f -u satnogs-client.service
-- Journal begins at Sat 2022-09-10 18:10:32 BST. --
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     return request("get", url, params=params, **kwargs)
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/requests/api.py", line 59, in request
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     return session.request(method=method, url=url, **kwargs)
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/requests/sessions.py", line 587, in request
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     resp = self.send(prep, **send_kwargs)
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/requests/sessions.py", line 701, in send
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     r = adapter.send(request, **kwargs)
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/requests/adapters.py", line 578, in send
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     raise ReadTimeout(e, request=request)
Aug 18 14:01:47 raspberrypi satnogs-client[5123]: requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='network.satnogs.org', port=443): Read timed out. (read timeout=45)

and this command

pi@raspberrypi:~ $ sudo journalctl -f -n 50 -u satnogs-client.service

-- Journal begins at Sat 2022-09-10 18:10:32 BST. --
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/urllib3/connectionpool.py", line 449, in _make_request
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     six.raise_from(e, None)
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "<string>", line 3, in raise_from
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/urllib3/connectionpool.py", line 444, in _make_request
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     httplib_response = conn.getresponse()
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/usr/lib/python3.9/http/client.py", line 1347, in getresponse
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     response.begin()
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/usr/lib/python3.9/http/client.py", line 307, in begin
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     version, status, reason = self._read_status()
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/usr/lib/python3.9/http/client.py", line 268, in _read_status
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/usr/lib/python3.9/socket.py", line 704, in readinto
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     return self._sock.recv_into(b)
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/usr/lib/python3.9/ssl.py", line 1241, in recv_into
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     return self.read(nbytes, buffer)
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/usr/lib/python3.9/ssl.py", line 1099, in read
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     return self._sslobj.read(len, buffer)
Aug 18 14:01:47 raspberrypi satnogs-client[5123]: socket.timeout: The read operation timed out
Aug 18 14:01:47 raspberrypi satnogs-client[5123]: During handling of the above exception, another exception occurred:
Aug 18 14:01:47 raspberrypi satnogs-client[5123]: Traceback (most recent call last):
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/requests/adapters.py", line 489, in send
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     resp = conn.urlopen(
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/urllib3/connectionpool.py", line 787, in urlopen
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     retries = retries.increment(
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/urllib3/util/retry.py", line 550, in increment
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     raise six.reraise(type(error), error, _stacktrace)
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/urllib3/packages/six.py", line 770, in reraise
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     raise value
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/urllib3/connectionpool.py", line 703, in urlopen
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     httplib_response = self._make_request(
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/urllib3/connectionpool.py", line 451, in _make_request
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/urllib3/connectionpool.py", line 340, in _raise_timeout
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     raise ReadTimeoutError(
Aug 18 14:01:47 raspberrypi satnogs-client[5123]: urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='network.satnogs.org', port=443): Read timed out. (read timeout=45)
Aug 18 14:01:47 raspberrypi satnogs-client[5123]: During handling of the above exception, another exception occurred:
Aug 18 14:01:47 raspberrypi satnogs-client[5123]: Traceback (most recent call last):
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/satnogsclient/scheduler/tasks.py", line 191, in get_jobs
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     response = requests.get(url,
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/requests/api.py", line 73, in get
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     return request("get", url, params=params, **kwargs)
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/requests/api.py", line 59, in request
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     return session.request(method=method, url=url, **kwargs)
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/requests/sessions.py", line 587, in request
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     resp = self.send(prep, **send_kwargs)
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/requests/sessions.py", line 701, in send
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     r = adapter.send(request, **kwargs)
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:   File "/var/lib/satnogs/lib/python3.9/site-packages/requests/adapters.py", line 578, in send
Aug 18 14:01:47 raspberrypi satnogs-client[5123]:     raise ReadTimeout(e, request=request)
Aug 18 14:01:47 raspberrypi satnogs-client[5123]: requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='network.satnogs.org', port=443): Read timed out. (read timeout=45)

I don’t know what I missed. But I am still trying…

2. Manual tracking and decoding

After not getting good results, we tried to track using g-predict and GQRX installed on same Raspberry Pi to record the audio signal but not good results. And one more, we use NOAA APT decoder to decode the open source audio signal to image. And also tried GNU radio companion for visualisation of APT Signal Spectrum.

Upto this our ground staion is configured.!!

Thank you for your patience!

From what I gather, you are running rigctld from satnogs-setup configuration and that one is configured for type 202 and you want to change that to 204 ?
You cannot run rigctld manually when a service is configured to run it. The serial port will be busy and the tcp port will be in use already.
Also make sure the ttyACM0 or ttyACM1 is the correct one, it could also be ttyAMA0 or ttyS0. look in /dev for these.