From owner-freebsd-current@FreeBSD.ORG Wed Dec 19 11:38:52 2007 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E85B616A41B for ; Wed, 19 Dec 2007 11:38:52 +0000 (UTC) (envelope-from joao.barros@gmail.com) Received: from mu-out-0910.google.com (mu-out-0910.google.com [209.85.134.190]) by mx1.freebsd.org (Postfix) with ESMTP id 1B43113C45B for ; Wed, 19 Dec 2007 11:38:51 +0000 (UTC) (envelope-from joao.barros@gmail.com) Received: by mu-out-0910.google.com with SMTP id w9so4573583mue.6 for ; Wed, 19 Dec 2007 03:38:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=amOI2GXdpmx68fYNWVF1GwGQL3su8dHLzHI13WgfSqY=; b=UHf02hDmA8lxbdaxJkvpHqQb1JoRFtFeQuJsdHtswG8NrbmzXgziYJfTfzvS12wx3AWG5VaQ+1YeqErc4Kz3tYOa6a01lzvufP3iub8yzEJxOenChw7QFCLyXLo9doPOgInMyXtya5FpwfA7GxUuHWS0Qe/OGyQsoDHTP8vy8bU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=eSLT9kvu4mLqF6C5dAkUQFGaD3tXt4uriyvIToDYFVhJmis5CIABIyP17+XjgtCLPckGDPRowxijZizlOXj/QqYH9Vu1J2I9HbLl33uL5NelbuHf7j6hytzP5bAEz6dkC42zM4FgaoIWRQLGXuzyF4A9IdcyVjis7IiWLqnRjS0= Received: by 10.78.200.20 with SMTP id x20mr11960371huf.43.1198064330009; Wed, 19 Dec 2007 03:38:50 -0800 (PST) Received: by 10.78.189.2 with HTTP; Wed, 19 Dec 2007 03:38:49 -0800 (PST) Message-ID: <70e8236f0712190338p1a7b9d17u4fdf05f93cf43d8@mail.gmail.com> Date: Wed, 19 Dec 2007 11:38:49 +0000 From: "Joao Barros" To: "Hidetoshi Shimokawa" In-Reply-To: <626eb4530712182331o38e3cdfem8899302dfb7b2e4a@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20071219025024.GA6966@FreeBSD.czest.pl> <626eb4530712182331o38e3cdfem8899302dfb7b2e4a@mail.gmail.com> Cc: freebsd-current@freebsd.org, "Wojciech A. Koszek" Subject: Re: FireWire causes hang at boot X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Dec 2007 11:38:53 -0000 I was bitten by this particular problem some time ago. More details here: - http://www.FreeBSD.org/cgi/query-pr.cgi?pr=69218&cat= - http://lists.freebsd.org/pipermail/freebsd-current/2005-October/056810.html I don't have that motherboard anymore but would be really happy to see it go away :D On Dec 19, 2007 7:31 AM, Hidetoshi Shimokawa wrote: > Oops, could you replace the line "u_int max_node;" in firewirereg.h > with "int max_node;". > This should prevent too many loops. However, I don't know why we cannot > get correct max_node value from self-id packets. > > Thanks, > > > On 12/19/07, Wojciech A. Koszek wrote: > > Hello, > > > > This report is about -CURRENT (20071217). Kernel on my ASUS A7N8X > > motherboard (with FireWire controller) hangs after disk has been > > detected and GEOM_LABEL labels are probed: > > > > GEOM: new disk ad2 > > ad2: nVidia check1 failed > > ad2: Adaptec check1 failed > > ad2: LSI (v3) check1 failed > > ad2: LSI (v2) check1 failed > > ad2: FreeBSD check1 failed > > GEOM_LABEL: Label for provider ad2s2a is label/daemon.fs. > > GEOM_LABEL: Label for provider ad2s2b is label/daemon.swap. > > > > > > > > Sometimes, if I plug and unplug the FireWire cable (several times), boot > > continues. Hardware: > > > > fwohci0: <1394 Open Host Controller Interface> mem 0xe8086000-0xe80867ff,0xe8087000-0xe808703f irq 9 at device 13.0 on pci0 > > fwohci0: [FILTER] > > fwohci0: OHCI version 1.10 (ROM=0) > > fwohci0: No. of Isochronous channels is 4. > > fwohci0: EUI64 00:e0:18:00:00:6c:d5:4a > > fwohci0: Phy 1394a available S400, 2 ports. > > fwohci0: Link S400, max_rec 2048 bytes. > > firewire0: on fwohci0 > > dcons_crom0: on firewire0 > > dcons_crom0: bus_addr 0xbf6460 > > fwe0: on firewire0 > > if_fwe0: Fake Ethernet address: 02:e0:18:6c:d5:4a > > fwe0: Ethernet address: 02:e0:18:6c:d5:4a > > fwip0: on firewire0 > > fwip0: Firewire address: 00:e0:18:00:00:6c:d5:4a @ 0xfffe00000000, S400, maxrec 2048 > > sbp0: on firewire0 > > fwohci0: Initiate bus reset > > fwohci0: BUS reset > > fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode > > > > After reboot, I jumped to the debugger, set firewire_debug = 1 and this > > time I saw a huge number of messages coming from: > > > > static void > > fw_explore(struct firewire_comm *fc): > > > > Citation of firewire.c: > > > > [cut] > > > > for (node = 0; node <= fc->max_node; node ++) { > > /* We don't probe myself and linkdown nodes */ > > if (node == fc->nodeid) > > continue; > > fwsid = fw_find_self_id(fc, node); > > if (!fwsid || !fwsid->p0.link_active) { > > if (firewire_debug) > > printf("node%d: link down\n", node); > > continue; > > } > > nodes[todo++] = node; > > } > > > > [cut] > > > > It's iterating infinitely on my system. I set some breakpoints and: > > > > db> c > > node258: link down > > [thread pid 19 tid 100030 ] > > Breakpoint at fw_bus_probe_thread+304: addl $1,4294966116(%ebp) > > db> step > > [thread pid 19 tid 100030 ] > > Stopped at fw_bus_probe_thread+311: movl 4294966116(%ebp),%ecx > > db> step > > [thread pid 19 tid 100030 ] > > Stopped at fw_bus_probe_thread+317: movl 4294966104(%ebp),%eax > > db> step > > [thread pid 19 tid 100030 ] > > Stopped at fw_bus_probe_thread+323: cmpl %ecx,32(%eax) > > db> step > > [thread pid 19 tid 100030 ] > > Stopped at fw_bus_probe_thread+326: jnb fw_bus_probe_thread+192 > > db> p/x $eax > > c2eda000 <- fc > > db> p/x $eax+32 > > c2eda020 <- fc->max_node > > db> p/x *0xc2eda020 > > ffffffff <- it looks like it's wrong > > > > db> p/x $ecx > > 103 > > db> p/d $ecx <- it's "node" it that context. > > 259 > > > > > > -- > > Wojciech A. Koszek > > wkoszek@FreeBSD.org > > http://FreeBSD.czest.pl/dunstan/ > > > > > > > -- > /\ Hidetoshi Shimokawa > \/ simokawa@FreeBSD.ORG > > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" > -- Joao Barros