PYNQ-2.7 on ZCU104 has network connection problem

This is my first post.
I download the PYNQ-v2.7 image file for ZCU104, and could successfully boot the system with the ZCU104 board.
I found out that network connection to outer world failed with the names, such as, google.com. I checked with PYNQ v2.6, and it works with this version.
It seems to me that name resolving seems not working in v2.7.

1 Like

Can you provide more info?
How is your board connected to your network?

Did you run ip addr on the board?
Did you check your network?

Cathal

Dear Cathal,

My ZCU104 board is connected to a local network using a cabe through a hub The local network in an office shared by several devices is connected to outer world through a conventional gateway, which I think is a sort of typical network environment.
The board has two IP addr, the given one 192.168.2.99, and another provate address dynamically allocated by DHCP.
With the v2.6, I could access github.com to set up DPU-PYNQ without any problem, but no success with v2.7 because of network access failure. I used the brand-new images for both versions, with the same ZCU104 board, while keeping the network environment.

Let me know if you need more information.
I would hope to hear some good news soon.
Thanks in advance.

Hideki

Another information.
Behavior for ping is different between PYNQ v2.6 and v2.7.
In PYNQ v2.7, I can ping from ZCU104 some local machines, such as my MacBook and Ubuntu desktop machine;

ping AAAA.local
ping BBBB.local
and also ping ZCU104 from these machines,
% ping pynq.local
In the PYNQ v2.6, these were not possible.

Hideki

Did you run ip addr on the board? Can you copy the output here?

Cathal

1 Like

Dear Cathal,

xilinx@pynq:~$ ip addr
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: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether a6:31:1c:44:aa:2b brd ff:ff:ff:ff:ff:ff
3: sit0@NONE: mtu 1480 qdisc noop state DOWN group default qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
4: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN group default qlen 10
link/can
5: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0a:35:07:1e:0c brd ff:ff:ff:ff:ff:ff
inet 192.168.2.127/24 brd 192.168.2.255 scope global dynamic eth0
valid_lft 13328sec preferred_lft 13328sec
inet 192.168.2.99/24 brd 192.168.2.255 scope global secondary eth0:1
valid_lft forever preferred_lft forever
inet6 2408:211:4e23:4c00:20a:35ff:fe07:1e0c/64 scope global dynamic mngtmpaddr
valid_lft 14326sec preferred_lft 12526sec
inet6 fe80::20a:35ff:fe07:1e0c/64 scope link
valid_lft forever preferred_lft forever

xilinx@pynq:~$ ping github.com
ping: github.com: Temporary failure in name resolution

xilinx@pynq:~$ ping 13.114.40.48
PING 13.114.40.48 (13.114.40.48) 56(84) bytes of data.
64 bytes from 13.114.40.48: icmp_seq=1 ttl=42 time=11.1 ms
64 bytes from 13.114.40.48: icmp_seq=2 ttl=42 time=8.36 ms
64 bytes from 13.114.40.48: icmp_seq=3 ttl=42 time=6.74 ms
64 bytes from 13.114.40.48: icmp_seq=4 ttl=42 time=7.40 ms
^C
— 13.114.40.48 ping statistics —
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 6.737/8.385/11.053/1.644 ms

Hideki

try adding the line nameserver 8.8.8.8 to the the /etc/resolv.conf file:
nano /ete/resolv.conf → nameserver 8.8.8.8
This one has worked for me once.

/etc/resolve.conf is dynamically created, and changing it directly is not recommended.
Thus, I tried;

sudo systemd-resolve —interface=eth0 —set-dns=8.8.8.8

systemd-resolve —status
I could see DNS Server for eth0, and I now can ping to outer world.
ping github.cim
Thank you very much for your cooporation.
Best Hideki

1 Like

Hi guys, I have solved the problem by following steps posted on stackoverflow originally:

  1. Disable “systemd-resolved” service:
    sudo systemctl disable systemd-resolved.service

  2. Stop the service:
    sudo systemctl stop systemd-resolved.service

  3. Remove the link to “/run/systemd/resolve/stub-resolv.conf” in “/etc/resolv.conf”
    sudo rm /etc/resolv.conf

  4. Add a manually created “resolv.conf” in “/etc/”
    sudo vim /etc/resolv.conf

  5. Add your prefered DNS server there
    nameserver 8.8.8.8

This solutions work well for my own ZCU104 board, I can connect to the Internet after doing this. It still works well after every reboot.

This solution is from the following post on Stackoverflow: ubuntu - ping: google.com: Temporary failure in name resolution - Stack Overflow

1 Like