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:
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:
while the Intel PCH serial routing exposed the second UART at:
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:
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 :)
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:
Code Select
0x2f8
while the Intel PCH serial routing exposed the second UART at:
Code Select
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 :)
"