[Guide] Sophos SG210 Rev.3 LCD + all 4 buttons on OPNsense 26.7

Started by Nusoaheisl, September 03, 2026, 09:46:49 PM

Previous topic - Next topic
Hi all,

I found this older archived thread while working on basically the same problem:

Sophos lcdproc: "sdeclcd: cannot release IO-permission for 0x378!"

Since the old thread is archived and can't be replied to anymore, I thought I'd leave the solution here for anyone ending up there through search :)

I recently went pretty deep down the rabbit hole with a Sophos SG 210 Rev.3 and finally got the original front LCD including all four buttons working properly on current OPNsense.

Tested setup:

  • Sophos SG 210 Rev.3
  • OPNsense 26.7.3_8
  • FreeBSD 15.1-RELEASE-p3
  • Original Sophos LCD/front panel
  • LCDproc using hd44780
  • ConnectionType=ezio
  • 2400 baud
  • All 4 front buttons working

The interesting part is that, at least on my SG 210 Rev.3, sdeclcd wasn't actually the correct solution.

The bigger problem was UART2.

The NCT6779D Super-I/O had UART2 configured at:

0x2f8

while the Intel PCH serial routing exposed the second UART at:

0x3e8

Because of that mismatch, FreeBSD never created a usable second serial device for the LCD.

After safely remapping UART2 from 0x2f8 → 0x3e8, bridging it through a PTY and using LCDproc with the HD44780/EZIO driver, the display started working properly — including the keypad.

Full documentation / source:

GitHub – Sophos SG210 Rev.3 LCD for OPNsense

Discussion and additional hardware information:

Reddit – r/opnsense discussion

The current version has also survived:

  • normal reboots
  • a full OPNsense update
  • another reboot after the update

So far it's been completely stable on my unit.

I deliberately only claim compatibility with the SG 210 Rev.3, because that's the hardware I can physically verify.

Other SG/XG models and revisions use different LCD hardware/layouts, although I'm currently collecting more information about those as well.

I also have a second identical SG 210 now, so I'm planning to use that as a dedicated test box for the next step: turning this into a proper BSD/OPNsense package instead of having people manually install files and maintain a custom syshook.

Hopefully this helps anyone still trying to get the original Sophos front panel working :)