xArm-Developer / xArm-Python-SDK

Python SDK for UFACTORY robots, 850, xArm5/6/7, and Lite6.
https://www.ufactory.cc
BSD 3-Clause "New" or "Revised" License
163 stars 105 forks source link

xArm does not update through xArm Studio #69

Open dlerner97 opened 1 year ago

dlerner97 commented 1 year ago

I'm trying to update the xArm firmware (1.12.9->2.0) and software (1.12.4->2.0) through xArm Studio but xArm studio claims that "The current software and firmware is up to date." Last week, I successfully updated a robot this way but I've tried 3 different robots this morning and none of them have worked. All 4 of these robots have the same networking configuration. Each is connected directly via ethernet to a router with a bridge address of 192.168.250.1. Each of the robots is set accordingly:

image

I have also confirmed that the routers have access to the internet (can ping 8.8.8.8) and the DNS servers (can nslookup google.com). I was able to update one of these robots through the xarm-tool-gui but I will need to update a robot remotely and cannot do this with the tool.

  1. Is there any way to check if the robot is connected to the internet?
  2. Other than network configuration, are there any other reasons the xArm couldn't find the new firmware?
  3. What else can I do to debug?
  4. We use port forwarding to access the remote robots. It would be extremely helpful if the xarm-tool-gui exposed the port it uses for the installation. This way, we could set up a port forwarding rule to access this port remotely and use the xarm-tool-gui regardless of direct connection. Furthermore, it would be even better if the tool-xarm-gui allowed users to set the port they want to connect to in case we need to set a different port for the port forwarding.
MinnaZhong commented 1 year ago

Hi Dlerner,

You can try to use socket in our PythonIDE module in UFactory Studio software to see if you can access the Internet.

// import socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(10) sock.connect(('google.com', 80)) //sock.connect(('baidu.com', 80))
print('connect success') sock.close()

L2J ARQYH8O$X@N2$6G%IQD