From owner-freebsd-firewire@FreeBSD.ORG Mon Aug 18 23:59:17 2008 Return-Path: Delivered-To: freebsd-firewire@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B0C1B1065675; Mon, 18 Aug 2008 23:59:17 +0000 (UTC) (envelope-from freebsd@sopwith.solgatos.com) Received: from parsely.rain.com (parsely.rain.com [199.26.172.196]) by mx1.freebsd.org (Postfix) with ESMTP id 1C7AA8FC13; Mon, 18 Aug 2008 23:59:16 +0000 (UTC) (envelope-from freebsd@sopwith.solgatos.com) Received: from sopwith.solgatos.com (uucp@localhost) by parsely.rain.com (8.11.4/8.11.4) with UUCP id m7INxBh52228; Mon, 18 Aug 2008 16:59:11 -0700 (PDT) (envelope-from freebsd@sopwith.solgatos.com) Received: from localhost by sopwith.solgatos.com (8.8.8/6.24) id XAA09163; Mon, 18 Aug 2008 23:55:29 GMT Message-Id: <200808182355.XAA09163@sopwith.solgatos.com> To: Sean Bruno In-reply-to: Your message of "Mon, 18 Aug 2008 15:27:01 PDT." <48A9F735.5090507@miralink.com> Date: Mon, 18 Aug 2008 16:55:29 +0100 From: Dieter Cc: Scott Long , freebsd-firewire@freebsd.org Subject: Re: Something broke :-( Re: fwcontrol update X-BeenThere: freebsd-firewire@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Firewire support in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Aug 2008 23:59:17 -0000 > > I notice that it doesn't print every generation. > > I notice that the node_id changes. > > > This alarms me quite a bit. I didn't think there was anyway for the > generation to change > without the log message being spit out. Interesting. It also skips on dmesg, so it isn't a console problem: fwohci1: node_id=0xc000ffc0, gen=86, CYCLEMASTER mode firewire1: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire1: bus manager 0 (me) got BUSRST packet!? got BUSRST packet!? got BUSRST packet!? fwohci1: BUS reset fwohci1: node_id=0xc000ffc1, gen=108, CYCLEMASTER mode firewire1: 2 nodes, maxhop <= 1, cable IRM = 1 (me) firewire1: bus manager 0 fwohci1: BUS reset fwohci1: node_id=0xc000ffc0, gen=112, CYCLEMASTER mode fwohci1: invalid SID len = 0 <-----------------------<<< didn't notice this line before fwohci1: BUS reset only occurs twice in dmesg fwohci1: node_id=0xc000ffc1, gen=130, CYCLEMASTER mode firewire1: 2 nodes, maxhop <= 1, cable IRM = 1 (me) firewire1: bus manager 1 (me) fwohci1: BUS reset fwohci1: node_id=0xc000ffc0, gen=135, CYCLEMASTER mode firewire1: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire1: bus manager 0 (me) got BUSRST packet!? got BUSRST packet!? fwohci1: BUS reset fwohci1: node_id=0xc000ffc1, gen=154, CYCLEMASTER mode Does "got BUSRST packet!?" mean that the camera is sending out bus reset commands? That doesn't seem right. BTW, shouldn't that line have a prefix telling where it comes from (e.g. fwohci1: or firewire1:) ? BTW there is just the FreeBSD box and the camera, no other nodes on the firewire bus. > I have been suspicious of a race condition for some time in the firewire > stack, I see it across multiple > devices(sbp, sbp_targ) and now fwcontrol is acting weird. Very interesting. > Yes. Try the attached patch. Let me know. I don't see a patch. Note that fwcontrol is not running when the spew happens. I press play on the camcorder, and the spewing starts. I press stop and the spewing stops. My only theories are that fwcontrol set something that survives a reboot, or that the fw controller chip isn't getting completely reset and properly initialized. I'm leaning towards the chip being the more likely explaination.