Interacting with Tape Library on CentOS 7 via mtx

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/sg3

These 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:Empty

All that's left to do is to symlink /dev/changer to /dev/sg3 for convenience.