Go Down

Topic: bootconsole Gibberish - Baud Rate Wrong (Read 380 times) previous topic - next topic

Quantumn

Mar 04, 2019, 12:19 am Last Edit: Mar 04, 2019, 12:23 am by Quantumn
I was following these directions to install LininoIO, which ask that in U-Boot I set the console baud to 250000:
linino> setenv baudrate 250000

It worked and I saved it to flash.  But ever since then bootconsole (initial boot) is nothing but gibberish.  I have tried and tried to get back into U-Boot but can't because it's gibberish.  As I now have LininoIO I tried
# fw_setenv baudrate 115200
... but no change, and there doesn't seem to be a fw_saveenv command.

---------------------------------------------------
f⸮⸮~⸮⸮⸮⸮`⸮⸮⸮⸮⸮⸮⸮⸮f⸮⸮fx⸮⸮⸮⸮⸮~⸮⸮⸮⸮⸮⸮⸮fx怘⸮⸮f⸮⸮~⸮⸮ff⸮fxxf⸮f⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮~⸮⸮⸮⸮⸮x~⸮昆⸮f⸮x`⸮⸮⸮⸮f⸮怘⸮⸮f⸮⸮~⸮⸮⸮⸮~⸮~⸮⸮f⸮⸮⸮⸮⸮⸮f⸮x⸮fxx⸮⸮⸮⸮⸮⸮f⸮⸮~⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮~⸮⸮ff⸮~`⸮⸮⸮⸮⸮``⸮⸮⸮~`⸮⸮⸮⸮⸮⸮⸮⸮~⸮⸮⸮⸮⸮⸮fxx⸮~⸮⸮⸮⸮⸮⸮f⸮⸮⸮⸮f⸮⸮~`f~f⸮⸮f⸮⸮⸮⸮⸮fx⸮⸮⸮⸮f⸮f⸮⸮ff⸮⸮⸮f⸮~怘⸮⸮f⸮⸮~⸮⸮fx⸮⸮⸮f⸮~⸮f⸮⸮f⸮⸮⸮ff⸮怘⸮⸮f⸮⸮~⸮f⸮⸮fxf⸮`fxxf⸮⸮⸮fx⸮⸮⸮⸮f⸮f⸮⸮ff⸮⸮⸮f⸮~怘⸮⸮f⸮⸮~⸮⸮fx⸮⸮⸮f⸮~⸮f⸮⸮f⸮⸮⸮ff⸮怘⸮⸮f⸮⸮~⸮⸮⸮⸮⸮`⸮⸮x⸮⸮⸮`x⸮⸮f⸮⸮`⸮⸮⸮⸮f⸮~⸮⸮⸮x⸮⸮f⸮⸮⸮⸮⸮⸮⸮~⸮⸮⸮⸮⸮⸮`⸮⸮x怘⸮⸮f⸮⸮~⸮⸮⸮⸮ff`⸮⸮⸮f⸮⸮~fx⸮~怘⸮⸮f⸮⸮~⸮⸮⸮f⸮⸮⸮⸮⸮⸮⸮⸮f⸮⸮~⸮⸮xf⸮⸮⸮f⸮⸮⸮⸮f⸮⸮~⸮⸮~f`⸮⸮x⸮⸮⸮⸮f⸮⸮⸮⸮⸮⸮`fx怘⸮⸮f⸮⸮~⸮f⸮⸮⸮⸮⸮⸮fx⸮⸮⸮ff`⸮⸮⸮f⸮⸮~fxf⸮⸮⸮⸮f⸮⸮~~⸮⸮⸮⸮⸮⸮f⸮⸮~⸮f~⸮⸮⸮⸮`⸮⸮⸮⸮⸮⸮f⸮⸮⸮~⸮⸮⸮⸮⸮⸮⸮⸮f⸮⸮xf⸮⸮⸮⸮⸮⸮f⸮⸮⸮⸮⸮`f⸮x⸮ff⸮⸮⸮~⸮⸮⸮⸮⸮⸮f⸮⸮`f⸮f⸮xf⸮⸮⸮~⸮⸮⸮⸮怘⸮⸮f⸮⸮~⸮⸮fx⸮⸮f⸮⸮⸮⸮⸮⸮⸮⸮`⸮⸮⸮⸮⸮f⸮~⸮⸮⸮⸮x⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮憆f~⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮ff~`fff⸮⸮⸮⸮⸮⸮⸮~`f⸮⸮~f⸮⸮f⸮⸮~⸮⸮⸮⸮⸮⸮ff⸮⸮⸮⸮`f⸮⸮⸮⸮x⸮⸮⸮⸮ff⸮⸮⸮⸮`f⸮f⸮⸮xf⸮⸮⸮x⸮⸮⸮⸮⸮⸮⸮⸮⸮`⸮xf⸮⸮⸮x⸮⸮⸮⸮⸮⸮f⸮⸮⸮⸮f⸮⸮⸮⸮⸮x⸮⸮⸮⸮⸮⸮x⸮⸮ff⸮⸮⸮⸮⸮x⸮⸮⸮⸮⸮⸮~⸮⸮⸮⸮⸮⸮⸮⸮xx⸮⸮f⸮xf⸮f⸮~f⸮⸮fx⸮⸮⸮⸮⸮⸮`⸮x~⸮fx⸮⸮ff~⸮⸮⸮x⸮⸮⸮⸮⸮x⸮x⸮x⸮⸮⸮⸮⸮⸮⸮⸮⸮`⸮⸮x⸮⸮fx⸮⸮`⸮⸮⸮⸮⸮`⸮x~⸮fx⸮⸮ff~⸮⸮⸮x⸮⸮⸮⸮⸮x⸮x⸮x⸮⸮⸮⸮⸮⸮⸮⸮⸮`⸮⸮x怘⸮⸮f⸮⸮~f`⸮⸮⸮⸮~⸮⸮⸮f⸮⸮⸮⸮`⸮⸮f⸮f⸮⸮⸮~xf⸮⸮⸮xf⸮⸮⸮~⸮⸮x⸮⸮⸮⸮x`⸮f~f⸮⸮f⸮怘⸮⸮f⸮⸮~`f⸮⸮`⸮⸮f⸮⸮f⸮⸮⸮f⸮⸮⸮⸮~⸮⸮⸮f⸮⸮⸮⸮`⸮⸮f⸮f⸮⸮⸮~⸮⸮⸮⸮x⸮⸮⸮xf⸮⸮⸮~⸮x⸮⸮⸮x⸮x⸮f~f⸮⸮f⸮怘⸮⸮f⸮⸮~⸮⸮⸮⸮⸮`fx⸮f⸮⸮⸮f⸮⸮⸮⸮~⸮⸮⸮f⸮⸮⸮⸮`⸮⸮f⸮f⸮⸮⸮~⸮⸮⸮⸮⸮xf⸮⸮⸮~x⸮⸮⸮⸮⸮f~f⸮⸮f⸮怘⸮⸮f⸮⸮~f⸮f⸮⸮⸮⸮f⸮⸮⸮⸮~f~~⸮⸮⸮⸮⸮⸮⸮⸮f⸮⸮⸮f`⸮憀⸮f⸮⸮ff⸮⸮⸮~ff⸮⸮⸮⸮⸮⸮f⸮⸮f⸮⸮fx⸮x⸮f~f⸮⸮⸮⸮怘⸮⸮f⸮⸮~f⸮f⸮⸮⸮⸮fx~⸮⸮f⸮⸮⸮f⸮x⸮憀⸮⸮~ff⸮f⸮⸮ff⸮⸮⸮⸮f⸮⸮⸮f⸮⸮⸮⸮⸮⸮⸮fx⸮⸮⸮⸮⸮⸮f⸮⸮f⸮⸮fx⸮x⸮f~f⸮⸮f⸮⸮⸮⸮f⸮⸮~⸮ff⸮`f⸮⸮⸮~⸮⸮⸮⸮⸮⸮~⸮⸮⸮fx~f⸮~f⸮⸮f⸮⸮⸮⸮f⸮⸮~⸮fxxf⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮~⸮⸮⸮fx~f⸮~f⸮⸮f⸮⸮⸮⸮f⸮⸮~⸮fx⸮⸮⸮f⸮~⸮⸮⸮⸮⸮x⸮⸮⸮xx⸮⸮⸮⸮⸮~f⸮⸮⸮⸮⸮⸮f⸮⸮⸮⸮⸮⸮⸮⸮⸮fx⸮⸮f⸮⸮⸮⸮`fx⸮⸮f⸮x⸮⸮⸮fxfx⸮~fx⸮⸮~⸮⸮x~⸮⸮⸮⸮x⸮⸮⸮⸮⸮⸮⸮⸮`⸮⸮⸮⸮⸮⸮~⸮⸮ff⸮⸮⸮怘⸮⸮f⸮⸮~⸮⸮⸮ff⸮⸮~⸮`f⸮⸮⸮⸮⸮⸮⸮f⸮⸮⸮⸮~f⸮⸮⸮⸮~⸮⸮⸮x⸮⸮⸮xf⸮⸮f⸮⸮⸮x⸮⸮⸮f⸮⸮⸮⸮⸮⸮⸮fx~f⸮⸮⸮ff⸮⸮f⸮⸮⸮⸮⸮⸮`fxf⸮⸮⸮⸮⸮⸮f⸮⸮~⸮ff⸮⸮ff⸮⸮~⸮⸮怘⸮⸮f⸮⸮~⸮⸮f⸮⸮⸮⸮⸮f~⸮⸮⸮⸮~xf⸮f⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮f⸮`x⸮⸮~⸮昆⸮f⸮⸮⸮⸮⸮⸮f⸮⸮⸮x⸮⸮⸮怘⸮⸮f⸮⸮~f⸮`⸮f⸮f⸮~xf⸮xf~⸮⸮`⸮~⸮x⸮x⸮⸮f⸮⸮⸮⸮⸮⸮ff⸮⸮⸮x⸮⸮⸮⸮⸮⸮f⸮⸮~⸮⸮f⸮⸮`f⸮f⸮⸮⸮f⸮⸮⸮⸮~⸮⸮⸮f⸮⸮⸮⸮`⸮⸮f⸮f⸮⸮⸮~⸮⸮⸮x怘⸮⸮f⸮⸮⸮⸮~⸮ff⸮⸮fx~f⸮~f⸮⸮fx`⸮⸮⸮`⸮⸮⸮⸮xf⸮⸮⸮⸮⸮⸮⸮⸮怘⸮⸮f⸮⸮⸮⸮~⸮xf⸮⸮⸮⸮⸮⸮⸮f⸮x`⸮~⸮fx~f⸮~f⸮⸮fx`⸮`f⸮~⸮⸮x⸮⸮⸮⸮⸮xf⸮~⸮⸮fx⸮⸮⸮~⸮⸮~⸮⸮⸮⸮⸮⸮f⸮⸮~⸮f⸮f⸮⸮~⸮⸮f⸮⸮⸮⸮⸮⸮⸮f⸮⸮⸮⸮⸮⸮⸮xff⸮⸮⸮⸮⸮⸮xf~⸮⸮怘⸮⸮f⸮⸮⸮⸮~x⸮f⸮⸮⸮⸮⸮⸮⸮⸮⸮f⸮fx`f~f⸮~⸮~⸮⸮⸮⸮⸮f怆~f⸮~~⸮⸮~x~⸮⸮⸮⸮~⸮⸮~怘⸮⸮f⸮x⸮~x⸮f⸮⸮⸮⸮⸮⸮⸮⸮⸮f⸮fx`f~f⸮⸮~⸮⸮~⸮⸮⸮f怆~f⸮~~⸮⸮~x~⸮⸮⸮⸮~⸮⸮~怘⸮⸮f⸮f⸮⸮⸮~⸮⸮f⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮fx`~⸮⸮⸮⸮~⸮`f⸮怘⸮⸮f⸮f⸮⸮⸮~⸮⸮fx`~⸮⸮⸮⸮~⸮`f⸮⸮⸮fx⸮⸮⸮⸮f⸮f⸮~⸮⸮fx`~⸮⸮⸮⸮~⸮`f⸮⸮⸮f⸮xx⸮⸮⸮⸮f⸮f⸮~⸮⸮fx`~⸮⸮⸮⸮~⸮`f⸮⸮ff⸮⸮f⸮f⸮⸮x⸮⸮⸮⸮f⸮f⸮~⸮⸮f⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮~⸮`f⸮⸮⸮f⸮⸮⸮⸮⸮`⸮⸮⸮⸮⸮⸮⸮f⸮⸮⸮怘⸮⸮f⸮f⸮~⸮f⸮⸮⸮⸮⸮⸮⸮⸮fx~f⸮⸮⸮⸮⸮⸮f⸮⸮⸮⸮⸮⸮~⸮⸮⸮⸮f⸮f⸮⸮⸮~⸮⸮⸮⸮⸮⸮⸮⸮⸮fx⸮⸮fx~f⸮~f⸮⸮fx`⸮f⸮~⸮⸮⸮⸮`fx⸮x⸮⸮fxxf⸮xfx⸮⸮⸮⸮⸮⸮⸮xf⸮⸮⸮⸮f⸮f⸮⸮⸮~⸮⸮⸮⸮⸮⸮⸮⸮⸮fx⸮⸮fx~f⸮~f⸮⸮fx`⸮f⸮~⸮⸮⸮⸮`fx⸮x⸮⸮fxxf⸮xfx⸮f⸮⸮f⸮⸮⸮⸮f⸮x⸮~⸮⸮⸮⸮⸮⸮⸮⸮⸮fx⸮⸮fx~f⸮~f⸮⸮fx`⸮f⸮~xf⸮~⸮⸮fxxf⸮xfx⸮⸮⸮⸮⸮⸮f⸮⸮⸮⸮f⸮x⸮~⸮⸮⸮~⸮⸮`⸮⸮⸮⸮⸮⸮⸮~~⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮f⸮⸮⸮⸮fx⸮f⸮f⸮f⸮⸮⸮⸮f⸮x⸮⸮⸮~⸮ff⸮⸮fx~f⸮~f⸮⸮fx`⸮⸮⸮`⸮⸮⸮⸮xf⸮⸮⸮⸮⸮⸮x怘⸮⸮f⸮x⸮⸮⸮~⸮f⸮⸮f~f⸮⸮f⸮⸮⸮f⸮⸮⸮⸮~⸮⸮⸮f⸮⸮⸮⸮`⸮⸮f⸮f⸮⸮⸮~⸮⸮x`⸮⸮⸮xf⸮⸮⸮~⸮⸮⸮⸮f~f⸮⸮f⸮怘⸮⸮f⸮xx⸮~ff⸮⸮⸮⸮~⸮⸮⸮⸮⸮⸮fx⸮⸮⸮⸮~⸮⸮⸮f⸮⸮⸮⸮`⸮⸮f⸮f⸮⸮⸮~x⸮⸮⸮⸮xf⸮⸮⸮~x⸮⸮⸮⸮⸮f~f⸮⸮f⸮怘⸮⸮f⸮xx⸮~ff⸮f⸮⸮⸮`⸮⸮⸮⸮~⸮⸮⸮f⸮⸮⸮⸮`⸮⸮f⸮f⸮⸮⸮~x⸮⸮⸮⸮xf⸮⸮⸮~⸮⸮⸮⸮⸮⸮⸮x⸮f~f⸮⸮f⸮怘⸮⸮f⸮x⸮x⸮~ff~⸮⸮⸮⸮~⸮⸮⸮f⸮⸮⸮⸮⸮⸮⸮xf⸮~f~fx`⸮f⸮⸮~⸮⸮⸮⸮⸮⸮fxx⸮⸮f⸮⸮⸮`x⸮⸮⸮⸮⸮⸮⸮f⸮x⸮~ff⸮fx⸮⸮⸮⸮⸮fx~f⸮~f⸮⸮fx`f⸮⸮⸮⸮f⸮x⸮~⸮f`f⸮⸮⸮⸮~⸮⸮⸮f⸮⸮⸮⸮`⸮⸮f⸮f⸮⸮⸮~xf⸮⸮⸮xf⸮⸮⸮~⸮⸮⸮⸮f~f⸮⸮f⸮怘⸮⸮f⸮x⸮⸮⸮~⸮f`f⸮⸮⸮⸮`fx⸮⸮⸮⸮~⸮⸮⸮f⸮⸮⸮⸮`⸮⸮f⸮f⸮⸮⸮~xf⸮⸮⸮xf⸮⸮⸮~⸮⸮⸮⸮f~f⸮⸮f⸮怘⸮⸮f⸮x⸮⸮⸮~⸮ff⸮⸮fx~f⸮~f⸮⸮fx`⸮⸮⸮`⸮⸮⸮⸮xf⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮f⸮x⸮~⸮⸮ff~⸮⸮⸮x⸮⸮⸮~~f⸮⸮⸮⸮f⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮f⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮f⸮x⸮⸮f⸮⸮f⸮⸮⸮⸮f⸮x⸮~⸮⸮`x昆x~f⸮⸮⸮⸮f⸮⸮⸮⸮⸮x⸮⸮⸮⸮⸮⸮⸮`f⸮⸮fff⸮⸮⸮⸮ff⸮⸮⸮⸮⸮fff⸮⸮ff⸮⸮⸮ff⸮⸮f⸮⸮⸮`f`⸮ff⸮f⸮⸮⸮ff⸮f⸮⸮f⸮x⸮⸮⸮⸮x⸮fx`⸮~⸮⸮⸮⸮⸮⸮⸮怘⸮⸮f⸮x⸮⸮⸮~⸮⸮⸮⸮⸮x⸮⸮⸮⸮⸮⸮⸮⸮⸮fxf⸮⸮⸮⸮fx`~⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮f⸮~⸮~⸮⸮⸮⸮⸮⸮⸮ffx⸮⸮⸮⸮f⸮⸮xf⸮⸮f⸮⸮f⸮⸮⸮⸮⸮x⸮⸮xf⸮xfx~f⸮⸮⸮⸮f⸮⸮⸮⸮⸮⸮`⸮⸮⸮xfx⸮⸮⸮⸮⸮xf⸮x⸮⸮怘⸮⸮f⸮~⸮~⸮⸮⸮⸮⸮⸮⸮⸮fxf⸮f⸮⸮⸮⸮⸮⸮⸮⸮fx~f⸮~f⸮⸮fx`f⸮⸮⸮⸮f⸮~⸮⸮⸮~⸮⸮⸮⸮⸮⸮⸮⸮fxf⸮f⸮⸮xffx⸮⸮⸮⸮⸮⸮f⸮fx~f⸮~f⸮⸮fx`⸮`fxxff~⸮⸮`f⸮怘⸮⸮f⸮~⸮⸮⸮~⸮⸮fxf⸮⸮⸮xf⸮⸮f⸮⸮xf⸮xfx⸮⸮⸮⸮~⸮⸮⸮⸮ff⸮⸮⸮⸮⸮f⸮⸮⸮~⸮⸮⸮⸮⸮⸮⸮fx怘⸮⸮f⸮~x⸮~⸮⸮⸮⸮f⸮xf⸮ff⸮⸮~⸮~`fff⸮⸮⸮⸮~⸮f⸮⸮⸮⸮⸮fx⸮⸮⸮f⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮
⸮AR933X UART
[    0.730000] console [ttyATH0] enabled, bootconsole disabled
[    0.730000] console [ttyATH0] enabled, bootconsole disabled
[    0.740000] m25p80 spi0.0: found w25q128, expected m25p80
[    0.740000] m25p80 spi0.0: w25q128 (16384 Kbytes)
[    0.740000] 7 cmdlinepart partitions found on MTD device spi0.0
[    0.740000] Creating 7 MTD partitions on "spi0.0":
[    0.750000] 0x000000000000-0x000000040000 : "u-boot"
[    0.750000] 0x000000040000-0x000000050000 : "u-boot-env"
[    0.750000] 0x000000050000-0x000000ea0000 : "rootfs"
[    0.760000] mtd: partition "rootfs" set to be root filesystem
[    0.760000] mtd: partition "rootfs_data" created automatically, ofs=9E0000, len=4C0000
[    0.760000] 0x0000009e0000-0x000000ea0000 : "rootfs_data"
[    0.770000] 0x000000ea0000-0x000000fe0000 : "kernel"
[    0.770000] 0x000000fe0000-0x000000ff0000 : "nvram"
[    0.780000] 0x000000ff0000-0x000001000000 : "art"
[    0.780000] 0x000000050000-0x000000fe0000 : "firmware"
[    0.800000] ag71xx_mdio: probed
...
---------------------------------------------------



I've tried every way from Sunday to change the baud back to 115200 in the YunSerialTerminal but no luck.  I know the problem is baud, I just don't know how to fix it.

This wouldn't matter so much except in Linux I can't vi edit anything as there are garbage characters, and even with ls -al.

root@sagitta:/etc/config# ls -al
drwxr-xr-x    1 root     root             0 Jun  1 20:16 .
drwxr-xr-x    1 root     root             0 Jun  1 20:46 ..
-rw-r--r--    1 root     root           525 Jun  1 20:16 alljoyn
-rw-r--r--    1 root     root           205 Jun  1 20:29 arduino
-rw-r--r--    1 root     root          1236 Jan  1  1970 banner
-rw-r--r--    1 root     root           885 Jun  1  2016 dhcp
-rw-r--r--    1 root     root           134 Jun  1  2016 dropbear
-rw-r--r--    1 root     root           386 Jun 26  2014 firewall
-rw-r--r--    1 root     root           134 Jun  2  2016 fstab
-rw-r--r--    1 root     root           106 Jan  1  1970 inittab
-rw-r--r--    1 root     root           688 Jun  1 20:16 luci
-rw-r--r--   root     root           162 Apr 19 20:15 mcuiocfg
-rw-r--r--    1 root     root           260 Jun  1 20:41 network
-rw-r--r--    1 root     root           153 Jan  1  1970 shadow
-rw-r--r--    1 root     root           765 Jun  1 20:29 system
-rw-r--r--    1 root     root             0 Jun  1 20:16 ubootenv
-rw-r--r--    1 root     root           826 Jun  1 20:16 ucitrack
-rw-r--r--    1 root     root          2411 Jun  1 20:16 uhttpd
-rw-r--r--    1 root     root           453 Jun  1 20:41 wireless
root@sagitta:/etc/config#

ShapeShifter

Quote
But ever since then bootconsole (initial boot) is nothing but gibberish.
I've not tried those instructions to update my Yun, so I can only guess at your issue. I am also assuming you are using the YunSerialTermnal sketch in conjunction with the Arduino IDE Serial Monitor to view the output.

It looks like you have U-boot configured for 250000 baud, and Linux set for 115200. Because you have the YunSerialTerminal's connection to the console port set to 115200, the initial U-boot output is unreadable. You need to change the speed that YunSerialTerminal is using to talk to the console port to 250000 in order to see the U-boot output. Of course, this will make the later output unreadable, but it may give you a chance to change the U-boot output speed.

Note that it is the Serial connection between thevYunSerialTerminal sketch and the Linux console that must be changed, this is NOT the speed between the Yun and your computer - changing the baud rate on the Serial Monitor's drop down list will do nothing, as that is only changing the speed between your computer and the sketch, and it is the connection between the sketch and the Linux side that is the issue.

After you start up the YunSerialTerminal, and connect to it with the Serial Monitor, send "~2" from the Serial Monitor - that will set the YunSerialTerminal to talk to the Linux side at 250000 baud. If you then press the YunRst button, you should be able to see the initial U-boot output as readable characters. If you let it continue, eventually you will get past U-boot and and into the Linux startup messages. Those latter messages will then be garbage because they are coming out a 115200, and the YunSerialTerminal sketch is trying to read it at 250000.

While the latter part of the startup process will be unreadable, this will let you see the initial messages, and will let you interrupt the startup process and enter the U-boot command line. At that time, you can try setting the U-boot baud rate to 115200 using the setenv command. Once you've accomplished that, the startup messages will once again be garbled - send "~1" to the YunSerialTerminal to set it back to 115200 baud.

Quote
This wouldn't matter so much except in Linux I can't vi edit anything as there are garbage characters, and even with ls -al.
That ls output looks normal, I don't see any garbage characters. What I do see are escape sequences used to set the text color to color code the various files, directories, links, etc. This is normal. I suspect that you are still using the Serial Monitor at this point. Serial Monitor is a very basic terminal emulator, and does not support these escape sequences. It also has a limitation that it sends data a full line at a time, rather than individual key presses. This will make using vi intolerable as you won't be able to send individual keys, and vi makes use of a lot of escape sequences to control the screen. The Serial Monitor is designed for very basic serial communications with a sketch, it is not designed for more sophisticated uses like a Linux command line. You need to use a more powerful serial terminal emulator application (I use PuTTY on Windows, but there are lots of available options.)

Quantumn

#2
Mar 04, 2019, 05:28 pm Last Edit: Mar 04, 2019, 07:20 pm by Quantumn
Hi ShapeShifter, thank you for the comprehensive response.  Indeed I'm using the  YunSerialTerminal, and when set to 115200 I can see boot after bootconsole fine.  But when I try to change the baud rate:

Please press Enter to activate this console.


BusyBox v1.19.4 (2016-06-01 23:26:44 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

  ___                   ___                       ___           ___    
 /\__\      ___        /\__\          ___        /\__\         /\  \    
/:/  /     /\  \      /::|  |        /\  \      /::|  |       /::\  \  
/:/  /      \:\  \    /:|:|  |        \:\  \    /:|:|  |      /:/\:\  \  
/:/  /       /::\__\  /:/|:|  |__      /::\__\  /:/|:|  |__   /:/  \:\  \
/:/__/     __/:/\/__/ /:/ |:| /\__\  __/:/\/__/ /:/ |:| /\__\ /:/__/ \:\__\
\:\  \    /\/:/  /    \/__|:|/:/  / /\/:/  /    \/__|:|/:/  / \:\  \ /:/  /
\:\  \   \::/__/         |:/:/  /  \::/__/         |:/:/  /   \:\  /:/  /
\:\  \   \:\__\         |::/  /    \:\__\         |::/  /     \:\/:/  /  
\:\__\   \/__/         /:/  /      \/__/         /:/  /       \::/  /  
 \/__/                 \/__/                     \/__/         \/__/  
                                                                                   
        _______                     ________        __
       |       |.-----.-----.-----.|  |  |  |.----.|  |_
       |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
       |_______||   __|_____|__|__||________||__|  |____|
                |__| W I R E L E S S   F R E E D O M

root@sagitta:/# ~2
/bin/ash: ~2: not found
root@sagitta:/# ~2
/bin/ash: ~2: not found
root@sagitta:/# ~~
/bin/ash: ~~: not found
root@sagitta:/#

So I downgraded from LininoIO to Linino, but same result.

I set baud to 250000, then unplugged the Lun's USB and reconnected, and now I still see boot after bootconsole except with a blank line between each line.  And when I hit <Enter> it goes crazy with lines scrolling by at top speed (all legible), mostly saying, "wARN: missing pipe ext".  Trying ~2 has no effect.

Setting console baud back to 115200 and trying ~2 I get the "/bin/ash: ~~: not found" as above.

Maybe I need to rewrite U-Boot using tftp?  Although, I'm not able to use U-Boot to set the tftp server IP.

Quantumn


ShapeShifter

(uh oh, SS has disappeared)
Not disappeared, but some of us have jobs and other commitments that prevent us from monitoring the forums full time.  ;)

I'm afraid that I don't have any other advice to offer. As I said initially, I have not tried performing this upgrade path. I only responded because the symptoms you posted strongly point to mismatched baud rates between the sketch and the Linux processor.

It's curious that the "~2" command is not working. It should be intercepted by the YunSerialTerminal sketch and should trigger a baud rate change. But instead, it looks like the sequence is being sent through to the Linux console. Are you using the Arduino IDE's Serial Monitor to talk to the Yun's serial port? If so, are you sending the two characters at the same time, or are you typing them one at a time and hitting "Send" after each character? If the latter, that could explain the problem as there would be extra line terminators that would confuse the sketch's code.

Did you make any changes to the YunSerialTerminal sketch? Does the source code for your copy of the sketch match that one the website? https://www.arduino.cc/en/Tutorial/YunSerialTerminal

Keep in mind that when you open an example sketch, you are looking at the original code, and are able to save changes which overwrite the original example, changing it forever. It would be nice if opening an example sketch would create a new copy of it to allow changing it as you see fit without affecting the original version. This burned me a couple times when first using Arduino, and I ended up unintentionally making permanent changes. I know it's a stretch, and that's probably not what happened here, but it's about the only thing that I can think if.

Quantumn

Understand, thanks.

Indeed using YunSerialTerminal, and have made zero changes to it.

Agree with the mismatched baud theorem. And it's awfully queer that ~ is getting passed along to Linux.

Maybe this thing has defeated me.

ShapeShifter

My only other thought is to bypass the YunSerialTerminal sketch. Run a blank sketch (what you get when select "File | New" in the IDE) or something trivial like the Blink sketch - something that doesn't use the Bridge or Serial1 or pins 0 and 1. Load that sketch onto the Yun, and that will essentially disconnect the AVR processor from the Linux side.

Then, use a USB to TTL serial cable, and connect directly to pins 0 and 1 on the Yun:
  • Pin 0 goes to the receive data connection of the cable
  • Pin 1 goes to the transmit data connection of the cable
  • Any of the GND pins go the ground connection of the cable

If the cable has a power output pin, leave it disconnected.

Now, you can use the Serial Monitor or some other terminal emulator to connect to the USB adapter. In this case, the speed setting you select in the Serial Monitor's baud rate box will be functional (if you are using a different terminal emulator program, set the speed according to how that program works.) This should let the USB adapter (and your terminal emulator) talk directly to the Linux console. You should be able to set the speed to 250000 when talking to U-Boot, and 115200 when talking to the kernel.

In a normal Arduino, pins 0 and 1 talk to the AVR processor. On a Yun, these pins are also connected to the Linux console port. By running a blank sketch, the AVR processor is ignoring those pins, and you can use those pins to talk to Linux. Just keep in mind that the Tx/Rx polarity of these pins is in relation to the AVR processor - they will be reversed on the Linux side: use pin 0 to listen to the Linux console, and pin 1 to talk to it. (I hope I didn't just get that backwards!)

Go Up