linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* PATA port not detected when using AHCI on Intel 82801GB/GR/GH
@ 2010-01-22  3:37 infernix
  2010-01-22  5:01 ` Robert Hancock
  2010-01-22  5:31 ` Jeff Garzik
  0 siblings, 2 replies; 18+ messages in thread
From: infernix @ 2010-01-22  3:37 UTC (permalink / raw)
  To: linux-ide

Hi,

I've got an Intel SS4200(-ESW) here which according to lspci has an
Intel 82801GB/GR/GH controller. It has 4 sata ports + 1 pata port in
which i have a 4GB IDE flash DOM. It also has a SIL 3132 for 2 external
eSATA ports. There are no disks connected to any of the SATA ports.

The bios allows for two modes:

- Compatible mode, which makes the kernel use ata_piix. lspci shows that 
the chipset uses pci id 8086:27c0.

- Enhanced mode (with sub options IDE, RAID or AHCI - using AHCI here),
which of course makes the kernel use ahci. lspci shows the the chipset
now uses pci id 8086:27c1.

In compatible mode, the bios can be configured to make the pata
controller the first and the sata controller the second controller under
ata_piix. This works and I can boot off the IDE in the PATA DOM without
issues. The DOM works fine under ata_piix as /dev/sda.

The problem is with the Enhanced mode with the sub mode set to AHCI (or
IDE for that matter, it didn't change anything). In Enhanced AHCI mode,
the SATA ports are detected just fine, but the PATA port is not
detected. As I'm using an IDE DOM as root device, I can't boot in AHCI
mode.

What's weird though is that if I enable the old IDE PIIX driver, the
PATA port does get detected and the DOM shows up as /dev/hda. But
performance is abysmal, and since this is now deprecated we should try
to get the PATA port working while in Enhanced AHCI mode.

Running in compatible mode is not an option because this allows me to
chose PATA for controller 0 and SATA for controller 1, but as a
consequence i lose 2 sata ports as can be seen in the dmesg output. Or I 
could set it to full SATA but then the PATA port is rendered useless.

Relevant dmesg data follows; i've just checked out and built
linux-ide-next so this is from 2.6.33-rc3. Please advise, as I'm unsure
what to do next.

Thanks!


Dmesg output when in Compatible mode (IDE DOM in PATA port detected as sda):

[    0.264944] pci 0000:00:1f.0: quirk: [io  0x0800-0x087f] claimed by
ICH6 ACPI/GPIO/TCO
[    0.268007] pci 0000:00:1f.0: quirk: [io  0x0480-0x04bf] claimed by
ICH6 GPIO
[    0.272003] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at
0a00 (mask 00ff)
[    0.276397] pci 0000:00:1c.0: PCI bridge to [bus 01-01]
[    0.280202] pci 0000:00:1c.2: PCI bridge to [bus 02-02]
[    0.284063] pci 0000:00:1e.0: PCI bridge to [bus 03-03] (subtractive
decode)
...
[    1.292271] ata_piix 0000:00:1f.2: PCI INT B -> GSI 19 (level, low)
-> IRQ 19
[    1.299403] ata_piix 0000:00:1f.2: MAP [ IDE IDE P1 P3 ]
[    1.460138] scsi0 : ata_piix
[    1.463105] scsi1 : ata_piix
[    1.467639] ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0xffa0
irq 14
[    1.474591] ata2: SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xffa8
irq 15
[    1.481608] sata_sil24 0000:02:00.0: PCI INT A -> GSI 18 (level, low)
-> IRQ 18
[    1.489384] scsi2 : sata_sil24
[    1.492521] scsi3 : sata_sil24
[    1.495599] ata3: SATA max UDMA/100 host m128@0xff8ffc00 port
0xff8f8000 irq 18
[    1.502891] ata4: SATA max UDMA/100 host m128@0xff8ffc00 port
0xff8fa000 irq 18
...
[    1.655192] ata1.00: CFA: TRANSCEND, 20071207, max UDMA/66
[    1.660665] ata1.00: 7831152 sectors, multi 0: LBA
[    1.665543] ata1.00: limited to UDMA/33 due to 40-wire cable
...
[    1.756218] ata1.00: configured for UDMA/33
[    1.760510] scsi 0:0:0:0: Direct-Access     ATA      TRANSCEND
  2007 PQ: 0 ANSI: 5
[    1.768801] sd 0:0:0:0: [sda] 7831152 512-byte logical blocks: (4.00
GB/3.73 GiB)
[    1.776324] sd 0:0:0:0: [sda] Write Protect is off
[    1.781128] sd 0:0:0:0: [sda] Write cache: disabled, read cache:
enabled, doesn't support DPO or FUA
[    1.790375]  sda:
...
[    1.842954]  sda1
...[    3.572048] ata3: SATA link down (SStatus 0 SControl 0)
[    5.656053] ata4: SATA link down (SStatus 0 SControl 0)


dmesg when in Enhanced AHCI mode (no sdX detected but IDE DOM is in PATA
port):

[    0.272934] pci 0000:00:1f.0: quirk: [io  0x0800-0x087f] claimed by
ICH6 ACPI/GPIO/TCO
[    0.276006] pci 0000:00:1f.0: quirk: [io  0x0480-0x04bf] claimed by
ICH6 GPIO
[    0.280005] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at
0a00 (mask 00ff)
[    0.284407] pci 0000:00:1c.0: PCI bridge to [bus 01-01]
[    0.288200] pci 0000:00:1c.2: PCI bridge to [bus 02-02]
[    0.292063] pci 0000:00:1e.0: PCI bridge to [bus 03-03] (subtractive
decode)
...
[    1.296627] ahci 0000:00:1f.2: PCI INT B -> GSI 19 (level, low) -> IRQ 19
[    1.303527] ahci 0000:00:1f.2: AHCI 0001.0100 32 slots 4 ports 3 Gbps
0xf impl SATA mode
[    1.311599] ahci 0000:00:1f.2: flags: 64bit ncq pm led clo pio slum part
[    1.318752] scsi0 : ahci
[    1.321466] scsi1 : ahci
[    1.324066] scsi2 : ahci
[    1.326640] scsi3 : ahci
[    1.329319] ata1: SATA max UDMA/133 abar m1024@0xffa3fc00 port
0xffa3fd00 irq 26
[    1.336697] ata2: SATA max UDMA/133 abar m1024@0xffa3fc00 port
0xffa3fd80 irq 26
[    1.344069] ata3: SATA max UDMA/133 abar m1024@0xffa3fc00 port
0xffa3fe00 irq 26
[    1.351439] ata4: SATA max UDMA/133 abar m1024@0xffa3fc00 port
0xffa3fe80 irq 26
[    1.358898] sata_sil24 0000:02:00.0: PCI INT A -> GSI 18 (level, low)
-> IRQ 18
[    1.366581] scsi4 : sata_sil24
[    1.369736] scsi5 : sata_sil24
[    1.372825] ata5: SATA max UDMA/100 host m128@0xff8ffc00 port
0xff8f8000 irq 18
[    1.380114] ata6: SATA max UDMA/100 host m128@0xff8ffc00 port
0xff8fa000 irq 18
...
[    1.733350] ata1: SATA link down (SStatus 0 SControl 300)
[    1.738751] ata2: SATA link down (SStatus 0 SControl 300)
[    1.744157] ata3: SATA link down (SStatus 0 SControl 300)
[    1.749553] ata4: SATA link down (SStatus 0 SControl 300)
..
[    3.520041] ata5: SATA link down (SStatus 0 SControl 0)
[    5.604028] ata6: SATA link down (SStatus 0 SControl 0)



dmesg when in Enhanced AHCI mode + IDE PIIX driver (IDE DOM detected as
hda on ide0):

[    0.268942] pci 0000:00:1f.0: quirk: [io  0x0800-0x087f] claimed by
ICH6 ACPI/GPIO/TCO
[    0.272008] pci 0000:00:1f.0: quirk: [io  0x0480-0x04bf] claimed by
ICH6 GPIO
[    0.276003] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at
0a00 (mask 00ff)
[    0.280407] pci 0000:00:1c.0: PCI bridge to [bus 01-01]
[    0.284200] pci 0000:00:1c.2: PCI bridge to [bus 02-02]
[    0.288063] pci 0000:00:1e.0: PCI bridge to [bus 03-03] (subtractive
decode)
...
[    1.287943] Uniform Multi-Platform E-IDE driver
[    1.292538] ide_generic: please use "probe_mask=0x3f" module
parameter for probing all legacy ISA IDE ports
[    1.588285] hda: TRANSCEND, CFA DISK drive
[    2.264079] ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
[    2.836073] ide1 at 0x170-0x177,0x376 on irq 15
[    2.840612] ide-gd driver 1.18
[    2.843672] hda: max request size: 128KiB
[    2.847677] hda: 7831152 sectors (4009 MB) w/1KiB Cache, CHS=7769/16/63
[    2.854349]  hda: hda1
[    2.867317] ahci 0000:00:1f.2: PCI INT B -> GSI 19 (level, low) -> IRQ 19
[    2.874213] ahci 0000:00:1f.2: AHCI 0001.0100 32 slots 4 ports 3 Gbps
0xf impl SATA mode
[    2.882285] ahci 0000:00:1f.2: flags: 64bit ncq pm led clo pio slum part
[    2.889423] scsi0 : ahci
[    2.892141] scsi1 : ahci
[    2.894722] scsi2 : ahci
[    2.897317] scsi3 : ahci
[    2.899988] ata1: SATA max UDMA/133 abar m1024@0xffa3fc00 port
0xffa3fd00 irq 26
[    2.907371] ata2: SATA max UDMA/133 abar m1024@0xffa3fc00 port
0xffa3fd80 irq 26
[    2.914742] ata3: SATA max UDMA/133 abar m1024@0xffa3fc00 port
0xffa3fe00 irq 26
[    2.922114] ata4: SATA max UDMA/133 abar m1024@0xffa3fc00 port
0xffa3fe80 irq 26
[    2.929583] sata_sil24 0000:02:00.0: PCI INT A -> GSI 18 (level, low)
-> IRQ 18
[    2.937272] scsi4 : sata_sil24
[    2.940422] scsi5 : sata_sil24
[    2.943498] ata5: SATA max UDMA/100 host m128@0xff8ffc00 port
0xff8f8000 irq 18
[    2.950799] ata6: SATA max UDMA/100 host m128@0xff8ffc00 port
0xff8fa000 irq 18
...
[    3.305027] ata1: SATA link down (SStatus 0 SControl 300)
[    3.310429] ata2: SATA link down (SStatus 0 SControl 300)
[    3.315836] ata3: SATA link down (SStatus 0 SControl 300)
[    3.321232] ata4: SATA link down (SStatus 0 SControl 300)
..
[    5.092032] ata5: SATA link down (SStatus 0 SControl 0)
[    7.176025] ata6: SATA link down (SStatus 0 SControl 0)

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: PATA port not detected when using AHCI on Intel 82801GB/GR/GH
  2010-01-22  3:37 PATA port not detected when using AHCI on Intel 82801GB/GR/GH infernix
@ 2010-01-22  5:01 ` Robert Hancock
  2010-01-22 12:57   ` infernix
  2010-01-22  5:31 ` Jeff Garzik
  1 sibling, 1 reply; 18+ messages in thread
From: Robert Hancock @ 2010-01-22  5:01 UTC (permalink / raw)
  To: infernix; +Cc: linux-ide

On 01/21/2010 09:37 PM, infernix wrote:
> Hi,
>
> I've got an Intel SS4200(-ESW) here which according to lspci has an
> Intel 82801GB/GR/GH controller. It has 4 sata ports + 1 pata port in
> which i have a 4GB IDE flash DOM. It also has a SIL 3132 for 2 external
> eSATA ports. There are no disks connected to any of the SATA ports.
>
> The bios allows for two modes:
>
> - Compatible mode, which makes the kernel use ata_piix. lspci shows that
> the chipset uses pci id 8086:27c0.
>
> - Enhanced mode (with sub options IDE, RAID or AHCI - using AHCI here),
> which of course makes the kernel use ahci. lspci shows the the chipset
> now uses pci id 8086:27c1.
>
> In compatible mode, the bios can be configured to make the pata
> controller the first and the sata controller the second controller under
> ata_piix. This works and I can boot off the IDE in the PATA DOM without
> issues. The DOM works fine under ata_piix as /dev/sda.
>
> The problem is with the Enhanced mode with the sub mode set to AHCI (or
> IDE for that matter, it didn't change anything). In Enhanced AHCI mode,
> the SATA ports are detected just fine, but the PATA port is not
> detected. As I'm using an IDE DOM as root device, I can't boot in AHCI
> mode.
>
> What's weird though is that if I enable the old IDE PIIX driver, the
> PATA port does get detected and the DOM shows up as /dev/hda. But
> performance is abysmal, and since this is now deprecated we should try
> to get the PATA port working while in Enhanced AHCI mode.
>
> Running in compatible mode is not an option because this allows me to
> chose PATA for controller 0 and SATA for controller 1, but as a
> consequence i lose 2 sata ports as can be seen in the dmesg output. Or I
> could set it to full SATA but then the PATA port is rendered useless.

If the board has PATA ports driven off the chipset, then in AHCI mode 
you should get two devices showing up, one AHCI controller for the SATA 
ports and one IDE controller for the PATA ports which ata_piix should 
drive. Is that not happening on this board?

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: PATA port not detected when using AHCI on Intel 82801GB/GR/GH
  2010-01-22  3:37 PATA port not detected when using AHCI on Intel 82801GB/GR/GH infernix
  2010-01-22  5:01 ` Robert Hancock
@ 2010-01-22  5:31 ` Jeff Garzik
  1 sibling, 0 replies; 18+ messages in thread
From: Jeff Garzik @ 2010-01-22  5:31 UTC (permalink / raw)
  To: infernix; +Cc: linux-ide

On 01/21/2010 10:37 PM, infernix wrote:
> Hi,
>
> I've got an Intel SS4200(-ESW) here which according to lspci has an
> Intel 82801GB/GR/GH controller. It has 4 sata ports + 1 pata port in
> which i have a 4GB IDE flash DOM. It also has a SIL 3132 for 2 external
> eSATA ports. There are no disks connected to any of the SATA ports.
>
> The bios allows for two modes:
>
> - Compatible mode, which makes the kernel use ata_piix. lspci shows that
> the chipset uses pci id 8086:27c0.
>
> - Enhanced mode (with sub options IDE, RAID or AHCI - using AHCI here),
> which of course makes the kernel use ahci. lspci shows the the chipset
> now uses pci id 8086:27c1.
>
> In compatible mode, the bios can be configured to make the pata
> controller the first and the sata controller the second controller under
> ata_piix. This works and I can boot off the IDE in the PATA DOM without
> issues. The DOM works fine under ata_piix as /dev/sda.
>
> The problem is with the Enhanced mode with the sub mode set to AHCI (or
> IDE for that matter, it didn't change anything). In Enhanced AHCI mode,
> the SATA ports are detected just fine, but the PATA port is not
> detected. As I'm using an IDE DOM as root device, I can't boot in AHCI
> mode.
>
> What's weird though is that if I enable the old IDE PIIX driver, the
> PATA port does get detected and the DOM shows up as /dev/hda. But
> performance is abysmal, and since this is now deprecated we should try
> to get the PATA port working while in Enhanced AHCI mode.
>
> Running in compatible mode is not an option because this allows me to
> chose PATA for controller 0 and SATA for controller 1, but as a
> consequence i lose 2 sata ports as can be seen in the dmesg output. Or I
> could set it to full SATA but then the PATA port is rendered useless.

What PCI device is the PATA port?  Does the pata_marvell driver enable it?

Can you provide full lspci?

	Jeff



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: PATA port not detected when using AHCI on Intel 82801GB/GR/GH
  2010-01-22  5:01 ` Robert Hancock
@ 2010-01-22 12:57   ` infernix
  2010-01-23  1:23     ` Robert Hancock
  0 siblings, 1 reply; 18+ messages in thread
From: infernix @ 2010-01-22 12:57 UTC (permalink / raw)
  To: linux-ide

On 22/01/10 06:01, Robert Hancock wrote:
> If the board has PATA ports driven off the chipset, then in AHCI mode
> you should get two devices showing up, one AHCI controller for the SATA
> ports and one IDE controller for the PATA ports which ata_piix should
> drive. Is that not happening on this board?

This is indeed the problem. In AHCI mode, the PATA port is undetected. 
ata_piix does not handle it at all.


On 22/01/10 06:31, Jeff Garzik wrote:
 > What PCI device is the PATA port? Does the pata_marvell driver enable it?

In compatible mode it's /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 
because i configured the bios to use PATA+SATA. This is the ICH7 
controller (according to lspci).

In Enhanced AHCI mode it does not show up at all on lspci. Poking around 
in /sys shows that ide-gd is responsible for discovering hda; without 
CONFIG_IDE, it's not found at all.

The pata_marvell driver is unrelated, it only serves the two external 
eSATA ports, nothing else. You can even see that it's situated close to 
the eSATA ports whereas the Intel ICH7 SATA and PATA ports are on the 
complete opposite side of the board: 
http://ss4200.pbworks.com/f/IMG_2187.jpg

Full mobo image here: http://ss4200.pbworks.com/f/CIMG0326.jpg

 > Can you provide full lspci?

Sure, compatible mode: 
http://dx.infernix.net/ss4200/lspci-vv.compatible_mode

Enhanced ahci mode: 
http://dx.infernix.net/ss4200/lspci-vv.enhanced_ahci_mode

And just for completion sake, here's what I have enabled in the normal 
2.6.33-rc3 build:

CONFIG_ATA=y
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y
CONFIG_SATA_AHCI=y
CONFIG_SATA_SIL24=y
CONFIG_ATA_SFF=y
CONFIG_ATA_PIIX=y
CONFIG_SATA_SIL=y
CONFIG_PATA_ACPI=y
CONFIG_ATA_GENERIC=y
CONFIG_PATA_MPIIX=y
CONFIG_PATA_OLDPIIX=y
CONFIG_PATA_SCH=y
# CONFIG_IDE is not set

The build with the IDE driver also has:

CONFIG_IDE=y
CONFIG_IDE_XFER_MODE=y
CONFIG_IDE_GD=y
CONFIG_IDE_GD_ATA=y
CONFIG_BLK_DEV_IDEACPI=y
CONFIG_IDE_PROC_FS=y
CONFIG_IDE_GENERIC=y
CONFIG_BLK_DEV_IDEDMA_SFF=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_PCIBUS_ORDER=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_BLK_DEV_IDEDMA=y



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: PATA port not detected when using AHCI on Intel 82801GB/GR/GH
  2010-01-22 12:57   ` infernix
@ 2010-01-23  1:23     ` Robert Hancock
  2010-01-23  2:29       ` infernix
  0 siblings, 1 reply; 18+ messages in thread
From: Robert Hancock @ 2010-01-23  1:23 UTC (permalink / raw)
  To: infernix; +Cc: linux-ide

On 01/22/2010 06:57 AM, infernix wrote:
> On 22/01/10 06:01, Robert Hancock wrote:
>> If the board has PATA ports driven off the chipset, then in AHCI mode
>> you should get two devices showing up, one AHCI controller for the SATA
>> ports and one IDE controller for the PATA ports which ata_piix should
>> drive. Is that not happening on this board?
>
> This is indeed the problem. In AHCI mode, the PATA port is undetected.
> ata_piix does not handle it at all.
>
>
> On 22/01/10 06:31, Jeff Garzik wrote:
>  > What PCI device is the PATA port? Does the pata_marvell driver enable
> it?
>
> In compatible mode it's /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0
> because i configured the bios to use PATA+SATA. This is the ICH7
> controller (according to lspci).
>
> In Enhanced AHCI mode it does not show up at all on lspci. Poking around
> in /sys shows that ide-gd is responsible for discovering hda; without
> CONFIG_IDE, it's not found at all.
>
> The pata_marvell driver is unrelated, it only serves the two external
> eSATA ports, nothing else. You can even see that it's situated close to
> the eSATA ports whereas the Intel ICH7 SATA and PATA ports are on the
> complete opposite side of the board:
> http://ss4200.pbworks.com/f/IMG_2187.jpg

Think you meant the sata_sil24 driver (it's a Silicon Image 3132 chip), 
but yeah, it's unrelated.

>
> Full mobo image here: http://ss4200.pbworks.com/f/CIMG0326.jpg
>
>  > Can you provide full lspci?
>
> Sure, compatible mode:
> http://dx.infernix.net/ss4200/lspci-vv.compatible_mode
>
> Enhanced ahci mode:
> http://dx.infernix.net/ss4200/lspci-vv.enhanced_ahci_mode

 From what I can gather from the ICH7 datasheet, when using AHCI the IDE 
controller is supposed to show up as device 1f.1 and the SATA controller 
as 1f.2. It seems like for some reason your BIOS is disabling the IDE 
controller entirely in that mode, which appears rather wrong.

Do you have the latest BIOS for that board?

The

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: PATA port not detected when using AHCI on Intel 82801GB/GR/GH
  2010-01-23  1:23     ` Robert Hancock
@ 2010-01-23  2:29       ` infernix
  2010-01-23  7:18         ` Robert Hancock
  2010-01-23 10:14         ` Alan Cox
  0 siblings, 2 replies; 18+ messages in thread
From: infernix @ 2010-01-23  2:29 UTC (permalink / raw)
  To: Robert Hancock; +Cc: linux-ide

On 23/01/10 02:23, Robert Hancock wrote:
>  From what I can gather from the ICH7 datasheet, when using AHCI the IDE
> controller is supposed to show up as device 1f.1 and the SATA controller
> as 1f.2. It seems like for some reason your BIOS is disabling the IDE
> controller entirely in that mode, which appears rather wrong.

Well kind of, but not completely since that old IDE PIIX driver does 
work when its set to Enhanced AHCI. It's just that it doesn't show up on 
the PCI bus, or so it seems at least.

> Do you have the latest BIOS for that board?

Yes, but it's a SOHO NAS box by Intel; the SS4200-E is the branded one 
that comes with some kind of EMC NAS software, and the ESW is the OEM 
version which is sold under various names, without the software. I've 
got the latter.

In either case, there's no BIOS upgrades, only "firmware" which is the 
EMC NAS stuff that gets shipped with the -E version, and Intel put up a 
notice on Jan 10th that the product is discontinued since Dec '09. So 
that's a dead end.

Can we force ata_piix to pick up the IDE controller? I mean the old IDE 
PIIX driver can do it (albeit terribly slow), so why can't ata_piix? I 
won't lose sleep if I have to pass an option to the kernel or modprobe 
for this to happen as it's an uncommon case.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: PATA port not detected when using AHCI on Intel 82801GB/GR/GH
  2010-01-23  2:29       ` infernix
@ 2010-01-23  7:18         ` Robert Hancock
  2010-01-23 13:14           ` infernix
  2010-01-23 10:14         ` Alan Cox
  1 sibling, 1 reply; 18+ messages in thread
From: Robert Hancock @ 2010-01-23  7:18 UTC (permalink / raw)
  To: infernix; +Cc: linux-ide

On Fri, Jan 22, 2010 at 8:29 PM, infernix <infernix@infernix.net> wrote:
> On 23/01/10 02:23, Robert Hancock wrote:
>>
>>  From what I can gather from the ICH7 datasheet, when using AHCI the IDE
>> controller is supposed to show up as device 1f.1 and the SATA controller
>> as 1f.2. It seems like for some reason your BIOS is disabling the IDE
>> controller entirely in that mode, which appears rather wrong.
>
> Well kind of, but not completely since that old IDE PIIX driver does work
> when its set to Enhanced AHCI. It's just that it doesn't show up on the PCI
> bus, or so it seems at least.
>
>> Do you have the latest BIOS for that board?
>
> Yes, but it's a SOHO NAS box by Intel; the SS4200-E is the branded one that
> comes with some kind of EMC NAS software, and the ESW is the OEM version
> which is sold under various names, without the software. I've got the
> latter.
>
> In either case, there's no BIOS upgrades, only "firmware" which is the EMC
> NAS stuff that gets shipped with the -E version, and Intel put up a notice
> on Jan 10th that the product is discontinued since Dec '09. So that's a dead
> end.
>
> Can we force ata_piix to pick up the IDE controller? I mean the old IDE PIIX
> driver can do it (albeit terribly slow), so why can't ata_piix? I won't lose
> sleep if I have to pass an option to the kernel or modprobe for this to
> happen as it's an uncommon case.

I don't think it actually is the IDE PIIX driver that's picking it up,
it's the generic IDE driver which detects it by banging ports
randomly, and doesn't know anything about DMA support, which is likely
why it's so slow. ata_piix doesn't know about anything that doesn't
show up on the PCI bus.

Since the chipset does have open documentation, one might be able to
develop a PCI quirk that would re-enable the disabled IDE interface so
that ata_piix can access it. That would likely be the best option,
albeit still rather ugly and highly system-specific..

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: PATA port not detected when using AHCI on Intel 82801GB/GR/GH
  2010-01-23  2:29       ` infernix
  2010-01-23  7:18         ` Robert Hancock
@ 2010-01-23 10:14         ` Alan Cox
  2010-01-23 13:08           ` infernix
  1 sibling, 1 reply; 18+ messages in thread
From: Alan Cox @ 2010-01-23 10:14 UTC (permalink / raw)
  To: infernix; +Cc: Robert Hancock, linux-ide

> Can we force ata_piix to pick up the IDE controller? I mean the old IDE 
> PIIX driver can do it (albeit terribly slow), so why can't ata_piix? I 

I doubt PIIX is doing it - the legacy IDE bits are.

What I think is going on is this (and I don't have docs so I am guessing)

	- The SOHO NAS has the IDE DOM wired to the LPC bus somewhere
	  directly (as legacy IDE)
	- The PATA port is intentionally disabled by the firmware to make
	  room for the DOM.

In which case loading "pata_legacy" ought to make the right magic occur.
Can you send me an

If that is the case I suspect the PIIX PATA port is not used at all
by the sytstem (is it even wired to pins anywhere ?). If it is used then
presumably the original NAS firmware does something truely hideous along
the lines of

-	Load boot image from DOM
-	Turn off DOM/on PIIX
-	Start using PIIX

Alan

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: PATA port not detected when using AHCI on Intel 82801GB/GR/GH
  2010-01-23 10:14         ` Alan Cox
@ 2010-01-23 13:08           ` infernix
  2010-01-23 13:38             ` Alan Cox
  0 siblings, 1 reply; 18+ messages in thread
From: infernix @ 2010-01-23 13:08 UTC (permalink / raw)
  To: Alan Cox; +Cc: Robert Hancock, linux-ide

On 23/01/10 11:14, Alan Cox wrote:
>> Can we force ata_piix to pick up the IDE controller? I mean the old IDE
>> PIIX driver can do it (albeit terribly slow), so why can't ata_piix? I
>
> I doubt PIIX is doing it - the legacy IDE bits are.

You're right:

[    1.606687] Uniform Multi-Platform E-IDE driver
[    1.611276] ide_generic: please use "probe_mask=0x3f" module 
parameter for probing all legacy ISA IDE ports
[    1.908275] hda: TRANSCEND, CFA DISK drive
[    2.584069] ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
[    3.156052] ide1 at 0x170-0x177,0x376 on irq 15

> What I think is going on is this (and I don't have docs so I am guessing)
>
> 	- The SOHO NAS has the IDE DOM wired to the LPC bus somewhere
> 	  directly (as legacy IDE)
> 	- The PATA port is intentionally disabled by the firmware to make
> 	  room for the DOM.
>
> In which case loading "pata_legacy" ought to make the right magic occur.

PATA_LEGACY Depends on: ATA [=y] && ATA_SFF [=y] && ISA [=n] && 
EXPERIMENTAL [=y]                                            │

So I have to turn on ISA for it to build. But that's not possible on 
x86_64 because it depends on X86_32. I'll try a 32bit build later, but 
I'd really like to be able to stay on x86_64. Is there a workaround?

> If that is the case I suspect the PIIX PATA port is not used at all
> by the sytstem (is it even wired to pins anywhere ?). If it is used then
> presumably the original NAS firmware does something truely hideous along
> the lines of
>
> -	Load boot image from DOM
> -	Turn off DOM/on PIIX
> -	Start using PIIX

Maybe I didn't make this clear enough, but the IDE DOM is not integrated 
in the NAS. I bought it afterwards and inserted it in the PATA port. I 
can just swap it for a 2.5" or 3.5" PATA harddisk if I want to.

Also, in both compatible and enhanced mode, the BIOS has no problem 
booting off the PATA port (with the IDE DOM that i bought). So I guess 
the bios may play some tricks here but when I boot off the PATA port in 
compatible mode, ata_piix is used to access the PATA port, and all is 
well with the world (except that I lose 2 SATA ports in compatible mode).

That would make me think it's actually wired to the ICH. Maybe also to 
the LPC bus but I'm not knowledgeable enough to know if thats even possible.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: PATA port not detected when using AHCI on Intel 82801GB/GR/GH
  2010-01-23  7:18         ` Robert Hancock
@ 2010-01-23 13:14           ` infernix
  0 siblings, 0 replies; 18+ messages in thread
From: infernix @ 2010-01-23 13:14 UTC (permalink / raw)
  To: Robert Hancock; +Cc: linux-ide

On 23/01/10 08:18, Robert Hancock wrote:
> Since the chipset does have open documentation, one might be able to
> develop a PCI quirk that would re-enable the disabled IDE interface so
> that ata_piix can access it. That would likely be the best option,
> albeit still rather ugly and highly system-specific..

Sounds difficult. Are there any other drivers that do something like 
this? I can try to poke around with it but I'm stepping into the unknown 
here.

Other options would be donating one to a willing developer. Any takers? 
They aren't very expensive fortunately :)

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: PATA port not detected when using AHCI on Intel 82801GB/GR/GH
  2010-01-23 13:08           ` infernix
@ 2010-01-23 13:38             ` Alan Cox
  2010-01-23 14:13               ` infernix
  2010-02-12 23:30               ` infernix
  0 siblings, 2 replies; 18+ messages in thread
From: Alan Cox @ 2010-01-23 13:38 UTC (permalink / raw)
  To: infernix; +Cc: Robert Hancock, linux-ide

> PATA_LEGACY Depends on: ATA [=y] && ATA_SFF [=y] && ISA [=n] && 
> EXPERIMENTAL [=y]                                            │
> 
> So I have to turn on ISA for it to build. But that's not possible on 
> x86_64 because it depends on X86_32. I'll try a 32bit build later, but 
> I'd really like to be able to stay on x86_64. Is there a workaround?

Remove the && ISA in Kconfig - that's bogus.

> Maybe I didn't make this clear enough, but the IDE DOM is not integrated 
> in the NAS. I bought it afterwards and inserted it in the PATA port. I 
> can just swap it for a 2.5" or 3.5" PATA harddisk if I want to.

Ok - well the PATA port seems not to be wired to the ICH. You could try
enabling the PATA port and seeing what happens I guess.

> Also, in both compatible and enhanced mode, the BIOS has no problem 
> booting off the PATA port (with the IDE DOM that i bought).

That I would expect - most BIOSes just use the legacy 0x170/0x1F0
interfaces and polled I/O. They don't care what the logic being driven is.

> That would make me think it's actually wired to the ICH. Maybe also to 
> the LPC bus but I'm not knowledgeable enough to know if thats even possible.

I'm not sure what occurs if you set up the address decode on the ICH for
the port and then hide it. Seems a strange thing to do but it might be
the case, and if so we can probably add a Linux quirk based on the DMI
data to unhide it.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: PATA port not detected when using AHCI on Intel 82801GB/GR/GH
  2010-01-23 13:38             ` Alan Cox
@ 2010-01-23 14:13               ` infernix
  2010-01-23 14:30                 ` infernix
  2010-02-12 23:30               ` infernix
  1 sibling, 1 reply; 18+ messages in thread
From: infernix @ 2010-01-23 14:13 UTC (permalink / raw)
  To: Alan Cox; +Cc: Robert Hancock, linux-ide

On 23/01/10 14:38, Alan Cox wrote:
>> PATA_LEGACY Depends on: ATA [=y]&&  ATA_SFF [=y]&&  ISA [=n]&&
>> EXPERIMENTAL [=y]                                            │
>>
>> So I have to turn on ISA for it to build. But that's not possible on
>> x86_64 because it depends on X86_32. I'll try a 32bit build later, but
>> I'd really like to be able to stay on x86_64. Is there a workaround?
>
> Remove the&&  ISA in Kconfig - that's bogus.

Aha. I'll try that later tonight, have some errands to run now.

>> That would make me think it's actually wired to the ICH. Maybe also to
>> the LPC bus but I'm not knowledgeable enough to know if thats even possible.
>
> I'm not sure what occurs if you set up the address decode on the ICH for
> the port and then hide it. Seems a strange thing to do but it might be
> the case, and if so we can probably add a Linux quirk based on the DMI
> data to unhide it.

Right, so I totally forgot to post the link to that data :)

You can find full dmidecode at http://dx.infernix.net/ss4200/, including 
dmesg in both enhanced and compatible mode.

Thanks :)

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: PATA port not detected when using AHCI on Intel 82801GB/GR/GH
  2010-01-23 14:13               ` infernix
@ 2010-01-23 14:30                 ` infernix
  0 siblings, 0 replies; 18+ messages in thread
From: infernix @ 2010-01-23 14:30 UTC (permalink / raw)
  To: Alan Cox; +Cc: Robert Hancock, linux-ide

On 23/01/10 15:13, infernix wrote:
> On 23/01/10 14:38, Alan Cox wrote:
>>> PATA_LEGACY Depends on: ATA [=y]&& ATA_SFF [=y]&& ISA [=n]&&
>>> EXPERIMENTAL [=y] │
>>>
>>> So I have to turn on ISA for it to build. But that's not possible on
>>> x86_64 because it depends on X86_32. I'll try a 32bit build later, but
>>> I'd really like to be able to stay on x86_64. Is there a workaround?
>>
>> Remove the&& ISA in Kconfig - that's bogus.
>
> Aha. I'll try that later tonight, have some errands to run now.

Couldn't resist. It works! Dmesg output follows :)

However, speed seems like its just as slow as with the legacy IDE driver:

ss4200:~# hdparm -tT /dev/sda

/dev/sda:
  Timing cached reads:   790 MB in  2.00 seconds = 395.04 MB/sec
  Timing buffered disk reads:    6 MB in  3.30 seconds =   1.82 MB/sec

I'll do some better speed measurements tonight.


[    0.264038] pci_root PNP0A08:00: ignoring host bridge windows from 
ACPI; boot with "pci=use_crs" to use them
[    0.268946] pci 0000:00:1f.0: quirk: [io  0x0800-0x087f] claimed by 
ICH6 ACPI/GPIO/TCO
[    0.272006] pci 0000:00:1f.0: quirk: [io  0x0480-0x04bf] claimed by 
ICH6 GPIO
[    0.276003] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at 
0a00 (mask 00ff)
[    0.280408] pci 0000:00:1c.0: PCI bridge to [bus 01-01]
[    0.284202] pci 0000:00:1c.2: PCI bridge to [bus 02-02]
[    0.288063] pci 0000:00:1e.0: PCI bridge to [bus 03-03] (subtractive 
decode)
...
[    1.606562] ahci 0000:00:1f.2: PCI INT B -> GSI 19 (level, low) -> IRQ 19
[    1.613460] ahci 0000:00:1f.2: AHCI 0001.0100 32 slots 4 ports 3 Gbps 
0xf impl SATA mode
[    1.621533] ahci 0000:00:1f.2: flags: 64bit ncq pm led clo pio slum part
[    1.628674] scsi0 : ahci
[    1.631363] scsi1 : ahci
[    1.633985] scsi2 : ahci
[    1.636577] scsi3 : ahci
[    1.639247] ata1: SATA max UDMA/133 abar m1024@0xffa3fc00 port 
0xffa3fd00 irq 26
[    1.646625] ata2: SATA max UDMA/133 abar m1024@0xffa3fc00 port 
0xffa3fd80 irq 26
[    1.653997] ata3: SATA max UDMA/133 abar m1024@0xffa3fc00 port 
0xffa3fe00 irq 26
[    1.661369] ata4: SATA max UDMA/133 abar m1024@0xffa3fc00 port 
0xffa3fe80 irq 26
[    1.668831] sata_sil24 0000:02:00.0: PCI INT A -> GSI 18 (level, low) 
-> IRQ 18
[    1.676501] scsi4 : sata_sil24
[    1.679635] scsi5 : sata_sil24
[    1.682737] ata5: SATA max UDMA/100 host m128@0xff8ffc00 port 
0xff8f8000 irq 18
[    1.690032] ata6: SATA max UDMA/100 host m128@0xff8ffc00 port 
0xff8fa000 irq 18
[    1.697548] scsi6 : pata_legacy
[    1.700733] ata7: PATA max PIO4 cmd 0x1f0 ctl 0x3f6 irq 14
[    1.868361] ata7.00: CFA: TRANSCEND, 20071207, max UDMA/66
[    1.873834] ata7.00: 7831152 sectors, multi 0: LBA
[    1.878709] ata7.00: configured for PIO
[    2.008043] ata3: SATA link down (SStatus 0 SControl 300)
[    2.013440] ata4: SATA link down (SStatus 0 SControl 300)
[    2.018835] ata2: SATA link down (SStatus 0 SControl 300)
[    2.024229] ata1: SATA link down (SStatus 0 SControl 300)
[    3.776040] ata5: SATA link down (SStatus 0 SControl 0)
[    5.860039] ata6: SATA link down (SStatus 0 SControl 0)
[    5.865363] scsi 6:0:0:0: Direct-Access     ATA      TRANSCEND 
  2007 PQ: 0 ANSI: 5
[    5.873646] sd 6:0:0:0: [sda] 7831152 512-byte logical blocks: (4.00 
GB/3.73 GiB)
[    5.881164] sd 6:0:0:0: [sda] Write Protect is off
[    5.885970] sd 6:0:0:0: [sda] Write cache: disabled, read cache: 
enabled, doesn't support DPO or FUA
[    5.895228]  sda: sda1
[    5.900195] sd 6:0:0:0: [sda] Attached SCSI disk
[    5.904901] scsi7 : pata_legacy
[    5.908083] ata8: PATA max PIO4 cmd 0x170 ctl 0x376 irq 15
...

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: PATA port not detected when using AHCI on Intel 82801GB/GR/GH
@ 2010-02-05  2:17 Joe Ceklosky
  2010-02-06  1:43 ` Robert Hancock
  0 siblings, 1 reply; 18+ messages in thread
From: Joe Ceklosky @ 2010-02-05  2:17 UTC (permalink / raw)
  To: linux-ide

What was the final outcome on this issue?

What kernel compile options need to be enabled to allow libata to drive 
this device?

Can DMA be enabled on this device?

I have an ss4200 running a custom compiled kernel running Fedora Core 12.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: PATA port not detected when using AHCI on Intel 82801GB/GR/GH
  2010-02-05  2:17 Joe Ceklosky
@ 2010-02-06  1:43 ` Robert Hancock
  0 siblings, 0 replies; 18+ messages in thread
From: Robert Hancock @ 2010-02-06  1:43 UTC (permalink / raw)
  To: Joe Ceklosky; +Cc: linux-ide

On 02/04/2010 08:17 PM, Joe Ceklosky wrote:
> What was the final outcome on this issue?
>
> What kernel compile options need to be enabled to allow libata to drive
> this device?
>
> Can DMA be enabled on this device?
>
> I have an ss4200 running a custom compiled kernel running Fedora Core 12.

There's no workaround at the moment. The root cause is the BIOS seems to 
be broken and incorrectly disables the PCI device for the PATA 
controller when the SATA controller is set to AHCI mode.

A PCI quirk might be doable to forcibly re-enable the PATA controller so 
that ata_piix can drive it, depending on what exactly the BIOS has done 
to switch it off..

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: PATA port not detected when using AHCI on Intel 82801GB/GR/GH
  2010-01-23 13:38             ` Alan Cox
  2010-01-23 14:13               ` infernix
@ 2010-02-12 23:30               ` infernix
  2010-02-13  0:04                 ` Alan Cox
  1 sibling, 1 reply; 18+ messages in thread
From: infernix @ 2010-02-12 23:30 UTC (permalink / raw)
  To: linux-ide

Hi again,

It's been a while because I got a bad set of hard disks to start testing 
with, but I'm all set now that I've got new ones. Both the PATA port 
with the IDE DOM as well as all the SATA ports are recognised and 
working now.

PATA_LEGACY Depends on: ATA [=y] && ATA_SFF [=y] && ISA [=n] && 
EXPERIMENTAL [=y]                                            │

To make it work, PATA_LEGACY needs to have the ISA dependancy removed 
(at least on x86_64). Not sure if that's been committed by anyone yet.


So, it boots up fine, but doesn't use DMA (it's ata7+8):

[    1.399227] ata1: SATA max UDMA/133 abar m1024@0xffa3fc00 port 
0xffa3fd00 irq 26
[    1.406607] ata2: SATA max UDMA/133 abar m1024@0xffa3fc00 port 
0xffa3fd80 irq 26
[    1.413981] ata3: SATA max UDMA/133 abar m1024@0xffa3fc00 port 
0xffa3fe00 irq 26
[    1.421355] ata4: SATA max UDMA/133 abar m1024@0xffa3fc00 port 
0xffa3fe80 irq 26
[    1.442719] ata5: SATA max UDMA/100 host m128@0xff8ffc00 port 
0xff8f8000 irq 18
[    1.450014] ata6: SATA max UDMA/100 host m128@0xff8ffc00 port 
0xff8fa000 irq 18
[    1.460718] ata7: PATA max PIO4 cmd 0x1f0 ctl 0x3f6 irq 14
[    1.628360] ata7.00: CFA: TRANSCEND, 20071207, max UDMA/66
[    1.633832] ata7.00: 7831152 sectors, multi 0: LBA
[    1.638708] ata7.00: configured for PIO
[    5.671978] ata8: PATA max PIO4 cmd 0x170 ctl 0x376 irq 15

Here's the PATA port performance with the BIOS set to Compatible (ATA_PIIX):

Timing cached reads:   1750 MB in  2.00 seconds = 875.19 MB/sec
Timing buffered disk reads:   80 MB in  3.01 seconds =  26.58 MB/sec

And here's with Enhanced (AHCI + PATA_LEGACY):

Timing cached reads:   770 MB in  2.00 seconds = 385.04 MB/sec
Timing buffered disk reads:    6 MB in  3.29 seconds =   1.82 MB/sec

On 23/01/10 14:38, Alan Cox wrote:
>> That would make me think it's actually wired to the ICH. Maybe also to
>> the LPC bus but I'm not knowledgeable enough to know if thats even possible.
>
> I'm not sure what occurs if you set up the address decode on the ICH for
> the port and then hide it. Seems a strange thing to do but it might be
> the case, and if so we can probably add a Linux quirk based on the DMI
> data to unhide it.

How can I try this? And would it yield any performance benefits? It's 
pretty slow now, and although usable in a NAS setup, it would be nice to 
try and get more out of it. As far as I can tell, the hardware can do 
it, judging by the hdparm performance when it's set to compatible mode.

Or is there no more performance to be gained in this mode?

Full dmesg, dmidecode and lspci can be found at 
http://dx.infernix.net/ss4200/

Thanks!

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: PATA port not detected when using AHCI on Intel 82801GB/GR/GH
  2010-02-12 23:30               ` infernix
@ 2010-02-13  0:04                 ` Alan Cox
  2010-02-13  0:21                   ` infernix
  0 siblings, 1 reply; 18+ messages in thread
From: Alan Cox @ 2010-02-13  0:04 UTC (permalink / raw)
  To: infernix; +Cc: linux-ide

On Sat, 13 Feb 2010 00:30:58 +0100
infernix <infernix@infernix.net> wrote:

> Hi again,
> 
> It's been a while because I got a bad set of hard disks to start testing 
> with, but I'm all set now that I've got new ones. Both the PATA port 
> with the IDE DOM as well as all the SATA ports are recognised and 
> working now.
> 
> PATA_LEGACY Depends on: ATA [=y] && ATA_SFF [=y] && ISA [=n] && 
> EXPERIMENTAL [=y]                                            │
> 
> To make it work, PATA_LEGACY needs to have the ISA dependancy removed 
> (at least on x86_64). Not sure if that's been committed by anyone yet.

I have it pending - but its not urgent so with a release pending isn't
going to get pushed in a hurry.

Beyond that I've dug into it with another owner of the same board - the
BIOS has hidden the device. Unfortunately the documentation for the
chipset is quite explicit that while you can hide devices you cannot then
unhide them again.

It might be possible to do something by booting the system in compatible
mode and beating the controller into AHCI + PATA mode but really what is
needed is a BIOS fix.

Alan
 

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: PATA port not detected when using AHCI on Intel 82801GB/GR/GH
  2010-02-13  0:04                 ` Alan Cox
@ 2010-02-13  0:21                   ` infernix
  0 siblings, 0 replies; 18+ messages in thread
From: infernix @ 2010-02-13  0:21 UTC (permalink / raw)
  To: Alan Cox; +Cc: linux-ide

On 13/02/10 01:04, Alan Cox wrote:
> Beyond that I've dug into it with another owner of the same board - the
> BIOS has hidden the device. Unfortunately the documentation for the
> chipset is quite explicit that while you can hide devices you cannot then
> unhide them again.
>
> It might be possible to do something by booting the system in compatible
> mode and beating the controller into AHCI + PATA mode but really what is
> needed is a BIOS fix.

That BIOS update will never happen, because the device was declared EOL 
by Intel in January.

So if it's a beating that's needed, I'm happy to give it, just point it 
out :) Otherwise I guess it's a lost cause, and I'd probably be better 
off by just plugging a USB stick in an internal USB port than to use the 
PATA port.

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2010-02-13  0:21 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-22  3:37 PATA port not detected when using AHCI on Intel 82801GB/GR/GH infernix
2010-01-22  5:01 ` Robert Hancock
2010-01-22 12:57   ` infernix
2010-01-23  1:23     ` Robert Hancock
2010-01-23  2:29       ` infernix
2010-01-23  7:18         ` Robert Hancock
2010-01-23 13:14           ` infernix
2010-01-23 10:14         ` Alan Cox
2010-01-23 13:08           ` infernix
2010-01-23 13:38             ` Alan Cox
2010-01-23 14:13               ` infernix
2010-01-23 14:30                 ` infernix
2010-02-12 23:30               ` infernix
2010-02-13  0:04                 ` Alan Cox
2010-02-13  0:21                   ` infernix
2010-01-22  5:31 ` Jeff Garzik
  -- strict thread matches above, loose matches on Subject: below --
2010-02-05  2:17 Joe Ceklosky
2010-02-06  1:43 ` Robert Hancock

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).