I am currently trying to make a PCI-device-UIO-driver work on JetPack 3.2.1 with L4T 28.2.1.
So far i have activated UIO support within a customized kernel, added a UIO-device to the device-tree and added
earlyprintk uio_pdrv_genirq.of_id=generic-uio to the bootargs.
This is my device-tree-node:
pci_uio@10007000{
compatible = “uio-generic”;
reg = <0x0 0x10007000 0x0 0x1000>;
interrupts = <0x0 0x1>;
};
After this configuration no UIO-devices show up in /dev/ .
When i try to modprobe uio, no errors are shown but there are no additional modules started. When i try to modprobe other UIO-drivers like uio_pci_generic they also show no errors but do not start.
I have also searched for entries in /sys/class/uio but the folder is empty.
So my question is, can I even make the UIO-driver work on JetPack 3.2.1 or do I need to find another solution?
Thanks in advance
Julian
Hi,
Sorry that we don’t have experience on PCIe- UIO driver. I will let other forum users to share their case.
I also know nothing about this, but consider that if drivers loaded without a message, then there was no error. If load requires some interaction with the hardware, then it also implies your hardware was found and accepted that interaction. Of course not all drivers require special hardware interaction, but it sounds like maybe your case does.
You might find it useful to know that files in “/dev
” are not real files, but are instead the result of kernel code running. If the modules loaded, but no “/dev
” file was produced, then perhaps there is another kernel feature which needs to have a module loaded (a feature depending on your newly loaded uio module). Or perhaps some user space configuration is needed. You may want to look closely at what other kernel features might be related to the uio, and if there are any user space tools or configuration. I doubt this is in any way dependent upon whether this runs on a Jetson versus a desktop PC, but embedded systems tend to not have as much enabled by default.