Re: firewire disk stopped working

Daniel Thiele <[email protected]>
Newsgroups gmane.os.freebsd.devel.firewire
Message-ID <[email protected]>
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
_______________________________________________
[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.