Console Access/Protectli V1211/USB-C

Started by dgrns, December 30, 2025, 02:43:06 PM

Previous topic - Next topic
I'm having a strange issue when trying to access the console on a protecli V1211 (2 port firewall with corebios) running Opnsense 25.7.10

I'm able to connect from a linux host using `screen /dev/tty<name> 115200` However characters are randomly dropped from the output and many times not echoed when typed. Boot messages are garbled and only parts of the opnsense-shell are shown.  I am able to type `8` to get to the shell and run commands (with the same dropped character issues).

My current console settings are in the screencap.  An example of the corrupted output is:

```
# ls -al
30 08:08 .history
-rw-------   1 root wheel   20 Dec 29 03:03 .wheel 1174 Dec 17 02:56 .shrc
drwx------   3 root wheel    4 De
```

and partial/truncated opnsense-shell default menu

```
FreeBSD/amd64 (fw) (ttyu0)
 :::        :::
|  Code:        https://github.com/opnsense    root@fw:~ #
```

I've tried the sc console driver, tried the usb setting, etc. Nothing seems to change the behavior.

Any ideas/thoughts on next steps to troubleshoot this?

Observations:
- I don't remember seeing the dropped character issues on the factory installed 25.7 version. I booted, confirmed connectivity, then applied 25.7.10. My next console access had the issue.
- I also had this on the VP6650 with ami bios. I never was able to get usb-c console working. I was able to use the rj45 console instead, but the V1211 does not have one.


- I've also opened a ticket with Protectli. Will update here if any progress on that front.

December 30, 2025, 03:09:45 PM #1 Last Edit: December 30, 2025, 03:35:40 PM by OPNenthu
I have the V1410 (same family) but no current issues with serial console.  In earlier releases (24.7 or early 25.1) there was an issue with a FreeBSD update that broke serial on these devices and a tunable was needed, but that was reverted I think.  I'm not using any tunable work-around currently.  Protectli also recently released a coreboot v0.9.4 update that addresses it.

For me, enabling the VGA Console caused failure to boot.  Maybe I would need to reinstall OPNsense from the VGA image for that, but in any case I have it off.  The other relevant settings look the same.

FWIW, I use PuTTY but screen also works.

EDIT: the tunable that needed to be set then was hint.uart.0.at="isa"

Good data point. There must be something site specific, but I haven't been able to figure it out.

QuoteEDIT: the tunable that needed to be set then was hint.uart.0.at="isa"
I've tried the tunable. No change in behavior, so I've reverted it.

I tried another terminal emulator, picocom. With it I see more of the missing characters, but still have a significant loss.

Protectli support recommended the opencore bios update as well. Will update the bios over the weekend.

After that, I'll try:
- replacing the protectli usb-c/usb-a cable with a different usb-c/usb-a cable
- use a different host to for the console connection

The install is remote, so a bit of delay for anything needing physical access. (and the need for a reliable console connection...)

As always, welcome other ideas to help troubleshoot

So the issue went away after the connected host was updated. Thought it was gone for good, but.... It re-occurred again this morning.

So I have figured out what's causing it; 100% repro.  Not sure if on the host side or opnsense side, but here's the repro and work-around (debian host, opnsense 15.7.10)

using screen /dev/ttyUSB0 115200When exiting:
- C-a d (detach) - when reattaching the console is corrupted and has the character loss issue
- C-a K (kill) - the console exits cleanly and can be reconnected to without any issues

Recovery
1. reboot host :(
2. Reset host port using

echo "<devinfo>" | sudo tee /sys/bus/usb/drivers/usb/unbind
sleep 1
echo "<devinfo>" | sudo tee /sys/bus/usb/drivers/usb/bind
The host port devinfo can be retrieved using: udevadm info --name=/dev/ttyUSB0 | grep DEVPATH and using the last numbers before the `:`
i.e. if udevadm returns
DEVPATH=/devices/pci0000:00/0000:00:01.1/0000:01:00.1/usb1/1-2/1-2.1/1-2.1:1.0/ttyUSB<X>/tty/ttyUSB0
use 1-2.1