From IEEE 1394 FireWire Wiki
(Difference between revisions)
Jump to: navigation, search
(import from, last edited 2007-12-31)

Revision as of 21:58, 7 August 2008



sbp2 implements the Serial Bus Protocol (SBP-2) for storage devices. It is essentially a tunnel for SCSI. Therefore, sbp2 is a Linux SCSI low-level driver. Ironically, most SBP-2 devices implement an IDE bridge.


Linux 2.6 has support for per-device hotplugging in the scsi subsystem. If the userspace environment is correctly set up, the sbp2 driver will be automatically loaded if an SBP-2 device was detected, and SCSI high-level drivers will be loaded according to the SCSI command set which the device implements (sd_mod for HDDs, sr_mod for DVD-ROM/R/Ws etc.).

Logical Unit Support

For devices with multiple logical units, Linux 2.6.12 or preferably later should be used. It should support both types of LUN entries. Because of how SBP-2 interfaces with the SCSI subsystem, LUNs will not show up as actual SCSI LUNs, but will instead show as discrete devices on the bus. This should not affect operability.


Force max speed allowed.
(3 = 800mb, 2 = 400mb, 1 = 200mb, 0 = 100mb. default = 3)
Reduce this to work around bad controllers, bad cables, etc.
Serialize all I/O coming down from the scsi drivers.
(0 = deserialized, 1 = serialized, default = 0 in old kernels, 1 in new kernels)
Always use serialize_io=1. There are bugs in sbp2 when running with serialize_io=0.
Change max sectors per I/O supported
(default = 255)
The default value is safe for older SBP-2 bridges. You may gain some performance by raising this value.
(default = 1)
Set to zero if you'd like to allow multiple hosts the ability to log in at the same time, e.g. modprobe sbp2 exclusive_login=0. Sbp2 device must support this, and you must know what you're doing. Useful for clustered storage systems.
Force SCSI inquiry hack
(default = 0)
Try this if the driver cannot login to a device. Give notice to the linux1394-devel mailing list if you find a device that requires this.

NOTE: If you link sbp2 statically into the kernel (instead of configuring it as a loadable module), you can use the above module options on the boot loader's kernel command line. You have to prepend "sbp2." to the options then.


  • SCSI support (scsi_mod)
  • high-level SCSI driver: sd_mod (disk), st (tape), sr_mod (CD-ROM), and sg (generic/disc burner/scanner)
  • ieee1394
  • ohci1394 or pcilynx


Udev automatically creates and destroys device files such as /dev/sda (HDD), /dev/sda1 (partition on a HDD), /dev/sr0 (DVD-ROM/R/W) and so on when SBP-2 devices are plugged in and plugged out. Udev also creates symbolic links like /dev/disk/by-id/ieee1394* and /dev/disk/by-path/*ieee1394* which can for example be used for static fstab entries.

Personal tools