Getting the kernel to let go of my UART!

Oleksandr Tymoshenko gonzo at bluezbox.com
Sun Jan 22 19:07:06 UTC 2017


Dustin Marquess (dmarquess at gmail.com) wrote:
> On Sunday, January 22, 2017, Hans Petter Selasky <hps at selasky.org> wrote:
> 
> > On 01/22/17 06:07, Dustin Marquess wrote:
> >
> >> [Sorry if this is somewhat of a dupe, I have yet to find a solution]
> >>
> >> I've been running FreeBSD on my Pi 3s for a little over a month now,
> >> first using gonzo's SMP code + a home cross-compiled kernel, and then
> >> I moved to the HardenedBSD images.  All of them work great except one
> >> issue that's driving me nuts...
> >>
> >> The downside to the Pi 3 vs some other boards is that there's really
> >> only one UART tied to the GPIO pins.  I'm trying to feed my Pi 3 with
> >> a GPS board.
> >>
> >> 1st issue: The NMEA stream upsets U-boot.  Fine, compiled my own and
> >> that's "fixed".
> >>
> >> 2nd issue: Even with a USB keyboard attached and HDMI output
> >> connected, FreeBSD still wants to steal the first uart (ttyu0) as a
> >> console port.  I thought that would be fine as long as I use "-m -n
> >> -q" in the boot config to disable kernel output and then "conscontrol
> >> delete ttyu0".  Well, that KIND of works.  It seems to work fine when
> >> using 115200bps, but trying to change the baud rate to match the GPS
> >> unit doesn't seem to work at all, I'm guessing because it's still set
> >> as an available console?
> >>
> >> hint.uart.0.flags="0x0" doesn't work, as it still marks it as a
> >> console.  console="efi" seems to be the only setting that works,
> >> "vidconsole" and "nullconsole" both don't work.
> >>
> >> Is there a way to stop the kernel from trying to claim the UART as a
> >> console?
> >>
> >
> > I think so, have a look in /etc/ttys and comment out the ttyu0 line.
> >
> > Sadly, I already did that. There's no getty running, but dmesg still shows
> the kernel marking it as a console.

Just a random idea, try adding hw.fdt.console=foo0 to /boot/loader.conf
This should force uart_cpu_fdt_probe to fail.

-- 
gonzo


More information about the freebsd-arm mailing list