back to Project Ostt Project Page Logo

OnStream Linux SCSI tape driver development


This page coordinates the development of a Linux tape driver for the OnStream SC-30/SC-50/DI-30/FW-30/USB-30 devices. The target, osst, is a kernel driver that provides an st-compatible interface to the userspace. The driver is put under GPL and submitted to the kernel folks for inclusion into the mainstream kernel.

There is an IDE tape driver in the kernel with support for the OnStream DI-30, which uses the same basic format for the tapes defined by the ADR spec. It was written by Gadi Oxman. The OnStream functionality in ide-tape has not been maintained though, so its use is not recommended.

This project is a joint effort of indiviuals that want to get their OnStream ADR SCSI / IDE / IEEE1394 / USB tape drive to run with Linux and any Backup Software available on Linux. The primary author and maintainer is Willem Riede. We were supported by OnStream and SuSE. Unfortunately OnStream has gone bankrupt and the development has now moved to SourceForge.


The driver currently supports 2.6.x and 2.4.y kernels. A 2.2 version is also available, but has not been updated with some of the latest fixes. Osst comes standard with all recent kernels from or your favorite distribution.

Download the latest version (which may not yet be merged at here.

DISCLAIMER: If you test it, you do it on your own risk. If the driver crashes your kernel (unlikely, but possible) and you loose important data, you are on your own. If you use the driver to backup your data and need to restore it later, but fail, you are on your own again. If something bad happens to you because of this driver, don't even try to make somebody responsible for this. There is no warranty of whatever kind. In short: The GNU GPL applies.

Osst-0.99.3 released. Improves error handling of polling problems on DI-30. Solid implementation of sysfs support, now hotplug+udev can manage the osst device nodes. Coding style changes to accommodate current preferences of the Linux kernel team.
Osst-0.99.2 released. Provides initial sysfs support which replaces the /proc support in 0.99.1. For each attached drive, a directory with attributes is created:
#ls /sys/class/osst/osst0
ADR_rev  BOT_frame  capacity  dev  device  driver  EOD_frame  file_count  media_version
Osst-0.99.1 released. It brings the 2.6.x version of osst up to par with the 2.4.y version (0.9.14). Tested against released 2.6.0 kernel.
Osst-0.9.14 released. It fixes an issue with behavior expected by Bacula, a backup software package.
- Made osst adhere to standard Unix behavior when reading at EOD (return zero bytes read twice, then i/o error)
- Implemented SETBLK ioctl (only allowed before first write - does not affect read, as osst uses the block size used when the file was written)
Migration of the osst repository to SourceForge complete.
osst 0.9.13 released
OnStream enters Bankruptcy procedings.

A more comprehensive history of the osst drivers can be found here.

Mailing list

A mailing list is there to provide an easy way for the users and developers to communicate. The name is, and it's a mailman list. To subscribe visit the list's web page at osst-users-request.

Using osst.


You need to use a kernel that has generic SCSI support enabled (scsi_mod is the name of the module) and with osst compiled and installed. Device nodes need to exist (if they don't, use MAKEDEV or mknod):

crw-rw----    1 root     disk     206,   0 Sep 15 09:40 /dev/osst0
crw-rw----    1 root     disk     206,   1 Sep 15 09:40 /dev/osst1
crw-rw-rw-    1 root     disk     206, 128 Sep 15 09:40 /dev/nosst0
crw-rw----    1 root     disk     206, 129 Sep 15 09:40 /dev/nosst1

To have osst be loaded automatically when you refer to any of the devices, add this line to /etc/modules.conf:

alias char-major-206 osst


On top of the requirements for the SC model, you need to use ide-scsi with the device. You'll want to tell the kernel to do so when you boot, using hdx=ide-scsi (where you substitute the right device letter for the x) to the grub or lilo configuration.


On top of the requirements for the SC model, you need to activate the IEEE1394 subsystem, and load the sbp2 driver.


On top of the requirements for the SC model, you need to activate the USB subsystem, and load the usb-storage driver. Furthermore, it needs to be compiled with support for the FreeCom USB-Atapi converter CONFIG_USB_STORAGE_FREECOM.

Useful Information.


For the joint development, a CVS repository is available on SourceForge. It handles the driver sources and also the web pages.

The repository contains the modules (=directories) WebPages, Driver, Docu, Firmware and Misc.

In Driver you find osst itself and a bunch of files used in its original creation, which are now obsolete. Three branches exist, for the 2.2 (OSST22), 2.4 (LINUX-2-4) and 2.6 kernel (HEAD).

The Docu directory contains the docu from OnStream, namely the ADR spec as a PDF. More documentation will go here.

The Firmware directory contains DOS and Wind*ws programs to update the firmware of your OnStream tape device.

CVS read access is available through browsing. If you have some contributions, the diffs (use diff -u) should be sent to the mailing list and someone will have a look and check it into the CVS. If you are contributing a lot, it will be easier to give you read-write access to the repository, so ask to join as a developer.


The author would like to thank Kurt Garloff, Kai Makisara, and Jack Bombeeck for their help to make this project work.
(w) by WR, $Id: index.html,v 1.39 2005/01/01 21:34:36 wriede Exp $