-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Compatibility between firmware and kernel? #803
Comments
There is very little coupling between Raspbian and the kernel - there's more between the VPU image (start.elf) and the kernel, but using any of our update mechanisms shouldn't keep those in sync.
|
It's a Pi3. Will try other models later when I have more time. I don't want to update the kernel because newer kernels have usb timing issues or something (I get packetloss on my wifi cards in monitor mode). So updating was done by simply copying the firmware files (*.dtb, *.bin, *.elf) over from the latest Raspbian image. |
Newer than what? The stable branch will get you 4.4.50. |
Newer than the 4.4.11 (from an older Raspbian version) I use now. Have tried different ones so far. The 4.4.50 one from the 2017-04-10 Raspbian release I haven't tried yet though. So I'm forced to upgrade to 4.4.50 I guess. |
As an intermediate step you could try:
which will update the VPU firmware and leave the kernel unchanged. |
wouldn't that be exactly the same as I did with copying the firmware from the latest raspbian distribution? Just tried it with the Pi0, same result. I have feedback from a user of my EZ-Wifibroadcast distribution, that copying over the firmware from an older Raspbian Version (the first one with Pi0 W support) did work for him. So I think the incompatibility must've been introduced somewhere between those two Raspbian versions (or the firmware versions they contain, to be be precise). My goal is to have a firmware that works with my 4.4.11 kernel and also with the new Pi0 W. |
Can you identify the exact update which caused this. See: If you click on each commit the end of the url contains a git hash. Run |
Still haven't got around buying a Pi0 W to do further testing. What I can tell so far is, that it has something to do with the start_x.elf firmware file. People using my EZ-Wifibroadcast distribution which uses Kernel 4.4.11 report that it works for them with the Pi0 W if they replace only the start_x.elf file from the 03-03-2017 Rasbian image. Since there seems to be no API versioning or other way to tell which firmware works with what kernel, I guess I'll eventually have to upgrade the kernel to the one from the latest Raspbian release. |
If you replace the start*.elf files, you also need to replace the fixup*.dat files. You appear to not be picking those up based on your comment:
|
@rodizio1 Any change of status on this? Can it be closed? |
|You appear to not be picking those up based on your I did replace everything, including the .dat files. @JamesH65 Consequence for me is, I'll use the exact firmwares and kernel versions included in the Raspbian Releases, as it's the only way to tell that kernel and firmware are compatible. |
That is the correct approach. There is, as you say, no version checking between kernel and firmware IIRC, so always using the latest firmware (we retain backwards compatibility as far as possible) is the best option. |
Knowing that a slightly newer firmware will most likely work, gives a bit more flexibility, thanks for the info. |
I've recently tried to upgrade the firmware to the one from the latest Raspbian image (2017-04-10). Now the system doesn't boot anymore. It doesn't even initialize the display, HDMI monitor shows "no device connected".
Figured out that enabling
start_x=1
in config.txt causes this.Using this kernel from an older Raspbian version:
If I remember correctly, Raspbian 2017-04-10 uses 4.4.50. Is that difference the cause?
Is there any documentation on what Kernel fits with what firmware? How is this handled internally, I'd assume there is an API version inside the firmware and the kernel that needs to match?
The text was updated successfully, but these errors were encountered: