PYNQ: PYTHON PRODUCTIVITY

PYNQ-Z2 board - Ethernet connection query

I am new to this. Planning to purchase the PYNQ-Z2 board advanced kit and start using it with the Xilinx Vivado tool but need to clarify few things before I go ahead purchasing it.

The PYNQ-Z2 board advanced kit comes with an Ethernet cable. My laptop has 1 USB 3.1 Gen1 Type A & 2 USB 3.1 Gen2 Type C but no Ethernet out.

Will I require a "USB-C to Ethernet adapter, Type C Gigabit Ethernet Adapter cable, to connect the network (laptop -> Pynq-z2 board) if I want to use the source of my laptop (out) from one of the 2 USB 3.1 Gen2 Type-C to connect to the PYNQ-Z2 board Ethernet? Please confirm

A prompt reply to this matter will be appreciated.

As I mentioned earlier I am new to this & planning to purchase a PYNQ-Z2 board advanced kit and trying to see whether I have all info required when the kit arrives.

I am planning using windows10 operating system (not planning to install any version of Linux on Windows 10), when booting up the board. Is this ok ?

Should I just follow the following Windows instructions ?

https://pynq.readthedocs.io/en/latest/getting_started/pynq_z2_setup.html
https://pynq.readthedocs.io/en/latest/appendix.html#assign-your-computer-a-static-ip

Hi @kanugent,

The Ethernet adapter is for providing you with a GUI interface on your browser. A Possible alternative would be to connect the board to a Wi-Fi Router and then connect your laptop/PC to the same. If not, then you could adjust with a terminal shell interface which does not require the Ethernet or Wi-Fi connection.

The usage of the board is not restricted to any operating system. If you are planning to use Windows(Windows 10 in your case), you can follow the same instructions in the links.

Note:- Setting up the static IP is only for Ethernet connections or connections that involve a direct link between the board and the laptop/desktop. In other cases you may require an active internet connection with all the required configurations.

Hi Sanjay,

Thanks for your prompt reply.

My Router is in another room to my laptop workstation.

So for the board to automatically get an IP address this can be done just once? by connecting the board to the Wi-Fi router using the ethernet cable (this cannot be done wirelessly) and then connect the laptop to the Wi-Fi router. My laptop is already connected to the Wi-Fi router wirelessly so I do not need an Ethernet cable here.

So I’m I right to say that once the board automatically gets an IP address (this does not need to be setup again every time I power up the board), it can communicate with the laptop wirelessly (if my laptop beforehand is already connected to the Wi-Fi router wirelessly) ?

I am planning to follow the following windows instructions “Get Start with PYNQ-Z2 on Windows” :
https://www.hackster.io/SeeedStudio/get-start-with-pynq-z2-on-windows-43e2d3

Is this a better link to the previous ones listed ?

Hey @Kanugent,

I just started working with the Pynq Z1. I also have my router in the other room where the pynq board is connected to the WiFi router through Ethernet.
When you first connect to pynq board through jupyter, it should have a default IP that is already set to, or you can connect through the proxy.

If you want to connect to the Pynq board wirelessly, I think you need to have a WiFi dongle. I want to do this in the future, I think this post gives information on how to do it:

RALink WiFi dongle with PYNQ/pynq/notebooks/common/wifi.ipynb

hope this helps, cheers

Hi Reynaldo,

So you have connected your Pynq board permanently to the Wi-Fi router in the other room via the Ethernet cable and you were able wirelessly on your computer in the other room to connect through the Jupyter. But the board is not beside you by your computer.
Is this the case?

So to be able to properly connect the PYNQ board wirelessly to the router as you stated will require a WiFi dongle. The link you provided suggests the RT5370-based USB (on Amazon I could see TB Ralink 5370 USB WiFi dongle which should be identical?) or the TP-Link USB Wi-Fi adapter for PC N150 dongle. Hopefully, either of them should work for me too. Thinking to go for the TB Ralink 5370 USB WiFi dongle one… But need to purchase the PYNQ-Z2 board first…

Hey @kanugent,

Yes, that is the case. Pynq board connect to WiFi router and laptop connected to WiFi network.

Best of luck!

Hi Reynaldo,

I bought the TB Ralink Wifi USB Dongle.

Test1:
I have now also the PYNQ-Z2 board & initially connected the ethernet cable from my router to the board + powered the board from the USB of the laptop to the micro usb of the board. The board was booted up successfully (seen the correct LEDs ON/OFF sequences. I also managed to connect to Jupiter successfully (board connected to network http://pynq:9090).

So next step (test2) I want is to take my board to another room away from the router ie connect the USB dongle to the USB Host of the PYNQ-Z2 board to get wireless connection to the router? Is this the case? Please confirm.

Will this just work instantly and be able to achieve same results as I had on test1 ?

Your prompt reply to this matter will be appreciated.

Regards,

Kevin

So basically I am trying to access the PYNQ-Z2 board wirelessly from my laptop to use jupyter (ref: test2 query)…

Hey @kanugent,

I did this process using Pynq version 2.4, but I think it should still work for 2.5

As a first step, you need to run the wifi.ipynb example under the common folder.
Make sure you can connect to your network wirelessly using the SSID and password, and that you can ping the example website. (It is yahoo .com in the example)

Once you have connected, open up a terminal in Jupyter.
Type ifconfig and you should now have an entry for “wlan0”.
Write down the IP address for this as you will need it later to connect to Jupyter.

Next follow the instructions from this link:

The main difference is you will be adding a few more lines to the new file you add to etc/init.d
Here is what I wrote for my file:
(just note that the “#Provides:” line has the name of the file, which my file name is “wifi_start.py”)

### BEGIN INIT INFO
# Provides: wifi_start.py
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
from pynq.lib import Wifi
port = Wifi()
ssid = “myssid”
pwd = “mypassword”
port.connect(ssid, pwd)

Once you have done that, you can reboot your Pynq board, (while still connected through Ethernet).
Confirm that the board is connecting to WiFi on boot. You can do this by running ifconfig and seeing the wlan0 has an IP address, if it does, then it should be working correctly.

Finally, disconnect from the Ethernet and reboot the Pynq board. Now to connect Jupyter again use the IP address that was listed under wlan0 followed by the port (:9090), and you should be able to connect.

Hi Reynaldo,

I am using Pynq z2 version 2.5 Disc image file.

To run the wifi.ipynb example under the common folder, it suggests connecting the USB Wifi dongle. I connected the USB Wifi dongle to the USB host of the PYNQ-Z2 board but I could not connect to the network wirelessly using the SSID and password

Tried with the Ethernet connected to the router (had also the USB Wifi dongle connected to the USB host of the PYNQ-Z2 board). After the board was booted up successfully, managed to get access to Jupyter

Run the following ;

from pynq.lib import wifi
port = wifi()

But got a typeError wrt the 2nd line ie
port = wifi()

TypeError : ‘module’ object is not callable

Please advise to what went wrong here.

Your prompt reply to this matter will be appreciated.

Thanks,
Kevin