Opened 9 years ago

Last modified 8 weeks ago

#6181 new bug

USB DVD-RW Drive detected as USB Stick

Reported by: streak Owned by: mmlr
Priority: normal Milestone: R1
Component: Drivers/Disk/USB Version: R1/alpha2
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

USB LITEON DVD-RW Drive is detected as USB Drive, and cannot be used with CDRecord.

DVD Drive is detected as: /dev/disk/usb/1/0/raw

Attachments (1)

dvd-rw.png (13.6 KB) - added by streak 9 years ago.

Download all attachments as: .zip

Change History (12)

Changed 9 years ago by streak

Attachment: dvd-rw.png added

comment:1 Changed 9 years ago by streak

Another one:

SAMSUNG DVD-DL RW is detected as USB HDDrive / PenDrive, and not work with cd record aswell..

comment:2 Changed 8 years ago by kallisti5

Same issue on my Asus SDR-08B1-U USB DVD-R

hrev42058 should help with this a little. usb_disk only has a little code for determining if a device is a CD-ROM or USB disk.

comment:3 Changed 6 years ago by modeenf

same as 4890

comment:4 Changed 6 years ago by modeenf

I hade a look on this and I belive that non of the USB CD drives can use CDRecord tools?

our usb_disk implementation states "dev/disk/usb/"

the tool CDRecord looks in /dev/disk/ide or /dev/disk/atapi

So How do we go about to do this? I don'r know if this are true but other OS uses one location for all types od CD drives?

comment:5 Changed 6 years ago by mmlr

Even if they were at a different path, the usb_disk driver only supports a very limited subset of SCSI. It does not support the CD SCSI commands at all, so only CD drives that work as plain mass storage devices work with usb_disk right now. This is intentional, or at least originally was, due to many devices crashing or hanging when exposed to the full SCSI command set. I don't know if current devices are any better than the ones at the time I implemented it, but looking at the quirks list in linux doesn't inspire confidence.

To get actual generic SCSI support the usb_disk driver needs to be replaced with a SCSI module that uses the USB mass storage protocol and can handle the full range of SCSI commands our SCSI layer provides. The ability to flag different misbehaviours and a long list of quirks will have to be implemented to limit the commands used with problematic devices though. Many USB sticks and external drives will otherwise stop working.

Alternatively a white list could be implemented where actually working devices are added, and only these get exposed to all SCSI commands whereas the rest is filtered down to the subset currently supported by usb_disk. This feels a bit backwards however.

comment:6 Changed 6 years ago by modeenf

Then not that easy then.. :(

But now whe now what's needed :)

comment:7 Changed 6 years ago by streak

What info You'll need [i can prepare it for You] to prepare this whitelist of USB DVD-RW Drives and implement this info driver?

comment:8 Changed 4 years ago by pulkomandy

for the same reason it's not possible to access CDDA on an USB CD reader, or even read multi-session discs (both CDDA and Session use B_RAW_DEVICE_COMMAND to read the disc table of contents).

Maybe we should whitelist devices with removable media? That would allow it to work on CD drives, and would normally not break USB sticks or hard drives. It could still be a problem for memory card readers, maybe.

comment:9 Changed 4 years ago by vidrep

I am having the same issue here using a HP DVD Writer 556s MH23. Drive setup identifies it as a removable pen drive. CDrecord does not identify the device when executing cdrecord -scanbus.

comment:10 Changed 2 years ago by vidrep

Audio CD's are also not recognized when using a external USB drive. Please refer to this ticket for further details: https://dev.haiku-os.org/ticket/9013

comment:11 Changed 8 weeks ago by waddlesplash

Component: Drivers/USBDrivers/Disk/USB
Note: See TracTickets for help on using tickets.