RTEMS 4.9.5 vs 4.10.2 Network Stack
SAeeD
salpha.2004 at gmail.com
Mon Aug 27 21:32:53 UTC 2012
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/9d3d6f0b/attachment-0001.html>
More information about the users
mailing list