Hi,

Dan Purgert wrote:
> You "may" need to wait for the drive to finish reading the disc metadata
> (i.e. drive light stops flashing) before mount(1) will not complain
> about the lack of media.  Not 100% sure if it's a generic problem, or
> just my crappy USB CD drive :)

It's a Linux kernel problem. I have seen it with a dozen different
drives since Debian 8 of 2015, kernel 3.x.

The kernel does not wait after emitting a START/STOP UNIT command until
the drive reports success as answer to TEST UNIT READY commands.
I diagnosed it in 2020 and submitted a patch.
  
https://lore.kernel.org/linux-scsi/20201006094026.1730-1-scdbac...@gmx.net/T/#u
But my social competence does not suffice for successful kernel work.

(Also my research of kernel commits does not hold any more.
2bbea6e11735 from march 2008 cannot be found. A commit from march 2018
has the same title "cdrom: do not call check_disk_change() inside
cdrom_open()" but a different commit id. It is too young for causing
the problem back in Debian 8.)


Jörg-Volker Peetz wrote:
> In my experience, `cdrskin -eject` works more reliable than `eject`.

At least it waits for the drive to be ready before it orders it to
become unready.

Note that
  cdrskin -eject
without dev= argument will first grope all optical drives of the
computer in order to get a list of them and then chose the first one,
which is most probably /dev/sr0 on a Linux system. This may last some
time even if there is only one such drive.
Consider to give the desired drive device file explicitely:

  cdrskin dev=/dev/sr0 -eject


Have a nice day :)

Thomas

Reply via email to