# The RFSoC Book and Design Examples for the ZCU208 & ZCU216

**URL:** <https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630>\
**Category:** Support\
**Created:** [May 30, 2023, 12:42pm UTC](https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630 "2023-05-30T12:42:10Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![redson](https://avatars.discourse-cdn.com/v4/letter/r/cab0a1/32.png) [@redson](https://discuss.pynq.io/u/redson)\
**Post date:** [May 30, 2023, 12:42pm UTC](https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630/1 "2023-05-30T12:42:10Z")

</div>

Hi David,  
Just have a quick question. I’m trying to connect to a ZCU208, but I’m unable to connect over ethernet. What is the default IP address assigned in the zcu208v3.0.1 boot image? I can’t seem to find it in any documentation.

Thanks,  
Reid

---

<div class="post-metadata">

**Author:** ![davidnorthcote](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/davidnorthcote/32/4729_2.png) [@davidnorthcote](https://discuss.pynq.io/u/davidnorthcote)\
**Post date:** [May 30, 2023, 1:01pm UTC](https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630/2 "2023-05-30T13:01:20Z")

</div>

Hi Reid,

Thanks for your message; hopefully, this post has been useful to you.

Please follow the instructions [here](https://pynq.readthedocs.io/en/v2.0/getting_started.html#ethernet-setup) to connect to your ZCU208 development board using PYNQ. Note that you must use the router method in the above link or share your internet connection with the ZCU208 to have internet access. The RFSoC-Book installation will fail if your ZCU208 does not have internet connectivity.

Also, just a small note to say that you should open a new support post for these types of questions in the future (if you can’t find the answer already in the forums),

All the best,  
David.

---

<div class="post-metadata">

**Author:** ![redson](https://avatars.discourse-cdn.com/v4/letter/r/cab0a1/32.png) [@redson](https://discuss.pynq.io/u/redson)\
**Post date:** [May 31, 2023, 12:23pm UTC](https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630/3 "2023-05-31T12:23:56Z")

</div>

Hi David,

I’ve tried to go through the instructions in the link. The MAC address of my board is whitelisted on my institute’s DHCP network, and it has a manually assigned IP address in the same range as the machine I’m trying to connect from. However, I’m unable to connect to the board, or even to ping it.  
I used Win32DiskImager to load an SD card with the PYNQv3.0.1 image file, and my board is set to SD boot. Is there something in the image file that sets a default static IP address?

We’ve even tried connecting to the board over an ethernet hub and watching the output of `tcpdump`, but no packets are sent or received by the board.

Any ideas why this might be the case?

Cheers,  
Reid

---

<div class="post-metadata">

**Author:** ![davidnorthcote](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/davidnorthcote/32/4729_2.png) [@davidnorthcote](https://discuss.pynq.io/u/davidnorthcote)\
**Post date:** [May 31, 2023, 12:34pm UTC](https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630/4 "2023-05-31T12:34:04Z")

</div>

Hi Reid,

Firstly, we can try and confirm that PYNQ is booting. Can you do the following:

- After writing PYNQ v3.0.1 to the SD Card, insert it into the SD Card slot on the ZCU208.
- Then, connect a micro USB cable between the ZCU208 and the computer.
- Connect the ethernet cable to the router or PC.
- Switch on the board.
- Download [Teraterm](http://ttssh2.osdn.jp/) and use this to open a serial (UART) connection to the ZCU208. Teraterm should immediately recognise a COM port with a number at the end. If there are many COM ports, select the port with the lowest number. Set the BAUD rate to 115200 and open the connection.
- Now, press enter on your keyboard in the Teraterm terminal; you should see the word PYNQ appear or a response of some kind. If you do not, try the other COM ports until a response is obtained. If you do not get any response from any COM port let me know and I will have other suggestions.

The above is a good starting point to verify if PYNQ is running on your board and will be useful later to obtain the IP address of your board if DHCP is used.

Let me know when you have done this, and we can continue to the next step,

Thanks,  
David.

---

<div class="post-metadata">

**Author:** ![redson](https://avatars.discourse-cdn.com/v4/letter/r/cab0a1/32.png) [@redson](https://discuss.pynq.io/u/redson)\
**Post date:** [May 31, 2023, 12:44pm UTC](https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630/5 "2023-05-31T12:44:31Z")

</div>

Went through the list; no response from the board on the serial terminal…

Odd, because I have been able to program it over Vivado by writing a simple bitstream to the board over JTAG.

---

<div class="post-metadata">

**Author:** ![davidnorthcote](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/davidnorthcote/32/4729_2.png) [@davidnorthcote](https://discuss.pynq.io/u/davidnorthcote)\
**Post date:** [May 31, 2023, 12:48pm UTC](https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630/6 "2023-05-31T12:48:54Z")

</div>

Hi Reid,

The last thing for me to check before progressing is to determine whether you see an LED on the board flashing like a heartbeat.

This LED should be labelled PS\_LED near one of the corners,

Thanks,  
David.

---

<div class="post-metadata">

**Author:** ![redson](https://avatars.discourse-cdn.com/v4/letter/r/cab0a1/32.png) [@redson](https://discuss.pynq.io/u/redson)\
**Post date:** [May 31, 2023, 12:50pm UTC](https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630/7 "2023-05-31T12:50:12Z")

</div>

Hi David,

It’s on, but it is not flashing.

Reid

---

<div class="post-metadata">

**Author:** ![davidnorthcote](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/davidnorthcote/32/4729_2.png) [@davidnorthcote](https://discuss.pynq.io/u/davidnorthcote)\
**Post date:** [May 31, 2023, 12:59pm UTC](https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630/8 "2023-05-31T12:59:43Z")

</div>

Reid,

Great, so this tells me that PYNQ hasn’t been written correctly to the SD Card (which is common), or the board hasn’t been configured to boot from SD correctly.

Can you now do the following:

- Use the [SD card formatter tool](https://www.sdcard.org/downloads/formatter/sd-memory-card-formatter-for-windows-download/) to wipe your SD card clean. Just use the quick format option with this software tool.
- Rewrite the [ZCU208 v3.0.1 PYNQ image](https://bit.ly/zcu208_v3_0_1) to the SD card. You should also download it again, just in case you have an issue with the .iso. Please note that there is an issue with the current download links, and you will have to wait until this is resolved. See [here](https://discuss.pynq.io/t/rfsoc-4x2-pynq-image-error/5629) for more information.
- Lastly, check that SW2 is set to (ON, OFF, OFF, OFF) (1, 2, 3, 4).

Let me know how you get on,

Thanks,  
David.

---

<div class="post-metadata">

**Author:** ![redson](https://avatars.discourse-cdn.com/v4/letter/r/cab0a1/32.png) [@redson](https://discuss.pynq.io/u/redson)\
**Post date:** [May 31, 2023, 1:54pm UTC](https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630/9 "2023-05-31T13:54:35Z")

</div>

Right on! I can connect over the serial terminal. PYNQ has booted. I still can’t connect over the network to the board, but this is progress!

It seems that the sticker on the bottom of the board is _not_ the MAC address, since it doesn’t agree at all with what I see when I run `ifconfig` in the PYNQ terminal. So, now I wait for IT to whitelist the MAC address for the network.

---

<div class="post-metadata">

**Author:** ![redson](https://avatars.discourse-cdn.com/v4/letter/r/cab0a1/32.png) [@redson](https://discuss.pynq.io/u/redson)\
**Post date:** [May 31, 2023, 2:14pm UTC](https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630/10 "2023-05-31T14:14:33Z")

</div>

One last thing-- it seems to generate a random MAC address every time it reboots. Is there any way to prevent that from happening or to set a permanent MAC address?

---

<div class="post-metadata">

**Author:** ![davidnorthcote](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/davidnorthcote/32/4729_2.png) [@davidnorthcote](https://discuss.pynq.io/u/davidnorthcote)\
**Post date:** [May 31, 2023, 2:24pm UTC](https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630/11 "2023-05-31T14:24:40Z")

</div>

Hi Reid,

Thanks for marking the solution!

The following link should give you more insight into the MAC address problem.

> [@Ethernet MAC address changes everytime restart the ZCU104 board](https://discuss.pynq.io/t/ethernet-mac-address-changes-everytime-restart-the-zcu104-board/2575/10):
>
> Hi, this is a known issue for v3.0 images of the ZCU111 and ZCU208 boards. We have a fix for this that will be applied in future image builds [mac addressing fix for zcu111 and zcu208 (#17) · Xilinx/RFSoC-PYNQ@9396d96 · GitHub](https://github.com/Xilinx/RFSoC-PYNQ/commit/9396d961a33595b0f2fb03f209ea7abab71bcee7). If you don’t want to build a new image from that branch then Jenny’s method is likely the easiest solution in the interim. Thanks Shawn

All the best,  
David.

---

<div class="post-metadata">

**Author:** ![redson](https://avatars.discourse-cdn.com/v4/letter/r/cab0a1/32.png) [@redson](https://discuss.pynq.io/u/redson)\
**Post date:** [May 31, 2023, 2:28pm UTC](https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630/12 "2023-05-31T14:28:12Z")

</div>

Yep, found that and tried it, but `setenv`, etc. are not recognized as valid commands. I also notice there’s an error on startup:  
`Loading environment from FAT... ***Error - No Valid Environment Area found*** Warning - bad env area, using default environment`

Is this the issue solved by rebuilding the image? Building a massive VM with Vitis installed (130GB 💀 ) on it is a real pain on my already-limited disk space.

---

<div class="post-metadata">

**Author:** ![davidnorthcote](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/davidnorthcote/32/4729_2.png) [@davidnorthcote](https://discuss.pynq.io/u/davidnorthcote)\
**Post date:** [May 31, 2023, 2:37pm UTC](https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630/13 "2023-05-31T14:37:10Z")

</div>

Hi Reid,

I get the same error, so nothing to worry about.

`setenv` is a valid command on my build of PYNQ. Are you sure that you are following all of the instructions correctly?

The command window should say `ZynqMP>` when you exit the boot process during startup. Can you double-check that this is the case?

Here is an excerpt of my boot process…

```auto
Xilinx Zynq MP First Stage Boot Loader
Release 2022.1 Apr 11 2022 - 09:29:50
NOTICE: BL31: v2.6(release):xlnx_rebase_v2.6_2022.1_update3
NOTICE: BL31: Built : 03:46:40, Mar 24 2022

U-Boot 2022.01 (Apr 04 2022 - 07:53:54 +0000)

CPU: ZynqMP
Silicon: v3
Model: ZynqMP ZCU208 RevA
Board: Xilinx ZynqMP
DRAM: 4 GiB
PMUFW: v1.1
EL Level: EL2
Chip ID: zu48dr
NAND: 0 MiB
MMC: mmc@ff170000: 0
Loading Environment from FAT... *** Error - No Valid Environment Area found
*** Warning - bad env area, using default environment

In: serial
Out: serial
Err: serial
Bootmode: LVL_SHFT_SD_MODE1
Reset reason: EXTERNAL
Net:
ZYNQ GEM: ff0e0000, mdio bus ff0e0000, phyaddr 12, interface rgmii-id
zynq_gem ethernet@ff0e0000: Failed to read eth PHY id, err: -2

Warning: ethernet@ff0e0000 (eth0) using random MAC address - 0e:bb:b1:3a:4d:67
eth0: ethernet@ff0e0000
scanning bus for devices...
SATA link 0 timeout.
SATA link 1 timeout.
AHCI 0001.0301 32 slots 2 ports 6 Gbps 0x3 impl SATA mode
flags: 64bit ncq pm clo only pmp fbss pio slum part ccc apst
Hit any key to stop autoboot: 0
ZynqMP> setenv
setenv - set environment variables

Usage:
setenv -e [-guid guid][-nv][-bs][-rt][-at][-a][-v]
        [-i addr:size name], or [name [value ...]]
    - set UEFI variable 'name' to 'value' ...'
      "-guid": GUID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
      "-nv": set non-volatile attribute
      "-bs": set boot-service attribute
      "-rt": set runtime attribute
      "-at": set time-based authentication attribute
      "-a": append-write
      "-i addr,size": use <addr,size> as variable's value
      "-v": verbose message
    - delete UEFI variable 'name' if 'value' not specified
setenv [-f] name value ...
    - [forcibly] set environment variable 'name' to 'value ...'
setenv [-f] name
    - [forcibly] delete environment variable 'name'
ZynqMP>

```

Thanks,  
David.

---

<div class="post-metadata">

**Author:** ![redson](https://avatars.discourse-cdn.com/v4/letter/r/cab0a1/32.png) [@redson](https://discuss.pynq.io/u/redson)\
**Post date:** [May 31, 2023, 2:42pm UTC](https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630/14 "2023-05-31T14:42:27Z")

</div>

![image](https://us1.discourse-cdn.com/flex019/uploads/pynq1/original/2X/a/ac29716c2add35c0a441d5bd4241adec29a53c27.png)  
Hi David,  
Nope, seems `setenv` isn’t included in my particular image for some reason…

As you can see up top, I manually added a MAC address to `/etc/environment`, but it doesn’t seem to be referenced at all on startup; `ifconfig` returns the randomly assigned MAC address, which _isn’t_ whitelisted on my network…

Reid

---

<div class="post-metadata">

**Author:** ![davidnorthcote](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/davidnorthcote/32/4729_2.png) [@davidnorthcote](https://discuss.pynq.io/u/davidnorthcote)\
**Post date:** [May 31, 2023, 2:45pm UTC](https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630/15 "2023-05-31T14:45:51Z")

</div>

Hi Reid,

When booting the ZCU208 please exit the boot procedure by pressing any button on your keyboard into the Teraterm when prompted to on the terminal. You will see that this allows you to access a new environment that isn’t PYNQ.

See my code snippet for an example,

Thanks,  
David.

---

<div class="post-metadata">

**Author:** ![redson](https://avatars.discourse-cdn.com/v4/letter/r/cab0a1/32.png) [@redson](https://discuss.pynq.io/u/redson)\
**Post date:** [May 31, 2023, 2:50pm UTC](https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630/16 "2023-05-31T14:50:20Z")

</div>

Aha! Victory!

Thanks so much for all your help!

---

<div class="post-metadata">

**Author:** ![system](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/system/32/2_2.png) [@system](https://discuss.pynq.io/u/system)\
**Post date:** [June 3, 2023, 2:51pm UTC](https://discuss.pynq.io/t/the-rfsoc-book-and-design-examples-for-the-zcu208-zcu216/5630/17 "2023-06-03T14:51:19Z")

</div>

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.
