fwcontrol -R issues with several cameras

Eric Anderson anderson at centtech.com
Thu Mar 22 13:50:31 UTC 2007


For quite some time now, I (and many others) have had problems getting 
fwcontrol -R to work successfully.  The recent commits in the firewire 
area have inspired me to try it again.  It still does not function for 
me (for at least one camera), but is more consistent now, and not giving 
different errors randomly as was the case before.

I'd really like to get this working, as it's one of the only reasons I 
still boot into Windows these days.

Any ideas?  I'm running -CURRENT as of a few days ago.


Eric


Here's what I did:

# power on camera:
Mar 22 08:04:17 neutrino kernel: fwohci0: BUS reset
Mar 22 08:04:17 neutrino kernel: fwohci0: node_id=0xc800ffc1, gen=2, 
CYCLEMASTER mode
Mar 22 08:04:17 neutrino kernel: firewire0: 2 nodes, maxhop <= 1, cable 
IRM = 1 (me)
Mar 22 08:04:17 neutrino kernel: firewire0: bus manager 1 (me)
Mar 22 08:04:17 neutrino kernel: fwohci0: txd err= 3 miss Ack err
Mar 22 08:04:17 neutrino kernel: firewire0: bus_explore node=0 
addr=0x400 resp=22
Mar 22 08:04:18 neutrino kernel: fwohci0: BUS reset
Mar 22 08:04:18 neutrino kernel: fwohci0: node_id=0xc800ffc0, gen=3, 
CYCLEMASTER mode
Mar 22 08:04:18 neutrino kernel: firewire0: 1 nodes, maxhop <= 0, cable 
IRM = 0 (me)
Mar 22 08:04:18 neutrino kernel: firewire0: bus manager 0 (me)
Mar 22 08:04:21 neutrino kernel: fwohci0: BUS reset
Mar 22 08:04:21 neutrino kernel: fwohci0: phy int
Mar 22 08:04:21 neutrino last message repeated 7 times
Mar 22 08:04:21 neutrino kernel: fwohci0: node_id=0xc800ffc1, gen=12, 
CYCLEMASTER mode
Mar 22 08:04:21 neutrino kernel: firewire0: 2 nodes, maxhop <= 1, cable 
IRM = 1 (me)
Mar 22 08:04:21 neutrino kernel: firewire0: bus manager 1 (me)
Mar 22 08:04:21 neutrino kernel: fwohci0: BUS reset
Mar 22 08:04:21 neutrino kernel: fwohci0: node_id=0xc800ffc0, gen=13, 
CYCLEMASTER mode
Mar 22 08:04:21 neutrino kernel: firewire0: 1 nodes, maxhop <= 0, cable 
IRM = 0 (me)
Mar 22 08:04:21 neutrino kernel: firewire0: bus manager 0 (me)
Mar 22 08:04:22 neutrino kernel: fwohci0: BUS reset
Mar 22 08:04:22 neutrino kernel: fwohci0: node_id=0xc800ffc1, gen=14, 
CYCLEMASTER mode
Mar 22 08:04:22 neutrino kernel: firewire0: 2 nodes, maxhop <= 1, cable 
IRM = 1 (me)
Mar 22 08:04:22 neutrino kernel: firewire0: bus manager 1 (me)
Mar 22 08:04:22 neutrino kernel: firewire0: New S100 device 
ID:0000850001269c51


# fwcontrol -R test
Detected MPEG TS format on input.
fwcontrol: unknown format 0x1a

Mar 22 08:05:37 neutrino kernel: fwohci0: Isochronous receive err 8402(long)

# power off camera:

Mar 22 08:06:41 neutrino kernel: fwohci0: BUS reset
Mar 22 08:06:41 neutrino kernel: fwohci0: node_id=0xc800ffc0, gen=15, 
CYCLEMASTER mode
Mar 22 08:06:41 neutrino kernel: firewire0: 1 nodes, maxhop <= 0, cable 
IRM = 0 (me)
Mar 22 08:06:41 neutrino kernel: firewire0: bus manager 0 (me)


# try #2:

# power on camera:
Mar 22 08:10:23 neutrino kernel: fwohci0: BUS reset
Mar 22 08:10:23 neutrino kernel: fwohci0: node_id=0xc800ffc1, gen=16, 
CYCLEMASTER mode
Mar 22 08:10:23 neutrino kernel: firewire0: 2 nodes, maxhop <= 1, cable 
IRM = 1 (me)
Mar 22 08:10:23 neutrino kernel: firewire0: bus manager 1 (me)
Mar 22 08:10:24 neutrino kernel: fwohci0: txd err= 3 miss Ack err
Mar 22 08:10:24 neutrino kernel: firewire0: bus_explore node=0 
addr=0x400 resp=22
Mar 22 08:10:24 neutrino kernel: fwohci0: BUS reset
Mar 22 08:10:24 neutrino kernel: fwohci0: node_id=0xc800ffc0, gen=17, 
CYCLEMASTER mode
Mar 22 08:10:24 neutrino kernel: firewire0: 1 nodes, maxhop <= 0, cable 
IRM = 0 (me)
Mar 22 08:10:24 neutrino kernel: firewire0: bus manager 0 (me)
Mar 22 08:10:27 neutrino kernel: fwohci0: BUS reset
Mar 22 08:10:27 neutrino kernel: fwohci0: node_id=0xc800ffc1, gen=18, 
CYCLEMASTER mode
Mar 22 08:10:27 neutrino kernel: firewire0: 2 nodes, maxhop <= 1, cable 
IRM = 1 (me)
Mar 22 08:10:27 neutrino kernel: firewire0: bus manager 1 (me)

# using -M makes no difference
# try a bus reset:

Mar 22 08:12:03 neutrino kernel: fwohci0: Initiate bus reset
Mar 22 08:12:03 neutrino kernel: fwohci0: BUS reset
Mar 22 08:12:03 neutrino kernel: fwohci0: node_id=0xc800ffc1, gen=19, 
CYCLEMASTER mode
Mar 22 08:12:03 neutrino kernel: firewire0: 2 nodes, maxhop <= 1, cable 
IRM = 1 (me)
Mar 22 08:12:03 neutrino kernel: firewire0: bus manager 1 (me)

# same problem:

Mar 22 08:12:21 neutrino kernel: fwohci0: Isochronous receive err 8402(long)

# now tried the try_bmr=0, and a reset:

Mar 22 08:13:18 neutrino kernel: fwohci0: Initiate bus reset
Mar 22 08:13:18 neutrino kernel: fwohci0: BUS reset
Mar 22 08:13:18 neutrino kernel: fwohci0: node_id=0xc800ffc1, gen=20, 
CYCLEMASTER mode
Mar 22 08:13:18 neutrino kernel: firewire0: 2 nodes, maxhop <= 1, cable 
IRM = 1 (me)
Mar 22 08:13:18 neutrino kernel: fw_rcv: unknown response RRESQ(6) 
src=0xffc0 tl=0x32 rt=1 data=0xbbe70404
Mar 22 08:13:18 neutrino kernel: try ad-hoc work around!!
Mar 22 08:13:18 neutrino kernel: no use...

# same errors.

# with firewire_debug sysctl set to 1, doing a reset shows:

Mar 22 08:16:23 neutrino kernel: fwohci0: Initiate bus reset
Mar 22 08:16:23 neutrino kernel: fwohci0: fwphy_rddata: 0x1 loop=1, retry=0
Mar 22 08:16:23 neutrino kernel: fwohci0: fwphy_rddata: 0x1 loop=1, retry=0
Mar 22 08:16:23 neutrino kernel: fwohci0: BUS reset
Mar 22 08:16:23 neutrino kernel: fwohci0: node_id=0xc800ffc1, gen=27, 
CYCLEMASTER mode
Mar 22 08:16:23 neutrino kernel: firewire0: 2 nodes, maxhop <= 1, cable 
IRM = 1 (me)
Mar 22 08:16:23 neutrino kernel: fwohci0: fw_set_bus_manager: 1->1 (loop=0)
Mar 22 08:16:23 neutrino kernel: firewire0: bus manager 1 (me)
Mar 22 08:16:23 neutrino kernel: send phy_config root_node=1 gap_count=5
Mar 22 08:16:23 neutrino kernel: fwohci0: start AT DMA status=14
Mar 22 08:16:23 neutrino kernel: node0: explore addr=0x400
Mar 22 08:16:23 neutrino kernel: node0: callback addr=0x400
Mar 22 08:16:23 neutrino kernel: node0: explore addr=0x40c
Mar 22 08:16:23 neutrino kernel: node0: callback addr=0x40c
Mar 22 08:16:23 neutrino kernel: node0: explore addr=0x410
Mar 22 08:16:23 neutrino kernel: node0: callback addr=0x410
Mar 22 08:16:23 neutrino kernel: node0: explore addr=0x400
Mar 22 08:16:23 neutrino kernel: node0: callback addr=0x400
Mar 22 08:16:23 neutrino kernel: bus_explore done

# and doing the -R with fwcontrol results in:

Detected MPEG TS format on input.
fwcontrol: unknown format 0x1a

# and in dmesg:

Mar 22 08:17:07 neutrino kernel: start IR DMA 0x40000011
Mar 22 08:17:07 neutrino kernel: fwohci0: Isochronous receive err 8402(long)
Mar 22 08:17:08 neutrino kernel: start IR DMA 0x40000002
Mar 22 08:17:08 neutrino kernel: fwohci0: Isochronous receive err 8402(long)
Mar 22 08:17:09 neutrino last message repeated 2 times
^?

# and shutting down:

Mar 22 08:17:18 neutrino kernel: fwohci0: BUS reset
Mar 22 08:17:18 neutrino kernel: fwohci0: node_id=0xc800ffc0, gen=28, 
CYCLEMASTER mode
Mar 22 08:17:18 neutrino kernel: firewire0: 1 nodes, maxhop <= 0, cable 
IRM = 0 (me)
Mar 22 08:17:18 neutrino kernel: fwohci0: fw_set_bus_manager: 0->0 (loop=0)
Mar 22 08:17:18 neutrino kernel: firewire0: bus manager 0 (me)
Mar 22 08:17:18 neutrino kernel: send phy_config root_node=-1 gap_count=5
Mar 22 08:17:18 neutrino kernel: fwohci0: start AT DMA status=3
Mar 22 08:17:18 neutrino kernel: bus_explore done



-- 
------------------------------------------------------------------------
Eric Anderson        Sr. Systems Administrator        Centaur Technology
An undefined problem has an infinite number of solutions.
------------------------------------------------------------------------


More information about the freebsd-firewire mailing list