Once and for all: WiFi on the Ultra96-v2 in a custom Petalinux build (please help)


I represent a research group at University of Southern Denmark. We want to use the Ultra96-v2 for our work. Now we’re at a point where we want to integrate our hardware design with high level software. Therefore, we are trying to run Ubuntu 20 on top of our custom hardware design (Ubuntu on the APU).

At this point, we can successfully build the Linux kernel with our custom hardware design and boot an Ubuntu 20 filesystem with the generated boot files, and it boots fine, so all is good in this regard. We need one thing still, though: To make the (to me at this point very annoying) WiFi module work in Ubuntu 20.

It is unfeasible for us to use pre-built images, as we need to be able to add our own FPGA design in the build, so we need full control over the build process. I have tried several guides/tutorials to make this work. Especially Whitney Knitter’s guide on hackster (https://www.hackster.io/whitney-knitter/wi-fi-connectivity-on-the-ultra96-v2-in-vivado-petalinux-201-030857) is good and thorough, but all of the file links are broken. I have been trying to cross reference the files with similar files in the Pynq project’s GitHub (https://github.com/Avnet/Ultra96-PYNQ), but so far it’s not working. I tried to simply use the PetaLinux-generated rootfs but neither here can I make the WiFi function.

I guess what I’m looking for is a thorough step-by-step guide with all of the files I need to edit and exact patches I need to apply explained. I have no previous experience with PetaLinux, Yocto, Bitbake, Device trees, and all of these other tools and concepts, and I have not before worked with building any Linux images for embedded platforms. If I can make the WiFi work in the PetaLinux rootfs, I think I can make it work in the Ubuntu rootfs. I really hope someone can help me, as I know that it is of course possible, and I have now spent way too many hours… :slight_smile:

I use PetaLinux 2020.2.

  • Frederik Nyboe