Thanks for the speedy reply Søren :)

Soeren Schmidt may have written:
> It seems Soeren Schmidt wrote:
> > It seems Richard Nyberg wrote:
> > > Hi there.
> > > I seem to have some problems with my cd read program.
> > > 
> > > I've attached a small prototype program that for some reason hangs
> > > in atprq, even though I use a timeout of 5 seconds. The program reads
> > > a cd in raw format using the MMC READ_CD command. It works fine :)
> > > except that it never manages to finish because of the hang. The hang
> > > doesn't seem to be linked to any specific place on the cd, but it might
> > > be linked to my ignorance ;)
> > 
> > Uhm,  you just need to set the blocksize on the CD device with the
> > CDRIOCGETBLOCKSIZE and then just read the CD with 
> > dd if=/dev/acdX of=fil bs=2352 
> > That will read the CD in RAW mode...

Ok, I see! However, I also want to read the raw subchannel data,
which I don't see any way of doing. In addition I also want to
be able to handle flawed cd:s in a semi intelligent manner (examine
the error instead of just stopping like dd).

> Oh, I forgot to tell you that it hangs because you have to stop
> reading at the last block, the drive will try to read anything
> you ask it to, but some drives newer return data for nonexistin blocks..

Unfortunately, this cannot be it :(
The hangs occurs at different blocks on the same cd and often long before
the last lba.

I tried the dd approach and it worked much better, ie. no hang, so I must
be doing something wrong. BTW, I noticed some stupid block count bugs
in the source I posted, but they shouldn't matter since the hangs occured
even when I just read one block at a time.

        -Richard

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to