共 1,304 篇文章
共 6,317 篇文章及评论
- Association for Computing Machinery TechNews (ACM)
- Go Parallel! (Dr. Dobbs)
- HPCwire (Tabor Communications, Inc.)
- insideHPC (John West)
- Joe Duffy's Weblog (Microsoft)
- Microsoft Parallel Programming Development Center (Microsoft Germany)
- MultiCoreInfo.com
- scalability.org (Scalable Informatics)
- Software Dev Blog (Intel Germany)
- Soft Talk Blog (Intel United Kingdom)
- The Moth (Microsoft)
Intel AMT SOL 开发经验
作者: 李铎锋--Duofeng Li (Intel) (84 篇文章) 日期: 三月 25, 2009 在 2:22 下午
Duofeng.li@intel.com 2009-03-25
SOL是Serial Over LAN的缩写,是Intel AMT提供的一种串口重定向的功能;顾名思义,就是在标准的网络连接上模拟串口通讯。使用和配置过不带显示接口的设备的同志们应该知道,我们经常需要使用一条串口线,一端接需要操作的设备(比如交换机、防火墙等),一端接自己的笔记本的串口,然后在Windows里面打开超级终端,配置好串口连接参数以后,就可以在超级终端里面看到对端设备的配置界面了,不过都是文本命令行模式的,做的比较好的会有一个文本模式的菜单可操作。但是,由于串口线的长度有限,使得上面这种用法只可能操作人员在设备附近时才能用,物理上限制比较大。Intel AMT推出以后,SOL特性就使得上述这种用法可以避开串口连接线物理长度的限制,将串口数据通过互联网来传输。SOL的数据传输是基于TCP的,使用TCP的16994/16995端口(IANA已经将这两个端口定义为Intel AMT重定向端口,最新的Wireshark抓包工具就能自动识别为amt-redire-tcp),也就是只要是TCP能连通,串口数据的传输就能通。
Intel AMT的SOL特性是否可用,由好几个因素来决定:
1)主板厂家在生产主板时,可以通过配置BIOS的固件参数,控制Intel AMT的SOL特性的开关;
2)通过Intel AMT的MEBx配置菜单,可以激活和关闭Intel AMT的SOL特性;
3)通过Intel AMT提供的SecurityAdministrationService接口,可以远程激活和关闭Intel AMT的SOL特性;
4)通过Intel AMT提供的RedirectionService,可以控制SOL所需的TCP端口是否开放;
据我的经验,优先级是 1) > 2) > 3) > 4),只有1~4都设置Enable了,SOL特性才能用。
在通过Intel AMT SOL功能来远程配置客户机的BIOS时,我们会发现,我们需要在远程启动参数中设置OemParametersType为1(UseSOL)。只有这样,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串口的数据没有传到远程控制台。
如果系统是Linux,Linux的启动菜单(比如Grub)是基于BIOS来输入输出的,以UseSOL方式启动就能直接看到。对于内核启动的输出,默认情况是不输出到SOL的,一般我们在内核启动参数上加一个参数 console=ttyS1,然后内核启动的信息就会自动输出到ttyS1串口;这里需要注意,如果主机有一个物理串口,则AMT的SOL串口是ttyS1,如果没有,则是ttyS0,其他以此类推。当Linux系统完全启动后,如果不做配置,默认的几个控制台也是不会输出到AMT SOL;如果需要将某个控制台输出到SOL,一般是修改 /etc/inittab 文件,使用agetty 来在SOL串口上(大多数情况下是ttyS1)开一个控制台,这样远程控制台终端窗口上就能看到login的登陆提示了。
分类: 可管理性
标签:Intel AMT, SOL, 终端显示
如需了解英特尔软件产品相关的性能和优化选项,请参阅优化注意事项.
评论 (17)
| 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
| 介绍得很详细啊~ |
| 2009年04月14日 06:43
andy12223618
| 学习了。还有一点不明白,现在的BIOS的数据一般都是通过SPI总线来传输的,串口采用的通信协议是Uart,不知道在主板的内部是不是 还有别的线路将两者进行转化。差了很多的资料,也没找到有答案。以前的BIOS是好像是采用串口通信协议进行数据通信的。 |
| 2009年04月14日 06:45
andy12223618
| 是要考虑兼容性的问题吗?如果直接将SPI的数据转化成TCP数据包有什么问题吗? |
| 2009年04月14日 07:38
李铎锋--Duofeng Li (Intel)
|
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)
- Intel Software Network Blogs » My AMT Experience 2: Intel AMT SOL Development Experience
2010年01月10日 21:46 - My AMT Experience 2: Intel AMT SOL Development Experience
2010年01月10日 22:00 - C++ WS-Man调用如何配置Intel AMT的重定向 – 英特尔® 软件网络博客 - 中文
2010年07月21日 21:46



yzhhui