Cannot access Jupyter after porting from prebuilt for ZCU670

Hey all,
I am new here in the forum and to the PYNQ framework.
I read a lot of threads here before reaching out for your help.

My Equipment
ZCU670 Eval. Board

The Problem
I can not access Jupyter on the browser from a machine on the same network.

The measures I took
I was prebuilding from rootfs image 3.0 and with the supplied Xilinx BSP 2022.1, with the help of the scripts in the sdbuild directory.
I also added the ethernet package to manage the IP - It assigned me an IP.
I also resolved communication with ubuntu repositories.
The board is attached and wired to the Network(hub and then router) - I am successful at pinging the IP address into and out of the board.
I tried to trace the route - it seems legit.
SSH is somehow not responding to commands - the commands are just hanging, no matter what I installed or configured.
I also tired to connect the Eval. board directly to the laptop - the situation is the same.

I think it has to do somehow programmatically with ubuntu/Jupyter configurations.

I appreciate every help and tip to resolve this.

1 Like

Hi @Idos,

Welcome to the PYNQ community.

Is the jupyter service running? Please check the status on the board by running

systemctl status jupyter.service

Mario

1 Like


hi :smiley:@marioruiz you are fast. thanks.

yes, it runs properly.

You may need to check the jupyter logs to see if there are more information.

Additionally, you can stop the service and lunch jupyter in the terminal and see if you get more info when you try to connect.

Mario

1 Like

journalctl_jupyter
The journalctl command. it seems to be no error.

stopping_jupyter
Stopping the service jupyter to see errors. no errors.


Running jupyter as notebook. also seems ok.

any idea? thanks

When you ran jupyter manually, did you try to connect? Anything in the log?

Is it possible that your firewall may be stopping the connection?

1 Like


I run the command

jupyter-notebook --no-browser --allow-root --ip=0.0.0.0

tried to access it. log looks the same, and I do not find any firewall settings on the host or on the slave

what I did notice is, that the jupyter was shutting down 0 kernels. I do not know if it is could be the problem.

clear_pl_statefile_nodevice_founded

I run the command

systemctl list-units --type=service

to see all the failed services.
There were 4 failed services, 2 of them I suspect are responsible for the no go Jupyter. according to the documentation.

you also need 2 additional services to be started for pynq to be fully-functional.

  • Jupyter notebook service. (Check /sdbuild/packages/jupyter/start_jupyter.sh as an example).
  • Clear PL Statefile service. (Check /sdbuild/packages/clear_pl_statefile for more information).

In my case, the service Clear PL Statefile service has failed according to the log because no device was found.

@marioruiz I guess it has to do with the build and maybe the BSP file or some kind of configuration?

Hi @Idos,

Does xbutil --version return anything?

Could you share your .spec file you used to generate the image?

Thanks
Shawn

1 Like


@skalade xbutil --version returns error.

I’ve built the script image_from_prebuilt.sh from scripts directory inside the sdbuild plus minor modifications to the .spec file.

sudo vim /PYNQ/sdbuild/scripts/image_from_prebuilt.sh

add in line 84

echo “STAGE4_PACKAGES_$boardname := ethernet” >> $specfile

from line 82 to 84, should look like this

echo “ARCH_$boardname := $arch” > $specfile
echo “BSP_$boardname := $boardname.bsp” >> $specfile
echo “STAGE4_PACKAGES_$boardname := ethernet” >> $specfile

I do not have the exact spec, but it should be(as far as I understand the flow)
ARCH_ZCU670 := aarch64
BSP_ZCU670 := xilinx-zcu670-v2022.1-04191534.bsp
STAGE4_PACKAGES_ZCU670 := ethernet

thanks.

Looks like we might need to update that script… You’re missing the xrt package – a lot of the underlaying pynq functionality depends on it. If you just amend your .spec file with:

STAGE4_PACKAGES_ZCU670 := xrt ethernet

and build a new image, hopefully that will fix your issue.

Thanks,
Shawn

1 Like

Hi @Idos,

please also make sure you download the pre-built 3.0.1 images. There was a small bug that can cause a lot of problems at runtime.

Mario

1 Like

xbutil_correct
@skalade @marioruiz
Hey guys,
So I’ve built the image again with pynq rootfs 3.0.1.
as you can see xbutil returns the correct version.


As you can see it still fails for PYNQ X11 server, which I suspect stops the serving of any interface in the browser.

failed_pynqx11_log
I run journalctl -u pynq-x11.service
It exits with failure.

I continued to investigate the log file of startx. (cat /var/log/Xorg.0.log)

I still cannot SSH into the board or calling the IP address from the browser . I think it has something to do with the X server
what do you think?

thanks again.

Hi @Idos,

The more likely culprit is probably that isc-dhcp-server.service failure, you normally wouldn’t worry about x11 unless you’re plugging a monitor directly into your board.

I would try some of the suggestions on this stackoverflow isc-dhcp-server status failed: Failed with result 'exit code' - Stack Overflow and look at the related logs for that service.

Thanks
Shawn

1 Like

Hey Shawn,

Thanks for the quick response and the effort to help.
isc_dhcp_ipv4
I’ve followed the StackOverflow thread. very helpful and fixed the problem of the service for IPv4.

However, there is still hanging when I ssh into the board or try to call the IP from the browser.

This looks like it is becoming a general networking problem. Could it be a firewall issue as Mario suggested earlier?

Does ifconfig return a good ip address? Can you access the internet from the board? If you try to ssh into the board with extra verbose flags e.g. ssh xilinx@board_ip -vvv maybe the log messages will give some hints as to why it’s hanging.

Thanks
Shawn

Hey Shawn,
Thanks again for the quick response.

ifconfig
it seems to me boards having IP.
ping to 8.8.8.8(google) returns packets.


Self ssh works as well.

:man_shrugging: