From owner-freebsd-firewire@FreeBSD.ORG Wed Mar 4 00:51:32 2009 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 AA467106564A for ; Wed, 4 Mar 2009 00:51:32 +0000 (UTC) (envelope-from dthiele@gmx.net) Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by mx1.freebsd.org (Postfix) with SMTP id 29FB18FC15 for ; Wed, 4 Mar 2009 00:51:31 +0000 (UTC) (envelope-from dthiele@gmx.net) Received: (qmail invoked by alias); 04 Mar 2009 00:51:29 -0000 Received: from p5486712E.dip.t-dialin.net (EHLO impala.vnws.lan) [84.134.113.46] by mail.gmx.net (mp022) with SMTP; 04 Mar 2009 01:51:29 +0100 X-Authenticated: #19302822 X-Provags-ID: V01U2FsdGVkX1/gfkVbZBrgusb8PaIaMcrg8Riop8jnz0pTU5kblL VC3EpQMykmn5Xh Message-ID: <49ADD096.1050801@gmx.net> Date: Wed, 04 Mar 2009 01:51:34 +0100 From: Daniel Thiele User-Agent: Thunderbird 2.0.0.19 (X11/20090124) MIME-Version: 1.0 To: Sean Bruno References: <200902150012.49329.boris.kotzev@gmail.com> <49A9B245.8030804@gmx.net> <1236056380.11182.5.camel@localhost.localdomain> <200903031052.31368.boris.kotzev@gmail.com> <1236105014.7868.18.camel@localhost.localdomain> In-Reply-To: <1236105014.7868.18.camel@localhost.localdomain> X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-FuHaFi: 0.51 Cc: freebsd-firewire@freebsd.org, Boris Kotzev Subject: Re: firewire disk stopped working 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: Wed, 04 Mar 2009 00:51:32 -0000 Sean Bruno wrote: > Ok, so let's try this a different way. > > This patch should be applied against HEAD. This reverts every change I > have made in the last month. > > Once we confirm that this works, I'll start moving forward until we find > the broken change. > > Sean Even though the patch applied cleanly, the disk sill does not show up. Only /dev/pass0 is being created. I also tried different disks (enclosures to be precise) and different cables without any success. The logs (all with debug.firewire_debug=3 and debug.sbp_debug=3) after applying firewire_revert.diff can be found at: http://www-public.tu-bs.de:8080/~y0023183/FreeBSD/Firewire/reverted_patch_20090303 where: sysctl.txt is simply the output of 'sysctl -a | grep "firewire\|sbp"'. For both of the following files. dmesg_reverted_oxfordsemi_debug3.txt is the dmesg with verbose debug messages (debug.{firewire,sbp}_debug=3) with my enclosure using the Oxford (911?) chip set. This dmesg also includes the complete dmesg of my machine and covers attachment and detachment of the disk. dmesg_reverted_wdmybook_debug3.txt is the dmesg with verbose debug messages (debug.{firewire,sbp}_debug=3) with a Western Digital My Book enclosure. Unfortunately I don't know the chip set WD used in this one. This dmesg just covers the attachment and detachment of the disk. What I did next was trying to find out what versions of the files in src/sys/dev/firewire caused the disk to stop working. I started with the versions that work in 7.1-Stable (as of Feb 9). And updated them until the disk did not get recognized anymore. Here is what I tried so far: File 7.1 8.0 200812 Feb 1 02/09 02/24 snap. commit (guess) 0000 0001 0002 ------------------------------------------------------ firewire.c 1.100 1.108 1.104 1.104 1.105 firewire.h 1.21 1.25 1.22 1.25 1.25 fwdev.c 1.52 1.53 1.53 1.53 1.53 fwohci.c 1.93 1.98 1.95 1.95 1.96 fwohci_pci.c 1.60 1.61 1.60 1.60 1.61 fwohcireg.h 1.23 1.24 1.23 1.24 1.24 fwohcivar.h 1.16 1.18 1.16 1.16 1.17 fwphyreg.h 1.3 1.4 1.3 1.4 1.4 if_fwe.c 1.44 1.46 - - - if_fwip.c 1.16 1.18 - - - sbp.c 1.97 1.100 1.97 1.97 1.98 ------------------------------------------------------ working: yes no yes yes no So, on my machine (still 8.0-CURRENT as of around Feb 24) the versions of the files mentioned that are used in 7.1-STABLE work. The ones used in the 200812-CURRENT snapshot also seem to work. Note that I guessed the the versions in this case (basically I used the versions that, at most, include changes from November 2008), since I only use that snapshot as it is on a bootable USB-stick (0000 in the table above). Next, I tried to update all mentioned files either to their current version or the version just before the Feb 1 commit (0001 in the table above). I used the current version whenever the file was not affected by the Feb 1 commit. This also seems to work. After updating the rest of the files to the version that contains the Feb 1 commit things stopped working (0002). Note that I did not touch the if_* sources, as these are network interfaces. At http://www-public.tu-bs.de:8080/~y0023183/FreeBSD/Firewire/Tests_20090304/ you can find the following: results.txt the table above in a plain text file. Sources/versions the versions of the files in src/sys/dev/firewire I used. I removed the leading '1.' from the version and put the remainder in front of the file. Sources/working_0000 Sources/working_0001 the files in src/sys/dev/firewire used in the corresponding table columns. Sources/broken_0002 the files that broke firewire disk support in the versions mentioned in the table. I hope that somehow helps to narrow down the problem. If there is anything else that I could or should try just let me know. Best regards, Daniel