Since upgrading my Fedora 43 KDE to version 44, the internal eMMC drive is no longer recognized. My laptop has an eMMC drive with Windows on it and an SSD with Fedora on it. Grub no longer offers the entry for Windows, and therefore only displays entries for Fedora. With Fedora 43 KDE and kernel 6.19.x, everything worked. I tested with a Fedora 44 KDE live USB, and it doesn’t detect the internal eMMC drive. The /boot/efi/EFI directory only contains the boot and fedora folders. So there’s no Microsoft folder for the Windows boot manager file. However, I can boot Windows via the BIOS menu (Windows Boot Manager), and the efibootmgr command detects the Windows Boot Manager loader. I suspect a significant regression in Fedora 44. I need to check with some commands to see if the MMC controller is properly supported, and if the modules are loaded correctly at startup, as well as the driver on Fedora 44. I’ll test with a Fedora 43 KDE live USB. It’s not a hardware issue (eMMC) since it boots without any problems via the BIOS menu. If you have any idea what the problem might be, I’d appreciate it.
Note: KDE partition manager don’t see it too. For now, I use Fedora 44 KDE with 7.0.x kernel. Tested with a 6.19.x kernel on Fedora 44, no eMMC see.
well, I tested a Fedora 43 KDE liveusb with 6.17.1-300-fc43 kernel, it works. Internal eMMC is detected.
Under Fedora 44 KDE with 7.0.8-200-fc44, 7.0.8-100-fc43 and 6.19.8-200-fc43 kernels, it doesn’t work. It is the same thing with a Fedora 44 liveusb. This is a big regression. The last thing I can do is to test the kernel 7.0.9 for fedora 44 available in the repositories for the fc44 branch.
Here is the result of diagnostic commands (made on the three kernels above):
$ sudo dmesg | grep -iE 'mmc|emmc|sdhci|cqhci'
[ 4.351481] sdhci: Secure Digital Host Controller Interface driver
[ 4.351490] sdhci: Copyright(c) Pierre Ossman
[ 4.424988] sdhci-pci 0000:00:1c.0: SDHCI controller found [8086:31cc] (rev 3)
[ 4.424989] sdhci-pci 0000:00:1e.0: SDHCI controller found [8086:31d0] (rev 3)
[ 4.425007] sdhci-pci 0000:00:1e.0: enabling device (0000 -> 0002)
[ 4.425841] mmc2: CQHCI version 5.10
[ 4.427537] mmc1: SDHCI controller on PCI [0000:00:1e.0] using ADMA 64-bit
[ 4.428636] mmc2: SDHCI controller on PCI [0000:00:1c.0] using ADMA 64-bit
[ 4.624370] mmc1: Failed to initialize a non-removable card
[ 4.703347] mmc2: new HS400 MMC card at address 0001
% grep CONFIG_MMC /lib/modules/7.0.9-204.fc44.x86_64/config
CONFIG_MMCONF_FAM10H=y
CONFIG_MMC=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
# CONFIG_MMC_TEST is not set
# CONFIG_MMC_CRYPTO is not set
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_IO_ACCESSORS=y
CONFIG_MMC_SDHCI_UHS2=m
CONFIG_MMC_SDHCI_PCI=m
CONFIG_MMC_RICOH_MMC=y
CONFIG_MMC_SDHCI_ACPI=m
CONFIG_MMC_SDHCI_PLTFM=m
# CONFIG_MMC_SDHCI_F_SDH30 is not set
CONFIG_MMC_WBSD=m
CONFIG_MMC_ALCOR=m
CONFIG_MMC_TIFM_SD=m
# CONFIG_MMC_SPI is not set
CONFIG_MMC_SDRICOH_CS=m
CONFIG_MMC_CB710=m
CONFIG_MMC_VIA_SDMMC=m
CONFIG_MMC_VUB300=m
CONFIG_MMC_USHC=m
# CONFIG_MMC_USDHI6ROL0 is not set
CONFIG_MMC_REALTEK_PCI=m
CONFIG_MMC_REALTEK_USB=m
CONFIG_MMC_CQHCI=m
CONFIG_MMC_HSQ=m
CONFIG_MMC_TOSHIBA_PCI=m
# CONFIG_MMC_MTK is not set
CONFIG_MMC_SDHCI_XENON=m
# CONFIG_MMC35240 is not set
CONFIG_MMC5633=m
You could compare the relevant journal entries between older working kernels and the latest Fedora kernel.
I will check and compare between old 6.17 kernel and new 7.0x kernel about config file and journal.
So there is a real problem in 7.0.x kernel about (e)MMC. I would like to send a bug report in the bugzilla redhat/fedora website but I think it is not necessary. So, I have to wait the 7.1 kernel and cross the fingers that the problem will be resolved. For now, use 6.19.x or older kernel is the only workaround to make the eMMC recognized.
I’m contacting you again because something is strange. I remember that before upgrading from Fedora 43 (KDE) to Fedora 44 (KDE), the kernel used was 6.19.14-200 (fc43), and I had no problems with the internal eMMC disk being recognized. During the last Fedora 43 update before the offer to upgrade to Fedora 44, kernel 7.0.8-100 (fc43) was installed. Since upgrading to Fedora 44, I have entries for both kernels 7.0.8-100 (fc43) and 6.19.14-200 (fc43) in the GRUB menu. Yesterday, I removed both kernels and upgraded to 7.0.9-204, installing kernel 6.19.14-300 (both for Fedora 44). Despite this, the internal eMMC drive is still not recognized. Why is it recognized with kernel 6.19.14-200 but not with kernel 6.19.14-300 (they are the “same” kernel)? I suspect it’s not a kernel issue, but something broke during the upgrade. But what ? Is it an initramfs problem ? Are some modules not loaded ? The eMMC drive isn’t recognized by the lsblk, blkid, or fdisk commands. The problem lies with the initialization process, which isn’t performing correcly according to dmesg.
The mmc_block module wasn’t enabled, so Fedora couldn’t see the eMMC disk. I added the module manually, then told GRUB the path to the Windows ESP partition. Now GRUB has entries for both Fedora and Windows. Problem solved.