Bug 111084 - [ata] [patch] No support for ahci atapi sata cd/dvd drives (ICH8)
Summary: [ata] [patch] No support for ahci atapi sata cd/dvd drives (ICH8)
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: Unspecified
Hardware: Any Any
: Normal Affects Only Me
Assignee: Søren Schmidt
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-04-01 07:00 UTC by Richard Burton
Modified: 2007-11-19 11:29 UTC (History)
0 users

See Also:


Attachments
file.diff (8.35 KB, patch)
2007-04-01 07:00 UTC, Richard Burton
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Burton 2007-04-01 07:00:12 UTC
atapi sata drives attached to an intel ich8 controller are not recognized
or supported by the freebsd-6.2 ata driver.  This was not obvious (at
least to me) from the install documentation, but it is obvious when
looking at the ata driver source code.

The attached patch provides at least basic support for atapi sata cd and
dvd drives attached to the ahci intel ich8 controller on my machine.
I can read data cds and dvds, write data cds using burncd,
and (with atapicam loaded) write cds and dvds using cdrecord and growisofs.

Here is dmesg output relevent to the hardware I have created this patch
for:

atapci0: <Intel ICH8 SATA300 controller> port 0xfe00-0xfe07,0xfe10-0xfe13,0xfe20
-0xfe27,0xfe30-0xfe33,0xfec0-0xfedf mem 0xff970000-0xff9707ff irq 20 at device 3
1.2 on pci0
atapci0: Reserved 0x20 bytes for rid 0x20 type 4 at 0xfec0
ioapic0: routing intpin 20 (PCI IRQ 20) to vector 55
atapci0: [MPSAFE]
atapci0: Reserved 0x800 bytes for rid 0x24 type 3 at 0xff970000
atapci0: AHCI Version 01.10 controller with 6 ports detected
ata2: <ATA channel 0> on atapci0
ata2: SATA connect ready time=0ms
ata2: sata_connect devices=0x1<ATA_MASTER>
ata2: [MPSAFE]
ata3: <ATA channel 1> on atapci0
ata3: SATA connect ready time=0ms
ata3: sata_connect devices=0x4<ATAPI_MASTER>
ata3: [MPSAFE]
ata4: <ATA channel 2> on atapci0
ata4: SATA connect ready time=0ms
ata4: sata_connect devices=0x4<ATAPI_MASTER>
ata4: [MPSAFE]
ata5: <ATA channel 3> on atapci0
ata5: SATA connect ready time=0ms
ata5: sata_connect devices=0x1<ATA_MASTER>
ata5: [MPSAFE]
ata6: <ATA channel 4> on atapci0
ata6: SATA connect status=00000004
ata6: [MPSAFE]
ata7: <ATA channel 5> on atapci0
ata7: SATA connect status=00000004
ata7: [MPSAFE]

..

ata2-master: pio=PIO4 wdma=WDMA2 udma=UDMA133 cable=40 wire
ad4: 152587MB <Seagate ST3160812AS 3.ADH> at ata2-master SATA300
ad4: 312500000 sectors [310019C/16H/63S] 16 sectors/interrupt 1 depth queue
GEOM: new disk ad4
ad4: Intel check1 failed
ad4: Adaptec check1 failed
ad4: LSI (v3) check1 failed
ad4: LSI (v2) check1 failed
ad4: FreeBSD check1 failed
ata3-master: pio=PIO4 wdma=WDMA2 udma=UDMA100 cable=40 wire
acd0: <PHILIPS DVD-ROM DROM6316/OD2F> DVDROM drive at ata3 as master
acd0: read 1KB/s (8251KB/s), 512KB buffer, SATA150
acd0: Reads: CDR, CDRW, CDDA stream, DVDROM, DVDR, packet
acd0: Writes:
acd0: Audio: play, 256 volume levels
acd0: Mechanism: ejectable tray, unlocked
acd0: Medium: no/blank disc
ata4-master: pio=PIO4 wdma=WDMA2 udma=UDMA33 cable=40 wire
acd1: <TSSTcorp DVD+/-RW TS-H553A/DE04> DVDR drive at ata4 as master
acd1: read 8269KB/s (8269KB/s) write 8269KB/s (8269KB/s), 2048KB buffer, SATA150
acd1: Reads: CDR, CDRW, CDDA stream, DVDROM, DVDR, packet
acd1: Writes: CDR, CDRW, DVDR, test write, burnproof
acd1: Audio: play, 256 volume levels
acd1: Mechanism: ejectable tray, unlocked
acd1: Medium: no/blank disc
ata5-master: pio=PIO4 wdma=WDMA2 udma=UDMA133 cable=40 wire
ad10: 476940MB <Seagate ST3500641AS 3.ADG> at ata5-master SATA300
ad10: 976773168 sectors [969021C/16H/63S] 16 sectors/interrupt 1 depth queue
ad10: Intel check1 failed
GEOM: new disk ad10
ad10: Adaptec check1 failed
ad10: LSI (v3) check1 failed
ad10: LSI (v2) check1 failed
ad10: FreeBSD check1 failed

This patch is to the 6.2-RELEASE source.  Sorry, I don't have a
FreeBsd-Current system installed.  I can see that some of these changes
(i.e. the atapi fis structure) are included in a slightly different
form there.  However, other changes that I found necessary do not seem to
be included yet.

Fix: Patch attached with submission follows:
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2007-04-01 12:14:30 UTC
Responsible Changed
From-To: freebsd-bugs->sos

Over to maintainer.
Comment 2 Søren Schmidt freebsd_committer freebsd_triage 2007-11-19 11:27:59 UTC
State Changed
From-To: open->closed

SATA ATAPI support has been committed to both rel6, rel7, and current. 
In a different shape than this patch though.