Hi,
On 29/12/23 13:10, o1bigtenor via Dng wrote:
> On Thu, Dec 28, 2023 at 6:14 PM aitor<aitor_czr@???>  wrote:
>> Hi,
>>
>> On 28/12/23 22:37, aitor wrote:
>>
>> However, I still have another issue not fixed yet because xfburn, k3b and the like don't want to recognize the dvd drive. Arrrr !!
>>
>> Solved !!!
> So - - - - -
> 1. what was the problem?
> 2. what was the fix?
Looking at the helper:
https://github.com/jcnelson/vdev/blob/master/vdevd/helpers/LINUX/disk.sh
the value of the variable $DISK_TYPE is defined between the lines 63 - 290, according to the value of $DEV_PATH. For example:
    if [ -n "$(echo "$VDEV_PATH" | /bin/egrep "vd.+[0-9]$")" ]; then
          
          # virtio block device
          DISK_TYPE="virtio"
    elif [ -n "$(echo "$VDEV_PATH" | /bin/egrep "loop[0-9]+")" ]; then
          # loopback disk
          DISK_TYPE="loop"
    elif ... (etc) ...
For ATA block devices, DISK_TYPE="ata".
Once we've gotten the disk type, next step is to evaluate the output of the corresponding `stat` helper:
    # query information about the disk
    case "$DISK_TYPE" in
       ata)
           HELPER_DATA="$($VDEV_HELPERS/stat_ata "$VDEV_MOUNTPOINT/$VDEV_PATH")"
           eval $HELPER_DATA
           .......
For (S)ATA internal hard disks, the helper will return (among other variables):
    VDEV_BUS="ata"
    VDEV_ATA_TYPE="ata"
However, for internal dvd drives, the helper will return:
    VDEV_BUS="ata"
    VDEV_ATA_TYPE="cd"
Leading, respectively, to the following values for $VDEV_TYPE:
    VDEV_TYPE="ata"      (for internal hard disks)
    VDEV_TYPE="cd"       (for internal dvd drives)
Insofar as it goes that's okay, but the line nº 636:
    VDEV_TYPE="$DISK_TYPE"
turns "cd" into "ata", and therefore dvd drives were ignored by apps like xfburn or k3b.
For ATA drives, it must be VDEV_TYPE="$DISK_ATA_TYPE"; for SCSI drives, it must be VDEV_TYPE="$DISK_SCSI_TYPE".
Cheers,
Aitor.