Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Drive enumeration in 54-check-optical-drive.sh #220

Open
JosiahKerley opened this issue Sep 17, 2024 · 2 comments
Open

[Bug] Drive enumeration in 54-check-optical-drive.sh #220

JosiahKerley opened this issue Sep 17, 2024 · 2 comments
Labels

Comments

@JosiahKerley
Copy link

JosiahKerley commented Sep 17, 2024

Current Behavior

SR_DEV and SG_DEV are picking out - as the device path given the following output from lsscsi:

[1:0:0:0] cd/dvd HL-DT-ST BD-RE WH14NS40 1.05 /dev/sr0 -

Expected Behavior

SR_DEV and SG_DEV assigned as /dev/sr0 given the lsscsi output:

[1:0:0:0] cd/dvd HL-DT-ST BD-RE WH14NS40 1.05 /dev/sr0 -

Steps To Reproduce

No response

Environment

  • OS: nixos
  • OS version: 24.05 and kernel 6.6.41
  • CPU: AMD Ryzen 7 5800X
  • Docker version: 24.0.9
  • Device model: WH14NS40
  • Browser/OS: firefox/nixos

Container creation

  virtualisation.oci-containers.containers = {
    makemkv = {
      image = "docker.io/jlesage/makemkv:latest";
      autoStart = true;
      ports = [ "5800:5800" ];
      volumes = [
        "/run/media/josiah/DATA/makemkv/config:/config:rw"
        "/run/media/josiah/DATA/makemkv:/storage:ro"
        "/run/media/josiah/DATA/makemkv/output:/output:rw"
      ];
      extraOptions = [
        "--device=/dev/disk/by-id/ata-HL-DT-ST_BD-RE_WH14NS40_KLPK7693753:/dev/sr0"
      ];
      environment = {
        "MAKEMKV_KEY" = "REDACTED";
        "APP_NICENESS" = "19";
        "AUTO_DISC_RIPPER_BD_MODE" = "mkv";
        "AUTO_DISC_RIPPER_FORCE_UNIQUE_OUTPUT_DIR" = "1";
        "AUTO_DISC_RIPPER" = "1";
        "AUTO_DISC_RIPPER_EJECT" = "1";
      };
    };
  };

Container log

[init        ] container is starting...
[cont-env    ] loading container environment variables...
[cont-env    ] APP_NAME: loading...
[cont-env    ] APP_VERSION: loading...
[cont-env    ] DISPLAY: executing...
[cont-env    ] DISPLAY: terminated successfully.
[cont-env    ] DISPLAY: loading...
[cont-env    ] DOCKER_IMAGE_PLATFORM: loading...
[cont-env    ] DOCKER_IMAGE_VERSION: loading...
[cont-env    ] GTK2_RC_FILES: executing...
[cont-env    ] GTK2_RC_FILES: terminated successfully.
[cont-env    ] GTK2_RC_FILES: loading...
[cont-env    ] GTK_THEME: executing...
[cont-env    ] GTK_THEME: terminated successfully.
[cont-env    ] GTK_THEME: loading...
[cont-env    ] HOME: loading...
[cont-env    ] QT_STYLE_OVERRIDE: executing...
[cont-env    ] QT_STYLE_OVERRIDE: terminated successfully.
[cont-env    ] QT_STYLE_OVERRIDE: loading...
[cont-env    ] SUP_GROUP_IDS_INTERNAL: executing...
[cont-env    ] SUP_GROUP_IDS_INTERNAL: terminated successfully.
[cont-env    ] SUP_GROUP_IDS_INTERNAL: loading...
[cont-env    ] TAKE_CONFIG_OWNERSHIP: loading...
[cont-env    ] XDG_CACHE_HOME: loading...
[cont-env    ] XDG_CONFIG_HOME: loading...
[cont-env    ] XDG_DATA_HOME: loading...
[cont-env    ] XDG_RUNTIME_DIR: loading...
[cont-env    ] XDG_STATE_HOME: loading...
[cont-env    ] container environment variables initialized.
[cont-secrets] loading container secrets...
[cont-secrets] container secrets loaded.
[cont-init   ] executing container initialization scripts...
[cont-init   ] 10-certs.sh: executing...
[cont-init   ] 10-certs.sh: terminated successfully.
[cont-init   ] 10-check-app-niceness.sh: executing...
[cont-init   ] 10-check-app-niceness.sh: terminated successfully.
[cont-init   ] 10-clean-logmonitor-states.sh: executing...
[cont-init   ] 10-clean-logmonitor-states.sh: terminated successfully.
[cont-init   ] 10-clean-tmp-dir.sh: executing...
[cont-init   ] 10-clean-tmp-dir.sh: terminated successfully.
[cont-init   ] 10-fontconfig-cache-dir.sh: executing...
[cont-init   ] 10-fontconfig-cache-dir.sh: terminated successfully.
[cont-init   ] 10-init-users.sh: executing...
[cont-init   ] 10-init-users.sh: terminated successfully.
[cont-init   ] 10-nginx.sh: executing...
[cont-init   ] 10-nginx.sh: terminated successfully.
[cont-init   ] 10-openbox.sh: executing...
[cont-init   ] 10-openbox.sh: terminated successfully.
[cont-init   ] 10-pkgs-mirror.sh: executing...
[cont-init   ] 10-pkgs-mirror.sh: terminated successfully.
[cont-init   ] 10-set-tmp-dir-perms.sh: executing...
[cont-init   ] 10-set-tmp-dir-perms.sh: terminated successfully.
[cont-init   ] 10-vnc-password.sh: executing...
[cont-init   ] 10-vnc-password.sh: terminated successfully.
[cont-init   ] 10-web-data.sh: executing...
[cont-init   ] 10-web-data.sh: terminated successfully.
[cont-init   ] 10-x11-unix.sh: executing...
[cont-init   ] 10-x11-unix.sh: terminated successfully.
[cont-init   ] 10-xdg-runtime-dir.sh: executing...
[cont-init   ] 10-xdg-runtime-dir.sh: terminated successfully.
[cont-init   ] 15-cjk-font.sh: executing...
[cont-init   ] 15-cjk-font.sh: terminated successfully.
[cont-init   ] 15-install-pkgs.sh: executing...
[cont-init   ] 15-install-pkgs.sh: terminated successfully.
[cont-init   ] 54-check-optical-drive.sh: executing...
[cont-init   ] 54-check-optical-drive.sh: looking for usable optical drives...
[cont-init   ] 54-check-optical-drive.sh: found optical drive [/dev/sr0, -], but it is not usable because:
[cont-init   ] 54-check-optical-drive.sh:   --> the host device - is not exposed to the container.
[cont-init   ] 54-check-optical-drive.sh: found optical drive [/dev/sr1, -], but it is not usable because:
[cont-init   ] 54-check-optical-drive.sh:   --> the host device - is not exposed to the container.
[cont-init   ] 54-check-optical-drive.sh: no usable optical drive found.
[cont-init   ] 54-check-optical-drive.sh: terminated successfully.
[cont-init   ] 55-makemkv.sh: executing...
[cont-init   ] 55-makemkv.sh: registration key already up-to-date.
[cont-init   ] 55-makemkv.sh: getting supported drives...
[cont-init   ] 55-makemkv.sh: terminated successfully.
[cont-init   ] 85-take-config-ownership.sh: executing...
[cont-init   ] 85-take-config-ownership.sh: terminated successfully.
[cont-init   ] 89-info.sh: executing...
    ╭――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――╮
    │                                                                      │
    │ Application:           MakeMKV                                       │
    │ Application Version:   1.17.7                                        │
    │ Docker Image Version:  24.06.1                                       │
    │ Docker Image Platform: linux/amd64                                   │
    │                                                                      │
    ╰――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――╯
[cont-init   ] 89-info.sh: terminated successfully.
[cont-init   ] all container initialization scripts executed.
[init        ] giving control to process supervisor.
[supervisor  ] loading services...
[supervisor  ] loading service 'default'...
[supervisor  ] loading service 'logmonitor'...
[supervisor  ] service 'logmonitor' is disabled.
[supervisor  ] loading service 'logrotate'...
[supervisor  ] loading service 'app'...
[supervisor  ] loading service 'gui'...
[supervisor  ] loading service 'openbox'...
[supervisor  ] loading service 'xvnc'...
[supervisor  ] loading service 'certsmonitor'...
[supervisor  ] service 'certsmonitor' is disabled.
[supervisor  ] loading service 'nginx'...
[supervisor  ] loading service 'autodiscripper-11'...
[supervisor  ] service 'autodiscripper-11' is disabled.
[supervisor  ] loading service 'autodiscripper-0'...
[supervisor  ] service 'autodiscripper-0' is disabled.
[supervisor  ] loading service 'autodiscripper'...
[supervisor  ] service 'autodiscripper' is disabled.
[supervisor  ] loading service 'autodiscripper-1'...
[supervisor  ] service 'autodiscripper-1' is disabled.
[supervisor  ] loading service 'autodiscripper-2'...
[supervisor  ] service 'autodiscripper-2' is disabled.
[supervisor  ] loading service 'autodiscripper-3'...
[supervisor  ] service 'autodiscripper-3' is disabled.
[supervisor  ] loading service 'autodiscripper-4'...
[supervisor  ] service 'autodiscripper-4' is disabled.
[supervisor  ] loading service 'autodiscripper-9'...
[supervisor  ] service 'autodiscripper-9' is disabled.
[supervisor  ] loading service 'autodiscripper-7'...
[supervisor  ] service 'autodiscripper-7' is disabled.
[supervisor  ] loading service 'autodiscripper-13'...
[supervisor  ] service 'autodiscripper-13' is disabled.
[supervisor  ] loading service 'autodiscripper-6'...
[supervisor  ] service 'autodiscripper-6' is disabled.
[supervisor  ] loading service 'autodiscripper-8'...
[supervisor  ] service 'autodiscripper-8' is disabled.
[supervisor  ] loading service 'autodiscripper-15'...
[supervisor  ] service 'autodiscripper-15' is disabled.
[supervisor  ] loading service 'autodiscripper-14'...
[supervisor  ] service 'autodiscripper-14' is disabled.
[supervisor  ] loading service 'autodiscripper-5'...
[supervisor  ] service 'autodiscripper-5' is disabled.
[supervisor  ] loading service 'autodiscripper-10'...
[supervisor  ] service 'autodiscripper-10' is disabled.
[supervisor  ] loading service 'autodiscripper-12'...
[supervisor  ] service 'autodiscripper-12' is disabled.
[supervisor  ] all services loaded.
[supervisor  ] starting services...
[supervisor  ] starting service 'xvnc'...
[xvnc        ] Xvnc TigerVNC 1.13.1 - built Dec 21 2023 00:55:16
[xvnc        ] Copyright (C) 1999-2022 TigerVNC Team and many others (see README.rst)
[xvnc        ] See https://www.tigervnc.org for information on TigerVNC.
[xvnc        ] Underlying X server release 12014000
[xvnc        ] Tue Sep 17 21:07:29 2024
[xvnc        ]  vncext:      VNC extension running!
[xvnc        ]  vncext:      Listening for VNC connections on /tmp/vnc.sock (mode 0660)
[xvnc        ]  vncext:      Listening for VNC connections on all interface(s), port 5900
[xvnc        ]  vncext:      created VNC server for screen 0
[supervisor  ] starting service 'openbox'...
[supervisor  ] starting service 'nginx'...
[nginx       ] Listening for HTTP connections on port 5800.
[supervisor  ] starting service 'app'...
[supervisor  ] all services started.
[xvnc        ] Tue Sep 17 21:12:10 2024
[xvnc        ]  Connections: accepted: /tmp/vnc.sock
[xvnc        ]  SConnection: Client needs protocol version 3.8
[xvnc        ]  SConnection: Client requests security type None(1)
[xvnc        ]  VNCSConnST:  Server default pixel format depth 24 (32bpp) little-endian rgb888
[xvnc        ]  VNCSConnST:  Client pixel format depth 24 (32bpp) little-endian bgr888
[xvnc        ]  ComparingUpdateTracker: 0 pixels in / 0 pixels out
[xvnc        ]  ComparingUpdateTracker: (1:-nan ratio)

Container inspect

No response

Anything else?

Proposed fix submitted in #219

@jlesage
Copy link
Owner

jlesage commented Sep 20, 2024

To my knowledge, without a /dev/sgX device, MakeMKV won't recognize the drive.

The log message could be enhanced, but basically the - means that there is no device.

@JosiahKerley
Copy link
Author

Then perhaps there should be a more explicit error state if the sg mod isn't loaded. If you agree should I close this out and create a feature req?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants