使用 libraw1394 进行异步读/写
我正在尝试让两台计算机通过火线相互通信。两台计算机都运行 Ubuntu 9.10,并且都具有 /dev/raw1394 节点的读/写访问权限。我正在使用 firecontrol 来快速测试发送读/写请求。如果我能让它与 firecontrol 一起工作,我应该能够弄清楚如何在我的代码中做同样的事情。
在计算机 A 上,我这样做:
计算机A $ ./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 德
写入成功。
确认代码:完成
由于计算机 A 在节点 1 上,因此我发送到节点 0。然后我转到计算机 B 并从节点 0 读取并得到以下内容:
计算机B $ ./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 时,我遇到了同样的问题。
I'm trying to get two computers to communicate with each other over firewire. Both of the computers are running Ubuntu 9.10 and both have read/write access to the /dev/raw1394 node. I'm using firecontrol to quickly test sending read/write requests. If I can get it to work with firecontrol, I should be able to figure out how to do the same in my code.
On computer A, I do this:
computerA $ ./commander
Work Now
Copyright (C) 2002-2007 by Manfred Weihs
This software comes with absolutely no warranty.No adapter specified!
successfully got handle
current generation number (driver): 1
1 card(s) found
nodes on bus: 2, card name: ohci1394
using adapter 0
found: 2 nodes on bus, local ID is 1, IRM is 1
current generation number (adapter): 7entering command mode
Type 'help' for more information!
Command: w . 0 0 0xDE
insufficient arguments for operation!
Command: w . 0 0 2 0xDe
writing to node 0, bus 1023, offset 000000000000 2 bytes:
00 DE
write succeeded.
Ack code: complete
Since computer A is on node 1, I send to node 0. Then I go to computer B and read from node 0 and get this:
computerB $ ./commander
Copyright (C) 2002-2007 by Manfred Weihs
This software comes with absolutely no warranty.No adapter specified!
successfully got handle
current generation number (driver): 1
1 card(s) found
nodes on bus: 2, card name: ohci1394
using adapter 0
found: 2 nodes on bus, local ID is 0, IRM is 1
current generation number (adapter): 9entering command mode
Type 'help' for more information!
Command: r . 0 0 1
reading from node 0, bus 1023, offset 000000000000 1 bytes
read failed.
Ack code: pending; Response code: address error
I'm using the same offset for both of them. What am I doing wrong and how am I supposed to read/write from/to firewire nodes?
I have these same problems when I try and use raw1394 in my own code.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论