I have a Quantum SuperLoader 3 plugged in via SAS to a CentOS 7 system. It shows in dmesg and lsscsi and is handled by the ch driver.$ lsscsi[0:2:0:0]    disk    LSI      MR9271-8i        3.24  /dev/sda[1:0:0:0]    tape    IBM      ULTRIUM-HH6      E4J1  /dev/st0[1:0:0:1]    mediumx QUANTUM  UHDL             0091  /dev/sch0Here's the kernel initialization:$ dmesg[   13.443589] scsi 1:0:0:0: Attached scsi generic sg2 type 1[   13.444091] scsi 1:0:0:1: Attached scsi generic sg3 type 8[   13.463023] SCSI Media Changer driver v0.25[   13.463121] st: Version 20101219, fixed bufsize 32768, s/g segs 256[   13.572514] ch0: type #1 (mt): 0x0+1 [medium transport][   13.572516] ch0: type #2 (st): 0x100+16 [storage][   13.572517] ch0: type #3 (ie): 0x0+0 [import/export][   13.572518] ch0: type #4 (dt): 0x20+1 [data transfer][   13.697117] ch0: dt 0x20: ch0: ID/LUN unknown[   13.697119] ch0: INITIALIZE ELEMENT STATUS, may take some time ...[   67.097903] ch0: ... finished[   67.097910] ch 1:0:0:1: Attached scsi changer ch0[   67.098792] st 1:0:0:0: Attached scsi tape st0[   67.098796] st 1:0:0:0: st0: try direct i/o: yes (alignment 4 B)The tape drive operates normally using the mt-st package. I have also installed mtx for use with Bacula or Amanda, but mtx seems to expect a different driver than ch.It appears there are certain tools for the ch driver, such as scsi-changer, but they do not appear to be commonly used and so I imagine there must be a way to get mtx to work with the ch driver directly.When invoked the obvious way:$ sudo mtx -f /dev/sch0 status/dev/sch0 is not an sg device, or old sg driver/dev/sch0 is:$ ls -lastZ /dev/sch0crw-rw----. root cdrom system_u:object_r:device_t:s0    /dev/sch0I'm going to try using the kraxel.org SCSI changer, but given the lack of support within Amanda, any suggestions to solve the mtx issue would be a boon.
Interacting with Tape Library on CentOS 7 via mtx
centos;backup;tape
Figured it out!mtx functions only on generic SCSI devices. The /dev/sch0 device provided by the ch kernel driver is something of a red herring.It turns out that SCSI devices are given generic device files, in addition to whatever driver-backed specific devices are created. You can find those using lsscsi:$ lsscsi --generic[0:0:19:0]   enclosu CISCO    UCS 240          0809  -          /dev/sg0[0:2:0:0]    disk    LSI      MR9271-8i        3.24  /dev/sda   /dev/sg1[1:0:0:0]    tape    IBM      ULTRIUM-HH6      E4J1  /dev/st0   /dev/sg2[1:0:0:1]    mediumx QUANTUM  UHDL             0091  /dev/sch0  /dev/sg3These were actually alluded to in the dmesg output above. Using the generic device, mtx works fine with the SuperLoader 3 on CentOS 7:$ sudo mtx -f /dev/sg3 status  Storage Changer /dev/sg3:1 Drives, 16 Slots ( 0 Import/Export )Data Transfer Element 0:Empty      Storage Element 1:Empty      Storage Element 2:Empty      Storage Element 3:Empty      Storage Element 4:Empty      Storage Element 5:Empty      Storage Element 6:Empty      Storage Element 7:Empty      Storage Element 8:Empty      Storage Element 9:Empty      Storage Element 10:Empty      Storage Element 11:Empty      Storage Element 12:Empty      Storage Element 13:Empty      Storage Element 14:Empty      Storage Element 15:Empty      Storage Element 16:EmptyAll that's left to do is to symlink /dev/changer to /dev/sg3 for convenience.