EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Problems with the CA lib under LynxOS with R3.13.2
From: [email protected] (Jeff Hill)
To: "Benjamin Sailer" <[email protected]>, <[email protected]>
Date: Thu, 6 Jul 2000 09:53:51 -0600
Benjamin,

The "The search request/beacon address list was empty after initialization"
message indicates that CA was unable to auto-configure its address list.
We have had problems with this on Tornado II also. Like Tornado II, your 
version of LynxOS may be based on a more recent version of the BSD IP 
kernel. This version has changes in the network interface query API that 
are not backward compatible. A fix for this problem is in R3.13.3
which should be available in the next few days. If your version of LynxOS
does not define the macro BSD >= 44 then you may need to define the macro 
SOCKADDR_HAS_LEN in the C compiler's command line.

The short term workaround is to define EPICS_CA_ADDR_LIST. The details are
in the CA reference manual.

Jeff

> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]]On Behalf Of Benjamin
> Sailer
> Sent: Thursday, July 06, 2000 6:41 AM
> To: [email protected]
> Subject: Problems with the CA lib under LynxOS with R3.13.2
> 
> 
> Hello out there,
> 
> I hope this is not a to trivial Problem to commit to this mailing list,
> but I am trying to make a caServer for LynxOS to control VME Cards
> sharing the Crate with a PowerPC CPU under LynxOS. This works pretty
> fine when I am using nearly all the options for Linux (LynxOS also uses
> the gcc compiler).
> 
> But now I am trying to implement some CA queries into the server to get
> some parameters from another server. Therefore I used the little example
> 'myClient' (as I used 'myServer' for the Server tasks), and this
> compiles pretty fine but gets no connection to the Parameter Server
> while the same code compiled with Linux does exactly what I expected it
> to do.
> 
> The error messages are
> 
> CA.Client.Diagnostic..............................................
>     Message: "The search request/beacon address list was empty after
> initialization"
>     Severity: Warning
>     Source File: ../iocinf.c Line Number: 772
> ..................................................................
> bin/LynxOS/daq_seb_cas<warning>: Cannot switch to asyncronous mode:
> Error number not set
> bin/LynxOS/daq_seb_cas<    err>: Do not receive value of
> HAD:PARAM:HERAKLES:CRATE_ID: Error number not set
> 
> pretty similar to the ones ca_test supplied:
> 
> 
> CA.Client.Diagnostic..............................................
>     Message: "The search request/beacon address list was empty after
> initialization"
>     Severity: Warning
>     Source File: ../iocinf.c Line Number: 772
> ..................................................................
> Not Found HAD:PARAM:HERAKLES:CRATE_ID
> 
> I made some minor changes to the sources in the base/src/ca tree because
> LynxOS needs another way to find out it's own IP-address. Here's an
> extract of the function I supplied:
> 
> 
> > #ifdef LynxOS
> > 
> > #include <stdio.h>
> > #include <string.h>
> > 
> > #include <sys/utsname.h>
> > #include <netdb.h>
> > 
> > char *getIfAddr(char *ip) {
> >       struct utsname nameS, *name = &nameS;
> >       struct hostent entryS, *entry = &entryS;
> >       unsigned char first, second, third, fourth;
> > 
> >       uname(name);
> >       entry = gethostbyname(name->nodename);
> >       first = *(entry->h_addr);
> >       second = *((entry->h_addr) + 1);
> >       third = *((entry->h_addr) + 2);
> >       fourth = *((entry->h_addr) + 3);
> >       sprintf(ip,"%d.%d.%d.%d", first, second, third, fourth);
> >       return ip;
> > }
> > 
> > #endif
> 62a86
> >       char                            myownifaddr[16];
> 94c118,123
> < #ifndef LynxOS
> ---
> > #ifdef LynxOS
> >       getIfAddr(myownifaddr);
> >       init = TRUE;
> >       addr.sin_family = AF_INET;
> >       addr.sin_addr.s_addr = inet_addr(myownifaddr);
> > #else
> 144,148d172
> < #endif
> 
> I am using Version R3.13.2 of the EPICS base package.
> 
> Is anybody out there who has experience with the CA client lib under
> LynxOS.
> 
> Thank You for any comments
> 
> Benjamin 
> 
> -- 
> *****************************************************************
> Benjamin Sailer
> eMail: [email protected]
> *****************************************************************
> Sodann sollst Du zaehlen bis zur Drei. Drei soll die Zahl sein,
> bis zu der Du zaehlst, und die Zahl, bis zu der Du zaehlst, soll
> die Drei sein. Weder sollst Du zaehlen bis zur Vier, noch sollst
> Du zaehlen nur bis zur Zwei, es sei denn, Du faehrst fort zu
> zaehlen bis zur Drei. Die Fuenf scheidet voellig aus.
> 


References:
Problems with the CA lib under LynxOS with R3.13.2 Benjamin Sailer

Navigate by Date:
Prev: Problems with the CA lib under LynxOS with R3.13.2 Benjamin Sailer
Next: Building base EPICS 3.13.2 under KAI C++ compiler Vladimir Sirotenko
Index: 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Problems with the CA lib under LynxOS with R3.13.2 Benjamin Sailer
Next: Building base EPICS 3.13.2 under KAI C++ compiler Vladimir Sirotenko
Index: 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·