Bug 101819 - [ar] [patch] ata driver wrongly determines type RAID on ICH7R (LSI v3 embedded MegaRAID)
Summary: [ar] [patch] ata driver wrongly determines type RAID on ICH7R (LSI v3 embedde...
Status: Closed Overcome By Events
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 6.1-STABLE
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-08-11 15:20 UTC by GReenX
Modified: 2015-11-10 13:46 UTC (History)
1 user (show)

See Also:


Attachments
ata.diff.txt (15.53 KB, text/plain)
2008-03-07 06:04 UTC, Andrey V. Elsukov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description GReenX 2006-08-11 15:20:08 UTC
Hi,
I have purchased motherboard intel se7230nh1-lx, and wished to create on
her basis RAID10. Made as it is written to documentation. 

Has entered in bios, has chosen 4 disks, has told that they in raid10,
initialized, rebooted.

At loading the system speaks that status RAID OK, but at loading the
FreeBSD informs that RAID DEGRADED.

RAID it is made in ICH7R on LSI v3 embedded MegaRAID.

..skip...
atapci2: <Intel ICH7 SATA300 controller> port 0x3048-0x304f,0x3064-0x3067,0x3040-0x3047,0x3060-0x3063,0x3020-0x302f mem 0x48200000-0x482003ff irq 19 at device 31.2 on pci0
ata4: <ATA channel 0> on atapci2
ata5: <ATA channel 1> on atapci2
ata6: <ATA channel 2> on atapci2
ata7: <ATA channel 3> on atapci2
..skip...
ad8: 152627MB <Seagate ST3160811AS 3.AAB> at ata4-master SATA300
ad8: Intel check1 failed
ad8: Adaptec check1 failed
******* ATA LSILogic V3 MegaRAID Metadata *******
lsi_id              <$_IDE$>
dummy_0             0xe000003
version             0x0131
dummy_0             0xe000003
RAID configs:
00  stripe_pages       16
00  type               RAID1
00  total_disks        2
00  array_width        2
00  sectors            312360960
00  offset             0
00  device             0x00
DISK configs:
00  disk_sectors       312360960
00  flags              0x00
01  disk_sectors       312360960
01  flags              0x00
device              0x00
timestamp           0x44442cc0
checksum_1          0xb9
=================================================
ad10: 152627MB <Seagate ST3160811AS 3.AAB> at ata5-master SATA300
ad10: Intel check1 failed
ad10: Adaptec check1 failed
******* ATA LSILogic V3 MegaRAID Metadata *******
lsi_id              <$_IDE$>
dummy_0             0xe000003
version             0x0131
dummy_0             0xe000003
RAID configs:
00  stripe_pages       16
00  type               RAID1
00  total_disks        2
00  array_width        2
00  sectors            312360960
00  offset             0
00  device             0x00
DISK configs:
00  disk_sectors       312360960
00  flags              0x00
01  disk_sectors       312360960
01  flags              0x00
device              0x10
timestamp           0x44442cc0
checksum_1          0xa9
=================================================
ad12: 152627MB <Seagate ST3160811AS 3.AAB> at ata6-master SATA300
ad12: Intel check1 failed
ad12: Adaptec check1 failed
******* ATA LSILogic V3 MegaRAID Metadata *******
lsi_id              <$_IDE$>
dummy_0             0xe000003
version             0x0131
dummy_0             0xe000003
RAID configs:
00  stripe_pages       16
00  type               RAID1
00  total_disks        2
00  array_width        2
00  sectors            312360960
00  offset             0
00  device             0x00
DISK configs:
00  disk_sectors       312360960
00  flags              0x00
01  disk_sectors       312360960
01  flags              0x00
device              0x01
timestamp           0x44442cc0
checksum_1          0xb8
=================================================
ad14: 152627MB <Seagate ST3160811AS 3.AAB> at ata7-master SATA300
ad14: Intel check1 failed
ad14: Adaptec check1 failed
******* ATA LSILogic V3 MegaRAID Metadata *******
lsi_id              <$_IDE$>
dummy_0             0xe000003
version             0x0131
dummy_0             0xe000003
RAID configs:
00  stripe_pages       16
00  type               RAID1
00  total_disks        2
00  array_width        2
00  sectors            312360960
00  offset             0
00  device             0x00
DISK configs:
00  disk_sectors       312360960
00  flags              0x00
01  disk_sectors       312360960
01  flags              0x00
device              0x11
timestamp           0x44442cc0
checksum_1          0xa8
=================================================
ATA PseudoRAID loaded
********** ATA PseudoRAID ar0 Metadata **********
=================================================
format              LSILogic v3 MegaRAID
type                RAID1
flags               0x00 0
magic_0             0x0000000044442cc0
magic_1             0x0000000000000000
generation          0
total_sectors       624721920
offset_sectors      0
heads               255
sectors             63
cylinders           38887
width               2
interleave          128
total_disks         2
    disk 0:      flags = 0x0b b<ONLINE,ASSIGNED,PRESENT>
        ad8:  sectors 312360960
    disk 1:      flags = 0x0b b<ONLINE,ASSIGNED,PRESENT>
        ad14:  sectors 312360960
=================================================
ar0: WARNING - mirror protection lost. RAID1 array in DEGRADED mode
ar0: 305040MB <LSILogic v3 MegaRAID RAID1> status: DEGRADED
ar0: 624721920 sectors [38887C/255H/63S] <> subdisks defined as:
ar0: disk0 READY (master) using ad8 at ata4-master
ar0: disk1 READY (master) using ad14 at ata7-master
..skip...

If to create simultaneously both RAID0 and RAID1, FreeBSD say that both RAIDs READY, but also connects in RAID only first and last disks into both RAIDs.

..skip...
ad8: 152627MB <Seagate ST3160811AS 3.AAB> at ata4-master SATA300
ad10: 152627MB <Seagate ST3160811AS 3.AAB> at ata5-master SATA300
ad12: 152627MB <Seagate ST3160811AS 3.AAB> at ata6-master SATA300
ad14: 152627MB <Seagate ST3160811AS 3.AAB> at ata7-master SATA300
ar0: 152520MB <LSILogic v3 MegaRAID RAID1> status: READY
ar0: disk0 READY (master) using ad8 at ata4-master
ar0: disk1 READY (mirror) using ad14 at ata7-master
ar1: 305040MB <LSILogic v3 MegaRAID RAID0 (stripe 64 KB)> status: READY
ar1: disk0 READY using ad8 at ata4-master
ar1: disk1 READY using ad14 at ata7-master
..skip...

Help me PLZ.

P.S.
Also I have found out, that if to try to create RAID through atacontrol
controller is found out as Intel MatrixRAID.

It occurs because of that that function ara_raid_create in the driver ata
at creation RAID does not check a format of existing structure metadata
by means of function ata_raid_read_metadata, and simply causes
pci_get_vendor.

I have not understood, it specially so is made, what it would be possible
to try to create RAID with structure not native for the controller or
simply have not added a code still?

Fix: 

I have found similar PR, but this patch is not established on 6.1-STABLE,
and 7.0-CURRENT, and I do not have not enough qualification what to
correct him.
http://www.freebsd.org/cgi/query-pr.cgi?pr=92786
How-To-Repeat: To create RAID by means of ICH7R embedded LSI v3 MegaRAID using all four
channels.
Comment 1 Remko Lodder freebsd_committer freebsd_triage 2007-01-26 21:18:51 UTC
Responsible Changed
From-To: freebsd-bugs->mjacob

Hello Matthew, are you able to look into this please?
Comment 2 Matt Jacob freebsd_committer freebsd_triage 2007-02-05 16:57:40 UTC
Responsible Changed
From-To: mjacob->sos

Redirecting to somebody who will likely know more about this.
Comment 3 Andrey V. Elsukov 2008-03-07 06:04:11 UTC
Hi, Andrey.

This patch should fix problem.
It tested on INTEL S3000AH motherboard, dmesg is here:
http://butcher.heavennet.ru/patches/kernel/ata/LSIv3/success-tests/dmesg.boot

-- 
WBR, Andrey V. Elsukov
Comment 4 Mark Linimon freebsd_committer freebsd_triage 2009-05-12 05:39:11 UTC
Responsible Changed
From-To: sos->freebsd-bugs

sos@ is not actively working on ATA-related PRs.
Comment 5 Enji Cooper freebsd_committer freebsd_triage 2015-11-10 13:46:36 UTC
ar is no more after FreeBSD 9.x. Long live atacam and friends.