Chuck(G)
25k Member
I've got OR for a non-SCSI (Pertec) interface, so that isn't going to help you.
Hi All;
NF6X, what I have is a Cipher CSC 100, Part # 963889-002..
As a programmer, nothing else (than writing the software) even occured to me!The problem isn't with Linux's native ability; rather it's a problem with Unix/Linux standard toolset. The sg3_utils package facilitates the sending of SCSI commands directly to a device, but there's no Linux-standard for interchange of files with variable block lengths. So you pretty much have to sharpen your pencil and start coding--or resort to John Wilson's utilities or the like.
As a programmer, nothing else (than writing the software) even occured to me!
What I don't know is how to set the drive to variable record size mode on Linux (or to switch to fixed record size mode. But variable size mode is much easier to work with if you want to figure out what size a record is). On SGI there are different device files for all the different modes of the tape drive, so that's very easy. In any case, just mt -f /dev/nst0 status is something that works on nearly all *nix (just have to figure out the equivalent of /dev/nst0 for each of them) and can be used to see the status and mode of the drive.
1024 bytes
FILEMARK
54 bytes
256 bytes
54 bytes
60 bytes
102 bytes
60 bytes
150 bytes
54 bytes
150 bytes
22 bytes
150 bytes
1218 bytes
150 bytes
130 bytes
150 bytes
1866 bytes
150 bytes
4096 bytes
3056 bytes...
Tor;331274 What I don't know is how to set the drive to variable record size mode on Linux (or to switch to fixed record size mode. But variable size mode is much easier to work with if you want to figure out what size a record is). -Tor[/QUOTE said:#include <sys/mtio.h>
void set_variable(int fd) { /* fd should be opened to the /dev/nst0 device node */
struct mtop mto;
mto.mt_op = MTSETBLK;
mto.mt_count = 0;
if(ioctl(fd,MTIOCTOP,&mto) < 0) perror("setting variable block mode");
}