阅读:1820回复:2
是不是fireware不完成数据重传?如果因为缓存不够造成dropped fcp/iso request 这样的数据就被丢失了吧? 我在测试驱动的时候,由于发送速度总是 大于接收速度,结果发现,经常出现 缓存不够用的情况,结果经常丢包 是不是我必须在上层实现重传? 或者是确保发送和接收按接近的速率传输? |
|
沙发#
发布于:2003-03-24 10:30
如果是iso那么自然可以丢包的。fcp应该是function control protocol (FCP),是set of commands for controlling audio/video devices by using IEEE 1394.FCP defines a packet format for asynchronous transmission of commands and responses.也就是说fcp是异步包。应该可重传的。而异步传输的Retry次数是在ATREtries Register(偏移是0x008)中设置的。在从目标节点收到“busy”和ack_data_eror确认之后,才会retry,否则包括收到evt_missing_ack在内的所有情况都不会重传。不知道你是什么情况?
|
|
板凳#
发布于:2003-03-24 17:30
这个丢包可能并不是因为传输丢包了
raw1394的驱动中定义了request链 最大只能有xxx字节的长度(我这儿的 source定义成4*1024*1024) 如果超过这个长度,新加入的request就失败了 |
|