我试图让两台计算机通过火线相互通信。两台计算机都运行 Ubuntu 9.10,并且都具有对 /dev/raw1394 节点的读/写访问权限。我正在使用firecontrol来快速测试发送读/写请求。如果我能让它与火控一起工作,我应该能够弄清楚如何在我的代码中做同样的事情。
在计算机 A 上,我这样做:
computerA $ ./commander
现在工作
版权所有 (C) 2002-2007 Manfred Weihs
此软件绝对不提供任何担保。未指定适配器!
成功处理
当前代号(驱动程序):1
1 卡在总线上找到
节点:2,卡名称:ohci1394
使用适配器 0
找到:总线上的 2 个节点,本地 ID 为 1,IRM 为 1
当前代号(适配器): 7进入命令模式 输入
“帮助”获取更多信息!
命令: w 。0 0 0xDE
操作参数不足!
命令: w 。0 0 2 0xDe
写入节点 0,总线 1023,偏移量 000000000000 2 个字节:
00 DE
写入成功。
确认码:完整
由于计算机 A 在节点 1 上,我发送到节点 0。然后我转到计算机 B 并从节点 0 读取并得到:
computerB $ ./commander
版权所有 (C) 2002-2007 Manfred Weihs
此软件不提供任何担保。未指定适配器!
成功处理
当前代号(驱动程序):1
1 卡在总线上找到
节点:2,卡名称:ohci1394
使用适配器 0
找到:总线上的 2 个节点,本地 ID 为 0,IRM 为 1
当前代号(适配器): 9进入命令模式 输入
“帮助”获取更多信息!
命令: r 。0 0 1
从节点 0 读取,总线 1023,偏移量 000000000000 1 字节
读取失败。
确认码:待定;响应代码:地址错误
我对它们都使用相同的偏移量。我做错了什么,我应该如何从火线节点读取/写入/写入?
当我尝试在自己的代码中使用 raw1394 时,我遇到了同样的问题。