Open BuddyZhang1 opened 7 years ago
Thank you @Jonsmirl jonsmirl@gmail.com
Mark your advice, the original mail as follow:
https://en.wikipedia.org/wiki/Bluetooth
Bluetooth 2.0 + EDR
This version of the Bluetooth Core Specification was released in 2004. The main difference is the introduction of an Enhanced Data Rate (EDR) for faster data transfer. The nominal rate of EDR is about 3 Mbit/s, although the practical data transfer rate is 2.1 Mbit/s.[46] EDR uses a combination of GFSK and Phase Shift Keying modulation (PSK) with two variants, π/4-DQPSK and 8DPSK.[48] EDR can provide a lower power consumption through a reduced duty cycle.
With the current code Allwinner UARTs are limited to 1.5Mb/s. Use 'stty' and try to set 3Mb/s, it will fail.
Note this impacts things like Ampak and Realtek modules, not USB BT. USB runs at 480Mb/s.
If you do a large BT transfer - like a file transfer - trying to stick 3Mb/s data into a 1.5Mb/s serial port results in overruns. The overruns cause packet retransmissions and everything gets a whole lot slower.
The Allwinner hardware is capable of supporting 3Mb/s. The software simply hasn't configured the clocks so that 3Mb/s is possible.
All of the Allwinner UARTs use the same clock source. The impact of this is that if I use Linux to set UART1 to 3Mb/s it changes the clock for UART0 too. UART0 is the console and the console stops working. This clock needs to be changed before the console is active. That means it has to be set up in u-boot.
If your are using ARM Trusted Firmware which most people use on A64/H5, the code needs to be added there instead of in uboot SPL.
Hi, all friends: Recently, We will release new board named "OrangePi Zero Plus2", it contains "wifi and bluetooth", Today, A friends post issue to me, we discuss how to approve performance for Bluetooth. At first, Bluetooth uses UART to exchange data, and then the speed of UART will affect performance of Bluetooth.
The original mail as follow:
BTW, all friends, what do you want to do?