UART high speed hang fixed - disabled wkup_m3!!

Hi all,

I have been having an issue where when heavily using a serial UART at high speed I would get a lot of overrun errors on the port and eventually the BBB would hang/appear to power off. It was very strange, we couldn’t get kernel debugging at all, it did appear that is had powered down.

This morning I was making some changes to a device tree (attached) and managed to fix the problem, by disabling the wkup_m3 the problem appears to have disappeared.

Usually it would happen after around 2-3 hours and so far have uptime of 12+ hours on 2 test units I have on the bench so it is looking good.

Now…why is this the case. UART 2 is the one heavily used and the baud rate is 3Mbps and we are pretty much saturating the link at times.

  • What exactly does the wkup_m3 do?

  • Is it safe to keep it disabled? (Older device trees didn’t seem to use it)

  • Where would this fault lie, hardware or software and who should I report it to?
    I’ve been pulling my hair out for a week and thankfully appear to have a solution!!!

Happy Thanksgiving all.

Lee

testOverlay.dts (1.36 KB)

http://free-electrons.com/kerneldoc/latest/devicetree/bindings/remoteproc/wkup_m3_rproc.txt

From the gist of things it seems to be part of the PRU power management code in relation to remoteproc.

Thanks William. If it is power related that would explain the end result potentially.

Now to try and work out why! I don't think leaving it disabled is a bad thing.

I was thinking that a possibility is that they’re both peripherals, or device modules connected via the L4 interconnect. The PRU is for sure, and I would also think the UARTs sit on the L4 interconnect as well. Maybe I’m wrong.

Yes that might make sense there, I’ve just looked at the docs myself.

Weird behaviour though!