Opened 5 years ago

Last modified 5 years ago

#11970 new bug

scsi_raw driver needs updates to the new device manager API.

Reported by: pulkomandy Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Drivers Version: R1/Development
Keywords: Cc:
Blocked By: Blocking: #4016
Platform: All


This driver currently does not build. It would be needed for generic exploration of SCSI busses (not limited to mass storage).

libscg is one library that would make use of it (they already have the needed code from when scsi_raw was part of the image, or possibly from beos days). It is needed for clean porting of cdrecord (right now it uses hacks to identify the available drives).

Change History (6)

comment:1 by pulkomandy, 5 years ago

Blocking: 10099 added

comment:2 by vidrep, 5 years ago

Quick question: Are we talking about support for SCSI and SAS drives as well with an updated driver? BeOS R5 and 5.1d0 both supported SCSI. It was a common hack to borrow the aic78xx driver from 5.1d0 and use it in R5 to get U160 SCSI support. In fact, I still have my Adaptec U160 card and Seagate Cheetah SCSI drives from by old BeOS machine for testing, if needed.

comment:3 by anevilyak, 5 years ago

No, this is purely referring to support for SCSI-style commands (SATA can in many ways pretty much be described as SCSI in IDE's clothing, and as such supports many of the same commands for probing details about devices). Adding support for an actual SCSI controller driver would be a separate beast entirely, and probably not worth the effort since it's pretty much completely obsolete these days.

comment:4 by pulkomandy, 5 years ago

We do have a driver for 53c8xx SCSI controllers, but I couldn't get that to work (yet).

Anyway, scsi_raw is something different, it is a driver allowing to send raw scsi commands to any device that can handle them. Besides the traditional SCSI controller, and SATA drives, it could also be used for example with USB mass storage devices, firewire disks, and ATAPI (IDE CD-ROM drives), which also use the same command set.

The same driver would be used to drive SCSI scanners, for example, but that is technology from the 1990s. Or anything SCSI you can imagine (both with a physical SCSI interface, or SCSI commands encapsulated over some other hardware).

Linux has a similar interface as the /dev/sg* devices. cdrecord needs this (through libscg) to discover which drives are available. Currently it uses the devices in /dev/disk, but there are limitations to that and scsi_raw would be a more generic solution.

Last edited 5 years ago by pulkomandy (previous) (diff)

comment:5 by vidrep, 5 years ago

Pulkomandy, As usual, an excellent explanation. Can you please outline in your next monthly report the steps taken to resolve the issues with CDRecord, and how they might affect other parts of Haiku, both + and -? Thanks

Last edited 5 years ago by vidrep (previous) (diff)

comment:6 by diver, 5 years ago

Blocking: 10099 removed
Note: See TracTickets for help on using tickets.