Re: [libdc] Marlin on 12.2 follow up
Capture and control API for IIDC compliant cameras
Brought to you by:
ddouxchamps,
gordp
From: Stefan R. <st...@s5...> - 2012-10-17 05:47:30
|
On Oct 17 E Chalaron wrote: > Using Physical ID 0 > Using 0xFFFFF0000018 as Mem. Offset > Result : 0x00000000 > > Using Physical ID 0 > Using 0xFFFFF000001c as Mem. Offset > Result : 0x19000000 > > not understanding the results as such I am a bit stuck. Read it from destination ID 1, not 0. In this session, the camera had the physical ID 0 and the Linux node certainly 1. The Linux firewire-core determines whether an outbound split transaction timed out based on its *own* Split_Timeout register. [...] > Error while reading from IEEE1394: : Resource temporarily unavailable > 0/0x0000fffff0000400: read failed > 0/0x0000fffff0000400: wrong bus info block length > Error while reading from IEEE1394: : Resource temporarily unavailable > 0/0x0000fffff0000400: read failed > 0/0x0000fffff0000400: wrong bus info block length > Error while reading from IEEE1394: : Resource temporarily unavailable > 0/0x0000fffff0000400: read failed > 0/0x0000fffff0000400: wrong bus info block length > > So bus reset ... AFAIR this could be bus resets or it could be something else (camera sending back ack-busy, perhaps). If you run as root # echo 2 > /sys/module/firewire_ohci/parameters/debug you get kernel messages from every self-ID-complete event (which is an event that concludes a bus reset event or a burst of bus reset events). With # echo 3 > /sys/module/firewire_ohci/parameters/debug you additionally get messages from each outbound and inbound transaction. This would for example show when we get ack-busy from a camera. A normal split transaction consists of: A -> B: request B -> A: ack-pending B -> A: response A -> B: ack-complete There are other transaction types though. By the way: You wrote earlier that you had a v2.0.7 based libraw1394 package installed. Libraw1394 v2.0.8 and later carry one optimization: If a libraw1394 based application attempts to read a node's Configuration_ROM register (a 1024 kB large register starting at 0xfffff0000400, see gscanbus's log above), then libraw1394 will return data from the kernel's Configuration_ROM cache instead of bothering the node. This optimization only concerns Configuration_ROM, not any other register. (The latest stable release of libraw1394 is v2.1.0; the last strictly bug-fix-only release was v2.0.9. Any distribution which is actively maintained should upgrade to v2.1.0, or at the very least to v2.0.9.) -- Stefan Richter -=====-===-- =-=- =---= http://arcgraph.de/sr/ |