一般来说,HOST 端大多都是Active模式,主动的去与设备端(EQP)建立连接 。所以正常情况,EAP的连接模式都是Active,设备就是Passive了。
记一次测机很顺利,但是Online时遇见的问题。
某国产刻蚀设备,测机过程很顺利,RCMD都正确,当开发完成之后,EAP程序却一直无法初始化成功。
原因:
设备端无法设置连接模式是Active或者是Passive,且设备默认应该是Active模式,经常主动的发送SECS消息。当我第一次连接时,它会主动的给我发送S1F13请求建立连接,但此时,我的程序也会直接去发送S1F13试图去进行连接。我这边的逻辑是会去等待它回复S1F14,如果中途收到其他消息,也会正常回复,并会认为是成功建立连接。
但设备端的逻辑,如果没有直接回复S1F14(中途发送任何非S1F14的消息),会直接进入Off-line状态,发送的任何消息都会回复SxF0。
这就造成了下面这种情况:H:host E:EQP
E: S1F13 H: S1F13 //回复上面设备发送的S1F13 H: S1F14 ..... H: S2F33 E: S2F0 //此时Host去定义Report就失败了。