Hello all,
I got my TinkerBoard for Christmas- wonderful, powerful little board! One thing I've used it for is to replace an aging Beagleboard XM that served as a router for my RPi 1 model A, which uses Point-to-Point Protocol (PPP) to access the Internet. PPP is essentially "Internet over a serial line", and while 115200 baud is sufficient for small amounts of data transfer, like updating the time via NTP or infrequent downloads, it is still rather slow.
I've found that I've been unable to get the Tinkerboard to send/receive reliably over 115200 baud. I suspect this issue is similar to my Pi, where I have to use a config.txt option to raise the UART clock speed to get higher baud rates (I can do up to 460800 baud reliably):
Code:
init_uart_clock=14745600
Unfortunately, I haven't found an equivalent setting to set on the TinkerBoard; I can't imagine that the UARTs on the TinkerBoard are limited to 115200. Could someone point me in the right direction?
Thanks for any help in advance!
Hi cr1901
we don't have this config "init_uart_clock" for UART for user.
can i know what default setting you want? baud rate or clock?
But, if you can modify user space/kernel driver by yourself, yes, thinkerboard can support 4M baud rate.
you can modify /boot/extlinux/extlinux.conf
"append earlyprintk quiet splash plymouth.ignore-serial-consoles console=tty1 console=ttyS3,115200n8 rw init=/sbin/init"
to
"append earlyprintk quiet splash plymouth.ignore-serial-consoles console=tty1 console=ttyS3,4000000n8 rw init=/sbin/init"
and setting terminal to 4M baud rate to receive data from tinkerboard.
Hello scorpiochang,
I want to set the baud rate of ttyS3 to 921600 baud to talk to a PPP device from my TinkerBoard. I won't be running a console on ttyS3.
However, when I use ttyS3 from minicom, the highest speed I can go is 230400 baud. I have attached some waveforms from ttyS3 (pins 36 and 37). In each case, I am sending ASCII 'a' out from the TinkerBoard. Only 230400 baud correctly sends out the character.
230400:
921600:
460800:
So what I just figured out this morning is that TinkerBoard is rounding up 460800 baud to 500000 baud and 921600 baud to 750000 Megabaud. It is more convenient for me to
not have to round up my external PPP devices to non-standard baud rates, but I will try this as a workaround for now.
So to answer your question, I do want to change the UART clock speed

.
Hi cr1901
I had test baud rate 921600 and 460800, those also work on my side.
and i use scope to capture the waveform as attachment.
the period of "start + 8bit + stop" should be about 10us (baud rate 921600).
But your picture show it as 12us, i think there are something wrong,...
Hi cr1901
1. can you increase sample rate of LA?
2. what ppp device you use? can you share porting guide and more information to me?
thank you.
Hello scorpiochang,
I'd be happy to discuss my PPP setup instructions later, but right now I only have time to capture some more waveforms.
For these waveforms I disabled PPP, and the issue still remains.
In the first image, I sent the letter ASCII 'a' again, at 24MHz (
this is the highest my logic analyzer goes), and we can see that the data wasn't sent at 921600 baud.
My terminal was set to send at 921600 baud when I sent this ASCII 'a'.
On the other hand, if I change the UART decoding baud rate to 750000 baud, we get a perfect match.
The disparity makes me think that the UART clock rate for my Tinkerboard is different from yours.
Hi cr1901
I will share test program to you and use minicom test it later.
Before that,
you can refer to “https://raspberrypi.stackexchange.com/questions/70006/setting-custom-baud-rate-in-minicom/70008” to set baud rate to 921600 or higher and test again.
BTW, what tinker OS you use?
Thank you.
All these examples used minicom at the correct baud rates already

.
I use DietPi as the OS for my Tinkerboard:
Code:
wjones@DietPi:~$ uname -a
Linux DietPi 4.4.71+ #1 SMP Thu Aug 17 00:28:01 CST 2017 armv7l GNU/Linux
Hi cr1901
Finally, i can reproduce this issue.
however,
1. if you can compiler kernel by yourself, apply my attachment. after making kernel, copy zImage and rk3288-miniarm.dtb to /boot/ of TinkerBoard.
2. if not,
a. there are zImage and dtb file for you. (i test it on Tinker OS v2.0.4)
b. replacing those on dietpi, i am not sure it can work normal or not.
zImage:
https://www.dropbox.com/s/aas9plso7ra3mk...ar.gz?dl=0
Hello scorpiochang,
Thank you for your patience and help. It may take me a few days to test- I'm opting to compile my own kernel and I've had trouble doing this on DietPi.
Just out of curiosity,
1. How does this patch work?
2. Is it committed upstream to the Tinkerboard Debian kernel repo? What about mainline?
Hi cr1901
1. you can follow up
https://tinkerboarding.co.uk/wiki/index....are#Kernel to build kernel
and execute "git am xxxxxxx.patch" before "$ make ARCH=arm miniarm-rk3288_defconfig -j16"
if it get fail, you need to resolve conflict by manual.
2. no, it is not commit on Tinkerboard's main branch now, but it had commited on our upstream. (rockchip:
https://github.com/rockchip-linux/kernel...e-20171213)
commit 4391b28ca8e081e3070867affac2c41ba80f819c
Author: Huibin Hong <huibin.hong@rock-chips.com>
Date: Fri Sep 29 16:44:02 2017 +0800
serial: 8250_dw: set uart clk according to buadrate
Change-Id: I27f92816b202bbe4fa9d97f7656721661afbaa6e
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>