USART1 is on Peripheral clock 2 PCLK2 (high speed: 72MHz), while the other USART (2, 3, ...) are on Peripheral clock 1 PCLK1 (low speed: 36MHz).
Only USART1 can run at the maximum speed of 4.5Mbits/s. Other USART are limited to 2.25Mbits/s.
How to set custom baudrate in GNU/Linux?
/* TODO: to be continued */