Re: firewire disk stopped working

Daniel Thiele <[email protected]>
Newsgroups gmane.os.freebsd.devel.firewire
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Daniel Thiele wrote:
| 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]"
|

Hi Sean,

I updated my CURRENT today and also applied the patch to firewire.c you
included in your reply to the "Configuration ROM in firewire stack"
thread here on firewire@, since Hidetoshi Shimokawa also mentioned that
the the issue he was addressing also affects SCSI.
This patch seems to also fix the issues with my external firewire disk.
I did not do much testing yet, but the disk shows up in /dev and dmesg
reports:

fwohci0: fwohci_intr_core: BUS reset
fwohci0: fwohci_intr_core: node_id=0x00000000, SelfID Count=2, non
CYCLEMASTER mode
firewire0: 2 nodes, maxhop <= 1 cable IRM irm(0)  (me)
firewire0: root node is not cycle master capable
firewire0: bus manager 0
fwohci0: too many cycle lost, no cycle master presents?
firewire0: New S800 device ID:0090a9cad5a4d545
sbp0: sbp_show_sdev_info: sbp0:0:0: ordered:1 type:0
EUI:0090a9cad5a4d545 node:1 speed:3 maxrec:8
sbp0: sbp_show_sdev_info: sbp0:0:0 'WD' 'My Book' '000200'
da0 at sbp0 bus 0 target 0 lun 0
da0: <WD My Book 0200> Fixed Direct Access SCSI-4 device
da0: 50.000MB/s transfers
da0: 476940MB (976773168 512 byte sectors: 255H 63S/T 60801C)

At
http://www-public.tu-bs.de:8080/~y0023183/FreeBSD/Firewire/usr_src_sys_dev_firewire_versions_20090313.txt

you can find the exact versions of the files in
/usr/src/sys/dev/firewire that I am using. Note that firewire.c has been
patched with your firewire.c.diff patch I from the "Configuration ROM in
firewire stack" thread.

So, thanks for the patches to you both.


Best regards,

Daniel
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkm65XsACgkQCOZKcWNoXg7pyQCgozSG0CcaG9dV27wA62gDZ6vl
s7kAoJPvmBAg1hxF2GXfCNXrA/wfaE2J
=m9/8
-----END PGP SIGNATURE-----
_______________________________________________
[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.