From: Ed S. <ed...@ne...> - 2002-05-24 18:03:26
|
Dear Frank, I was most happy to discover that someone has picked up gpib, a great job= ! After a few snags linux-gpib-3.1.3 compiles and installs fine under my 2.4.5 (Slackware 8.0). Unfortunately, the GPIB card(s) in our lab are the HP82341D, which are th= e=20 i/o mapped, PnP ISA cards from HP (Agilent). They use the 9914 chipset, = and work under Win95. I had tried to connect to them under "Ziatech" driver under kernel 2.0.16= earlier, (using linux-gpib-2.04) but failed. I was hoping the new release would i= nclude a driver for this card, but I see you re-configured the driver scheme com= pletely. In fact, I cannot see which driver in 3.1.3 uses tms9914 at all!? I went through=20 modprobe <drivername>=20 for every one of them in drivers.txt, and in no case did tms9914 get load= ed. I looked at the code, and the only mention of 9914 was in the tnt4882 dir= ectory, so I tried forcing tms9914 install with tnt4882, to no avail. In every case, upon installation of the driver module, the BASE/IRQ value= s assigned to the card by the isapnp remain unused (in /proc/ioports and /proc/inter= rupts), and ibtest does not find anything of value. Could you help? We are willing to do some coding, but we are not terribl= y clever with kernel-level stuff. Perhaps you could give us some pointers? Actua= lly, if you could add to the driver tree an hp8234x subdirectory, and put a skeleton driver= in, and add it to the list of valid drivers, somewhere in the code, we could then try to= figure out=20 what to do within the driver (hopefully, very little compared to any othe= r ISA/9914-type driver). I looked at the code structure, and although it is a major improvement from old versions, I am still quite confused by the rel= ationships=20 of various pieces, and that's where your help would be most welcome. Thanks in advance! Here are some relevant snippets. # cat /etc/isapnp.conf (READPORT 0x0273) (ISOLATE PRESERVE) (IDENTIFY *) (VERBOSITY 2) (CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) (CONFIGURE HWP1411/1073748200 (LD 0 (IO 0 (SIZE 32) (BASE 0x0240) (CHECK)) # also tried BASE 0x260 (INT 0 (IRQ 13 (MODE +E))) # also tried IRQ 12 (NAME "HWP1411/1073748200[0]{Hewlett-Packard HP-IB Interface Card}") (ACT Y) )) (WAITFORKEY) # isapnp /etc/isapnp.conf Board 1 has Identity a9 40 00 18 e8 11 14 f0 22: HWP1411 Serial No 10737= 48200 [checksum a9] HWP1411/1073748200[0]{Hewlett-Packard HP-IB Interface Card}: Port 0x240; = IRQ13 --- Enabled OK # modprobe tms9914 # modprobe tnt4882 # lsmod tnt4882 5056 0 (unused) nec7210 8800 0 [tnt4882] gpib-common 14400 0 [tnt4882] tms9914 5872 0 (unused) eepro100 15632 1 es1371 27712 0 (unused) gameport 1568 0 [es1371] ac97_codec 8864 0 [es1371] soundcore 3664 4 [es1371] # lspci -v | grep IRQ Flags: bus master, medium devsel, latency 64, IRQ 10 Flags: medium devsel, IRQ 9 Flags: bus master, medium devsel, latency 64, IRQ 5 Flags: bus master, slow devsel, latency 64, IRQ 3 Flags: bus master, stepping, medium devsel, latency 64, IRQ 11 # cat /proc/interrupts CPU0 =20 0: 85271 XT-PIC timer 1: 3261 XT-PIC keyboard 2: 0 XT-PIC cascade 3: 0 XT-PIC es1371 4: 6 XT-PIC =20 5: 646 XT-PIC eth0 8: 1 XT-PIC rtc 14: 3086 XT-PIC ide0 15: 26 XT-PIC ide1 NMI: 0=20 ERR: 0 # cat /proc/ioports 0000-001f : dma1 0020-003f : pic1 0040-005f : timer 0060-006f : keyboard 0070-007f : rtc 0080-008f : dma page reg 00a0-00bf : pic2 00c0-00df : dma2 00f0-00ff : fpu 0170-0177 : ide1 01f0-01f7 : ide0 0213-0213 : isapnp read 0376-0376 : ide1 03c0-03df : vesafb 03f6-03f6 : ide0 03f8-03ff : serial(auto) 0a79-0a79 : isapnp write 0cf8-0cff : PCI conf1 4000-403f : Intel Corporation 82371AB PIIX4 ACPI 5000-501f : Intel Corporation 82371AB PIIX4 ACPI d000-dfff : PCI Bus #01 d000-d0ff : ATI Technologies Inc 3D Rage LT Pro AGP-133 e000-e01f : Intel Corporation 82371AB PIIX4 USB e400-e41f : Intel Corporation 82557 [Ethernet Pro 100] e400-e41f : eepro100 e800-e83f : Ensoniq ES1371 [AudioPCI-97] e800-e83f : es1371 f000-f00f : Intel Corporation 82371AB PIIX4 IDE f000-f007 : ide0 f008-f00f : ide1 # ibtest enter primary address for device [0-30]: 0 trying to open pad =3D 0 on /dev/gpib0 ... ibBoardOpen :[Fri May 24 17:04:23 2002](-)< ERR> EDVR <OS Error> -- errno=3D19 (No such device) ibBdChrConfig :[Fri May 24 17:04:23 2002](=90=A5)< ERR> EDVR <OS Erro= r> -- errno=3D19 (No such device) failed to get descriptor # cat /etc/gpib.conf /*********************************************************************** GPIB.CONF IEEE488 library config file ------------------- copyright : (C) 2002 by Frank Mori Hess (C) 1994 by C.Schroeter email : fm...@us... ************************************************************************= ***/ /************************************************************************= *** * =20 * Syntax: * * interface { ... } starts new interface board section * device {...} device configuration * ************************************************************************= ***/ /* This section configures the configurable driver characteristics * for an interface board, such as board address, and interrupt level. * minor =3D 0 configures /dev/gpib0, minor =3D 1 configures /dev/gpib1, = etc. */ interface { minor =3D 0 /* minor =3D 0 uses /dev/gpib0, minor =3D 1 uses /dev/gpib1= , etc. */ board_type =3D tnt4882 /* type of interface board being used */ pad =3D 0 /* primary adress of interface */ sad =3D 0 /* secondary adress of interface */ timeout =3D 3s /* timeout for commands */ eos =3D 0x0a /* EOS Byte */ set-reos yes /* Terminate read if EOS */ set-bin no /* Compare EOS 8-bit */ /* settings for boards that lack plug-n-play capability */ base =3D 0x240 /* Base io ADDRESS */ irq =3D 12 /* Interrupt request level */ dma =3D 0 /* DMA channel (zero disables) */ master yes /* interface board is system controller */ } /* now the device section defines the device characteristics for each dev= ice. */ device { /* HP34401A at address 22 */ name =3D voltmeter /* device mnemonic = */ minor =3D 0 /* minor number for interface board this device is connecte= d to */ pad =3D 22 /* The Primary Address = */ sad =3D 0 /* Secondary Address = */ /* init-string =3D D2HELLO */ /* send some init chars = */ init-flags =3D LLO,DCL /* set flags = */ eos=3D0xa /* EOS Byte = */ set-reos no /* Terminate read if EOS = */ set-bin no /* Compare EOS 8-bit = */ } ------------------------------------------------------------------ Ed Sternin, Physics Dept, Brock U, St.Catharines, Ontario, L2S 3A1 http://www.physics.BrockU.CA/faculty/sternin.html voice:(905)688-5550x3414 FAX:(905)682-9020 email: ed...@br... |