fix(nixos/upboard): release ttyS4 from kernel console for F56 dispenser
The Fujitsu F56 bill dispenser on Sintra is wired to the SoC's MMIO UART at 0xa171b000, which the kernel enumerates as ttyS4 (the only real on-board UART besides the legacy ttyS0 at I/O 0x3f8). The existing kernelParams routed the kernel console through ttyS4, so userspace could never open it: HAL crashed at startup with "Input/output error setting custom baud rate of 9600" when trying to initialise the dispenser, which in turn aborted the entire ATM init chain in production mode (HAL failure → initError set → kiosk shows "ATM unavailable" → Lightning client never gets to even try talking to LNbits). Two coordinated changes: 1. Drop `console=ttyS4,115200n8` from kernelParams. Keep `console=tty0` so kernel messages still land on the framebuffer console during boot. Anyone who wants a serial debug console can point it at ttyS0 (the legacy 8250 at I/O 0x3f8) — that port stays free. 2. Extend the dispenser-tag udev rules: add `KERNEL=="ttyS4" SYMLINK+="ttyJ7"` alongside the existing ttyS1 / ttyS5 entries. Different UP Board variants enumerate the dispenser-side UART under different kernel-allocated indices; whichever real device shows up at boot gets the ttyJ7 alias HAL is wired to expect. Diagnostic before/after on Sintra (`stty -F /dev/ttyJ7 9600`): before: Input/output error after: OK Once this rolls out the renderer should progress past HAL init, proceed to initializeLightningServices(), and start connecting to LNbits over the nostr transport. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
a28894ed52
commit
2551c6fcf8
1 changed files with 14 additions and 2 deletions
|
|
@ -49,7 +49,13 @@
|
|||
|
||||
kernelParams = [
|
||||
"i915.enable_psr=0"
|
||||
"console=ttyS4,115200n8"
|
||||
# NOTE: do NOT route the kernel console through ttyS4 on Sintra.
|
||||
# ttyS4 is the SoC's MMIO 16550A (the only real UART besides the
|
||||
# legacy ttyS0 at I/O 0x3f8) and is wired to the Fujitsu F56
|
||||
# dispenser's RS-232 header on Sintra. Holding it as console
|
||||
# prevents userspace from opening it at 9600 baud and HAL fails
|
||||
# with "Input/output error setting custom baud rate of 9600".
|
||||
# If you want serial debug, point console at ttyS0 instead.
|
||||
"console=tty0"
|
||||
"quiet"
|
||||
"splash"
|
||||
|
|
@ -118,8 +124,14 @@
|
|||
KERNELS=="1-7.3:1.0", SYMLINK+="ttyJ5"
|
||||
KERNEL=="ttyUSB1", SYMLINK+="ttyJ5"
|
||||
|
||||
# Dispenser (ttyJ7)
|
||||
# Dispenser (ttyJ7).
|
||||
# ttyS1 / ttyS5 cover earlier UP Board variants where the dispenser
|
||||
# lands on those kernel-enumerated serial nodes; ttyS4 covers the
|
||||
# Sintra (UP Board Atom/Apollo Lake) where the dispenser is wired
|
||||
# to the SoC's MMIO UART. Whichever device actually exists at
|
||||
# runtime gets the ttyJ7 symlink.
|
||||
KERNEL=="ttyS1", SYMLINK+="ttyJ7"
|
||||
KERNEL=="ttyS4", SYMLINK+="ttyJ7"
|
||||
KERNEL=="ttyS5", SYMLINK+="ttyJ7"
|
||||
|
||||
# Legacy ttyAMA0 alias
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue