Access windows share from Pynq Z1

I need to access a Windows share from a PYNQ Z1. I can access PYNQ from Windows, but not Windows from PYNQ.
This is the script that I have used on on other Ubuntu 16.04 and 18.04 boxes:
sudo mkdir -p /mnt/drivem sudo mount // /mnt/drivem -o user=username,rw,gid=1000,uid=1000

It then asks for the password for Windows, then returns this message:

mount error: cifs filesystem not supported by the system
mount error(19): No such device
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

I have tried this on PYNQ 2.1 and 2.5 and on Window 8.1 and Windows 10 computers. Also various parameters on the mount command line, including -t cifs, other type of slashes, single quotes … Same results. I also tried this:
$ sudo apt install -y cifs-utils
It ran, installed files, but didn’t change the resulting error messages

Any clues would be appreciated, in particular does this work from PYNQ?


PYNQ is based on Ubuntu. You might be better searching on Ubuntu forums, or just googling for a solution. This seems to be a common issue with a few suggested solutions on various forums.


Thanks for the response. I will try the Digilent forum.

OK, but that would be a strange thing to do!

You have a question about how to access shared drives between Linux and Windows. This isn’t specifically related to PYNQ or the board you are using. Did you try google or another search engine? You should find lots of similar issues.


I have connected Linux to Windows for many years. I spent
several hours with google and tried many settings, including fresh installs of 2.1 (16.04) and 2.5 (18.04). One link said this would not work on Z1 and Z2 boards but would only work on the Ultra.

Hence it may not be a generic Ubuntu problem, and may be related to something
specific in the Z1 configuration. I have worked with Digilent in the past on their Arty, Cora, and Zybo boards and have found them their forum to be very effective.


Leads from Digilent forum led here:
$ modprobe cifs

modprobe: FATAL: Module cifs not found in directory /lib/modules/4.19.0-xilinx-v2019.1

Apparently PYNQ 2.5 for Z1 doesn’t include the needed module (cifs).


You will need to recompile the module and added it into your rootfs.

You must have used this sharing technique before; may I ask which board / framework you have worked with this scenario?

Good, thanks for the lead. Any clues on how to recompile the module and add it to rootfs?
==>> Added later, this was answered here:

I have used the technique (access windows drive from linux) on Raspberry PI and various Intel platforms running Ubuntu 16.04 and 18.04. I recently tested this on May 8:

$ sudo apt-get install nfs-common

$ sudo apt install cifs-utils

Then this command (after creating /mnt/drivem):

$ mount // /mnt/drivem -o user=bagles,rw,gid=1000,uid=1000

That worked from Intel Ubuntu 18.04 GUI to a Window 8.1 computer

My target is PYNQ to Windows 10, where I am hoping to directly transfer images at 60 MB/sec (without going through SD Card) I used the above test configuration because it was a known good setup.




The kernel module has to be added using the petalinux flow. You might find petalinux documents for detailed steps. Taking our zocl.ko driver for example, you need to add petalinux recipes, something like:

Then compile and build using petalinux-build like this:

Eventually move the ko file to your rootfs. Make sure you insmod that module as well.

For the ko module you mentioned, there might have already been some existing recipes to explore.

Apologies, it is often difficult to gauge someone’s experience on the forum, so I wasn’t sure what you had tried.
This seemed to me like a Linux/Ubuntu issue to me (and not something I knew the answer to), so I thought you would be more likely to find a solution on those types of forums rather than on an “FPGA” forum. I had tried a quick google search, and there seemed to be lots of hits for this issue so I thought you might find a solution there.
Hope you have now resolved this and thanks to others @rock and @gnatale for input.