-
Notifications
You must be signed in to change notification settings - Fork 5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
boot failure with sdhost overlay #1205
Comments
Now tested with latest kernel. Here is the full kernel log:
|
That doesn't match my experience or understanding. If your description is correct, I can see an anomaly in your logs - the sdhost overlay should disable the bcm2835-mmc driver, but I can see that both are loaded. A failure to disable the mmc driver (and interface) could leave sdhost driver running but unable to access the SDCard interface since the pins are still mapped to the mmc interface. Please retest with a stock kernel. I initially read your problem as being trying to run both at the same time. On re-reading I can see that this may not be the case, but here's my analysis anyway. The sdhost overlay does three things:
The sdio overlay does all of those, but also: The sdio overlay actually includes the sdhost overlay so all 5 steps are present, but the end result is effectively 1+2+4. As you may have worked out by now, order of application is important where overlays overlap.
is equivalent to
but
should be equivalent to
This overlap is hinted at in the README, although it isn't spelled out:
vs
I have just tried all four configurations and, without actually trying to use the GPIO pins for sdio, my experience is sdhost+sdio=sdio, and sdio+sdhost=sdhost. |
The last log I posted is from a stock kernel which I built this morning according to the cross compiling instructions at https://www.raspberrypi.org/documentation/linux/kernel/building.md When I use a kernel fetched by rpi-update the problem does not happen, but this gives me an extremely out of date kernel version. Here is the log when using such a kernel: config.txt
kernel log:
|
For some reason, you are not running the latest rpi-update kernel. If you have a spare SD card, download and install the latest Raspbian, run rpi-update, then try loading the overlay. This will establish a baseline. |
Just realised this is because I did "rpi-update next" instead of "rpi-update". Retesting now. |
With rpi-update kernel:
|
Now you just have to work out why your kernel is different. Did you update the .dtbs? |
Well, after reinstalling my own kernel, now it works too. I did install all dtbs and modules, so it must have been a firmware mismatch? How exactly am I supposed to get a matching firmware for a custom built kernel? |
Seems like the answer is |
I tried to boot with both the sdio and sdhost overlays on Raspberry Pi 2. In both cases the SD hardware was correctly detected and the kernel was able to determine the partitions on the SD card, but then everything failed with IRQ timeouts. I don't have anything connected to the SD pins on the GPIO header, but this should not matter when only using the sdhost overlay, should it?
My kernel is about two weeks old, but I don't see any related changes. I'll try with the latest one and provide full logs if this is not expected behavior.
Logs snippets. During a normal boot I see this:
When booting with sdhost or sdio I see this:
... this repeats forever and the root filesystem never comes up.
The text was updated successfully, but these errors were encountered: