Native ATAPI MO driver
Søren Schmidt
sos at FreeBSD.org
Mon Oct 24 09:27:35 PDT 2005
On 24/10/2005, at 3:49, Jason Harmening wrote:
> Hi,
>
> I have a 2.3G Fujitsu MO drive, and I've gotten tired of using
> atapicam to
> access it. I'm thinking of writing a native ATAPI driver that
> could be added
> to the kernel through a configuration line like:
>
> device atapimo
>
> I've been doing a little work to see how feasible this is--the
> kernel already
> defines the ATA_ATAPI_TYPE_OPTICAL device type that is received
> from my drive
> during probing. But ATA_ATAPI_TYPE_OPTICAL isn't actually used
> anywhere, and
> there is no driver that can actually recognize and attach to an
> ATAPI MO
> drive.
>
> I modified the atapifd driver (src/sys/dev/ata/atapi-fd.c) to also
> recognize
> ATA_ATAPI_TYPE_OPTICAL, and my drive was actually recognized during
> probing
> as afd0, but afd_attach returned an error. It looks as if afd_sense
> () was
> failing, which I'm guessing is because ATAPI MO drives (or mine, at
> least)
> use a different capabilities page code and/or capabilities page
> structure
> than ATAPI floppies. The atapi-fd driver uses 0x5 for its
> "Capabilities and
> Mechanical Status" page code, while everything else (atapi-cd,
> atapi-tape)
> uses 0x2a. All three drivers have distinctly different structures
> for this
> page.
>
> So I'm wondering: do ATAPI MO drives use a capabilities page code/
> structure
> more like CD/DVD drives, or do they have their own unique ATAPI page
> structure? If so, where can I find a document outlining the
> structure?
>
> I've found loads of documents detailing the page structure for CD/
> DVD drives,
> but nothing for MO drives (or floppies or tape drives for that
> matter).
>
> Also, beyond the capabilities page, are there any other special
> considerations
> I'd need to make for an MO driver?
I did plan to write such a driver back when, but HW seemed to have
disappeared from all the vendors I've asked so it was pu ton the
backburner.
Anyhow I should have the docs somewhere so it should be possible to
get this working...
Søren Schmidt
sos at FreeBSD.org
More information about the freebsd-hackers
mailing list