Ok, so I made some progress, I think. I was able to build as a kernel module and install the module. So long as the virtual interface (eoe0s7) is not up, the program brings the network into Operation and scans at 100Hz. <div>
<br></div><div>Then, I issue # ifconfig eoe0s7 up</div><div><br></div><div>About 20 seconds later, the entire system hangs and I need to reboot.</div><div><br></div><div>In the kernel log, I am seeing this: <span style="font-family:Arial;font-size:medium;text-align:-webkit-auto">BUG: scheduling while atomic: swapper/0/0x10000100</span></div>
<div><span style="font-family:Arial;font-size:medium;text-align:-webkit-auto"><br></span></div><div>My understanding is that occurred when using semaphores when spinlocks should have been used in the master callbacks. I changed over the program to spin locks, but the same thing occurred.</div>
<div><br></div><div>I'm not sure what I could try other than falling back to 1.4.0 and seeing if I'm just running into a stable-1.5 bug. I'm following the tty examples in the directory very closely. Beyond changing the hardware declarations to match the network, it's the same program.</div>
<div><br></div><div>Does anyone have an EoE example they could share? </div><div><br>Thanks!</div><div>T</div><div><br></div><div><br><div class="gmail_quote">On Tue, Aug 14, 2012 at 7:29 AM, Matthieu Bec <span dir="ltr"><<a href="mailto:mbec@gmto.org" target="_blank">mbec@gmto.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Hello Thomas,<br>
<br>
it might be a simple network config problem: the IP address of your virtual interface shouldn't be the same as your field device. Try assigning it something different on the same subnet, e.g. <a href="http://192.168.127.1/8" target="_blank">192.168.127.1/8</a> and check your routing table is correct<br>

<br>
Regards<br>
<br>
On 08/13/12 22:21, Thomas Bitsky, Jr. wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello! I'm new to using EtherLAB. I've got the master installed as a<br>
service, and it's communicating to the network fine. However, I'm having<br>
trouble getting the EoE feature up and running.<br>
<br>
I have an Ethernet device in the field with the IP Address<br>
192.168.127.254 that I need to communicate with through a web browser. I<br>
have an EL6601 that the master is able to see fine. When I put the<br>
network into Operation, the RUN light goes steady.<br>
<br>
I'm running on Ubuntu 10.04. I have not installed any real-time<br>
extensions; I'm just working with EtherLAB right now.<br>
<br>
If I execute:<br>
# ethercat eoe<br>
<br>
I get a listing for eoe0s7 as a virtual interface, and that it is down.<br>
<br>
<br>
So, I created in /etc/network the file ifcg-eoe0s7 with the following<br>
contents:<br>
<br>
IPADDRESS=<a href="http://192.168.127.254/8" target="_blank">192.168.127.254/8</a> <<a href="http://192.168.127.254/8" target="_blank">http://192.168.127.254/8</a>><br>
STARTMODE=auto<br>
<br>
I restarted the computer.<br>
<br>
To raise the interface, I enter:<br>
<br>
# ifconfig eoe0s7 up<br>
<br>
The virtual interface goes up, and the LINK light on the EL6601 goes<br>
solid green.<br>
<br>
However, I'm unable to ping 192.168.127.254, or get the pages it serves<br>
to pop up. So, I did more reading, and I think I need to do some<br>
function calls in the program. So, I added to my test program:<br>
<br>
<br>
void send_callback(void *cb_data)<br>
{<br>
     ec_master_t *m = (ec_master_t *) cb_data;<br>
     sem_wait(&mutex);<br>
     ecrt_master_send_ext(m);<br>
     sem_post(&mutex);<br>
}<br>
<br>
/*****************************<u></u>******************************<u></u>******************/<br>
<br>
void receive_callback(void *cb_data)<br>
{<br>
     ec_master_t *m = (ec_master_t *) cb_data;<br>
     sem_wait(&mutex);<br>
     ecrt_master_receive(m);<br>
     sem_post(&mutex);<br>
}<br>
<br>
int<br>
main(int argc, char **argv)<br>
{<br>
<br>
...<br>
<br>
  // setup callbacks for EoE<br>
  ecrt_master_callbacks(master, send_callback, receive_callback, master);<br>
<br>
...<br>
<br>
}<br>
<br>
<br>
<br>
However, it won't build:<br>
<br>
durability.o: In function `send_callback':<br>
/home/tbj/srcroot/durability/<u></u>src/durability.c:279: undefined reference<br>
to `ecrt_master_send_ext'<br>
durability.o: In function `main':<br>
/home/tbj/srcroot/durability/<u></u>src/durability.c:321: undefined reference<br>
to `ecrt_master_callbacks'<br>
<br>
<br>
This is my makefile:<br>
<br>
CC = gcc<br>
ETHERCAT_TOPDIR = /home/tbj/srcroot/ethercat<br>
CFLAGS = -I$(ETHERCAT_TOPDIR)/include -g -O2<br>
LDFLAGS = -L$(ETHERCAT_TOPDIR)/lib/.libs -lethercat -lrt<br>
<br>
OBJECTS = durability.o<br>
<br>
durability.exe : $(OBJECTS)<br>
$(CC) $(CFLAGS) $(OBJECTS) $(LDFLAGS) -o durability.exe<br>
<br>
%.o : %.c<br>
$(CC) $(CFLAGS) -c $<<br>
<br>
<br>
Can anyone tell me what I'm missing? I feel like I'm one step away from<br>
having this working, but I can't find anything else in any documentation<br>
that would lead me to the answer.<br>
<br>
Thanks in advance for any help.<br>
<br>
T<br>
<br>
<br>
______________________________<u></u>_________________<br>
etherlab-users mailing list<br>
<a href="mailto:etherlab-users@etherlab.org" target="_blank">etherlab-users@etherlab.org</a><br>
<a href="http://lists.etherlab.org/mailman/listinfo/etherlab-users" target="_blank">http://lists.etherlab.org/<u></u>mailman/listinfo/etherlab-<u></u>users</a><br>
<br><span class="HOEnZb"><font color="#888888">
</font></span></blockquote><span class="HOEnZb"><font color="#888888">
<br>
<br>
-- <br>
Matthieu Bec                GMTO Corp.<br>
cell:  <a href="tel:%2B1%20626%20354%209367" value="+16263549367" target="_blank">+1 626 354 9367</a>      P.O. Box 90933<br>
phone: <a href="tel:%2B1%20626%20204%200527" value="+16262040527" target="_blank">+1 626 204 0527</a>      Pasadena, CA 91109-0933<br>
<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>Thomas C. Bitsky Jr.<div>Lead Developer and Application Engineer</div><div><font color="#660000">ADC | <a href="http://automateddesign.com" target="_blank">automateddesign.com</a></font></div>
<div>P: 630-783-1150 F: 630-783-1159 M: 630-632-6679</div><br>
</div>