Hi Florian: I have a strange problem when I load Beckhoff Serialport module EL6002. The story is as this.
I write a c kernal module following your example code in rtai and tty folder (CoE). The running master version is 1.4.0-rc3 in my test pc. I have 3 Beckhoff Serialport module EL6002 in the slave bank plus 60 other Beckhoff digital I/O slaves (modules). The 3 EL6002 modules (6 serial ports) working fine when I connect them with only 20 of the 60 digital I/O modules. However, if I connect all the 60 digital I/O slaves (modules) with the 3 EL6002 modules, the ethercat kernal module crashed during initialization. All the digital I/Os and 3 EL6002 are scanned in 1000Hz scan rate in realtime. I did not use virtual ectty port method. Instead, I use a seperate share memory to story the read/write buffer. I think that should not be a problem, plus I have checked the reading/sending are correct when there is less module connected in the bank. Below are the dmesg, can you give some suggestion on this problem. Thanks in advance. Jason [ 137.976768] ec_md_ethercat v1.05-70:Starting... [ 137.976774] EtherCAT: Requesting master 0... [ 137.977009] EtherCAT: Successfully requested master 0. [ 137.977016] ec_md_ethercat v1.05-70:Registering domain... [ 137.977452] ec_md_ethercat v1.05-70:Registering Pdo entries... [ 137.978062] ec_md_ethercat v1.05-70:Activating master... [ 137.978084] EtherCAT: Domain0: Logical address 0x00000000, 344 byte, expected working counter 102. [ 137.978090] EtherCAT: Datagram domain0-0: Logical offset 0x00000000, 344 byte, type LRW. [ 137.978128] EtherCAT: Master thread exited. [ 137.978133] EtherCAT: Starting EtherCAT-OP thread. [ 137.978184] ec_md_ethercat v1.05-70:Starting cyclic sample thread... [ 137.978199] ec_md_ethercat v1.05-70:RT timer started with 999925/999925 ticks. [ 137.978228] ec_md_ethercat v1.05-70:Initialized. [ 137.979274] ec_md_ethercat v1.05-70:kernel module thread called [ 137.979281] ec_md_ethercat v1.05-70:64 slave(s). [ 137.979284] ec_md_ethercat v1.05-70:AL states: 0x02. [ 137.979287] ec_md_ethercat v1.05-70:Link is up. [ 137.997238] EtherCAT: Domain 0: Working counter changed to 2/102. [ 137.997245] ec_md_ethercat v1.05-70:Domain1: WC 2. [ 137.997248] ec_md_ethercat v1.05-70:Domain1: State 1. [ 138.025234] ec_md_ethercat v1.05-70:Domain1: WC 4. [ 138.051240] ec_md_ethercat v1.05-70:Domain1: WC 6. [ 138.077245] ec_md_ethercat v1.05-70:Domain1: WC 8. [ 138.105247] ec_md_ethercat v1.05-70:Domain1: WC 10. [ 138.133226] ec_md_ethercat v1.05-70:Domain1: WC 12. [ 138.161224] ec_md_ethercat v1.05-70:Domain1: WC 14. [ 138.185219] ec_md_ethercat v1.05-70:Domain1: WC 16. [ 138.209217] ec_md_ethercat v1.05-70:Domain1: WC 18. [ 138.233215] ec_md_ethercat v1.05-70:Domain1: WC 20. [ 138.257215] ec_md_ethercat v1.05-70:Domain1: WC 22. [ 138.281211] ec_md_ethercat v1.05-70:Domain1: WC 24. [ 138.305210] ec_md_ethercat v1.05-70:Domain1: WC 26. [ 138.329209] ec_md_ethercat v1.05-70:Domain1: WC 28. [ 138.354207] ec_md_ethercat v1.05-70:Domain1: WC 30. [ 138.378203] ec_md_ethercat v1.05-70:Domain1: WC 32. [ 138.402201] ec_md_ethercat v1.05-70:Domain1: WC 34. [ 138.442202] ec_md_ethercat v1.05-70:Domain1: WC 37. [ 138.448206] ec_md_ethercat v1.05-70:alias=61 term=0 : Init successful. [ 138.448213] ec_md_ethercat v1.05-70:alias=61 term=1 : Init successful. [ 138.470198] ec_md_ethercat v1.05-70:Domain1: WC 40. [ 138.476212] ec_md_ethercat v1.05-70:alias=62 term=0 : Init successful. [ 138.476218] ec_md_ethercat v1.05-70:alias=62 term=1 : Init successful. [ 138.498196] ec_md_ethercat v1.05-70:Domain1: WC 43. [ 138.504208] ec_md_ethercat v1.05-70:alias=63 term=0 : Init successful. [ 138.504214] ec_md_ethercat v1.05-70:alias=63 term=1 : Init successful. [ 138.505199] [ 138.505201] LXRT CHANGED MODE (TRAP), PID = 1223, VEC = 14, SIGNO = 11. [ 138.505218] BUG: unable to handle kernel paging request at virtual address de87c148 [ 138.516929] printing eip: df2b53f2 *pde = 1c0d7067 *pte = 00000000 [ 138.528899] Oops: 0000 [#1] [ 138.540681] Modules linked in: ec_md_ethercat(F) rtai_sem rtai_shm rtai_fifos rtai_usi rtai_lxrt rtai_hal rtai_smi usbhid usbscanner mxuport mxusbserial ec_8139too ec_master [ 138.567837] [ 138.581230] Pid: 1223, comm: U:HARD:0:11 Tainted: GF (2.6.24.4 #12) [ 138.595246] EIP: 0060:[<df2b53f2>] EFLAGS: 00010297 CPU: 0 [ 138.609439] EIP is at el60xx_port_run+0x4e/0x21c [ec_md_ethercat] [ 138.623904] EAX: 00000000 EBX: de87bf40 ECX: de87bf40 EDX: daa5e800 [ 138.638490] ESI: df2ba5ac EDI: daa50000 EBP: daa5e800 ESP: daa6df78 [ 138.653090] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 [ 138.667860] Process U:HARD:0:11 (pid: 1223, ti=daa6c000 task=daa12560 task.ti=daa6c000)<0> [ 138.668517] I-pipe domain Linux [ 138.683608] Stack: 0000003b dc1f9800 df2ba64c 00ad3120 daa5e8f2 0084996c de87c150 df2ba5a4 [ 138.699673] daa5e800 00000000 df2b55d7 0000003a df2c10d8 df2ba5a4 df2b5c9b df2c0800 [ 138.716002] df2c0380 00000000 00000000 df2a0d87 df2b3a00 df2a7501 00000000 0000000b [ 138.732524] Call Trace: [ 138.765162] [<df2b55d7>] el6002_run+0x17/0x28 [ec_md_ethercat] [ 138.782233] [<df2b5c9b>] run+0x225/0x2a6 [ec_md_ethercat] [ 138.799560] [<df2a0d87>] kthread_fun+0x113/0x181 [rtai_lxrt] [ 138.817052] [<df2a0c74>] kthread_fun+0x0/0x181 [rtai_lxrt] [ 138.834563] [<c0104087>] kernel_thread_helper+0x7/0x10 [ 138.852162] ======================= [ 138.869659] Code: 0f 84 92 01 00 00 0f 82 6e 01 00 00 83 f8 02 0f 85 b5 01 00 00 89 f8 88 44 24 0f 83 e0 01 88 44 24 17 3a 46 39 0f 84 b6 00 00 00 <83> b9 08 02 00 00 00 0f 84 8d 00 00 00 83 b9 00 02 00 00 00 0f [ 138.908603] EIP: [<df2b53f2>] el60xx_port_run+0x4e/0x21c [ec_md_ethercat] SS:ESP 0068:daa6df78 [ 138.928341] ---[ end trace 9d389a8bf40e7b52 ]--- [ 138.948159] EtherCAT: Slave states: PREOP, OP. -bash-3.2# -bash-3.2#
_______________________________________________ etherlab-users mailing list etherlab-users@etherlab.org http://lists.etherlab.org/mailman/listinfo/etherlab-users