From owner-freebsd-drivers@FreeBSD.ORG Sat May 14 21:54:22 2011 Return-Path: Delivered-To: freebsd-drivers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 36758106566C for ; Sat, 14 May 2011 21:54:22 +0000 (UTC) (envelope-from dieterbsd@engineer.com) Received: from mailout-us.mail.com (mailout-us.gmx.com [74.208.5.67]) by mx1.freebsd.org (Postfix) with SMTP id 046E38FC0C for ; Sat, 14 May 2011 21:54:21 +0000 (UTC) Received: (qmail 3610 invoked by uid 0); 14 May 2011 21:54:21 -0000 Received: from 67.206.162.139 by rms-us012.v300.gmx.net with HTTP Content-Type: text/plain; charset="utf-8" Date: Sat, 14 May 2011 21:54:17 +0000 From: "Dieter BSD" Message-ID: <20110514215419.227500@gmx.com> MIME-Version: 1.0 To: mav@freebsd.org X-Authenticated: #74169980 X-Flags: 0001 X-Mailer: GMX.com Web Mailer x-registered: 0 Content-Transfer-Encoding: 8bit X-GMX-UID: XL6ECpY/zXKnJhiIXHAyf7I6OWhhagfi Cc: freebsd-drivers@freebsd.org Subject: Siis(4) does not play well with others! :-( X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 May 2011 21:54:22 -0000 FreeBSD 8.2 amd64 With improvements to siis(4) and ahci(4) by Alexander Motin from approx 2011-04-13. SiI3132 SATA controller Port Multiplier 37261095 1706 kernel: siisch3: siis_wait_ready() calling DELAY(1000) kernel: siisch3: siis_wait_ready() calling DELAY(1000) kernel: siisch3: Error while READ LOG EXT kernel: siisch3: siis_wait_ready() calling DELAY(1000) kernel: siisch3: SIIS reset... kernel: siisch3: siis_sata_connect() calling DELAY(1000) kernel: siisch3: SATA connect time=1ms status=00000123 kernel: siisch3: SIIS reset done: devices=00000001 kernel: siisch3: siis_wait_ready() calling DELAY(1000) kernel: siisch3: siis_wait_ready() calling DELAY(1000) kernel: siisch3: Error while READ LOG EXT kernel: siisch3: siis_wait_ready() calling DELAY(1000) kernel: siisch3: SIIS reset... kernel: siisch3: siis_sata_connect() calling DELAY(1000) kernel: siisch3: SATA connect time=1ms status=00000123 kernel: siisch3: SIIS reset done: devices=00000001 kernel: siisch3: siis_wait_ready() calling DELAY(1000) ... kernel: siisch3: Timeout on slot 30 kernel: siisch3: siis_timeout is 00040000 ss 60000000 rs 60000000 es 00000000 sts 801e2000 serr 00000000 kernel: siisch3:  ... waiting for slots 20000000 kernel: siisch3: Timeout on slot 29 kernel: siisch3: siis_timeout is 00040000 ss 60000000 rs 60000000 es 00000000 sts 801e2000 serr 00000000 kernel: siisch3: SIIS reset... kernel: siisch3: siis_sata_connect() calling DELAY(1000) kernel: siisch3: SATA connect time=1ms status=00000123 kernel: siisch3: SIIS reset done: devices=00000001 kernel: siisch3: siis_wait_ready() calling DELAY(1000) /usr/sbin/cron[3369]: (root) CMD (/usr/libexec/atrun -l 10) kernel: siisch3: Timeout on slot 29 kernel: siisch3: siis_timeout is 00040000 ss 20000000 rs 20000000 es 00000000 sts 801f2000 serr 00000000 kernel: siisch3: SIIS reset... kernel: siisch3: siis_sata_connect() calling DELAY(1000) kernel: siisch3: SATA connect time=1ms status=00000123 kernel: siisch3: SIIS reset done: devices=00000001 kernel: siisch3: siis_wait_ready() calling DELAY(1000) /usr/sbin/cron[3373]: (root) CMD (/usr/libexec/atrun -l 10) kernel: siisch3: Timeout on slot 29 kernel: siisch3: siis_timeout is 00040000 ss 20000000 rs 20000000 es 00000000 sts 801f2000 serr 00000000 kernel: siisch3: SIIS reset... kernel: siisch3: siis_sata_connect() calling DELAY(1000) kernel: siisch3: SATA connect time=1ms status=00000123 kernel: siisch3: SIIS reset done: devices=00000001 kernel: siisch3: siis_wait_ready() calling DELAY(1000) kernel: (ada9:siisch3:0:4:0): lost device kernel: siisch3: Timeout on slot 29 kernel: siisch3: siis_timeout is 00040000 ss 30000000 rs 30000000 es 00000000 sts 801f2000 serr 00000000 kernel: siisch3:  ... waiting for slots 10000000 kernel: siisch3: Timeout on slot 28 kernel: siisch3: siis_timeout is 00040000 ss 30000000 rs 30000000 es 00000000 sts 801f2000 serr 00000000 kernel: siisch3: siis_wait_ready() calling DELAY(1000) kernel: siisch3: SIIS reset... kernel: siisch3: siis_sata_connect() calling DELAY(1000) kernel: siisch3: SATA connect time=1ms status=00000123 kernel: siisch3: SIIS reset done: devices=00000001 ... kernel: siisch3: siis_wait_ready() calling DELAY(1000) last message repeated 2 times kernel: siisch3: SIIS reset... kernel: siisch3: siis_sata_connect() calling DELAY(1000) kernel: siisch3: SATA connect time=1ms status=00000123 kernel: siisch3: SIIS reset done: devices=00000001 kernel: siisch3: siis_wait_ready() calling DELAY(1000) last message repeated 2 times kernel: siisch3: SIIS reset... kernel: siisch3: siis_sata_connect() calling DELAY(1000) kernel: siisch3: SATA connect time=1ms status=00000123 kernel: siisch3: siis_wait_ready() calling DELAY(1000) last message repeated 1001 times kernel: siisch3: port is not ready (timeout 1000ms) status = 001f2000 kernel: siisch3: port ready timeout kernel: siisch3: trying full port reset ... kernel: siisch3: siis_reset() calling DELAY(10000) kernel: siisch3: siis_wait_ready() calling DELAY(1000) ... I have LEDs connected to the PM and they were flashing on and off together, but not in a normal disk access pattern. This might be due to a bad disk.  Next time the machine is free I'll move the disk to a different port and see if the problem follows the disk or stays with that PM port. Problem is that this time, siis(4) didn't "just" lock out Ethernet, but nearly the entire machine. Tried to log in on the RS-232 console, getty was running, but login hung on the password.  One Ethernet (PCI card ed(4)) would respond to ping but not to telnet.  Another Ethernet (onboard bge(4)) would not even respond to a ping. The reset button stopped the PM LEDS flashing, but didn't reboot the machine.  Had to power cycle to get the machine back up. Incoming data was lost due to this.  :-( None of the disks connected to the siis controllers have any system partitions,  They are user data only.  The root partition is on the nforce controller, all other system partitions and swap are on the ahci controller. So regardless of whatever problem this PM or disk might have, unrelated system activity such as logging in on the console, responding to ping and telnet, etc. should not have been affected. Siis(4) needs to learn how to play well with others!