Xilinx / PYNQ-Networking

Networking Overlay on PYNQ
BSD 3-Clause "New" or "Revised" License
44 stars 18 forks source link

issue with ethernet interface #6

Open aniqurrehman opened 6 years ago

aniqurrehman commented 6 years ago

after installing pynq networking i am unable to access pynq via browser. is this due to changes made by pynq networking to the eth0 file in interfaces.d?? and i also don't have old backup up file.

yunqu commented 6 years ago

https://github.com/Xilinx/PYNQ-Networking/blob/master/setup.py#L62

The setup.py should have made a copy in your system. You can recover using that.

For you issue, there are several things to do first:

1.upgrade your PYNQ image to v2.2: sudo pip3.6 install --upgrade git+https://github.com/Xilinx/PYNQ.git

  1. then pip install the latest networking overlay.
aniqurrehman commented 6 years ago

i checked now PYNQ networking was not completely installed. after changing eth0 file contents as following i was able to access pynq thorough browser. auto eth0 iface eth0 inet dhcp

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

aniqurrehman commented 6 years ago

i i upgraded the pynq and installed the latest networkking overlay from pynq which changed my eth0 file contests as following but still i am not able to access jupyter-notebook via browser. image

aniqurrehman commented 6 years ago

how to resolve this issue because without it i am not able to use this overlay.

yunqu commented 6 years ago

I need more information. Can you introduce a little more about your setup? Wireless, wired? Dynamic IP or static IP?

aniqurrehman commented 6 years ago

i am using static ip and using wired setup following is the snapshot of the system. image

yunqu commented 6 years ago

Is your snapshot showing the system before installing networking overlay? (if not can you attach the screenshot after installing networking overlay)

If so, it seems that the pynq networking has not been installed successfully. Otherwise you would be able to see br0 as an interface name shown there.

Also, after installing networking overlay, try reboot the board to see if br0 shows up.

I have not tried static IP with the networking overlay; however it should work as long as eth0:1 shows up correctly.

aniqurrehman commented 6 years ago

no it is after installing the networking overlay actually i removed br0 line from eth0 file because with that i was unable to access my board from browser.

jeffiy commented 6 years ago

@yunqu br0 is showing there but now i am unable to access jupyter notebook from browser . image

jeffiy commented 6 years ago

after trying i am able to solve connectivity issue with the following eth0 configuration.

image

But now when i run following code in jupyter notebook i got an Error shown on serial terminal. image

Error shown on Serial port image

image

yunqu commented 6 years ago

Kernel seems crashed. Maybe the br0 was assumed to be bridging on top of eth0 instead of the static eth0:1. Instead of trying to resolve this issue by yourself, is it possible to plug in an Ethernet cable to your board, and start over again? Just want to make sure this is actually working before you want to play around the static IP.

jeffiy commented 6 years ago

as per your instructions i tried it again by reinstalling but same issue that jupyter notebook is not accessible.

jeffiy commented 6 years ago

it am stuck in this issue since a month.

yunqu commented 6 years ago

Let me confirm this: you used DHCP for your Ethernet connection on the board (say you have an assigned IP address a.b.c.d). Then are you able to directly type in that IP in your web browser to access it (assuming your PC is also connected to the same network)?

jeffiy commented 6 years ago

no i am not using dhcp i have connected board directly to my PC.

yunqu commented 6 years ago

@jeffiy As I said, what you should try is to connect the board to the network directly, and use your PC to access the board using the dynamically assigned IP.

The br0 option installed by the networking overlay should not be changed. The kernel object file is dependent on that. I have been using the same br0 configuration and accessing jupyter notebook using the dynamic IP without any trouble.

Also, maybe reboot your board after installation.

stephenneuendorffer commented 6 years ago

@jeffiy Have you configured the FPGA first? Also, if you're not the same person as @aniqurrehman, then please open a new issue, otherwise things get confused.

jeffiy commented 6 years ago

@stephenneuendorffer what to configure in in FPGA.? i just installed the PYNQ-Networking overlay from git repository into my board. no we are working together and having the same issue.

yunqu commented 6 years ago

If you really want to use the static IP to connect your board with PC, another hacky thing to try, is to get rid of the original eth0 DHCP and make eth0 IP static assigned (not eth0:1), something like:

auto eth0
iface eth0 inet static
address 192.168.2.99
netmask 255.255.255.0

auto br0
iface br0 inet dhcp
bridge_ports eth0

Make sure you backup your original file /interface.d/eth0.

jeffiy commented 6 years ago

Thanks @yunqu i try this and then let you know.

jeffiy commented 6 years ago

@yunqu i changed configuration as you mentioned but still not working.

image

jeffiy commented 6 years ago

when i ping from both sides it says destination host unreachable.

stephenneuendorffer commented 6 years ago

After booting the board, you should be able to connect to the jupyter web server. Can you do this? Can you run through the first three notebooks successfully (which don't use any FPGA acceleration)?

It looks like (based on @jeffiy's comment) that you're getting stuck on the fourth notebook. You have to run the first two cells in the notebook (which download the overlay) before the third. It looks like the kernel driver for the bridge IP is crashing, which shouldn't happen if the overlay has been downloaded. It doesn't surprise me that you run into problems after that point. We need to determine why the kernel driver is crashing.

jeffiy commented 6 years ago

issue is that after booting the board, i am not able to connect to the jupyter web server. i cannot open it in browser.

stephenneuendorffer commented 6 years ago

@jeffiy I think the configuration for eth0:1 needs to be updated too. Please try this from the serial port: sudo ifconfig eth0:1 down sudo ifconfig br0:1 192.168.2.99

And then see if you can ping back and forth.

jeffiy commented 6 years ago

@stephenneuendorffer Yes now i can open jupyter-notebook via browser.

jeffiy commented 6 years ago

@stephenneuendorffer what was the problem and what should i do now?

stephenneuendorffer commented 6 years ago

The problem is that when the bridge is enabled, the eth0 interface is no longer logically accessible independently of the bridge. As a side effect this means that the eth0:1 interface is not legal. To make the fix permanent, you can change the /etc/network/interfaces.d/eth0 file to replace 'eth0:1' with 'br0:1'. This file is processed by ifup to determine the correct ifconfig commands. @yunqu if this works we should patch things this way.

yunqu commented 6 years ago

Let me know if this is the fix: https://github.com/Xilinx/PYNQ-Networking/pull/9

jeffiy commented 6 years ago

I have made changes as yoou mentioned but now i getting other errors. image

jeffiy commented 6 years ago

hi @yunqu and @stephenneuendorffer
what should i do now?

bytesByHarsh commented 5 years ago

Try assigning your PC static IP address.

https://pynq.readthedocs.io/en/v2.0/appendix.html#assign-your-computer-a-static-ip

Follow this link. Worked for me.

muazshahid commented 1 year ago

I was able to fix the issue with the ethernet connection, I am using the latex image on the PYNQ-Z2 that is 3.0.1 on Windows 11 22H2. I did not make changes to anything in the interfaces.d file.

I followed these steps:

  1. Open properties of ethernet adapter
  2. Click QoS Packet Scheduler, then click Configure button.
  3. Go to Advanced tab, and select the Speed & Duplex property
  4. Change its value to 10Mbps Full Duplex.
  5. Apply the settings and ping 192.168.2.99

You should now be able to access jupyter-notebook on 192.168.2.99.

Screenshot for reference

image