# Uio device

**URL:** https://discuss.pynq.io/t/uio-device/1801
**Category:** Support
**Created:** [September 27, 2020, 11:58am UTC](https://discuss.pynq.io/t/uio-device/1801 "2020-09-27T11:58:49Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![aulmamei](https://avatars.discourse-cdn.com/v4/letter/a/ec9cab/32.png) [@aulmamei](https://discuss.pynq.io/u/aulmamei)
#### Post date: [September 27, 2020, 11:58am UTC](https://discuss.pynq.io/t/uio-device/1801/1 "2020-09-27T11:58:49Z")

</div>

Hello,

I am currently working on adding the PYNQ software on a custom board. So far I have the Ubuntu 18.04 image from Pynq Z2 working on my board. I did a basic overlay(the example from the readthedocs) and it worked without any problem. My actual design consists of a dma. When i am trying to see what’s in the dma object in python, i get the following error “ValueError: Could not find UIO device for interrupt pin for IRQ number 0”. I looked into the source code where this error is thrown and found out that I don’t have any uio device in /dev. When I look in /sys/devices/soc0/amba\_pl/410… i can find “generic-uio” there.  
I also checked on the pynq z2 board in /dev and I can see 2 uio devices.  
For that I have two questions: what are the two uio devices on pynq z2 and why on my board i don’t see any?  
Thank you in advance!

---

<div class="post-metadata">

### Author: ![PeterOgden](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/peterogden/32/55_2.png) [@PeterOgden](https://discuss.pynq.io/u/PeterOgden)
#### Post date: [September 29, 2020, 8:33am UTC](https://discuss.pynq.io/t/uio-device/1801/2 "2020-09-29T08:33:42Z")

</div>

If the “fabric” device is in the device tree then the issue is likely in one of two places

1. Make sure that `CONFIG_UIO_PDRV_GENIRQ` is set in your kernel configuration (/proc/config.gz will let you know)
2. Ensure `uio_pdrv_genirq.of_id="generic-uio"`is on the kernel command line.
3. Check `dmesg` to see if there are any errors relating to UIO

The first two should happen automatically if you’re building the boot files using the meta-pynq layer in the PYNQ repository. If you are using meta-xilinx-pynq then you need to make sure that the UIO module is modprobed with the correct argument, again this should be done for you at boot.

Peter

---

<div class="post-metadata">

### Author: ![aulmamei](https://avatars.discourse-cdn.com/v4/letter/a/ec9cab/32.png) [@aulmamei](https://discuss.pynq.io/u/aulmamei)
#### Post date: [September 29, 2020, 12:23pm UTC](https://discuss.pynq.io/t/uio-device/1801/3 "2020-09-29T12:23:41Z")

</div>

Thank you for your answer Peter. Indeed I was missing the “fabric” device. After adding it to my device tree everything worked out perfectly.

Alex
