Difference between revisions of "Change Network Address of Embedded Linux PC"

From Wiki
(Split into two sections for embedded and CPRog/iRC)
(Added section for RPi)
Line 3: Line 3:
 
Nevertheless here's a short how-to:
 
Nevertheless here's a short how-to:
  
== Embedded control ==
+
= Embedded control =
  
1. Log into the Embedded Linux Computer via ssh.
+
== Phytec-based controls ==
 +
1. Log into the Embedded Linux Computer via [[FTP_and_PuTTY_Access|SSH]].
  
 
2. Check what robot '''Type''' is referenced in <code>/home/root/TinyCtrl/Data/Projects/EmbeddedCtrl.prj</code>
 
2. Check what robot '''Type''' is referenced in <code>/home/root/TinyCtrl/Data/Projects/EmbeddedCtrl.prj</code>
Line 19: Line 20:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
4. Edit the file <code>/lib/systemd/network/10-eth0.network</code>
+
4. Edit the file <code>/lib/systemd/network/eth0.network</code> or <code>/lib/systemd/network/10-eth0.network</code>
 
<syntaxhighlight lang=bash>
 
<syntaxhighlight lang=bash>
 
[Match]
 
[Match]
Line 38: Line 39:
 
6. Make any changes required to your network settings on the Windows PC and/or Router.
 
6. Make any changes required to your network settings on the Windows PC and/or Router.
  
== CPRog / iRC ==
+
== Raspberry Pi-based controls ==
 +
1. Log into the Embedded Linux Computer via [[FTP_and_PuTTY_Access|SSH]].
 +
 
 +
2. Check what robot '''Type''' is referenced in <code>/home/robot/TinyCtrl/Data/Projects/EmbeddedCtrl.prj</code>
 +
<syntaxhighlight lang=xml>
 +
[...]
 +
<Robot Name="igus Gantry" Type="drylin-gantry\DLE-RG-0001" Homepos="100.0 100.0 20.0 0.0 0.0 0.0"
 +
[...]
 +
</syntaxhighlight>
 +
3. Edit the IP in the file <code>/home/robot/TinyCtrl/Data/Robots/<CATEGORY>/<ROBOT_TYPE>/<ROBOT_TYPE>.xml</code>
 +
 
 +
<syntaxhighlight lang=xml>
 +
<RemoteConfiguration IP="192.168.3.11" CycleTimeMS="50" Protocol="CRI_V01" />
 +
</syntaxhighlight>
 +
 
 +
4. Find and edit the following section in file <code>/etc/dhcpcd.conf</code>
 +
<syntaxhighlight lang=bash>
 +
interface eth0
 +
static ip_address=192.168.3.11/24
 +
#static ip6_address=fd51:42f8:caae:d92e::ff/64
 +
static routers=192.168.3.1
 +
</syntaxhighlight>
 +
 
 +
5. Reboot the Embedded Linux Computer.
 +
 
 +
6. Make any changes required to your network settings on the Windows PC and/or Router.
 +
 
 +
= CPRog / iRC =
  
 
CPRog/iRC needs to be configured to connect to the new IP address:
 
CPRog/iRC needs to be configured to connect to the new IP address:

Revision as of 17:11, 30 September 2021

Changing the IP address of the embedded Linux PC is highly discouraged, as it is very easy to lock oneself out of the system. Once that happens, only serial terminal access may remain, which requires additional hardware.

Nevertheless here's a short how-to:

Embedded control

Phytec-based controls

1. Log into the Embedded Linux Computer via SSH.

2. Check what robot Type is referenced in /home/root/TinyCtrl/Data/Projects/EmbeddedCtrl.prj

[...]
<Robot Name="igus Gantry" Type="drylin-gantry\DLE-RG-0001" Homepos="100.0 100.0 20.0 0.0 0.0 0.0"
[...]

3. Edit the IP in the file /home/root/TinyCtrl/Data/Robots/<CATEGORY>/<ROBOT_TYPE>/<ROBOT_TYPE>.xml

<RemoteConfiguration IP="192.168.3.11" CycleTimeMS="50" Protocol="CRI_V01" />

4. Edit the file /lib/systemd/network/eth0.network or /lib/systemd/network/10-eth0.network

[Match]
Name=eth0

[Network]
DHCP=ipv4
Address=192.168.3.11/24

[DHCP]
#When CriticalConnection is applied to networkd, the IP address will not
#change after this service was reloaded. Just reboot the system.
CriticalConnection=true

5. Reboot the Embedded Linux Computer.

6. Make any changes required to your network settings on the Windows PC and/or Router.

Raspberry Pi-based controls

1. Log into the Embedded Linux Computer via SSH.

2. Check what robot Type is referenced in /home/robot/TinyCtrl/Data/Projects/EmbeddedCtrl.prj

[...]
<Robot Name="igus Gantry" Type="drylin-gantry\DLE-RG-0001" Homepos="100.0 100.0 20.0 0.0 0.0 0.0"
[...]

3. Edit the IP in the file /home/robot/TinyCtrl/Data/Robots/<CATEGORY>/<ROBOT_TYPE>/<ROBOT_TYPE>.xml

<RemoteConfiguration IP="192.168.3.11" CycleTimeMS="50" Protocol="CRI_V01" />

4. Find and edit the following section in file /etc/dhcpcd.conf

interface eth0
static ip_address=192.168.3.11/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
static routers=192.168.3.1

5. Reboot the Embedded Linux Computer.

6. Make any changes required to your network settings on the Windows PC and/or Router.

CPRog / iRC

CPRog/iRC needs to be configured to connect to the new IP address:

7. Start CPRog/iRC. Do not maximise the Window and check which Project (.prj) file is loaded by looking at the title bar.

8. Close CProg/iRC and open the project file (C:\CProg\Data\Projects\<CATEGORY>\<PROJECTFILE>.prj). Check what robot file is referenced (same as in step 2).

9. Edit the robot file C:\CProg\Data\Robots\<CATEGORY>\<ROBOT_TYPE>\<ROBOT_TYPE>.xml

10. Change the IP address as shown in step 3.