fwcontrol -R issues with several cameras

Hidetoshi Shimokawa simokawa at FreeBSD.ORG
Thu Mar 22 14:44:53 UTC 2007


I don't have no DV and MPEG TS camera now and I can't test
by myself. I really appreciate hardware donation ;-)

Anyway,  "fwohci0: Isochronous receive err 8402(long)" indicates
that  packet is longer than receive buffer.
How about increasing PSIZE in /usr/src/usr.sbin/fwcontrol/fwmpegts.c?
Petr Holub may know better than me about MPEG TS.

Do you also have problem with DV(not MPEG) stream?

On 3/22/07, Eric Anderson <anderson at centtech.com> wrote:
> 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.
> ------------------------------------------------------------------------
>
>


-- 
/\ Hidetoshi Shimokawa
\/  simokawa at FreeBSD.ORG


More information about the freebsd-firewire mailing list