L
LRCR
I am currently developing a driver to a CDRW drive in an embedded
system. I am currently having problems with new CDRW drives accepting
any packet commands. (The ATA commands are handled.) The
initialization sequence that I am using is as follows:
1) Hardware reset (Delay 10 seconds after reset is released.)
2) Software reset - setting then clearing the SRST bit in the Device
control register
3) Identify Packet Device command (code A1) followed by reading the
256 words of device information.
(I have verified that all of the timing is correct.)
This sequence has been successful in pre 2004 CDRW drives (TEAC
CD-W552D, SONY CRX230AD). However, in newer CDRW drives (TEAC
CD-W552GB, SONY CRX230AD) as soon as I set the command register for a
PACKET COMMAND (command code A0), the check (or error) bit is set in
the status register and the error register indicates a sense code of
06. Is there an additional initialization step that I am missing? I
have gone through the ATA/ATAPI 5 Spec and have not found anything
that I am missing.
Chris
system. I am currently having problems with new CDRW drives accepting
any packet commands. (The ATA commands are handled.) The
initialization sequence that I am using is as follows:
1) Hardware reset (Delay 10 seconds after reset is released.)
2) Software reset - setting then clearing the SRST bit in the Device
control register
3) Identify Packet Device command (code A1) followed by reading the
256 words of device information.
(I have verified that all of the timing is correct.)
This sequence has been successful in pre 2004 CDRW drives (TEAC
CD-W552D, SONY CRX230AD). However, in newer CDRW drives (TEAC
CD-W552GB, SONY CRX230AD) as soon as I set the command register for a
PACKET COMMAND (command code A0), the check (or error) bit is set in
the status register and the error register indicates a sense code of
06. Is there an additional initialization step that I am missing? I
have gone through the ATA/ATAPI 5 Spec and have not found anything
that I am missing.
Chris