| Summary: | Changing the baud rate of serial consoles for Alpha systems | ||
|---|---|---|---|
| Product: | Base System | Reporter: | rand |
| Component: | alpha | Assignee: | freebsd-alpha (Nobody) <alpha> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | 4.7-RELEASE | ||
| Hardware: | Any | ||
| OS: | Any | ||
State Changed From-To: open->closed Given that development work on Alpha has stopped, this bug will not be fixed. |
Changing the default speed of the serial console for Alpha systems does not follow the convention set by the i386 platform. Specifically, the BOOT_COMCONSOLE_SPEED directive in /etc/make.conf doesn't have any effect on Alpha systems. Changing the baud rate of the console in the SRM settings works up until the kernel starts booting. The boot loader (/boot/loader) follows the SRM settings for the serial port speed, but the kernel forces the serial port to CONSPEED, which defaults to 9600 (via TTYDEF_SPEED). The i386 "port" overrides CONSPEED with BOOT_COMCONSOLE_SPEED, but the alpha port doesn't. See line 110 of /usr/src/sys/alpha/alpha/dec_st6600.c for an example. Unfortunetly this is done in 10 seperate files: api_up1000.c dec_1000a.c dec_2100_a50.c dec_2100_a500.c dec_axppci_33.c dec_eb164.c dec_eb64plus.c dec_kn20aa.c dec_kn300.c dec_st550.c dec_st6600.c Fix: One method would be to not have FreeBSD muck with the speed of the console when its a serial console. While I think this is the better solution, I'm afraid I don't know how to persuade FreeBSD to do that. :( Another method would be to apply the same approach that the i386 "port" takes, and add something like this to the Makefile that compiles the machine dependant code in /usr/src/sys/alpha/alpha: BOOT_COMCONSOLE_SPEED?=9600 CFLAGS+= -DCONSPEED=${BOOT_COMCONSOLE_SPEED} How-To-Repeat: Set the console speed in the SRM to 57600, and boot FreeBSD. You'll get the /boot/loader conversation at 57600: FreeBSD/alpha SRM disk boot, Revision 1.0 (rand@inman.meridian-enviro.com, Sat Feb 22 23:33:56 CST 2003) Memory: 1048576 k Loading /boot/defaults/loader.conf /kernel data=0x288400+0x1ff5a syms=[0x8+0x35748+0x8+0x27c76] Hit [Enter] to boot immediately, or any other key for command prompt. Booting [kernel] in 9 seconds... Type '?' for a list of commands, 'help' for more detailed help. ok boot -s Entering kernel at 0xfffffc0000327a20... But as soon as FreeBSD starts, the baud rate gets set back to 9600. The Copyright message is emmitted at 9600 baud: Copyright (c) 1992-2002 The FreeBSD Project.