Re: fwcontrol -R issues with several cameras

"Hidetoshi Shimokawa" <[email protected]>
Newsgroups gmane.os.freebsd.devel.firewire
Message-ID <[email protected]>
I found a  trivial bug in fwcontrol.c for '-M' option.

RCS file: /home/ncvs/src/usr.sbin/fwcontrol/fwcontrol.c,v retrieving
revision 1.23
diff -u -r1.23 fwcontrol.c
--- fwcontrol.c 26 Oct 2006 22:33:38 -0000      1.23
+++ fwcontrol.c 22 Mar 2007 15:37:25 -0000
@@ -764,7 +764,7 @@
                                errx(EX_USAGE, "unrecognized method: %s",
                                    optarg);
                        }
-                       break;
+                       /* fall through */
                case 'R':
                        open_dev(&fd, devbase);
                        if (recvfn == NULL) /* guess... */

Without this patch,  'fwcontrol -Md' will exit immediately.
But I am not sure whether this fix your problem.

On 3/23/07, Eric Anderson <[email protected]> wrote:
> On 03/22/07 09:18, Hidetoshi Shimokawa wrote:
> > I don't have no DV and MPEG TS camera now and I can't test
> > by myself. I really appreciate hardware donation ;-)
>
> I wish I could donate one to you.  Is there more I can do on my end to
> debug it?
>
> > 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.
>
> I tried doubling it, and that did not help (same log error, different
> fwcontrol errors).  I then also tried making RBUFSIZE bigger, no help.
>
> > Do you also have problem with DV(not MPEG) stream?
>
> Yes, same messages in logs, but different error from fwcontrol:
>
> # fwcontrol -R test
> Detected DV format on input.
> fwcontrol: read failed: Input/output error
>
> Mar 22 09:52:56 neutrino kernel: fwohci0: BUS reset
> Mar 22 09:52:56 neutrino kernel: fwohci0: node_id=0xc800ffc1, gen=2,
> CYCLEMASTER mode
> Mar 22 09:52:56 neutrino kernel: firewire0: 2 nodes, maxhop <= 1, cable
> IRM = 1 (me)
> Mar 22 09:52:56 neutrino kernel: firewire0: bus manager 1 (me)
> Mar 22 09:52:56 neutrino kernel: firewire0: New S100 device
> ID:0000850001269c51
> Mar 22 09:53:19 neutrino kernel: fwohci0: Isochronous receive err 8402(long)
> Mar 22 09:53:23 neutrino last message repeated 3 times
> Mar 22 09:53:26 neutrino kernel: fwohci0: Isochronous receive err 8402(long)
> Mar 22 09:53:27 neutrino kernel: fwohci0: Isochronous receive err 8402(long)
> Mar 22 09:53:51 neutrino kernel: fwohci0: BUS reset
> Mar 22 09:53:51 neutrino kernel: fwohci0: node_id=0xc800ffc0, gen=3,
> CYCLEMASTER mode
> Mar 22 09:53:51 neutrino kernel: firewire0: 1 nodes, maxhop <= 0, cable
> IRM = 0 (me)
> Mar 22 09:53:51 neutrino kernel: firewire0: bus manager 0 (me)
>
>
>
> > On 3/22/07, Eric Anderson <[email protected]> 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.
> >> ------------------------------------------------------------------------
> >>
> >>
> >
> >
>
>
> --
> ------------------------------------------------------------------------
> Eric Anderson        Sr. Systems Administrator        Centaur Technology
> An undefined problem has an infinite number of solutions.
> ------------------------------------------------------------------------
>
>


-- 
/\ Hidetoshi Shimokawa
\/  [email protected]
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-firewire
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.