[k3b] [Bug 501962] New: K3b should use SCSI address rather than device name with the original cdrtools

geisserml bugzilla_noreply at kde.org
Mon Mar 24 23:56:27 GMT 2025


https://bugs.kde.org/show_bug.cgi?id=501962

            Bug ID: 501962
           Summary: K3b should use SCSI address rather than device name
                    with the original cdrtools
    Classification: Applications
           Product: k3b
           Version: 23.04.3
          Platform: Fedora RPMs
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: k3b at kde.org
          Reporter: geisserml at gmail.com
                CC: michalm at jabster.pl, trueg at kde.org
  Target Milestone: ---

SUMMARY
When burning an Audio CD, K3b seems to pass `dev=/dev/sr0` to cdrecord, which
causes the following warning to be printed:
```
Warning: Open by 'devname' is unintentional and not supported.
```
Original author Joerg Schilling intended us to use the SCSI address instead, as
provided by `cdrecord -scanbus`, e.g. `dev=2,0,0`.

STEPS TO REPRODUCE
1. Burn an Audio CD using K3b
2. Inspect the write log

OBSERVED RESULT
cdrecord is used wrongly and prints a warning.

EXPECTED RESULT
cdrecord should be given the SCSI address rather than the device name.

ADDITIONAL INFORMATION
Confer "Cdrtools device naming" on Schilling's homepage [1].
See also the cdrtools manpage, which points out how the `dev=` option is meant
to be used.
```
Cdrtools are based on libscg (the world's first SCSI Pass Through Interface
library, created in 1986).
Libscg allows to send arbitrary SCSI commands to arbitrary devices and libscg
supports 28 different OS platforms.
The vast majority of these platforms have no way to access SCSI devices via
/dev/* based device nodes.
The 5 platforms: AIX, Solaris, Linux, NetBSD, SCO OpenServer are the exceptions
that support /dev/*
but together they only have aprox. 1% coverage on the installed computer base
of the world.

Common platforms like Microsoft Windows and OS X (the latter is a POSIX
certified platform) that give a
99% coverage of the installed computer base do not implement /dev/* based SCSI
access at all. This is why libscg
implements the portable interface via the SCSI Common Access Method (CAM)
standard addresses
instead of using /dev/* entries.

Even on Linux, using /dev/* based access to devices is extremely risky as Linux
implements
more than a single driver per device. Because Linux does not provide a unified
DMA implementation
for kernel drivers, some of the SCSI drivers that are available for a specific
hardware device do not
implement DMA at all, while others implement DMA with a too small blocksize.

Because DVD writers require working DMA, users that offer /dev/* based SCSI
address information
may force libscg to use a Linux driver that does not implement DMA and thus
cause the write operation
to fail.

Omitting the cdrtools dev= parameter at all or offering standard CAM addresses
allows
libscg to auto-select a working Linux driver for the named hardware. 
```

[1]: https://cdrtools.sourceforge.net/private/cdrecord.html

SOFTWARE/OS VERSIONS
Operating System: Fedora Linux 37
KDE Plasma Version: 5.27.8
KDE Frameworks Version: 5.108.0
Qt Version: 5.15.10
Kernel Version: 6.5.12-100.fc37.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 4 × Intel® Core™ i5-3570K CPU @ 3.40GHz
Memory: 7.2 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 4000
Manufacturer: Gigabyte Technology Co., Ltd.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the k3b mailing list