diff --git a/deploy/nixos/hardware/upboard.nix b/deploy/nixos/hardware/upboard.nix index 26e2842..f96050a 100644 --- a/deploy/nixos/hardware/upboard.nix +++ b/deploy/nixos/hardware/upboard.nix @@ -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