Supermicro + IPMI + FreeBSD:内核以1-bps打印

我正在运行FreeBSD 8.2-RELEASE。 该机器是一个带有IPMI 2.0子板的Supermicro 5015M 。

当我启动这个主机,启动过程进展良好。 我看到BIOS,RAID BIOS,第一阶段和第二阶段启动加载程序以及第三阶段/ boot / loader 。 这些似乎工作正常,速度没有问题。

然后,系统以大约1bps的速度从内核打印加载内核和消息。 以下是IPMI KVM-over-LAN的video 。 当使用连接到机器上的物理键盘 – video – 鼠标时,我也会看到这一点。

BIOS控制台redirect设置为115200 bps。

/boot/loader.conf/boot/device.hints的相关设置:

 boot_multicons=YES boot_serial=YES comconsole_speed=115200 console=comconsole,vidconsole hint.uart.1.flags=0x10 hint.uart.1.port=0x2F8 

我已经停用了boot_multicons,boot_serial,将comconsole_speed设置为各种值,将控制台更改为各种值,等等。 就好像内核忽略了我在加载器中input的设置。 我甚至改变了BIOS中的端口速度。

任何想法为什么发生这种情况?

看起来,FreeBSD正在将字符打印到video控制台,但打印字符的速度是用于串行控制台的,并错误地认为我的串行控制台configuration为1 bps。

如果有人能解释为什么会发生这种情况,请发表你自己的答案。 如果你的回答很好,我会接受你的回答。

快速和简单的解决scheme,select其他COM端口。 显然,COM A和COM B之间有一个不匹配,在其他地方叫做03F8和02F8。 BIOSconfiguration为使用COM A. FreeBSD引导加载程序解决了一些理智的默认值,这就是引导加载程序运行良好的原因。 FreeBSD内核期望看到COM B. COM A在操作系统中未被configuration,因此内核解决了一些奇怪的默认值(1 bps)。 串行控制台的bps速率也会影响打印到video控制台的文本的速度。

请记住,我并没有使用串行控制台,但是我们总是在我们的系统上configuration串行控制台,以便IPMI的LAN上串行(SOL)工作,因为一些系统pipe理员更喜欢SOL。

我发誓,我之前尝试过,并没有奏效。 但现在,它的工作。

也可以通过在/boot/device.hints中的uart设置来避免这种情况。