Intel AMT SOL 开发经验

作者: 李铎锋--Duofeng Li (Intel) (84 篇文章) 日期: 三月 25, 2009 在 2:22 下午

 Duofeng.li@intel.com  2009-03-25

 

    SOLSerial Over LAN的缩写,是Intel AMT提供的一种串口重定向的功能;顾名思义,就是在标准的网络连接上模拟串口通讯。使用和配置过不带显示接口的设备的同志们应该知道,我们经常需要使用一条串口线,一端接需要操作的设备(比如交换机、防火墙等),一端接自己的笔记本的串口,然后在Windows里面打开超级终端,配置好串口连接参数以后,就可以在超级终端里面看到对端设备的配置界面了,不过都是文本命令行模式的,做的比较好的会有一个文本模式的菜单可操作。但是,由于串口线的长度有限,使得上面这种用法只可能操作人员在设备附近时才能用,物理上限制比较大。Intel AMT推出以后,SOL特性就使得上述这种用法可以避开串口连接线物理长度的限制,将串口数据通过互联网来传输。SOL的数据传输是基于TCP的,使用TCP16994/16995端口(IANA已经将这两个端口定义为Intel AMT重定向端口,最新的Wireshark抓包工具就能自动识别为amt-redire-tcp),也就是只要是TCP能连通,串口数据的传输就能通。

 

    Intel AMTSOL特性是否可用,由好几个因素来决定:

            1)主板厂家在生产主板时,可以通过配置BIOS的固件参数,控制Intel AMTSOL特性的开关;

            2)通过Intel AMTMEBx配置菜单,可以激活和关闭Intel AMTSOL特性;

            3)通过Intel AMT提供的SecurityAdministrationService接口,可以远程激活和关闭Intel AMTSOL特性;

            4)通过Intel AMT提供的RedirectionService,可以控制SOL所需的TCP端口是否开放;

据我的经验,优先级是 1) > 2) > 3) > 4),只有14都设置Enable了,SOL特性才能用。

 

    在通过Intel AMT SOL功能来远程配置客户机的BIOS时,我们会发现,我们需要在远程启动参数中设置OemParametersType1UseSOL)。只有这样,Intel AMT机器的BIOS才知道以SOL模式启动,才会同时将输出信息输出到本地显示器和SOL的串口,这个时候本地和远程看到的界面以及操作都是一样的。如果我们重启客户机时候不指定这个参数,是不是SOL特性就是不能用的呢?其实不然,不以UseSOL参数启动,只会影响BIOS的输出不会输出到SOL的串口,如果我们手动写数据到SOL的串口,远端的控制台仍然能通过超级终端或其他终端工具接收到。比如,Windows启动以后,我们通过串口程序打开Intel AMT SOL串口,写数据进去,控制台的终端窗口就能看到写入的数据;通过终端窗口键盘输入,客户端的串口程序可以接收到输入的数据。

 

    如果是启动到DOS,在没有以UseSOL方式启动时,同Windows一样,必须通过程序去读写SOL串口来实现与远程控制台终端窗口的交互;如果以UseSOL方式启动,由于DOS是基于BIOS来输入输出的,因此无需读写串口,DOS的输出就能自动重定向到远程控制台终端窗口,同时远程控制台的输入也能自动被DOS系统接收。如果这个时候我们仍然用程序在DOS去读写SOL串口,经过我的测试,写到串口的数据仍能被传输到远程控制台终端窗口。但是,由于DOS系统本身仍有屏幕输出,其输出会很快覆盖掉写串口传的数据,在控制台终端窗口如果没仔细观察,一般会觉得直接写SOL串口的数据没有传到远程控制台。

 

    如果系统是LinuxLinux的启动菜单(比如Grub)是基于BIOS来输入输出的,以UseSOL方式启动就能直接看到。对于内核启动的输出,默认情况是不输出到SOL的,一般我们在内核启动参数上加一个参数 console=ttyS1,然后内核启动的信息就会自动输出到ttyS1串口;这里需要注意,如果主机有一个物理串口,则AMTSOL串口是ttyS1,如果没有,则是ttyS0,其他以此类推。当Linux系统完全启动后,如果不做配置,默认的几个控制台也是不会输出到AMT SOL;如果需要将某个控制台输出到SOL,一般是修改 /etc/inittab 文件,使用agetty  来在SOL串口上(大多数情况下是ttyS1)开一个控制台,这样远程控制台终端窗口上就能看到login的登陆提示了。

 

分类: 可管理性
标签:, ,

如需了解英特尔软件产品相关的性能和优化选项,请参阅优化注意事项.

 评论 (17)

2009年03月27日 04:53


yzhhui
bucuo写的
2009年03月28日 05:20


李军
好东西,受益非浅
2009年03月28日 06:52


doongqinhong
该软件很好,很不错,大家都可以下载下来看看
2009年03月28日 09:42


黄龙云
dsdsadasd
2009年03月29日 01:26


紫枫
不错!
2009年03月29日 07:31


不错
2009年03月29日 10:54


杀手
感谢分享
2009年03月29日 10:55


纷纷
感谢分享
2009年03月29日 19:58


徐山清
不错
2009年04月02日 20:29


dubingxin
study
2009年04月07日 02:29

cos361@hotmail.com
cos361@hotmail.com总分:
30
注册用户
介绍得很详细啊~
2009年04月14日 06:43

andy12223618
andy12223618总分:
460
注册用户
学习了。还有一点不明白,现在的BIOS的数据一般都是通过SPI总线来传输的,串口采用的通信协议是Uart,不知道在主板的内部是不是 还有别的线路将两者进行转化。差了很多的资料,也没找到有答案。以前的BIOS是好像是采用串口通信协议进行数据通信的。
2009年04月14日 06:45

andy12223618
andy12223618总分:
460
注册用户
是要考虑兼容性的问题吗?如果直接将SPI的数据转化成TCP数据包有什么问题吗?
2009年04月14日 07:38

李铎锋--Duofeng Li (Intel)
李铎锋--Duofeng Li (Intel)总分:
9,850
黑带
SOL和IDER的支持是需要主板硬件上和BIOS做特殊的支持的,如何做的标准这个目前Intel好像没有对外公开,估计OEM应该知道 。

直接转换的话,客户端接收就不方便了,如果是标准串口格式的话,支持的终端有很多,应用起来就方便多了。
2009年06月09日 02:11


andy12223618
文盲看看不懂啊~~
2010年04月28日 20:13


dmkx
微软的WTT技术用的就是SOL
2011年08月16日 02:03


德国阳光电池
学习了,写得真的很好

 引用 (3)


 写评论  

欲获得技术支持,请访问软件支持页面.
姓名 (必填)*

电子邮件 (必填,不在本页面显示)*

您的 URL (可选)


评论*