Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Feb 2009 11:13:10 -0800
From:      Sean Bruno <sean.bruno@dsl-only.net>
To:        Torfinn Ingolfsen <torfinn.ingolfsen@broadpark.no>
Cc:        freebsd-firewire@FreeBSD.org
Subject:   Re: kern/97208: [firewire] System hangs / locks up when a firewire disk is attached
Message-ID:  <1234293190.14556.3.camel@localhost.localdomain>
In-Reply-To: <20090210193435.04c98bff.torfinn.ingolfsen@broadpark.no>
References:  <200902071530.n17FU7VE054050@freefall.freebsd.org> <1234130839.3467.8.camel@localhost.localdomain> <20090209210559.0f398d11.torfinn.ingolfsen@broadpark.no> <1234212128.3467.15.camel@localhost.localdomain> <20090210193435.04c98bff.torfinn.ingolfsen@broadpark.no>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 2009-02-10 at 19:34 +0100, Torfinn Ingolfsen wrote:
> On Mon, 09 Feb 2009 12:42:08 -0800
> Sean Bruno <sean.bruno@dsl-only.net> wrote:
> 
> > No.  The "ports" in "fwcontrol -p" are physical.  
> > 
> > Can you send a fwcontrol -p with NOTHING connected?
> 
> Sure.
> 
> root@kg-fil# uname -a
> FreeBSD kg-fil.kg4.no 6.2-STABLE FreeBSD 6.2-STABLE #20: Mon Mar 12
> 23:04:49 CET 2007     root@kg-fil.kg4.no:/usr/obj/usr/src/sys/FIL60
> amd64
> 
> root@kg-fil# fwcontrol -p
> === base register ===
> 0x03 0x05 0xe3 0xe2 0xc4 0x03 0x10 0x20 
> Physical_ID:0  R:1  CPS:1
> RHB:0  IBR:0  Gap_Count:5
> Extended:7 Num_Ports:3
> PHY_Speed:7 Delay:2
> LCtrl:1 C:1 Jitter:0 Pwr_Class:4
> WDIE:0 ISBR:0 CTOI:0 CPSI:0 STOI:0 PEI:0 EAA:1 EMC:1
> Max_Legacy_SPD:0 BLINK:1 Bridge:0
> Page_Select:1 Port_Select0
> 
> === page 0 port 0 ===
> 0xf8 0x60 0x3b 0x00 0x00 0x00 0x00 0x00 
> Astat:3 BStat:3 Ch:1 Con:0 RXOK:0 Dis:0
> Negotiated_speed:3 PIE:0 Fault:0 Stanby_fault:0 Disscrm:0 B_Only:0
> DC_connected:0 Max_port_speed:3 LPP:1 Cable_speed:3
> Connection_unreliable:0 Beta_mode:0
> Port_error:0x0
> Loop_disable:0 In_standby:0 Hard_disable:0
> 
> === page 0 port 1 ===
> 0xf8 0x60 0x3b 0x00 0x00 0x00 0x00 0x00 
> Astat:3 BStat:3 Ch:1 Con:0 RXOK:0 Dis:0
> Negotiated_speed:3 PIE:0 Fault:0 Stanby_fault:0 Disscrm:0 B_Only:0
> DC_connected:0 Max_port_speed:3 LPP:1 Cable_speed:3
> Connection_unreliable:0 Beta_mode:0
> Port_error:0x0
> Loop_disable:0 In_standby:0 Hard_disable:0
> 
> === page 0 port 2 ===
> 0xf8 0x60 0x3b 0x00 0x00 0x00 0x00 0x00 
> Astat:3 BStat:3 Ch:1 Con:0 RXOK:0 Dis:0
> Negotiated_speed:3 PIE:0 Fault:0 Stanby_fault:0 Disscrm:0 B_Only:0
> DC_connected:0 Max_port_speed:3 LPP:1 Cable_speed:3
> Connection_unreliable:0 Beta_mode:0
> Port_error:0x0
> Loop_disable:0 In_standby:0 Hard_disable:0
> 
> === page 1 ===
> 0x02 0x00 0x08 0x00 0x28 0x83 0x13 0x04 
> Compliance:2
> Vendor_ID:0x080028
> Product_ID:0x831304
> 
> HTH


Ah, excellent.  Now I see.  In your previous output of "fwcontrol -p" I
mistakenly inferred that a "Negotiated_speed" of "3" meant something was
connected. 

Instead, that appears to be the default.  The clue should have been that
the Negotiated_speed of "0" was where the Maxtor was connected.

"0" in this case, shows that the firewire stack just plain failed
alltogether to negotiate correctly(since your Maxtor is 400/800).

So, now I need to go and add some debugging and figure out what is going
on when you connect the HD.

Are you comfortable with patches to kernel source and recompilation?

Sean




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