diff --git a/src/linux/linuxdrivelist.cpp b/src/linux/linuxdrivelist.cpp index d49b9b6..e016231 100644 --- a/src/linux/linuxdrivelist.cpp +++ b/src/linux/linuxdrivelist.cpp @@ -74,6 +74,14 @@ namespace Drivelist d.device = name.toStdString(); d.raw = true; d.isVirtual = subsystems == "block"; + + // Hot fix for newer lsblk version on Arch based linux distributions. + // See issue #610 + // Only tested with laptop's internal sd card reader. + if (!d.isVirtual && subsystems.contains("mmc")) { + d.isVirtual = subsystems.contains("block"); //< lsblk will output something like "block:mmc:mmc_host:pci" for key "subsystems". + } + if (bdev["ro"].isBool()) { /* With some lsblk versions it is a bool in others a "0" or "1" string */