Hey guys,

Just ran into some strange behaviour on my test rig. (2x MPC8313E-RDB +2x Intel 
E1000 PCI)

1. After starting the master server, I'm getting loads of those messages:
   >>>TDMA: Failed to transmit sync frame!
instead of the normal "waiting for slaves...". I need to start the slave first 
and let him "search for master..." and then the master to get the RTnet 
handshake...

2. When I'm trying to stop the rtnet service, I'm getting an PCI / DMA problem:

/usr/local/rtnet/sbin/rtnet stop
RTmac/TDMA: unloaded
RTmac: unloaded
RTcfg: unloaded
removing loopback...
RTnet: unregistered rtlo
RTnet: unregistered rteth0
RTnet: unloaded
pci 0000:00:0f.0: BAR 0: assigned [mem 0x90000000-0x9001ffff]
pci 0000:00:0f.0: BAR 0: set to [mem 0x90000000-0x9001ffff] (PCI address 
[0x90000000-0x9001ffff])
pci 0000:00:0f.0: BAR 1: assigned [mem 0x90020000-0x9003ffff]
pci 0000:00:0f.0: BAR 1: set to [mem 0x90020000-0x9003ffff] (PCI address 
[0x90020000-0x9003ffff])
pci 0000:00:0f.0: BAR 6: assigned [mem 0x80000000-0x8001ffff pref]
pci 0000:00:0f.0: BAR 2: assigned [io  0x1000-0x103f]
pci 0000:00:0f.0: BAR 2: set to [io  0x1000-0x103f] (PCI address 
[0x1000-0x103f])
root@nfs1-webcam:~# e1000: Intel(R) PRO/1000 Network Driver - version 
7.3.21-k8-NAPI
e1000: Copyright (c) 1999-2006 Intel Corporation.
e1000: No usable DMA config, aborting
e1000: probe of 0000:00:0f.0 failed with error -5

After that, It looks like he cannot access the DMA again. Only a reboot fixes 
that.

/usr/local/rtnet/sbin/rtnet start
*** RTnet 0.9.13 - built on Sep 30 2012 20:51:55 ***
RTnet: initialising real-time networking
Intel(R) PRO/1000 Network Driver - version 7.1.9
Copyright (c) 1999-2006 Intel Corporation.
e1000: No usable DMA configuration, aborting
rt_e1000: probe of 0000:00:0f.0 failed with error -5
e1000: No usable DMA configuration, aborting
rt_e1000: probe of 0000:00:0f.0 failed with error -5
/usr/local/rtnet/sbin/rtnet: line 42: echo: write error: No such device
initializing loopback...
RTnet: registered rtlo
RTcfg: init real-time configuration distribution protocol
RTmac: init realtime media access control
RTmac/TDMA: init time division multiple access control mechanism
ioctl: No such device
ioctl: No such device
ioctl: No such device
ioctl: No such device
ioctl (add): No such device
ifconfig: SIOCGIFFLAGS: No such device
Waiting for all slaves...ioctl: No such device
ioctl: No such device

Loaded modules while RTnet is working:
~# lsmod
Module                  Size  Used by
tdma                   15500  1
rtmac                   6648  1 tdma
rtcfg                  36436  0
rt_loopback             1172  1
rtpacket                4128  0
rtudp                   7156  0
rt_e1000               83072  1
rtipv4                 15764  2 rtcfg,rtudp
rtnet                  23376  8 
tdma,rtmac,rtcfg,rt_loopback,rtpacket,rtudp,rt_e1000,rtipv4


3. While trying to use the rtping tool, I'm getting a lot variation in the 
output data. Is that normal?
~# /usr/local/rtnet/sbin/rtping -c 5 10.0.0.2
Real-time PING 10.0.0.2 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 time=1012.7 us
64 bytes from 10.0.0.2: icmp_seq=2 time=1024.6 us
64 bytes from 10.0.0.2: icmp_seq=3 time=1024.8 us
64 bytes from 10.0.0.2: icmp_seq=4 time=1025.6 us
64 bytes from 10.0.0.2: icmp_seq=5 time=1032.6 us
--- 10.0.0.2 rtping statistics ---
5 packets transmitted, 5 received, 0% packet loss
worst case rtt = 1032.6 us

~# /usr/local/rtnet/sbin/rtping -c 5 10.0.0.2
Real-time PING 10.0.0.2 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 time=1347.7 us
64 bytes from 10.0.0.2: icmp_seq=2 time=1390.3 us
64 bytes from 10.0.0.2: icmp_seq=3 time=1390.4 us
64 bytes from 10.0.0.2: icmp_seq=4 time=1387.4 us
64 bytes from 10.0.0.2: icmp_seq=5 time=1391.4 us
--- 10.0.0.2 rtping statistics ---
5 packets transmitted, 5 received, 0% packet loss
worst case rtt = 1391.4 us

~# /usr/local/rtnet/sbin/rtping -c 5 10.0.0.2
Real-time PING 10.0.0.2 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 time=441.4 us
64 bytes from 10.0.0.2: icmp_seq=2 time=456.9 us
64 bytes from 10.0.0.2: icmp_seq=3 time=454.7 us
64 bytes from 10.0.0.2: icmp_seq=4 time=458.2 us
64 bytes from 10.0.0.2: icmp_seq=5 time=457.1 us
--- 10.0.0.2 rtping statistics ---
5 packets transmitted, 5 received, 0% packet loss
worst case rtt = 458.2 us

So it obviously looks like it is dependent on the time (random) when I start 
the ping. Or why are there so big differences?
I've hooked up the two e1000 PCI card directly together with a 0,5m Cat 6 
Patchcable. RTnet is configured in the simple mode with udp packet, CYCLE of 
2500 and OFFSET of 200. So nothing special though.

When starting the procedure, rtnet startup script tells me the measured delay:
RTmac/TDMA: init time division multiple access control mechanism
Stage 1: searching for master...e1000: rteth0: e1000_watchdog: NIC Link is Up 
1000 Mbps Full Duplex
TDMA: calibrated master-to-slave packet delay: 11 us (min/max: 11/14 us)
Stage 2: waiting for other slaves...
Stage 3: waiting for common setup completion...

Cheers
Michael



------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
RTnet-users mailing list
RTnet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rtnet-users

Reply via email to