We have a lab equipped with old Respberry Pi version B. To allow student to modify the system image without removing and inserting SD cards (which killed them in a few weeks), we use U-Boot bootloder, patched so that it passes the boot parameters prepared via a standard RPi firmware. I wanted to update our environment to Buildroot 2016.11.2 in this semester. Unfortunately, it appears, that the U-Boot does not set the UART speed properly in that scenario. I've meassured the UART speed with the oscilloscope, and it appeared, that it is equal to ca. 1840 kb/s. However, the kernel uses the correct UART speed - 115.2 kb/s. I've also tested the operation with the Buildroot 2017.2 In this case things are even more interesting. The U-Boot sets the UART speed correctly to 115.2 kb/s, but hte kernel works at 921.6 kb/s What can be the reason of the experienced problems? Can I easily cure them with the settings done in the config.txt file? TIA & Regards, Wojtek
Created attachment 6951 [details] Buildroot configuration to generate the U-Boot
I have fond the temporary workaround. The U-Boot generated with Buildroot 1016.02 and the attached configuration is able to load correctly the kernels generated with 2016.11. The zImage generated with the same configuration is used as a "rescue image" allowing to modify the contents of the SD card without removing it.
Thanks for reporting this bug. However, this doesn't look like a Buildroot problem, but more a U-Boot or Linux kernel problem. That being said, tons of people are using our RPi defconfigs, and they seem to work fine, you are the only one to report such issues.
I agree, that defconfigs work correctly, because they do not use U-Boot. Probably this is a U-Boot related problem. At the moment we are using the U-Boot from BR 2016.02, which works fine. If I'll find any explanation of the problem and a fix, I'll report it With best regards, Wojtek