BeagleBone Black 1000000 Baud, 1 MBaud


I’m currently running Debian, uname -r ==> 3.8.13-bone47. I am trying to interface with a PIC that has a 1 M baud rate. OS calls as well as C calls using termios.h both say they support 1000000, but the communication is always garbled. If I stty -F /dev/ttyO0 1000000. then check the Baud rate it responds as set. Setting Baud to 921600 works fine and communication is clear, but would require an external clock on the PIC.

Does BBB hardware support 1 MBaud? Does 3.8.13-bone47 support 1 MBaud? Is there some kernel settings that I have to do to make it work? Is there another kernel that I could flash that would make it work? Ideally I would hope someone has an example C code that brings up a 1 MHz connection that they could share.



The beaglebone black should be able to handle serial up to around 3.7Mbit. I do recall someone saying something about potential issues once going over some value above 1Mbit - e.g. it was a long time ago when I read about that . . .

Anyway, read these posts . . . forward to back, or back to forward if you’re impatient.!searchin/beagleboard/serial$20peter|sort:date/beagleboard/GC0rKe6rM0g/b1ql-jPBqOkJ

I’m using my BB-W and BB-B with 3.5MBit in order to read data that comes from an FPGA. No basic problems with that since ever, even with old Angstrom 3.2 and Angstrom 3.8.
Just the Debian 3.8 until Debian 3.18 are suffering from the problem described here:

Means: If you have low amounts of data coming from your PIC, it is not an issue. If these are larger amounts, the Kernel gets stuck.
Just 3.19 fixes this problem and 4.1 as well as 4.2.


We are experiencing this issue with Kernel 4.1. Did you have to do anything special at all?


I’ve come back to this problem and this is what I’ve seen:

Will do 1 MBaud and 31250, won’t enumerate as a USB drive in Windows, Mac, Linux
various 3.14 and 3.8 versions do this, but I didn’t keep the date stamps like I should have
Setting custom Baud by B38400 and then a custom divider works

Will do 31250 and enumerates under Windows, Mac, Linux
WON’T do 1 MBaud
Setting custom Baud by BOTHER works

I’m hoping that change that allowed for enumeration happened before the switch that crippled B1000000. Does anyone know an image that consistently enumerates the USB ( and ) as well as provides for custom Baud of 31250 and 1 MBaud?