Fix network configuration

From ElphelWiki
Jump to: navigation, search


In the firmware 20180511 (and older) the ip address and network mask of the camera are set by /etc/elphel393/ script overriding /etc/network/interfaces, which appeared to have incorrect configuration.

In the newer firmware releases this functionality will be disabled to bring the network setup to a more traditional way, i.e. by modifying /etc/network/interfaces.

Follow the instructions below to fix this for the older firmware.

How to update network setup for 20180511 (or older firmware)

Quick instructions

  • Camera is online. The IP address can be any, e.g.,
  • PC: in a terminal window (GNU/Linux OS) type the following commands:
tar -xzpf fix_net_config.tar.gz
cd fix_net_config

Example output:

Copy data to the target...
100%  925     0.9KB/s   00:00                                                                                                                                                                                                                           
100% 2701     2.6KB/s   00:00    
Run from the target...
Step 0: Start
Step 1: Unpack
Step 2: Read current network settings
Settings for /etc/network/interfaces:
Step 3: Apply network settings to file
Step 4: Overwrite filesystem
Step 5: Request syncing (if boot from flash)
    * if boot from SD card - simply reboot
    * if boot from flash -
      ~$ ssh root@
      root@elphel393:~# shutdown -hP now
      then powercycle
  • To sync the changes to the file system:
ssh root@
#boot from NAND flash?
root@elphel393:~# shutdown -hP now
#boot from card?
root@elphel393:~# sync
root@elphel393:~# reboot -f

Next, any extra changes related to setting ip address, netmask or gateway made to /etc/elphel393/ can be commented out or the original file can be used.


From a Linux PC, download fix_net_config.tar.gz. The archive contains 2 scripts - one (shell) is run from the host PC, another (python) will be copied and automatically run on the camera. The python script will write the current configuration (IP, mask, default gateway for eth0) to /etc/network/interfaces and overwrite one of the init scripts to disable network configuration in /etc/elphel393/ on startup.

├──               - run from host pc: copies and rootfs.tar.gz then runs
├──            - unpacks rootfs.tar.gz, replaces network configuration with the current one and copies all files to the root file system
└── rootfs.tar.gz                - archive with 2 files
    ├──etc/init.d/init_elphel393 - init script that disables network setup in /etc/elphel393/
    └──etc/network/interfaces    - network setup for eth0