RPI, baudrate for serial console

I have RPI 3B+, it runs IPfire core 184 and I connected serial console.

  • I modified /boot/config.txt, I added line enable_uart=1
  • I modified /boot/uEnv.txt, it has line SERIAL-CONSOLE=ON

I use screen /dev/ttyUSB0 115200 command on my Linux PC, to connect to the serial console. It works but only from the point when kernel starts to boot.

There is a lot of garbage printed in the initial stage, maybe that different baudrate is used but I failed to find what is correct value for that part. Maybe it is just a random garbage. Any idea?

It looks like this (reboot):

Deactivating all swap files/partitions...                              [  OK  ]
Bringing down the loopback interface...                                [  OK  ]
Prepare for reboot...
reboot: Restarting system
�Lrl6fN��ξ������p�����l����L��>�����0�&�lƌl����l�L�2���6�|��|>&`�LƲ�&l>Ll��l���&`�26��L�Μ2Ό`��6����L�L��|2�����2�>��&���l�L����f����2�>��&�0�&�2�L�r�f�6`r&�`���&�p�2����>�l����2��>l�`p���6�Μl�|ƾ������f�|>��������6|����L�&l�6�����ΜLƌp��`��`pl>�&�Μ�&Ɯ&>p�l�|ƾ������6�|��Lrl���>�|6�&��p&`~6>���>�����|~��&`6����������|~��6`|6������L��������>��~6>|�|l`�>�>��Μl6�6`|���L&>�L����6f�>�26L��2`�l`��6�����Μ�p��l����26��~��2�>��&�������rL2����|���|���6�>`l�0�6�����ξ�|2>|�`�l2�f`�6ƾ��&�`�|B��~&�|�rl�|&�����ΜL>����~��|���|�2�2�>��6�������l���|�6�6ƾ��f�`�|���~f�|��l`6ξL�����6&>~�|���L6>���p~��>���```l�```L`���>��~&�>������|����l��Lr&�p�l�|�p6��6�|��6ƾ��&�rL��p�����ΜL����>����l����Μ�6r�`~��>�|�f�>��p~��>|�|�6`����p�>6��|6&�L�Όl�|�p|�ll����|�l`�0L��f�6>�&�Μ�|�&��l>���`L��p�>6��|2&�L�Όl�|��Ǝ������|�L`p���L�2�ξ|>��|���l|���L�6�>�p~��|~��>~>�&�ppLl̎���l`�l��L����p��&��|&6�l��L��Ll�|��l�����|�L`�L�0��p��2��|&6�l����|�|���l����|�l`rl
Booting Linux on physical CPU 0x0000000000 [0x410fd034]
Linux version 6.6.15-ipfire (root@arm64-01.zrh.ipfire.org) (gcc (GCC) 13.2.0, GNU ld (GNU Binutils) 2.41) #1 SMP PREEMPT_DYNAMIC Fri Feb  9 18:47:53 GMT 2024
KASLR disabled due to lack of seed
Machine model: Raspberry Pi 3 Model B+
efi: UEFI not found.

This is a hardware issue on the 3b+ (software uart) that u-boot has the wrong (unstable) baudrate because a timer is not supported. There is easy way to fix this without breaking the compatiblity with other arm boards.