Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Mar 2009 08:55:57 -0700
From:      George Hartzell <hartzell@alerce.com>
To:        Alexander Motin <mav@FreeBSD.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Am I using atacontrol attach properly? (sata hotplug issue).
Message-ID:  <18870.36237.507772.507692@almost.alerce.com>
In-Reply-To: <49B4D781.4040009@FreeBSD.org>
References:  <1236482586.00083946.1236470402@10.7.7.3> <49B4D781.4040009@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Alexander Motin writes:
 > Hi.
 > 
 > George Hartzell wrote:
 > > I have a Gigabyte GA-6KIEH-RH motherboard.  It has 5 SATA ports, 4
 > > attached to a Sil 3114 controller and 1 attach to an ICH8m.  The
 > > system is running -CURRENT from yesterday.
 > > 
 > > I have two disks attaching as ad4 and ad6 to ata2 and ata3 resp.
 > > 
 > > I can set ACHI mode for ICH8m in the BIOS.  When I do not enable it,
 > > the 5th SATA conector shows up as slave on ata6.  When I do enable it
 > > the 5th connector shows up as master on ata8.
 > > 
 > > If I boot without anything connected to the fifth port, then connect a
 > > drive I thought that the following should work to get the drive
 > > recognized:
 > > 
 > >   sudo atacontrol detach ata8
 > >   sudo atacontrol attach ata8 
 > > 
 > > (or a similar dance with ata6 if AHCI isn't enabled).
 > 
 > It is ICH8M port, right?
 > 
 > > When I set boot_verbose in loader.conf I see the following when I
 > > attach (two separate attempts with different SATA drives):
 > > 
 > > ata8: AHCI reset...
 > > ata8: SATA connect status=00000004
 > > ata8: AHCI reset done: phy reset found no device
 > > ata8: [MPSAFE]
 > > ata8: [ITHREAD]
 > > ata8: Identifying devices: 00000000
 > > ata8: New devices: 00000000
 > > ata8: AHCI reset...
 > > ata8: SATA connect status=00000004
 > > ata8: AHCI reset done: phy reset found no device
 > > ata8: [MPSAFE]
 > > ata8: [ITHREAD]
 > > ata8: Identifying devices: 00000000
 > > ata8: New devices: 00000000
 > 
 > There is very little part of AHCI driver takes part on this stage. 
 > Mostly it is done by common ata_sata_phy_reset() routine. Try to comment
 > 	if ((ATA_IDX_INL(ch, ATA_SCONTROL) & ATA_SC_DET_MASK) == 
 > ATA_SC_DET_IDLE)
 > 		return ata_sata_connect(ch);
 > lines in there. It will force full hardware reset to the drive.
 > 
 > > If the drive's attached at boot time then it's recognized.
 > > 
 > > Am I doing something wrong, or is my hardware balky?
 > 
 > Every hardware has some specifics. I have successfully tested hot-plug 
 > working with AHCI on ICH8, ICH8M and JMB363.

When I comment out those lines I end up with an unbootable kernel.  I
get to the point that it tries to mount root and it gives me a prompt
asking me what to mount.  I don't know if it's the same problem or
not, but the USB keyboard is also unresponsive.

Somehow, in the course of playing with this and rebooting when things
hung, I've ended up with several hundred errors in the zpool.  It'll
take me a few evenings to reinstall and rebuild things.

g.



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