misc/110407: ATA drivers not recognizing Seagate CF Microdrive

Jomar McDonald modemwh0re at gmail.com
Fri Mar 16 18:10:08 UTC 2007


>Number:         110407
>Category:       misc
>Synopsis:       ATA drivers not recognizing Seagate CF Microdrive
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Mar 16 18:10:08 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Jomar McDonald
>Release:        6.1, 4.11
>Organization:
AFC
>Environment:
6.1-RELEASE-p10 i386
>Description:
For some reason, FreeBSD 6.1 and 6.2 dont seem to recognize my Seagate CF 4GB ST640211CF Microdrive.  Here is the boot output for ata related devices on a FreeBSD 6.1 machine:

Mar 12 20:49:48 pfSense kernel: atapci0: <ServerWorks ROSB4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf at device 15.1 on pci0
Mar 12 20:49:48 pfSense kernel: atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0xffa0
Mar 12 20:49:48 pfSense kernel: ata0: <ATA channel 0> on atapci0
Mar 12 20:49:48 pfSense kernel: atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0
Mar 12 20:49:48 pfSense kernel: atapci0: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6
Mar 12 20:49:48 pfSense kernel: ata0: reset tp1 mask=03 ostat0=50 ostat1=00
Mar 12 20:49:48 pfSense kernel: ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
Mar 12 20:49:48 pfSense kernel: ata0: stat1=0x00 err=0x01 lsb=0x00 msb=0x00
Mar 12 20:49:48 pfSense kernel: ata0: reset tp2 stat0=50 stat1=00 devices=0x1<ATA_MASTER>
Mar 12 20:49:48 pfSense kernel: ioapic0: routing intpin 14 (ISA IRQ 14) to vector 50
Mar 12 20:49:48 pfSense kernel: ata0: [MPSAFE]
Mar 12 20:49:48 pfSense kernel: ata1: <ATA channel 1> on atapci0
Mar 12 20:49:48 pfSense kernel: atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170
Mar 12 20:49:48 pfSense kernel: atapci0: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376
Mar 12 20:49:48 pfSense kernel: ata1: reset tp1 mask=01 ostat0=50 ostat1=ff
Mar 12 20:49:48 pfSense kernel: ata1: stat0=0x00 err=0x01 lsb=0x14 msb=0xeb
Mar 12 20:49:48 pfSense kernel: ata1: reset tp2 stat0=00 stat1=00 devices=0x4<ATAPI_MASTER>
Mar 12 20:49:48 pfSense kernel: ioapic0: routing intpin 15 (ISA IRQ 15) to vector 51
Mar 12 20:49:48 pfSense kernel: ata1: [MPSAFE]

and then later:

Mar 12 20:49:48 pfSense kernel: ata0: reiniting channel ..
Mar 12 20:49:48 pfSense kernel: ata0: reset tp1 mask=03 ostat0=58 ostat1=00
Mar 12 20:49:48 pfSense kernel: ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
Mar 12 20:49:48 pfSense kernel: ata0: stat1=0x00 err=0x01 lsb=0x00 msb=0x00
Mar 12 20:49:48 pfSense kernel: ata0: reset tp2 stat0=50 stat1=00 devices=0x1<ATA_MASTER>
Mar 12 20:49:48 pfSense kernel: ata0: reinit done ..
Mar 12 20:49:48 pfSense kernel: ata0: reiniting channel ..
Mar 12 20:49:48 pfSense kernel: ata0: reset tp1 mask=03 ostat0=58 ostat1=00
Mar 12 20:49:48 pfSense kernel: ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
Mar 12 20:49:48 pfSense kernel: ata0: stat1=0x00 err=0x01 lsb=0x00 msb=0x00
Mar 12 20:49:48 pfSense kernel: ata0: reset tp2 stat0=50 stat1=00 devices=0x1<ATA_MASTER>
Mar 12 20:49:48 pfSense kernel: ata0: reinit done ..
Mar 12 20:49:48 pfSense kernel: ata1-master: pio=PIO4 wdma=WDMA2 udma=UDMA33 cable=40 wire
Mar 12 20:49:48 pfSense kernel: acd0: setting PIO4 on ROSB4 chip
Mar 12 20:49:48 pfSense kernel: acd0: setting UDMA33 on ROSB4 chip
Mar 12 20:49:48 pfSense kernel: acd0: <NEC CD-ROM DRIVE:28D/3.04> CDROM drive at ata1 as master
Mar 12 20:49:48 pfSense kernel: acd0: read 2928KB/s (6890KB/s), 128KB buffer, UDMA33
Mar 12 20:49:48 pfSense kernel: acd0: Reads: CDR, CDRW, CDDA
Mar 12 20:49:48 pfSense kernel: acd0: Writes:
Mar 12 20:49:48 pfSense kernel: acd0: Audio: play, 256 volume levels
Mar 12 20:49:48 pfSense kernel: acd0: Mechanism: ejectable tray, unlocked
Mar 12 20:49:48 pfSense kernel: acd0: Medium: CD-ROM unknown
Mar 12 20:49:48 pfSense kernel: ATA PseudoRAID loaded
Mar 12 20:49:48 pfSense kernel: GEOM_LABEL: Label for provider acd0 is iso9660/pfSense.


Now what's odd is, the drive is read under FreeBSD 4.11.  Here is the kernel output under FreeBSD 4.11:

ad0:  timeout waiting for interrupt
ad0:  enabling readahead cache failed
ad0:  timeout waiting for interrupt
ad0:  enabling write cache failed
ad0:  READ command timeout tag=0 serv=0 - resetting
ata0:  resetting devices .. done
ad0:  3906MB <ST640211CF> [7936/16/63] at ata0-master PIO4


Under FreeBSD 4.11, it works using PIO4 mode.  Even if I disable DMA under FreeBSD 6.1 or 6.2 it still doesnt recognize the drive.  The drive is fine, tested it with Seatools and does work in a USB CF reader.  Just not my IDE -> CF reader on an ata channel.
>How-To-Repeat:
Use a FreeBSD 6.x boot cd with a Seagate Microdrive installed in a IDE -> CF adapter.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list