Does Ultra96 have a unique info?

Hi everybody,

I have an application and it is supposed to be run on an Ultra96 board (board A) only. The problem is when I insert the SD card of the board A to another board (board B), the board B can launch my app.

So how do I prevent that?

My ideal is my app must check an unique info of the board. But I don’t know that unique info and how to get it. (The MAC address is not the answer because it is defined within the kernel device tree on PetaLinux systems)

Well, if you can not use the mac address I don’t see any other component you could use. Zynq ultrascale are supposed to have a unique id (cf DNA PS fuse register) [1] but reading the register (e.g devmem 0xFFCC100C 32) causes a bus fault on my side, maybe you’ll have more chance on your side with you board/sw version.

[1] Zynq UltraScale+ MPSoC Register Reference

1 Like

The MAC ID can be used as a unique identifier for the Ultra96 board. For an Ultra96 board the MAC ID is stored in the WiFi Module, not defined in the device tree. It could be as simple as parsing the output of ‘ifconfig’.

1 Like

Thank you, Loic.

I have tried reading the register and got the error too. But I think having a unique ID of the FPGA chip would be great. We should figure out why the error happened.

For now I should use the MAC address as @narrucmot said.


Hi @narrucmot,

Thanks for your answer!

You’re right. I’m connecting to the board via Ethernet (by using a USB adapter) so could not use that MAC. But the MAC address of the adapter is OK for my scenario.


If a Click board exists with an ID that you like, you could consider that. For example, this Click has a MAC ID –

Pair that with the MikroE Click Mezzanine (Click Mezzanine - 96Boards), and your hardware is ready to go.