Re: 8.0-beta3 does not detect several ata channels

From: Rainer Hurling <rhurlin_at_gwdg.de>
Date: Tue, 01 Sep 2009 22:40:41 +0200
On 01.09.2009 21:05 (UTC+2), John Baldwin wrote:
> On Tuesday 01 September 2009 2:49:09 pm Rainer Hurling wrote:
>> On 01.09.2009 19:41 (UTC+2), John Baldwin wrote:
>>> On Tuesday 01 September 2009 12:47:50 pm Rainer Hurling wrote:
>>>> On 01.09.2009 16:02 (UTC+2), John Baldwin wrote:
>>>>> On Monday 31 August 2009 12:03:04 pm Florian Smeets wrote:
>>>>>> On 8/31/09 5:54 PM, Nick Hilliard wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> I have a hp proliant ML115 with 6 sata ports which run in ATA mode 
> (bios
>>>>>>> doesn't appear to give the option to use AHCI).  On freebsd 7.x, all
>>>>>>> channels are detected.  On freebsd8.0-beta3, the disks attached to the
>>>>>>> first two SATA ports are not detected, although it detects the ports
>>>>>>> themselves.
>>>>>>>
>>>>>>> I've attached a verbose dmesg from freebsd 7.1 and 8.0-beta3.
>>>>>>>
>>>>>>> Any ideas on what's going on here?  This seems like a nasty 
> regression.
>>>>>> There are 3 PRs about this problem: 128686, 132372, 137942.
>>>>>>
>>>>>> i386 version should recognize the disks. amd64 does when you set
>>>>>> hw.pci.mcfg=0 in loader.conf.
>>>>> Hmm, so an idea I had just now.. can you grab a dump of the PCI config 
>>> space 
>>>>> for the disk controller in the MCFG vs non-MCFG cases?  That is, find 
> the 
>>>>> device's address using pciconf -lv (e.g. pci0:0:30:0 or some such) and 
>>> then 
>>>>> run this command under both configurations and save the output:
>>>>>
>>>>> pciconf -r pci0:0:30:0 0:0xfc
>>>>>
>>>> I am not sure if your idea has something to do with my (and some other 
>>>> users) problem. So excuse me, if this posting is wrong.
>>>>
>>>> For some month now I am only able to boot CURRENT under amd64 with 
>>>> setting hw.pci.mcfg=0. Under i386 all works fine. Below I listed output 
>>>> under i386 and under amd64. Perhaps you are able to get a hint?
>>> Hmm, would you be able to boot with mcfg=1 on amd64 (perhaps using nfsroot 
> or 
>>> an mfsroot) and capture this output?  The mcfg thing only affects access 
> to
>>> PCI config space (what pciconf -r is displaying).  I want to be able to 
>>> compare the "broken" case (amd64 mcfg=1) with a working case.
>> My only amd64 system is at home. Sorry, but I have no idea how to start 
>> this system using nfsroot oder mfsroot.
> 
> Ok, I believe some of the other folks reporting an issue with this ATA 
> controller had other disk controllers in the system so they may be able to do 
> this.

Thanks to Kostik Belousov, I tried his hint with live CD. Here it is, 
only for amd64, with snapshot from todays CURRENT:

#systctl hw.pci.mcfg
hw.pci.mcfg: 1

#pciconf -lv
atapci1_at_pci0:0:5:0:     class=0x010185 card=0x72601462 chip=0x037f10de 
rev=0xa2 hdr=0x00
     class      = mass storage
     subclass   = ATA
atapci2_at_pci0:0:5:1:     class=0x010185 card=0x72601462 chip=0x037f10de 
rev=0xa2 hdr=0x00
     class      = mass storage
     subclass   = ATA

#pciconf -r pci0:0:5:0 0:0xfc
037f10de 00b00007 010185a2 00800000
0000c481 0000c401 0000c081 0000c001
0000bc01 f9ef9000 00000000 72601462
00000000 00000044 00000000 01030117
72601462 0002b001 00000000 00000000
0008680f 00000000 00000000 00000000
00000000 00000c41 42060f00 00000000
40c4782c 00001001 00001001 00200020
c0000000 00061000 bd280000 00061000
bd280000 00000000 10060006 0101037f
18000a12 00000000 00000000 02003133
0084cc05 00000000 00000000 00000000
00000000 00000000 000a000a a8020008
0c02000a 00000042 00000000 e7c00001
0c02000a 00000042 00000000 e030000f
00000000 00000000 000c0010 00000000

#pciconf -r pci0:0:5:1 0:0xfc
037f10de 00b00007 010185a2 00800000
0000b881 0000b801 0000b481 0000b401
0000b081 f9ef8000 00000000 72601462
00000000 00000044 00000000 01030214
72601462 0002b001 00000000 00000000
0008680f 00000000 00000000 00000000
00000000 00000c41 42060f00 00000000
40c4782c 00001001 00001001 00200020
00000000 ffefffff 0f1f0000 f7ff7f3b
3fb70000 00000000 10060006 0101037f
00000a12 00000000 00000000 02003133
0084cc05 00000000 00000000 00000000
00000000 00000000 000a000a a8020008
0602000a 00000042 00000000 0050000f
0602000a 00000042 00000000 0040000f
00000000 00000000 000c0010 00000000
Received on Tue Sep 01 2009 - 18:40:49 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:54 UTC