- From: Kuldip Modha <eexkm1_at_nottingham.ac.uk>
- Date: Thu, 29 Mar 2007 19:11:22 +0100
Hi,
I am trying to use comedi with an NI PCI 6220 DAQ card. We have
installed comedi-0.7.73 and comedilib-0.7.22 on a Core 2 Duo (x86-64)
machine with OpenSUSE 10.2 kernel 2.6.18.2. We have configured
/dev/comedi0 to use the correct driver (ni_pcimio) and set the
permissions to rw for everybody. The dmesg output shows that it is
correctly identified.
The comedi_test command recognises the type of the device, subdevices,
channels, range etc., however it gives some odd results (unfeasibly long
read times and segfaults) as shown below. We
have written a simple test program which opens the card, checks that a
subdevice is an analogue input and then attempts to do an analogue read
using comedi_data_read(). This function fails and comedi_perror() gives
"Operation not permitted".
Can anybody give any suggestions as to what I might have missed to make
it work?
*Comedi_test* gives the following information:-
*_
_*I: Comedi version: 0.7.73
I: Comedilib version: unknown =)
I: driver name: ni_pcimio
I: device name: pci-6220
I:
I: subdevice 0
I: testing info...
rev 1
I: subdevice type: 1 (analog input)
number of channels: 16
max data value: 65535
ranges:
all chans: [-10,10] [-5,5] [-1,1] [-0.2,0.2]
I: testing insn_read...
rev 1
comedi_do_insn returned 1, good
I: testing insn_read_0...
comedi_do_insn returned 0, good
I: testing insn_read_time...
rev 1
comedi_do_insn: 3
read time: 60129542139794144 us
I: testing cmd_no_cmd...
not applicable
I: testing cmd_probe_src_mask...
rev 1
command source mask:
start: now|ext|int
scan_begin: timer|ext
convert: timer|ext
scan_end: count
stop: none|count
I: testing cmd_probe_fast_1chan...
command fast 1chan:
start: now 0
scan_begin: timer 4000
convert: timer 4000
scan_end: count 1
stop: count 2
I: testing cmd_read_fast_1chan...
read: Broken pipe
I: testing cmd_write_fast_1chan...
not applicable
I: testing cmd_logic_bug...
rev 1
command_test returned 1, good
I: testing cmd_fifo_depth_check...
read: Broken pipe
64, 0
read: Broken pipe
128, 0
read: Broken pipe
256, 0
read: Broken pipe
512, 0
read: Broken pipe
1024, 0
read: Broken pipe
2048, 0
read: Broken pipe
4096, 0
read: Broken pipe
8192, 0
read: Broken pipe
16384, 0
read: Broken pipe
32768, 0
I: testing cmd_start_inttrig...
E: read: Broken pipe
I: testing mmap...
0x2b42b83ef000 ok
0x2b42b83f0000 ok
0x2b42b83f1000 ok
0x2b42b83f2000 ok
0x2b42b83f3000 ok
read: Broken pipe
compare ok
0x2b42b83ef000 segfaulted (ok)
0x2b42b83f0000 segfaulted (ok)
0x2b42b83f1000 segfaulted (ok)
0x2b42b83f2000 segfaulted (ok)
0x2b42b83f3000 segfaulted (ok)
I: testing read_select...
read: Broken pipe
I: testing bufconfig...
buffer size 65536
max buffer size 65536
setting buffer size to 4096
buffer size set to 4096
buffer size now at 4096
setting buffer size past limit, 69632
got EPERM, good
setting buffer size to max, 65536
buffer size now at 65536
I:
Thanks,
Kuldip Modha
Research Postgraduate,
VLSI Systems,
Photonics and RF Engineering Group,
The University of Nottingham, UK
This message has been checked for viruses but the contents of an attachment
may still contain software viruses, which could damage your computer system:
you are advised to perform your own checks. Email communications with the
University of Nottingham may be monitored as permitted by UK legislation.
Received on 2007-03-29Z17:11:22