Cannot load module sdhci_acpi with doload=

Questions about problems with your hardware. For example, if you the kernel hangs during boot because of an hardware failure or if you have a problem with a driver not working or missing.
helamonster
Posts: 4
Joined: 13 Aug 2008, 21:55
Contact:

Cannot load module sdhci_acpi with doload=

Postby helamonster » 12 May 2015, 15:46

I am attempting to install SRC 4.5.2 on the Micro SD Card in a Minnowboard Max <http://www.minnowboard.org/meet-minnowboard-max/> development board.

I am able to boot SRC from a USB flash drive without a problem. After completing the boot from a USB device, the Micro SD Card is visible:

Code: Select all

[email protected] /root % ls -l /dev/mmc*
brw-rw---- 1 root disk 179, 0 Apr  8 18:35 /dev/mmcblk0
brw-rw---- 1 root disk 179, 1 Apr  8 18:35 /dev/mmcblk0p1

And here are the related kernel modules for the SD Card controller:

Code: Select all

[email protected] /root % lsmod | grep 'mmc\|sdhci'
mmc_block              25165  0
sdhci_acpi             12438  0
sdhci                  29924  1 sdhci_acpi
mmc_core               80530  3 mmc_block,sdhci,sdhci_acpi

The sdhci_acpi module is found here:

Code: Select all

[email protected] /root % find / -name 'sdhci-acpi.*'
/livemnt/squashfs/lib/modules/3.14.35-std452-i586/kernel/drivers/mmc/host/sdhci-acpi.ko
/livemnt/squashfs/lib/modules/3.18.10-alt452-i586/kernel/drivers/mmc/host/sdhci-acpi.ko
/livemnt/squashfs/lib64/modules/3.14.35-std452-amd64/kernel/drivers/mmc/host/sdhci-acpi.ko
/livemnt/squashfs/lib64/modules/3.18.10-alt452-amd64/kernel/drivers/mmc/host/sdhci-acpi.ko
/lib/modules/3.14.35-std452-i586/kernel/drivers/mmc/host/sdhci-acpi.ko
/lib/modules/3.18.10-alt452-i586/kernel/drivers/mmc/host/sdhci-acpi.ko
/lib64/modules/3.14.35-std452-amd64/kernel/drivers/mmc/host/sdhci-acpi.ko
/lib64/modules/3.18.10-alt452-amd64/kernel/drivers/mmc/host/sdhci-acpi.ko

However, when I install SRC to the Micro SD Card, the system boots the kernel and initrd, but cannot find sysrcd.dat file because it cannot find the Micro SD Card.
My first thought was that I simply needed to load the correct kernel modules for the SD Card controller. So I tried booting with the additional kernel option:

Code: Select all

doload=mmc_core,mmc_block,sdhci,sdhci-acpi


However, the sdhci-acpi kernel module does not load for some reason:

Code: Select all

...
>> Loading kernel modules...
>> modprobe mmc_core successful
insmod kernel/drivers/mmc/card/mmc_block.ko.gz
>> modprobe mmc_block successful
insmod kernel/drivers/mmc/host/sdhci.ko.gz
>> modprobe sdhci successful
FATAL: Module sdhci_acpi not found.
FATAL: Module sdhci_acpi not found.
!! modprobe sdhci-acpi failed (res=1)


I tried both sdhci-acpi and sdhci_acpi, both of which gave the same error above.

From the limited shell, I searched for the sdhci_acpi module, but it does not appear to exist:

Code: Select all

/ # find / -name '*sdhci*'
./sys/bus/pci/drivers/sdhci-pci
./sys/module/mmc_core/holders/sdhci
./sys/module/mmc_core/holders/sdhci_pci
./sys/module/sdhci
./sys/module/sdhci/holders/sdhci_pci
./sys/module/sdhci_pci
./sys/module/sdhci_pci/drivers/pci:sdhci-pci
./lib/modules/3.14.35-std452-amd64/kernel/drivers/mmc/host/sdhci-pltfm.ko.gz
./lib/modules/3.14.35-std452-amd64/kernel/drivers/mmc/host/sdhci-pci.ko.gz
./lib/modules/3.14.35-std452-amd64/kernel/drivers/mmc/host/sdhci.ko.gz


I am not yet familiar with where and how the kernel module files are located for SRC, but the fact that the sdhci_acpi module loads after a complete boot but is not accessible from at initrd time leads me to believe that only certain modules are available from the initial ramdisk. If that is the case, I believe that the sdhci_acpi module should be accessible from the initrd because this device (and I'm sure there are more similar devices) normally boot from an SD Card which requires this module.

I wanted to create a custom initrd which includes that module, but thought I would first ask here if there are any ways to get this to work without doing that.
Has anyone had luck booting SRC from a device that requires the sdhci_acpi module? If so, how?

And should this module be made accessible from the initrd?

gernot
Posts: 1127
Joined: 07 Apr 2010, 16:19

Re: Cannot load module sdhci_acpi with doload=

Postby gernot » 13 May 2015, 08:35

Never had a PC who bind a sd-card as /dev/mmc.
All my PC like hardware use /dev/sdx.

sysresccd don't boot from /dev/mmc.... Also there in no USB3.0 kernel module in the initrd by default.

Gernot

helamonster
Posts: 4
Joined: 13 Aug 2008, 21:55
Contact:

Re: Cannot load module sdhci_acpi with doload=

Postby helamonster » 22 May 2015, 18:23

This computer is a development board (like the raspberry pi but Intel x86_64), for prototype development or embedded kinds of applications so the SD card is the primary boot device (although it can also boot from USB or SATA, but in my application it will have neither of these).

I believe that sysrescd could boot from /dev/mmc devices provided that the sdhci_acpi module were included in the initrd.

I'll see if I can add it myself (when I have time) and post the results...

gernot
Posts: 1127
Joined: 07 Apr 2010, 16:19

Re: Cannot load module sdhci_acpi with doload=

Postby gernot » 22 May 2015, 21:42

Yes i think if you include the modules it work.
Don't forget to modify the init script.

Gernot


Return to “Hardware and drivers”

Who is online

Users browsing this forum: No registered users and 1 guest