Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 May 2002 14:35:55 +0200
From:      Richard Nyberg <rnyberg@it.su.se>
To:        Soeren Schmidt <sos@freebsd.dk>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: process hang in atprq state
Message-ID:  <20020530143555.D3400@gromit.it.su.se>
In-Reply-To: <200205292024.g4TKO1N8081293@freebsd.dk>; from sos@freebsd.dk on Wed, May 29, 2002 at 10:24:01pm %2B0200
References:  <200205292020.g4TKKcHQ080631@freebsd.dk> <200205292024.g4TKO1N8081293@freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
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 majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020530143555.D3400>