docker-makemkv icon indicating copy to clipboard operation
docker-makemkv copied to clipboard

[autodiscripper] ERROR: Failed to eject drive 0 (/dev/sg7).

Open jamesbradley opened this issue 5 years ago • 4 comments

Hi all,

Using the autodiscripper option on a Synology DS1819+ with a USB drive. Inserted the disc, it ripped successfully, but then failed to eject the drive when it completed. Ejecting via the button on the drive works fine as you'd imagine, but the eject error seems to kill the autodiscripper process, meaning it doesn't detect (and rip) when I put a new disk in.

Looking at the logs:

[autodiscripper] Disc rip terminated successfully.
[autodiscripper] Ejecting disc from drive 0 (/dev/sg7)... 
[autodiscripper] ERROR: Failed to eject drive 0 (/dev/sg7).

I ran the container with:

sudo docker run -d --name=makemkv -p 5800:5800 -e USER_ID=1026 -e GROUP_ID=100 -e AUTO_DISC_RIPPER=1 -e AUTO_DISC_RIPPER_EJECT=1 -v /vol1/docker/makemkv/config:/config:rw -v /vol1/docker/makemkv/storage:/storage:ro -v /volume1/movies:/output:rw --device /dev/sg7 jlesage/makemkv

jamesbradley avatar Nov 05 '19 23:11 jamesbradley

Trying to work out what the script does, I tried the following:

$ eject
eject: /dev/cdrom: not found mountpoint or device with the given name
$ eject /dev/sg7
eject: /dev/sg7: not found mountpoint or device with the given name

jamesbradley avatar Nov 05 '19 23:11 jamesbradley

You usually need to expose 2 devices. Can you have a look at the container log: during the startup, it is indicated which devices need to be exposed.

jlesage avatar Nov 07 '19 01:11 jlesage

I did notice that in the setup, but there doesn't seem to be any /dev/sr* devices.

The log entry reads: [cont-init.d] 95-check-optical-drive.sh: found optical drive [-, /dev/sg7], group 0.

jamesbradley avatar Nov 07 '19 18:11 jamesbradley

The missing device has been briefly discussed here: https://github.com/jlesage/docker-makemkv/issues/40. Not sure about the conclusion on this.

You can also try to play with eject to see if there is a parameter that helps. First login to the container:

docker exec -ti <container name> sh

Then try:

eject -v -s /dev/sg7
eject -v -r /dev/sg7

jlesage avatar Nov 08 '19 13:11 jlesage