Pynq on ZC706 with IPv4 Problem

I have managed to rebuild the Pynq image for my ZC706 board. Initially I connect to board with a USB cable to confirm it is booted correctly(via serial). Upon fully initialized, I perform ifconfig a I can see two eth0: The first one is for inet6 and the second (eth0:1) for inet (which is 192.168.2.99 as expected)
Unfortunately after some seconds the board isn’t accessible via 192.168.2.99 ip address (browser, SAMBA, ping, …)
Again performing ifconfig, it shows only one eth0 and its inet6. Also, pinging the host computer ip address via the pynq linux the message connect: Network is unreachable is shown. Why this connection is not stable and how should I fix it?
By the way I directly connect my PC to board via an ethernet cable and the PC’s ip address is in the rage of board’s.

This looks strange; have you changed your interface.d file?

Hi rock
No not all !
The image below is the intefaces.d content

By the way, after performing sudo service networking restart made the board working for some time, but after board restart, again, like before…

can you paste your ifconfig screenshot for a working case as well as the non-working case?

The output of ifconfig immediately after boot:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 192.168.1.109  netmask 255.255.255.0  broadcast 192.168.1.255
    inet6 fe80::a0dc:e0ff:fe24:8ae3  prefixlen 64  scopeid 0x20<link>
    ether a2:dc:e0:24:8a:e3  txqueuelen 1000  (Ethernet)
    RX packets 34  bytes 4848 (4.8 KB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 100  bytes 14549 (14.5 KB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    device interrupt 28  base 0xb000

eth0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.177  netmask 255.255.255.0  broadcast 192.168.1.255
        ether a2:dc:e0:24:8a:e3  txqueuelen 1000  (Ethernet)
        device interrupt 28  base 0xb000

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 168  bytes 20277 (20.2 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 168  bytes 20277 (20.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

After a couple of minutes:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::a0dc:e0ff:fe24:8ae3  prefixlen 64  scopeid 0x20<link>
        ether a2:dc:e0:24:8a:e3  txqueuelen 1000  (Ethernet)
        RX packets 34  bytes 4848 (4.8 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 100  bytes 14549 (14.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 28  base 0xb000

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 168  bytes 20277 (20.2 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 168  bytes 20277 (20.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

But after performing sudo ifconfig eth0 {board's static ip} the IPv4 comes back again. I’ve noticed that the problem has faded away and the above issue never appeared again (at least till now!!).
By the way, I changed the ip of the board to be in the range of my router (to be able to bridge their connection) and the problem was not related to this change.

Glad you solved the issue.

FYI, eth0:1 is supposed to be used for static IP, while eth0 is used for dynamic IP. I am guessing you changed the file /etc/network/interfaces.d/eth0. The original content should be:

auto eth0
iface eth0 inet dhcp

auto eth0:1
iface eth0:1 inet static
address 192.168.2.99
netmask 255.255.255.0
1 Like

plz send me the procedure u done to make and build PYNQ IMAGE FOR ZC706
as in my case its giveing error when write make commnad terminal gets terminated

Could you please report the error so me or anyone else suggest a solution.

First i wana tried for PYNQZ-1 BOARD to rebuild i get error as shown in imges
also if i do shifft from user/bin to /sdbuild and there if i ran MAKE command then terminal gets crashes

What did you do to get the PYNQ folder? Did you copy it from somewhere or did you do git clone?

i downloaded it from github version pynq2.3
issue is sorted as need to change in the config file
but now i got BOOT.bin and image.ub file
i have copied it to sd card but while booting i m getting following error how to sort out it

can aanyone tel whts the error as building image stuck …
plz tel me whats the procedure for building ?how to custmize petalinux_bsp folder,base and aall

please help for making pynq image for zc706

It looks like the Makefile detects you already have all the outputs so it won’t run again. Easiest way to get a clean start is to run make clean before you run make. Also

make BOARDDIR=/home/..../PYNQ_v2.3/boards

is fine; you don’t need that extra zc706 at the end (assuming you have ZC706.spec in that folder).

Hi, I know this is an old post, but maybe my answer could come useful.

I had the same problem, i.e. I did not have the ipv4 IP address whenever I typed ifconfig -a, but only the ipv6 one. Even when I performed the command sudo ifconfig eth0 {board's static ip}, which I took from this post, it literally worked for 2/3 seconds, then it disappeared again.

I cannot have my board connected directly to a router, hence I connected it to my wifi through the ethernet cable of my laptop using this link: How to Share Wired Internet Via Wi-Fi and Vice Versa on Linux(second paragraph).

This is a workaround that not only lets you avoid the pain of a static IP address, but it also has the advantage of having the board directly connected to internet. After connecting the board to internet, I connected serially to it and I read the IP address of the eth0, which in my case was inet 10.42.0.166 netmask 255.255.255.0 broadcast 10.42.0.255, that is in fact the same netmask as my wifi.

Hoping someone could actually find this useful, take care.

1 Like