Open tejasgadhia opened 3 years ago
I have the same problem with Ubuntu 18.04 desktop x64
This is an issue with the kernel's CONFIG_STRICT_DEVMEM setting. "Recently" (since 4.16) it started defaulting to "on" which enables a whole host of restrictions on /dev/mem: a program can only mmap()
MMIO regions, and those MMIO regions must not be mapped by a driver. Kernel driver in use: mpt3sas
indicates that your card is "in use" and thus those regions are considered "mapped" by the kernel.
If you can reboot, setting iomem=relaxed
on the kernel cmdline will allow it to map "used" MMIO regions (mpt3sas
doesn't touch a lot of what this uses, so it's not really used) or if you can't reboot, using /sys
to unbind the driver from the card will work.
I'm considering a feature request/pull request to the upstream kernel for some sort of driver-level interface to the debug registers, which would allow operation with strict_devmem, as well as precluding the need to disable the IOMMU, since the driver would be the thing doing all the DMA transfers (the current implementation "cheats" by mapping a giant buffer and getting the physical address for the card to DMA to; an IOMMU blocks that because userland RAM is not intended for DMA)
I have all the necessary files:
However when attempting to execute lsirec to make a backup, I'm getting the following error:
For reference I've included an output of
lspci -Dvvnn
below for information about my device:My machine is running Ubuntu 20.04.1 LTS and Kernel is Linux 5.4.0-56-generic if that helps.