I am writing to ask about how to get the IP address on RNDIS of the SkyController USA. I connected this latter to an Ubuntu machine using a USB-C cable and I checked that it was detected successfully using the lsusb command. However, when I ran ip addr, I could not see the IP address of the SkyController USA as explained in this link https://developer.parrot.com/docs/webserver-api/overview.html?utm_source=chatgpt.com#skycontroller-3-and-skycontroller-4. I am writing to ask if the SkyController USA has this configuration or it exists only in the SkyController 3/4? If so, how can I get the IP address in question?
This is the resulto of the “ip addr show” command.
**1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 08:92:04:15:39:90 brd ff:ff:ff:ff:ff:ff
3: wlp146s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
3: wlp146s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.1.151/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp146s0
valid_lft 53346sec preferred_lft 53346sec
inet6 2001:861:4281:3840:be67:d45a:ed65:a7a2/64 scope global temporary dynamic
valid_lft 86318sec preferred_lft 14318sec
inet6 2001:861:4281:3840:6dc5:7ffe:de4c:ee5d/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 86318sec preferred_lft 14318sec
inet6 fe80::6a3a:4c0c:7f6d:dd81/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: gpd0: <POINTOPOINT,MULTICAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 500
link/none
5: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether c6:eb:af:5e:83:05 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
**
Besides, what I have noticed was that the SkyController USA, which is a Samsung Galaxy Tab A 2019, does not have the Tethering Mode. I think this what prevents it to share its IP address on RNDIS.
Thank you for your reply. I really appreciate it.
Ali.
Yes, the solution that you’ve said worked! Thank you very much for your help. I can see the IP address when using the ‘ip addr’ command and I can ping it too. However, the port that is used to reach the drone, which is 4321, is not reachable. When i do nc -vz 192.168.53.1 4321, I see that nc: connect to 192.168.53.1 port 4321 (tcp) failed: Connection refused. Could you help me in this one, please?
Ok, here is the thing that I have been trying to do.
I want to use ROS2 to control the Anafi USA drone. I have found this repo https://github.com/andriyukr/anafi_ros which says that we can connect to the drone either directly using its WiFi or through the SkyController using its IP address on RNDIS. The solution that the authors provided makes use of the SkyController 3 or 4 and nothing was mentionned about the SkyController USA Tablet. My first concern in this discussion was how to get the IP address of the Tablet. Now that this problem was solved, I tried to check if the drone connection was established successfully by running a simple code like in https://developer.parrot.com/docs/olympe/userguide/advanced/physical_drone.html#connect-to-a-drone-through-a-skycontroller, but I ran into other the issue of the unreachable port 4321: 2025-07-29 15:02:04,293 [INFO] olympe.backend - _create_pomp_loop - Creating pomp loop
2025-07-29 15:02:04,294 [INFO] olympe.backend - _do_create - device callbacks have been added to arsdk_ctrl
2025-07-29 15:02:04,294 [INFO] olympe.scheduler - _create_pomp_loop - Creating pomp loop
2025-07-29 15:02:04,298 [INFO] olympe.media - _create_pomp_loop - Creating pomp loop
2025-07-29 15:02:04,298 [INFO] olympe.cellular - _create_pomp_loop - Creating pomp loop
2025-07-29 15:02:06,299 [INFO] olympe.backend - _retry_connect - CtrlBackendMuxIp failed to connect to 192.168.53.1
2025-07-29 15:02:09,300 [ERROR] olympe.backend - aconnect - Failed to connect to 192.168.53.1:4321: -16
2025-07-29 15:02:09,301 [INFO] olympe.backend - _retry_connect - CtrlBackendMuxIp failed to connect to 192.168.53.1
2025-07-29 15:02:10,299 [ERROR] olympe.drone - connect - ‘192.168.53.1 connection timed out
2025-07-29 15:02:10,300 [ERROR] olympe.drone - _do_connect - ‘192.168.53.1 connection retries failed
2025-07-29 15:02:10,301 [INFO] olympe.drone - disconnect - Disconnection with the device OK. IP: b’192.168.53.1’
2025-07-29 15:02:10,302 [INFO] olympe.drone - disconnect - Disconnection with the device OK. IP: b’192.168.53.1’
2025-07-29 15:02:10,304 [INFO] olympe.drone - _on_device_removed - <olympe.arsdkng.cmd_itf.DisconnectedEvent object at 0x7f88301936d0>
2025-07-29 15:02:10,306 [INFO] olympe.scheduler - _destroy_pomp_loop - Pomp loop has been destroyed: subscribers_thread
2025-07-29 15:02:10,415 [INFO] olympe.cellular - _destroy_pomp_loop - Pomp loop has been destroyed: Thread-4
2025-07-29 15:02:10,506 [INFO] olympe.media - _destroy_pomp_loop - Pomp loop has been destroyed: Thread-3
2025-07-29 15:02:10,519 [INFO] olympe.backend - _destroy_pomp_loop - Pomp loop has been destroyed: Thread-2
I hope I have been clearer when explaining the problem.
Thank you again.
Ali.