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:
Responsible Changed From-To: freebsd-bugs->sos Over to maintainer.
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.