Date: Wed, 04 Mar 2009 01:51:34 +0100 From: Daniel Thiele <dthiele@gmx.net> To: Sean Bruno <sean.bruno@dsl-only.net> Cc: freebsd-firewire@freebsd.org, Boris Kotzev <boris.kotzev@gmail.com> Subject: Re: firewire disk stopped working Message-ID: <49ADD096.1050801@gmx.net> In-Reply-To: <1236105014.7868.18.camel@localhost.localdomain> 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>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49ADD096.1050801>