From owner-freebsd-firewire@FreeBSD.ORG Sun Feb 8 22:07:20 2009 Return-Path: Delivered-To: freebsd-firewire@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C2013106566B for ; Sun, 8 Feb 2009 22:07:20 +0000 (UTC) (envelope-from sean.bruno@dsl-only.net) Received: from iron2.pdx.net (iron2.pdx.net [69.64.224.71]) by mx1.freebsd.org (Postfix) with ESMTP id 9BB458FC08 for ; Sun, 8 Feb 2009 22:07:20 +0000 (UTC) (envelope-from sean.bruno@dsl-only.net) Received: (qmail 22281 invoked from network); 8 Feb 2009 14:06:59 -0800 Received: from 069-064-235-060.pdx.net (HELO ?192.168.1.51?) (69.64.235.60) by iron2.pdx.net with SMTP; 8 Feb 2009 14:06:59 -0800 From: Sean Bruno To: Torfinn Ingolfsen In-Reply-To: <200902071530.n17FU7VE054050@freefall.freebsd.org> References: <200902071530.n17FU7VE054050@freefall.freebsd.org> Content-Type: text/plain Date: Sun, 08 Feb 2009 14:07:19 -0800 Message-Id: <1234130839.3467.8.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.24.3 (2.24.3-1.fc10) Content-Transfer-Encoding: 7bit Cc: freebsd-firewire@FreeBSD.org Subject: Re: kern/97208: [firewire] System hangs / locks up when a firewire disk is attached X-BeenThere: freebsd-firewire@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Firewire support in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Feb 2009 22:07:21 -0000 On Sat, 2009-02-07 at 15:30 +0000, Torfinn Ingolfsen wrote: > > With i386, I still have the problem that dmesg fills up with messages > "phy int" and the drive does not attach. The machine does not hang, I > can attach and deattach the drive several times I will backport a patch to allow CAM to see a drive connect/disconnect better this week. Right now, I think you have to reboot if the initial connection fails. It's kind of awful. > > > > 4. Specifically, what type of firewire drive is this? > > Maxtor OneTouch II, 300 GB, usb and firewire ports. I noted that there are 2 models of the Maxtor OneTouch II. It appears from the fwcontrol output that you have a FW800 adapter in your PC and that the Maxtor is using a FW800 port. Does the FW400 port work? Does the USB port work? > fwohci0: node_id=0xc800ffc0, gen=195, CYCLEMASTER mode > firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) > fwohci0: fw_set_bus_manager: 0->0 (loop=0) > firewire0: bus manager 0 (me) > send phy_config root_node=-1 gap_count=5 > fwohci0: start AT DMA status=11 > Current DB 0 > ch = 0 > Current OP KEY INT BR len Addr Depend Stat: Cnt > 01877200 OUTL ST2 ALL ALL 12 00000000 01877280 8411:810f RUN,ACTIVE, ack complete(11) > 0x000000e0 0x00450000 0xffbaffff 0x00000000 > bus_explore done > sbp_post_explore (sbp_cold=0) > fwohci0: BUS reset > sbp_post_busreset > fwohci0: phy int > fwohci0: phy int > fwohci0: phy int > fwohci0: phy int > fwohci0: phy int > fwohci0: phy int > fwohci0: phy int > fwohci0: phy int > fwohci0: phy int > fwohci0: too many cycle lost, no cycle master presents? > fwohci0: phy int > fwohci0: phy int > fwohci0: node_id=0xc800ffc0, gen=217, CYCLEMASTER mode > firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) > fwohci0: fw_set_bus_manager: 0->0 (loop=0) > firewire0: bus manager 0 (me) > send phy_config root_node=-1 gap_count=5 > fwohci0: start AT DMA status=11 > Current DB 0 > ch = 0 > Current OP KEY INT BR len Addr Depend Stat: Cnt > 01877280 OUTL ST2 ALL ALL 12 00000000 01877300 8411:3df0 RUN,ACTIVE, ack complete(11) > 0x000000e0 0x00450000 0xffbaffff 0x00000000 > bus_explore done > sbp_post_explore (sbp_cold=0) I'll have to see what the "phy int" is supposed to mean. Right now it appears that the FreeBSD firewire stack treats it as a no-op. I am puzzled by the fact that "stuff" appears to be happening WAY before a busreset occurs. This seems bad. Try the same test, but execute a "fwcontrol -r" to force a bus reset. I'd be interested to see the same output from your console with debugging enabled. > > === base register === > 0x01 0x05 0xe3 0xe2 0xc4 0x0b 0x10 0x20 > Physical_ID:0 R:0 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:1 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 === > 0xb6 0x00 0xbb 0x00 0x00 0x00 0x00 0x00 > Astat:2 BStat:3 Ch:0 Con:1 RXOK:1 Dis:0 > Negotiated_speed:0 PIE:0 Fault:0 Stanby_fault:0 Disscrm:0 B_Only:0 > DC_connected:1 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 You appear to have 2 ports connected to FW800 devices, port 0 and port 2. What is on both ports? Sean