RTEMS 4.9.5 vs 4.10.2 Network Stack

SAeeD salpha.2004 at gmail.com
Mon Aug 27 21:37:42 UTC 2012


I forgot to say: I also think of a side effect of 4.10.2 patch for
Mini2440. But where, do you think I may search for the side effect with
this experimentals? I mean where can be effected by the side effect that
this happens? The implementation of TCP/IP stack or I dunno somewhere else?

On Tue, Aug 28, 2012 at 2:02 AM, SAeeD <salpha.2004 at gmail.com> wrote:

> As I traced the execution of RTEMS 4.10.2 with a simple TCP client
> application on QEMU, I got this experimental:
> After setting up a TCP server in PC, I executed the TCP client on Mini2440
> and traced the execution. A socket is created with socket descriptor #3.
> Every thing seems fine but when calling function "connect", after a long
> time hanging on the line 161 of the following context (rtems_syscall.c
> where function "connect" if implemented.), an error numbered #116 happens
> and I got out of the loop and return -1 as the return value of function
> "connect". This is the context:
>
> 160    while ((so->so_state & SS_ISCONNECTING) && so->so_error == 0) {
> 161        error = soconnsleep (so);
> 162        if (error)
> 163            break;
> 164    }
> 165    if (error == 0) {
> 166        error = so->so_error;
> 167        so->so_error = 0;
> 168    }
> 169    bad:
> 170    so->so_state &= ~SS_ISCONNECTING;
> 171    m_freem (nam);
> 172    if (error)
> 173        errno = error;
> 174    else
> 175        ret = 0;
> 176    rtems_bsdnet_semaphore_release ();
> 177    return ret;
>
> What could be the possible problem? What is the meaning of error #116?
>
> I think I should also mention that when sniffing packets on telnetd
> application, Mini2440 (which was running RTEMS 4.10.2) did not respond to
> ARP requests from my PC. After I manipulated my PC's ARP table manually,
> then Mini2440 didn't respond to my PC's TCP Syn packets so telnetd didn't
> work too.
>
> Thanks for any hint
> SAeeD
>
>
> On Sun, Aug 26, 2012 at 6:37 PM, Joel Sherrill <Joel.Sherrill at oarcorp.com>wrote:
>
>>  How do they fail? As far as I can remember, there are no network related changes between those versions. This may be a side effect of something else.
>>
>> SAeeD <salpha.2004 at gmail.com> wrote:
>>
>>
>>  I must mention that I configured and compiled both version using
>> --enable-networking and --enable-posix options.
>>
>> On Sun, Aug 26, 2012 at 1:55 PM, SAeeD <salpha.2004 at gmail.com> wrote:
>>
>>> Dear all,
>>>
>>> I'm currently running network-demos on Mini2440 BSP.
>>> What makes me wonder is that various network-demos samples (like
>>> telnetd, http, netdemo) works on RTEMS 4.9.5 but not on RTEMS 4.10.2.
>>> The point is that both versions have the same network device driver. (As
>>> their c/src/lib/libbsp/arm/mini2440/network/network.c files are the same.)
>>> Also, I was able to send UDP packets in both versions so I think the
>>> problem is not related to device drivers. One more evidence: The demos for
>>> 4.10.2 doesn't work on QEMU for Mini2440 too. I also checked rtems_gluc.c
>>> for both versions to make sure that definition of
>>> rtems_bsdnet_initialize_network() wasn't changed.
>>> Does anyone have any hint, suggestion, advice, etc.? I do really
>>> appreciate any comment.
>>>
>>> Thanks
>>> SAeeD
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20120828/ad346769/attachment.html>


More information about the users mailing list