Comedi problems with NI PCI_6259 DAQ Card

Hi, everyone

I hava a NI PCI_6259 DAQ Card and try to use RTAI+Comedi with it.
I've setup the RTAI & Comedi and get them running.

see corresponding lsmod:

rtai_comedi             4224  0
kcomedilib             12800  1 rtai_comedi
ni_pcimio              45056  0
comedi_fc               2560  1 ni_pcimio
mite                    7044  1 ni_pcimio
8255                    4608  1 ni_pcimio
comedi                 32828  4 kcomedilib,ni_pcimio,comedi_fc,8255
rtai_tasklets          10244  0
rtai_signal             4864  0
rtai_leds               2828  0
rtai_shm                8960  1 rtai_comedi
rtai_netrpc            19972  0
rtai_msg               23296  0
rtai_mbx                9216  1 rtai_netrpc
rtai_sem               17536  3 rtai_comedi,rtai_netrpc,rtai_mbx
rtai_fifos             26188  0
rtai_lxrt              78520  11
rtai_comedi,kcomedilib,ni_pcimio,rtai_tasklets,rtai_signal,rtai_shm,rtai_netrpc,rtai_msg,rtai_mbx,rtai_sem,rtai_fifos
rtai_hal               70736  15
rtai_comedi,kcomedilib,ni_pcimio,comedi_fc,mite,comedi,rtai_tasklets,rtai_signal,rtai_shm,rtai_netrpc,rtai_msg,rtai_mbx,rtai_sem,rtai_fifos,rtai_lxrt

But the problem is , after running the comedi_test, I got the following
response which seems that comedi has recognized the NI PCI_6259 DAQ card but
it just halted at I: testing cmd_write_fast_1chan...

root_at_NETOFFLAB:/opt/comedilib-0.7.22/testing# ./comedi_test
I: Comedi version: 0.7.73
I: Comedilib version: unknown =)
I: driver name: ni_pcimio
I: device name: pci-6259
I:
I: subdevice 0
I: testing info...
rev 1
I: subdevice type: 1 (analog input)
  number of channels: 32
  max data value: 65535
  ranges:
    all chans: [-10,10] [-5,5] [-2,2] [-1,1] [-0.5,0.5] [-0.2,0.2] [-0.1,0.1
]
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: 24 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 800
  convert: timer 800
  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...
64, 1
128, 1
256, 1
512, 1
1024, 1
2048, 1
4096, 2
8192, 4
16384, 6
32768, 16
I: testing cmd_start_inttrig...
I: testing mmap...
0xb7f77000 ok
0xb7f78000 ok
0xb7f79000 ok
0xb7f7a000 ok
0xb7f7b000 ok
compare ok
0xb7f77000 segfaulted (ok)
0xb7f78000 segfaulted (ok)
0xb7f79000 segfaulted (ok)
0xb7f7a000 segfaulted (ok)
0xb7f7b000 segfaulted (ok)
I: testing read_select...
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:
I: subdevice 1
I: testing info...
rev 1
I: subdevice type: 2 (analog output)
  number of channels: 4
  max data value: 65535
  ranges:
    all chans: [-10,10] [-5,5] [-1,1]
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: 6 us
I: testing cmd_no_cmd...
not applicable
I: testing cmd_probe_src_mask...
rev 1
command source mask:
  start: int
  scan_begin: timer
  convert: now
  scan_end: count
  stop: none|count
I: testing cmd_probe_fast_1chan...
command fast 1chan:
  start: int 0
  scan_begin: timer 0
  convert: now 0
  scan_end: count 1
  stop: count 2
I: testing cmd_read_fast_1chan...
not applicable
I: testing cmd_write_fast_1chan...

The program halted here and got no other response.
When dmesg, it gets the following log:

[17179976.752000] I-pipe: Domain RTAI registered.
[17179976.752000] RTAI[hal]: <3.4> mounted over IPIPE-NOTHREADS 1.3-00.
[17179976.752000] RTAI[hal]: compiled with gcc version 4.0.3 (Ubuntu
4.0.3-1ubuntu5).
[17179976.752000] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL
IRQs VECTORED), ISOL_CPUS_MASK: 0).
[17179976.752000] PIPELINE layers:
[17179976.752000] f8cacd80 9ac15d93 RTAI 200
[17179976.752000] c035f280 0 Linux 100
[17179976.768000] RTAI[malloc]: vmalloced extent f8ce6000, size 2097152.
[17179976.768000] RTAI[malloc]: loaded (global heap size=2097152 bytes).
[17179976.768000] RTAI[sched]: loaded (IMMEDIATE, UP, USER/KERNEL SPACE: ).
[17179976.768000] RTAI[sched]: hard timer type/freq = APIC/12526750(Hz);
default timing mode is periodic; linear ordering of timed lists.
[17179976.768000] RTAI[sched]: Linux timer freq = 250 (Hz), CPU freq =
1193180 hz.
[17179976.768000] RTAI[sched]: timer setup = 838 ns, resched latency = 2514
ns.
[17179977.372000] RTAI[leds]: loaded.
[17179977.376000] RTAI_SIGNALS: loaded.
[17179977.384000] RTAI[tasklets]: loaded.
[17179996.496000] comedi: version 0.7.73 - David Schleef <ds_at_schleef.org>
[17179996.520000] rt_pend_tq: RT bottom half scheduler initialized OK
[17179996.536000] Available NI device IDs: 0x70ab
[17180017.088000] comedi0: ni_pcimio: pci-6259ACPI: PCI Interrupt Link
[APC1] enabled at IRQ 16
[17180017.092000] ACPI: PCI Interrupt 0000:03:08.0[A] -> Link [APC1] -> GSI
16 (level, low) -> IRQ 50
[17180017.092000] MITE:0xfddfe000 mapped to f8ef2000 DAQ:0xfddfd000 mapped
to f8ef4000
[17180017.092000] mite: version = 1, type = 4, mite mode = 1, interface mode
= 3
[17180017.092000] mite: num channels = 8, write post fifo depth = 128, wins
= 0, iowins = 2
[17180017.112000]  ( irq = 50 )m_series_stc_writew: FIXME: register 0xb does
not map cleanly on to m-series boards.
[17180017.112000] m_series_stc_writew: bug! unhandled register=0x3a in
switch.
[17180017.112000] m_series_stc_writew: bug! unhandled register=0x4f in
switch.
[17180017.112000] m_series_stc_writew: bug! unhandled register=0x50 in
switch.
[17180017.112000]
[17180354.224000] m_series_stc_readw: bug! unhandled register=0x7 in switch.
[17180354.280000] ni_mio_common: DMA overwrite of free area
[17180540.088000] m_series_stc_readw: bug! unhandled register=0x7 in switch.

And I found that this happens also in other people's M series card.
See also Jon Weisz's report
https://mail.comedi.org/pipermail/comedi/2006-September/008188.html

Can any one help me on this? Thanks!

Kelvin

Received on 2006-12-28Z22:24:42