Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757997Ab3GZBvO (ORCPT ); Thu, 25 Jul 2013 21:51:14 -0400 Received: from mga03.intel.com ([143.182.124.21]:56390 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756932Ab3GZBvJ (ORCPT ); Thu, 25 Jul 2013 21:51:09 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.89,747,1367996400"; d="scan'208";a="273515198" Message-ID: <51F1D63A.2010403@intel.com> Date: Fri, 26 Jul 2013 09:51:54 +0800 From: Aaron Lu User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 MIME-Version: 1.0 To: Dave Hansen CC: Tejun Heo , linux-ide@vger.kernel.org, LKML , Shane Huang Subject: Re: SATA hotplug not detecting new disks References: <51F1B179.4070309@sr71.net> In-Reply-To: <51F1B179.4070309@sr71.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3305 Lines: 78 On 07/26/2013 07:15 AM, Dave Hansen wrote: > I've got a relatively new system that doesn't seem to be able to hotplug > SATA disks. I see the same behavior on 3.10, 3.11-rc2, and Ubuntu's > 3.8.0-25-generic. The disks are detected right away on reboots, but > even after poking the /sys/class/scsi_host/host*/scan files, new disks > are never detected. I've disabled link power management. > > Am I doing something stupid here? I thought this "just worked" on my > previous hardware. My vague memory reminds me that not all SATA ports are hot pluggable - you can check the port's "External SATA port" bit and "Hot Plug Capable" bit of the PxCMD register like this: $ grep ahci /proc/iomem e1a40000-e1a407ff : ahci # dd if=/dev/mem of=ahcidump bs=4096 count=1 skip=0xe1a40 You will need to change 0xe1a40 to decimal format. Then the PxCMD is at offset 0x118 for port 0, check bit 21 for E-SATA or bit 18 for hot pluggable bits. If any of them set to 1, this port should be hot pluggable; otherwise, it doesn't have this capability. > > The motherboard is an Intel DH87RL. The SATA controller is: > >> 00:1f.2 SATA controller: Intel Corporation Lynx Point 6-port SATA Controller 1 [AHCI mode] (rev 04) (prog-if 01 [AHCI 1.0]) >> Subsystem: Intel Corporation Device 204a >> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ >> Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- > Latency: 0 >> Interrupt: pin B routed to IRQ 41 >> Region 0: I/O ports at f0d0 [size=8] >> Region 1: I/O ports at f0c0 [size=4] >> Region 2: I/O ports at f0b0 [size=8] >> Region 3: I/O ports at f0a0 [size=4] >> Region 4: I/O ports at f060 [size=32] >> Region 5: Memory at f7d3a000 (32-bit, non-prefetchable) [size=2K] >> Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit- >> Address: fee2200c Data: 4191 >> Capabilities: [70] Power Management version 3 >> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-) >> Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- >> Capabilities: [a8] SATA HBA v1.0 BAR4 Offset=00000004 >> Kernel driver in use: ahci > > Relevant dmesg from boot: > > ahci 0000:00:1f.2: version 3.0 > ahci 0000:00:1f.2: irq 41 for MSI/MSI-X > ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 5 ports 6 Gbps 0x1e impl SATA > mode > ahci 0000:00:1f.2: flags: 64bit ncq pm led clo pio slum part ems apst This doesn't have sxs(support external sata) bit here, so no ports from this host is E-SATA port. Only need to check the hot pluggable bit. Hope this helps, -Aaron > ahci 0000:00:1f.2: setting latency timer to 64 > scsi0 : ahci > scsi1 : ahci > scsi2 : ahci > scsi3 : ahci > scsi4 : ahci > ata1: DUMMY > ata2: SATA max UDMA/133 abar m2048@0xf7d3a000 port 0xf7d3a180 irq 41 > ata3: SATA max UDMA/133 abar m2048@0xf7d3a000 port 0xf7d3a200 irq 41 > ata4: SATA max UDMA/133 abar m2048@0xf7d3a000 port 0xf7d3a280 irq 41 > ata5: SATA max UDMA/133 abar m2048@0xf7d3a000 port 0xf7d3a300 irq 41 > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/