Roon Extension: CD Ripper v0.6.1 (2022-12-24)

There’s something odd about CD ripping times. I’ve seen a bimodal curve, with some CDs ripping quite speedily, and others taking the better part of an hour. No one’s been able to explain to me what’s going on there, either.

That’s an interesting observation; perhaps that’s just the nature of ripping CDs having degrees of variance based on the optical media and not just Roon CDRipper extension then. I’ll try and rip som more.

CD Ripper v0.4.0 is now available

This version adds Auto Rip. This means that inserting a CD in the drive is enough to start the ripping process, thus avoiding the need to open up a Roon remote to start the rip.

Special thanks to @James_LePage for making me aware that this is possible.


How to install / update

Setting up Auto Rip requires some one time manual setup. First step is to reinstall the CD Ripper because some extra configuration is required during installation. Use the Extension Manager to:

  • Uninstall the CD Ripper
  • Update the Extension Repository to version 0.3.15
  • Install the CD Ripper

Next a udev rule has to be setup on the Linux host, the steps to do this are described here.

2 Likes

Hi @Jan_Koudijs, I can’t find your Ripper on the Tools menu. I’ve recently installed the latest Extension Manager 0.11.5 with repository 0.3.15 in a Docker container on my Synology DS418Play and all seems to work. The Alarm Clock seems to have installed correctly using REM so I think that’s working. I can see lots of other extensions listed, but not the Ripper. Can you point me in the right direction please? Thanks

Ah - I’ve just been to the Extension Repository Wiki and discovered that the CD Ripper extension requires Docker for Linux - so does that mean I can’t run this on my hardware? Synology’s DSM operating system is Linux based, so is there something I can do to configure the Appgineer container to allow the CD Ripper to be identified and then install and run correctly?

I’ve already successfully installed Deep Harmony on my Synology without using The Appgineer, and I notice that this extension is available through The Appgineer but is also marked as requiring Docker for Linux, so I haven’t given up hope yet!

It is critical that the Extension Manager has access to the docker socket, this is done by getting the socket into the container via a bind mount (hope I’m not getting too technical here). If you look at the run command on the Docker Hub page then the critical part is:

-v /var/run/docker.sock:/var/run/docker.sock

If you covered this during container setup then the question is if the socket on the Synology NAS is indeed located in /var/run, if it is not then the path on the Synology side has to be adjusted:

-v </path/on/synology/>docker.sock:/var/run/docker.sock
1 Like

Thanks for such a quick response Jan. I installed the Extension Manager using the Docker GUI following the steps I found on another post - Synology specifics, which I found signposted from https://github.com/TheAppgineer/roon-extension-manager/wiki/Installation.

My knowledge of Linux is virtually zero - and certainly a bind mount is something I’ve not knowingly encountered yet. But if you can point me to how to configure the container setup using the Docker GUI, that would be ideal. Perhaps I can do that here:


Or here:

The Volume tab, as shown in the first screenshot, is the one you need. As my Synology is too basic to do containers (DS215j) I have to guess the required steps based on the screenshot, but let’s see where this gets us.

  • In order to create a new Extension Manager container you have to remove the old one first
  • Create a new container, as you did previously, and in the Volume tab, select Add File
  • Set the File/Folder to /var/run/docker.sock (fingers crossed for being the actual location)
  • Set the Mount path to /var/run/docker.sock
  • Leave Read-Only unchecked
  • Make sure the entered info becomes a row in the shown table, there might be an extra OK or Apply step here
  • Repeat any other steps you took while creating the initial Extension Manager container
  • Select Apply

Let me know how this works out.

1 Like

Hopefully you don’t mind if I step in for a moment. I want to help (I have a Synology DS713+)!

The path to docker.sock in DSM is correct. But in the Synology Docker package it is -probably for security reasons- not possible to set mount points to the root of DSM (eg /var/run/docker.sock). To make a root mount you have to install the Extension Manager manually in DSM commandline via SSH/Telnet.

I do not know if this make sense, but I found this statement on Synology’s website.

1 Like

Highly appreciated @Alfred_van_Hoorn.

@John_Warden, you might try the SSH route and using the full command line from the Docker Hub page, but the statement about optical drives probably makes the CD Ripper on Synology a no-go.

@Jan_Koudijs and @John_Warden, for your information. I think I used the following command in SSH on the command-line to create and running the Extension Manager container:

sudo docker run -d --network host --restart unless-stopped --name roon-extension-manager -v roon-extensions:/root/.RoonExtensions/lib -v /var/run/docker.sock:/var/run/docker.sock -e “TZ=Europe/Amsterdam” theappgineer/roon-extension-manager:latest

Thanks @Jan_Koudijs and @Alfred_van_Hoorn. I’d pretty much reached the conclusion that configuring the container through the Docker GUI isn’t possible because the files and folders exposed in the GUI through File Manager are very restricted and don’t allow access to /var (which I presume is a top level folder immediately under root).

However, if I can work out how to get to a command line to run the docker installation, I may still have a go. My thinking is that Synology’s DSM may not support a connection to an external drive, but then neither does DSM support accessing /var, but we know it can be done (Extension Manager running on Synology)

But first I’ll have to work out how to SSH to the server. I guess using PowerShell from my Windows 10 PC is an option … Any pointers welcome

Thanks for the command line instruction @Alfred_van_Hoorn. Got the Extension Manager running, installed the CD Ripper, and then sadly, just as we feared:

Now that you have found the command line, there are 2 final things you could check. If you connect a USB optical drive to the NAS and enter the dmesg command do you see any USB related messages at the end of the output?

For my optical drive the output is:

[  549.658969] usb 1-2: new high-speed USB device number 3 using xhci_hcd
[  549.935668] usb 1-2: New USB device found, idVendor=093b, idProduct=0048, bcdDevice= 4.35
[  549.935675] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  549.935679] usb 1-2: Product: DVDR   PX-755A  
[  549.935683] usb 1-2: Manufacturer: PLEXTOR         
[  550.463094] usb-storage 1-2:1.0: USB Mass Storage device detected
[  550.463537] scsi host3: usb-storage 1-2:1.0
[  550.463594] usbcore: registered new interface driver usb-storage
[  551.469965] scsi 3:0:0:0: CD-ROM            PLEXTOR  DVDR   PX-755A   1.06 PQ: 0 ANSI: 0
[  551.475036] sr 3:0:0:0: Power-on or device reset occurred
[  551.479694] sr 3:0:0:0: [sr1] scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
[  551.497933] sr 3:0:0:0: Attached scsi CD-ROM sr1

The interesting part is the sr1 device, which brings us to the second check. Any output on a ls -l /dev/sr* command or just a “No such file or directory” message?

brw-rw----+ 1 root cdrom 11, 0 jul 30 17:01 /dev/sr0
brw-rw----+ 1 root cdrom 11, 1 jul 30 17:10 /dev/sr1
1 Like

I’ve tried those commands. Sifting through the masses of output relating to the first, I’ve picked out some lines which may (or may not) be relevant (and I may have deleted something interesting of course). The USB drive is detected but no sr device is set up. Do you think something can be done?

John@FFDSVR:~$ dmesg

[ 73.365314] usb usb2: We don’t know the algorithms for LPM for this host, disabling LPM.

[ 151.748948] usb-storage 1-4:1.0: USB Mass Storage device detected
[ 151.756398] scsi host4: usb-storage 1-4:1.0
[ 151.762571] usbcore: registered new interface driver usb-storage
[ 151.803592] iSCSI:target_core_file.c:146:fd_attach_hba RODSP plugin for fileio is enabled.
[ 151.815611] usbcore: registered new interface driver usblp
[ 151.822203] iSCSI:target_core_file.c:153:fd_attach_hba ODX Token Manager is enabled.
[ 151.834659] iSCSI:target_core_multi_file.c:91:fd_attach_hba RODSP plugin for multifile is enabled.
[ 151.849521] iSCSI:target_core_ep.c:786:ep_attach_hba RODSP plugin for epio is enabled.
[ 151.866587] iSCSI:target_core_ep.c:793:ep_attach_hba ODX Token Manager is enabled.
[ 151.929087] usbcore: registered new interface driver usbhid
[ 151.938611] usbhid: USB HID core driver
[ 152.785948] scsi 4:0:0:0: Direct-Access Synology DiskStation DL17 PQ: 0 ANSI: 6
[ 152.814009] sd 4:0:0:0: Attached scsi generic sg4 type 0
[ 152.820286] sd 4:0:0:0: [synoboot] 245760 512-byte logical blocks: (126 MB/120 MiB)
[ 152.838948] sd 4:0:0:0: [synoboot] Write Protect is off
[ 152.861953] sd 4:0:0:0: [synoboot] Mode Sense: 23 00 00 00
[ 152.863951] sd 4:0:0:0: [synoboot] No Caching mode page found
[ 152.898187] sd 4:0:0:0: [synoboot] Assuming drive cache: write through
[ 152.955667] GPT:Primary header thinks Alt. header is not at the end of the disk.
[ 152.988122] GPT:239649 != 245759
[ 153.010083] GPT:Alternate GPT header not at the end of the disk.
[ 153.044374] GPT:239649 != 245759
[ 153.053434] GPT: Use GNU Parted to correct GPT errors.
[ 153.068954] synoboot: synoboot1 synoboot2
[ 153.081967] sd 4:0:0:0: [synoboot] Attached SCSI disk

[987670.928364] usb 1-1: new high-speed USB device number 4 using xhci_hcd
[987671.073051] usb-storage 1-1:1.0: USB Mass Storage device detected
[987671.081570] scsi host5: usb-storage 1-1:1.0
[987672.099018] scsi 5:0:0:0: CD-ROM TSSTcorp BDDVDW SE-506AB TS01 PQ: 0 ANSI: 0
[987672.109186] scsi 5:0:0:0: Attached scsi generic sg5 type 5

And no sr device in evidence

John@FFDSVR:~$ ls -l /dev/sr*
ls: cannot access /dev/sr*: No such file or directory

Looks like this is the part we are interested in. You attached a Samsung or Toshiba drive, right?

It is recognized as a “scsi generic” device, while in my setup the drive was detected as a “scsi CD-ROM” device. I think that some drivers required for USB CD-ROM are not in, which matches with the statement that optical drives are not supported.

If you don’t have a generic Linux system but still would like to use the CD Ripper then a Raspberry Pi with DietPi is probably your best bet.

1 Like

Thanks @Jan_Koudijs. We’ve given it a good shot but looks like I’ll have to find another approach. Many thanks for your help with this

I found that my Samsung drive has an “AV Connectivity” mode which when you activate it seems to change things. Might this be helpful?

[1090389.548222] usb-storage 1-1:1.0: USB Mass Storage device detected
[1090389.557786] scsi host6: usb-storage 1-1:1.0
[1090390.568715] scsi 6:0:0:0: Direct-Access TSSTcorp BDDVDW SE-506AB TS01 PQ: 0 ANSI: 0
[1090390.580675] sd 6:0:0:0: Attached scsi generic sg5 type 0
[1090390.588753] sd 6:0:0:0: [sdq] 283297 2048-byte logical blocks: (580 MB/553 MiB)
[1090390.599093] sd 6:0:0:0: [sdq] Write Protect is on
[1090390.605385] sd 6:0:0:0: [sdq] Mode Sense: 00 03 00 80
[1090390.606582] sd 6:0:0:0: [sdq] No Caching mode page found
[1090390.613953] sd 6:0:0:0: [sdq] Assuming drive cache: write through
[1090390.628960] sdq:
[1090390.635326] sd 6:0:0:0: [sdq] Attached SCSI removable disk
John@FFDSVR:~$ ls -l /dev/sdq
brw------- 1 root root 65, 0 Jul 31 11:51 /dev/sdq

I don’t know, you can give it a try. For this you uninstall the ripper and then install it again, but in the Extension Manager you first open the Docker Install Options group end enter /dev/sdq for the Optical Drive Path.

I noticed that the generic SCSI device that you had initially (/dev/sg5 in your case) works for me for the CD Player extension but unfortunately not for the CD Ripper.

I tried - it didn’t work. I then reverted the drive to the normal “Optical Disk Drive” mode and tried /dev/sg5 as well. That didn’t work either. That really must be the end of the road. Thanks again

1 Like