Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Feb 2009 20:52:32 -0800
From:      Sean Bruno <sean.bruno@dsl-only.net>
To:        Boris Kotzev <boris.kotzev@gmail.com>
Cc:        freebsd-firewire@freebsd.org
Subject:   Re: firewire disk stopped working
Message-ID:  <1235019152.24031.0.camel@localhost.localdomain>
In-Reply-To: <200902190312.24163.boris.kotzev@gmail.com>
References:  <200902150012.49329.boris.kotzev@gmail.com> <200902151727.38421.boris.kotzev@gmail.com> <1234985191.20261.22.camel@localhost.localdomain> <200902190312.24163.boris.kotzev@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--=-ymNoAikknKKuJE81ykae
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

On Thu, 2009-02-19 at 03:12 +0200, Boris Kotzev wrote:
> On сряда 18 февруари 2009 21:26:31 you wrote:
> > On Sun, 2009-02-15 at 17:27 +0200, Boris Kotzev wrote:
> > > On неделя 15 февруари 2009 01:12:40 you wrote:
> > > > If you haven't already, boot back into the previous kernel environment
> > > > and let me know what revision of CURRENT it was that worked.
> > > >
> > > > Then I'll need to know what version you were using that broke.
> > > >
> > > > I'm trying to get my AMD64 system built this weekend to test things.
> > > >
> > > > Sean
> > >
> > > Verbose dmesg from the working system:
> > >
> > > http://host7.net62.hdsl-213-169.fastbg.net/dmesg.working.txt
> > >
> > > Verbose dmesg from the broken system:
> > >
> > > http://host7.net62.hdsl-213-169.fastbg.net/dmesg.broken.txt
> > >
> > > (The cable was plugged in after the system had had already booted - the
> > > output from the disk is found at the end.)
> > >
> > > Please, feel free to ask for more details, if necessary.
> > >
> > > Thanks,
> > >
> > > Boris Kotzev
> >
> > Looking over your logs, I can't quite see what the failure is.  There
> > seems to be a format error, I'm just not sure what is being requested.
> >
> > Can you update to -current, and set:
> > debug.sbp_debug = 1
> > debug.firewire_debug = 1
> >
> > Then repost your dmesg.
> >
> > Sean
> 
> Hi,
> 
> The dmesg output after plugging the cable are as follows (full verbose dmesg can be
> found at http://host7.net62.hdsl-213-169.fastbg.net/dmesg.debug.txt ):

I went over everything and came up with the following patch.  Let me
apply this to -current and let me know if it makes any difference.

Sean

--=-ymNoAikknKKuJE81ykae
Content-Disposition: attachment; filename="firewire.c.diff"
Content-Type: text/x-patch; name="firewire.c.diff"; charset="UTF-8"
Content-Transfer-Encoding: 7bit

Index: firewire.c
===================================================================
--- firewire.c	(revision 188750)
+++ firewire.c	(working copy)
@@ -31,7 +31,7 @@
  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  * 
- * $FreeBSD$
+ * $FreeBSD: head/sys/dev/firewire/firewire.c 188726 2009-02-17 19:37:04Z sbruno $
  *
  */
 
@@ -685,7 +685,7 @@
 	src->businfo.cyc_clk_acc = 100;
 	src->businfo.max_rec = fc->maxrec;
 	src->businfo.max_rom = MAXROM_4;
-	src->businfo.generation = 0;
+	src->businfo.generation = 1;
 	src->businfo.link_spd = fc->speed;
 
 	src->businfo.eui64.hi = fc->eui.hi;
@@ -765,12 +765,10 @@
 	 * indicate that we need to be reprobed
 	 */
 	if (bcmp(src, fc->config_rom, CROMSIZE) != 0) {
-		/* generation is a 2 bit field */
-		/* valid values are only from 0 - 3 */
-		src->businfo.generation = 1;
+		if ( src->businfo.generation++ > 0xF )
+			src->businfo.generation = 2;
 		bcopy(src, (void *)fc->config_rom, CROMSIZE);
-	} else
-		src->businfo.generation = 0;
+	}
 }
 
 /* Call once after reboot */

--=-ymNoAikknKKuJE81ykae--




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1235019152.24031.0.camel>