The tape390 driver in Linux 2.4.7-SuSE-SMP is refusing to recognise a 3490 that's attached under z/VM 4.1.0. It's apparently seeing the CU type as 3990 whereas the driver source (for 2.4.17 anyway) is apparently expecting to see 3480 or 3490. The relevant line from the dmesg output when the device attached is:
T390:No matching discipline for cu_type 3990 found, ignoring device 0181. Does anyone recognise this? There's a bunch of additional facts which might be complicating the issue: here's the full information. The distribution is from the pre-release SLES7-to-be so there may be a kernel issue with what came with that. The z/VM 4.1.0 is running second-level in an ordinary class G guest on another VM system (I can't remember the first-level VM version and I'm not dialled into the IBM intranet right now). The real 3490 tape was attached to my ZVM410-running guest and I then attached it to the Linux guest running under that. That guest certainly believes it has a 3490 tape at address 181: # hcp q tape TAPE 0181 ON DEV 0181 3490 R/W SUBCHANNEL = 0014 Loading up the tape390 module (before the tape was attached) gives: # modprobe tape390 tape=0181-0184 produces dmesg output: T390:IBM S/390 Tape Device Driver (v1.01). T390:(C) IBM Deutschland Entwicklung GmbH, 2000 T390:character device frontend : built in T390:block device frontend : built in T390:support for 3480 compatible : built in T390:support for 3490 compatible : built in T390:Using ranges supplied in parameters, disabling autoprobe mode. TCHAR:<3> tape gets major 253 for character device TBLOCK:<3> tape gets major 254 for block device (Don't worry about the major number being 253: cpint got 254 first and I mknod'd the right device nodes, though it's not relevant because the problem arises before the device nodes ever get used.) When I did the ATTACH 181 TO LINUX2 from MAINT, we get dmesg output: s390_do_machine_check : starting ... crw_info : looking for CRWs ... crw_info : CRW reports slct=0, oflw=0, chn=0, rsc=3, anc=1, erc=4, rsid=14 s390_do_machine_check : done mach_handler : wakeup ... do_crw_pending : starting ... do_crw_pending : source is subchannel 0014 do_crw_pending : subchannel validation - start ... do_crw_pending : subchannel validation - done do_crw_pending : ioinfo at 052EAE00 do_crw_pending : device recognition - start ... do_crw_pending : device recognition - done T390:No matching discipline for cu_type 3990 found, ignoring device 0181. do_crw_pending : done mach_handler : nothing to do, sleeping mach_handler : waiting for wakeup Note the cu_type 3990 which is causing it to ignore the device. It makes no difference if I rmmod the module, then re-load it with modprobe (meaning that now the tape device exists *before* the driver module loads rather than relying on the dynamic attachment): the output in this case is: # rmmod tape390 produced dmesg output: debug: unregistering tape # modprobe tape390 tape=0181-0184 produced dmesg output: T390:IBM S/390 Tape Device Driver (v1.01). T390:(C) IBM Deutschland Entwicklung GmbH, 2000 T390:character device frontend : built in T390:block device frontend : built in T390:support for 3480 compatible : built in T390:support for 3490 compatible : built in T390:Using ranges supplied in parameters, disabling autoprobe mode. TCHAR:<3> tape gets major 253 for character device TBLOCK:<3> tape gets major 254 for block device So it's not even bothering to mention the ignored tape this time. "cat /proc/tapedevices" shows just a header line with no listed devices. Am I missing something obvious? --Malcolm -- Malcolm Beattie <[EMAIL PROTECTED]> Linux Technical Consultant IBM EMEA Enterprise Server Group... ...from home, speaking only for myself