A Dijous 05 Abril 2007 19:30, Jan Kiszka va escriure:
> Leopold Palomo-Avellaneda wrote:
> > Hi,
> >
> > probably I'm doing some big mistake but I'm a bit lost in a trouble with
> > rtnet. I have rtnet compiled, installed and running without rtmac/tdma.
> >
> > I have configured the interface and the routes:
> >
> > $:~/robotica/orocos/rtnet-proves$ sudo /usr/local/rtnet/sbin/rtifconfig
> > rteth0    Medium: Ethernet  Hardware address: 00:A0:C9:1D:52:B9
> >           IP address: 192.168.1.3  Broadcast address: 192.168.1.255
> >           UP BROADCAST RUNNING  MTU: 1500
> >
> > rtlo      Medium: Local Loopback
> >           IP address: 127.0.0.1
> >           UP LOOPBACK RUNNING  MTU: 1500
> >
> > $:~/robotica/orocos/rtnet-proves$ sudo /usr/local/rtnet/sbin/rtroute
> > Host Routing Table
> > Hash    Destination     HW Address              Device
> > 00      0.0.0.0         00:00:00:00:00:00       rtlo
> > 01      127.0.0.1       00:00:00:00:00:00       rtlo
> > 03      192.168.1.3     00:00:00:00:00:00       rtlo
> > 3F      192.168.1.255   FF:FF:FF:FF:FF:FF       rteth0
> >
> >
> > I can do a ping to my rteth0:
> > $:~/robotica/orocos/rtnet-proves$ sudo /usr/local/rtnet/sbin/rtping
> > 192.168.1.3
> > Real-time PING 192.168.1.3 56(84) bytes of data.
> > 64 bytes from 127.0.0.1: icmp_seq=1 time=22.9 us
> > 64 bytes from 127.0.0.1: icmp_seq=2 time=14.0 us
> > .....
> >
> > if I run the examples of the rtai directory, both run. However I don't
> > see the expected result because the server run:
> > $:~/robotica/orocos$ sudo /usr/local/rtnet/examples/rtai/simpleserver
> > 5000 RTnet, simpleserver for LXRT
> >
> > and the client runs:
> > $:~/robotica/orocos/rtnet-proves$
> > sudo /usr/local/rtnet/examples/rtai/simpleclient 5001 192.168.1.3 5000
> > RTnet, simpleclient for LXRT
> >
> > and exit and no message is printed in the server side.
> >
> > Someone could tell me how can I test what is wrong or what I'm doing bad?
>
> Not immediately. I must admit, the RTAI examples are in bad shape. I
> would start checking the return codes of all involved RTnet service
> requests. One of them should/must fail. Maybe the information which one
> and with what code will help.

ok, I had done it in a modified version of the examples. In the server 
program, I added some printf to the return values of the functions, and so, 
the important parts:

.....

    char *a1;
    a1= inet_ntoa(local_addr.sin_addr);
    printf("Running the server in the ip: %s\n", a1 );
.....
this print:
Running the server in the ip: 0.0.0.0

.............. 
    /* Switch over to hard realtime mode. */
    rt_make_hard_real_time();

    printf("Ret after the rt = %d \n", ret );
.........
this print:
Ret after the rt = 0

..........
    /* Bind socket to local address specified as parameter. */
    ret = rt_dev_bind(sockfd, (struct sockaddr *) &local_addr,
                      sizeof(struct sockaddr_in));

    printf("Ret = %d \n", ret );
...........
here, the print:
Ret = 0

so, I understand that open the socket without any problem

............
    /* Block until packet is received. */
    ret = rt_dev_recv(sockfd, msg, sizeof(msg), 0);
...............

but the program is blocked here.

In the client side:
sudo ./simpleclient 5001 127.0.0.1 5000
RTnet, simpleclient for LXRT

The connection says : 0


.............
    /* Bind socket to local address specified as parameter. */
    ret = rt_dev_bind(sockfd, (struct sockaddr *) &local_addr,
                      sizeof(struct sockaddr_in));
  printf("Ret after the rt_dev_bind = %d \n", ret );
...........

print:
Ret after the rt_dev_bind = 0
......................
    /* Specify destination address for socket; needed for rt_socket_send(). */
    int value = rt_dev_connect(sockfd, (struct sockaddr *) &server_addr,
                   sizeof(struct sockaddr_in));
    printf("The connection says : %i\n", value);
..................
The connection says : 0


really I'm blocked now ....

> BTW, I'm always open to apply cleanup patches for the RTAI examples, or
> new and better ones. But I depend on RTAI users here, I don't have that
> test environment anymore.

Ok, I take note.

regards,

Leo

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
RTnet-users mailing list
RTnet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rtnet-users

Reply via email to