I finally boot up Ultra96-V2 using PYNQ, but not let me login

Please provide the following information to the best of your knowledge, this comment won’t be visible when you post.

  • PYNQ version & Board name & Tool Version: According to http://www.pynq.io/board.html, I flashed PYNQ v3.0 for my board Ultra96-V2.
  • Full details of the error message you see, or a detailed description of the problem you experience: It booted indeed. However, After pnyq login: is shown, the monitor display disappeared right away. Now, my TV monital is showing as No Signal again.
  • Steps to reproduce the problem, and if needed: source code and bitstream or any relevant files: Just flash directly into TF card, and let it boot as usual.
  • Debug steps that you have taken to resolve the problem: Just tpyting in xilinx as the password for user pynq (as the final page before No Signal page clearly written is:pynq login: . I then tried the password: xilinx. Hopef it’s correct…

Did anybody successfully boot up Ultra96-V2 with pynq ? Thank you


1 Like


There are some brief instructions for setting up PYNQ v2.5/v2.6 on the Ultra96 boards. Simply ignore the v2.5/v2.6 links and comments in the instructions and instead use the v3.0 image for Ultra96 V2. See here: https://github.com/Avnet/Ultra96-PYNQ/releases/download/v2.5.0/U96_PYNQ_Setup_Instructions.pdf

There is also an older video here as well. It shows using an Ultra96 V1, of course the Ultra96 V2 power button and LEDs are different colors but the rest of the procedures shown here work the same on the Ultra96 V2. You can look at the instructions link (above) which shows the 2 board buttons and LEDs. Here is the video: setting up pynq on the ultra96 - YouTube

Kind regards

1 Like

Hi, @pynqzen , Thank you so much for your prompt reply.

I’m now able to log into Ultra96-V2 JupyterLab by using a Micro-USB cable. But, there are still a couple of more problems I noticed and some questions:

  1. I can connect via usb0, so that I can browse pynq from my remote Desktop. However, I’ve got to do ifconfig wlan0 up in order to bring up wlan0, otherwiese, wlan0 is ALWAYS down. Even now, wlan0 is in the UNKNOWN group.
root@pynq:/# ip -c address
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 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 7e:4f:66:d0:0a:f3 brd ff:ff:ff:ff:ff:ff
3: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit brd
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether f8:f0:05:71:e4:ec brd ff:ff:ff:ff:ff:ff
    inet6 fe80::faf0:5ff:fe71:e4ec/64 scope link 
       valid_lft forever preferred_lft forever
5: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether de:d8:2b:eb:74:d4 brd ff:ff:ff:ff:ff:ff
    inet brd scope global usb0
       valid_lft forever preferred_lft forever
    inet6 fe80::dcd8:2bff:feeb:74d4/64 scope link 
       valid_lft forever preferred_lft forever

Even if I used the command `iwconfig wlan0 essid WIFI_NETWORK_HERE key PASSWORD_HERE```, I still got the following ERROR message:

root@pynq:/# iwconfig wlan0 essid WIFI_NETWORK_HERE key PASSWORD_HERE
Error for wireless request "Set ESSID" (8B1A) :
    SET failed on device wlan0 ; Invalid argument.
  1. It looks like if I use the Active Mini-DP to HDMI and tried to show up Jupyter on another monitor (not my host PC’s laptop), it can boot up until the page pynq login", as mentioned in my FIRST Post, but NO Jupyter page pops up afterwards. I wonder if pynq’s own GUI is enabled by default, because from here, ls /usr/bin/*session ONLY gives me 1 output: /usr/bin/dbus-run-session.

It might ALSO be possible that whenever Jupyter is trying to pop up, the power consumption is way toooo much and turns off Ultra96-V2? I mean: so far, I NEVER pop up Jupyter page using Ultra96-V2’s own Active Mini-DP-HDMI display, but I can visit that Jupyter page on my remote PC by visiting `’.

  1. There seems to be NO repo to support Ultra96-V2? What if I wanna upgrade some of the packages???

Can you please help me a little bit more??

Thank you very much.

Hi, Please try to use the wifi.ipynb included with the release to setup the wifi connection. Just beware that if you use USB 3.0 at the same time on the Ultra96 it will degrade the wifi performance. You can always plug in a micro usb 2.0 end into the shorter part of the 2 section OTG usb 3.0 connector. I highly recommend using a USB to Ethernet adapter if possible for your internet connection.

Once you have an internet connection, the apt package manager can be used to install additional packages.

Regarding the mini DP output, PYNQ runs fluxbox as a desktop manager and I am not certain if the onboard browser can run the Jupyter client properly. Not saying it won’t or shouldn’t work, I simply have never tried this. Most people use a host PC’s browser to connect to the Juypter server.

Kind regards


Thank you so much… I did it…

  1. However…
root@pynq:/# sudo apt update
Ign:1 http://ports.ubuntu.com/ubuntu-ports jammy InRelease
Ign:1 http://ports.ubuntu.com/ubuntu-ports jammy InRelease
Ign:1 http://ports.ubuntu.com/ubuntu-ports jammy InRelease
Err:1 http://ports.ubuntu.com/ubuntu-ports jammy InRelease
  Temporary failure resolving 'ports.ubuntu.com'
Reading package lists... Done
Building dependency tree... Done
All packages are up to date.
W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/jammy/InRelease  Temporary failure resolving 'ports.ubuntu.com'
W: Some index files failed to download. They have been ignored, or old ones used instead.
  1. Still trying to figure out how to fluxbox


After I remove the Micro USB cable, and did a reboot, I finally can see the PYNQ’s fluxbox GUI, a couple of more questions:

  1. Ultra96-V2 board starts at a very low resolution, it seems to be: 1366*768 ???
  2. from within fluxbox, I can open up a bash, where I noticed wlan0 is DOWN. Even after I did ifconfig wlan0 up, wlan0 is classified into UNKNOWN group…
  3. I have to reconnect the Micro USB cable to the host computer, and have to reconnect WiFi again from within host computer’s Jupyter notebook, and re-run that wifi.ipynb, in order to ``connect to the WiFi`. It looks now wlan0 is classified into UP group, as follows:
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether f8:f0:05:71:e4:ec brd ff:ff:ff:ff:ff:ff
    inet brd scope global dynamic wlan0
       valid_lft 86314sec preferred_lft 86314sec
    inet6 fe80::faf0:5ff:fe71:e4ec/64 scope link
       valid_lft forever preferred_lft forever

however, I still failed to ping from Ultra96-V2 with Host computer. I should be able to at least ping each orther, even with a Micro-USB connected, right???


➜  ~ ping
PING ( 56(84) bytes of data.
From icmp_seq=1 Destination Host Unreachable
From icmp_seq=2 Destination Host Unreachable
From icmp_seq=3 Destination Host Unreachable
From icmp_seq=4 Destination Host Unreachable
From icmp_seq=5 Destination Host Unreachable
From icmp_seq=8 Destination Host Unreachable
From icmp_seq=9 Destination Host Unreachable
From icmp_seq=11 Destination Host Unreachable
From icmp_seq=14 Destination Host Unreachable
From icmp_seq=17 Destination Host Unreachable
From icmp_seq=18 Destination Host Unreachable
^CFrom icmp_seq=19 Destination Host Unreachable
From icmp_seq=20 Destination Host Unreachable
From icmp_seq=21 Destination Host Unreachable

Any further suggestions? I would like PYNQ is able to work independently, without connecting that Micor-USB calbe. And also, I would like to be able to ssh into PYNQ from my host computer.

Thank you very much…

Sorry, my bad…
I’ve got to add interface wlan0 under /etc/network/interfaces.d.

By following:

Everything seems to work properly. Thank you …