Embedded driver Development for a CDRW drive-->Having problems with new CDRW drives accepting any packet commands

Many thanks for those who replied to this issue. Unfortunately, I already tried the suggession and I still have problems with sending packet command to the CDRW and getting a returned error. If I can get more suggession in approaching this issue, I'll he happy with any reply regarding this issue. Below, I am reposting my previous message on this issue.

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

Reply to
LRCR
Loading thread data ...

ATA devices are not the most standards complient.. examples can be found in cd-r units and dma for starters.

Anyway what you could do is debug the burncd, cdrecord and kernel drivers used in freebsd

formatting link
And have it dump the communication. That way you get "how it's done irl".

Reply to
pbdelete

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.