6.21中怎样配置串口上的qnet.

我的目的是通过NULL Moderm cable建立起两台计算机之间的qnet连接,
但用以下命令都没成功:
在计算机1上执行:
io-net -dfd fd=/dev/ser1 -ptcpip -pqnet host=pc1
在计算机2上执行:
io-net -dfd fd=/dev/ser1 -ptcpip -pqnet host=pc2

只能在本地/net看见自己,却看不到另一台计算.

去掉-ptcpip再试, 结果也一样.

我用的串口线是23交叉, 5直连, 用我自己写的串口收发程序在两台机器上运行,一切正常,说明我的计算机串口上好的, 电缆也没问题.

请教, 我还应该做那些配置工作?

问了经销商, 回答是多等一会儿( 10 min).
仍然不行.
我该怎么办呢, 有人能帮助我吗?

难道不能通过串口使用Qnet?

高手们指点一下呀. 期待中……

应该是可以的.
等xtang回来吧,他是专家中的专家. :smiley:

我在openqnx的论坛也问了同样的问题,

cdm答复如下:
You have to give devn-fd more options. You will have to give it a MAC address (AFAIK) and you will also want to use the hdlc option.

其中hdlc选项我不知到该如何设置.
事实上hdlc指的是什么, 我都不知道. 是否是指High-Level Data Link Control 高级数据链路层控制协议? 可它该怎么设置呢?

我在命令里为两台计算机的串口指定了不同mac, 仍然不行, 还是只能看到本地的主机.

xtang什么时候来呀?
哪位大侠能仗义出手, 救苦救难?!

QNX的Utilities Reference中devn-fd.so的文档很明白地指出:
For example, you could use devn-fd.so to connect tw machines with a null-modem RS-232 serial cable. By using file-descriptor I/O to the serial devices, devn-fd.so would implicitly use a serial driver and set up a logical network link.
我的理解是, 我为devn-fd指定了ser1之后, devn-fd就自动为我设置了逻辑网络连接.

但我查遍了连机文档、网上的QNX知识库和新闻组都没有查到任何"HOW TO"!

难道qnet via serial这么诱人的功能就没什么人用!?
或者是实在太简单, 而我太笨, 有什么关键地方没理解?
苦恼!

First of all, you need to do a “use /lib/dll/devn-fd.so” to see if there is an option called “ahdlc”, if there is none, you are using an too old version, you will have to try the “use ip” part below.

[For Use Devn-fd.so]

First make sure the 2 serial set to proper paramters (baud rate, follow control), make sure you can “qtalk” each other through the serial link.

You need to start the devn-fd.so with “fd”, “mac”, and “ahdlc” options

/sbin/io-net -d fd fd=/dev/ser1,ahdlc,mac=0x001122334455 -p qnet host=pc1

and give a different mac address/hostname to another pc. Make sure the first byte of MAC is 00.

[FOr use IP]
Use ppp to link the 2 pc. Then mount qnet with bind=ip.

mount -Tio-net -o bind=ip,resolve=dns npm-qnet.so

如果没人帮助, 我估计自己永远也调不成功. Why?
不是因为我的devn-fd.so版本太老, 而是QNX的连机帮助文档中根本没有ahdlc这一项, 而且我也不知道为什么mac的第一字节为什么要保持00.
谢谢你, xtang, 我现在的感觉就象在黑暗中看见了一盏明灯.
再次感谢你温暖的帮助.

“ahdlc” 是一个比较新的选项,连机文档可能还没有跟上。(所以 “use” 命令很重要:))
MAC的第一字节有特殊意义,随便填会填成组播地址(Multicast),从而会引起误判断.