UDP packets blocks

View: New views
4 Messages — Rating Filter:   Alert me  

Parent Message unknown UDP packets blocks

by Mauro-31 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,
I have a problem on receiving UDP packets on a WildFiremod board with MCF5282 micro.
I have a program like this:

INT32 udpCallback(......)
{
      // if packet is a command, do work
}

int main(void)
{
      tcpip_init(0);
     gUdp_socket = udp_getsocket(0,udpCallback,0);
     udp_open(gUdp_socket,port);
    while(1) tcp_tick();
}

My problem is that after a couple of time (about 3-4 minutes) that program runs without receiving command packets, if I send it a packet, it doesn't execute callback. Only after 3 or 4 received packets it executes callback and process all packets received. Packets are not lost, because when program "wakes-up", it process all packets in the same order that it has received them.
I think that buffer queue hangs for an unknown cause, and then re-starts work in the right mode when buffer has more packets.
What might happens?
Thank you, regards
Mauro


coldfire@... Send a post to the list. coldfire-join@... Join the list. coldfire-digest@... Join the list in digest mode. coldfire-leave@... Leave the list.

Re: UDP packets blocks

by Bob Furber :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Mauro,
> I have a problem on receiving UDP packets on a WildFiremod board with
> MCF5282 micro.
> I have a program like this:
>
> INT32 udpCallback(......)
> {
>       // if packet is a command, do work
> }

Whoever can help you will need to know what TCP stack you are using.

May I ask if you are programming for a dBUG/OpenTCP target or a uClinux
target? If the latter, then you need to direct your question to the
uClinux-dev mailing list:

uClinux-dev@...
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev

You will want to provide more background, such as the uClinux version, target, etc..

If you are programming for a dBUG/OpenTCP target, the news is not so good: There is little or no support for OpenTCP any more. Because of this, we need to think about adapting lwIP to Coldfire/dBUG targets ..and that is a BIG job ..but lwIP has an active and supportive community.

Bfn,

Bob Furber


>
> int main(void)
> {
>       tcpip_init(0);
>      gUdp_socket = udp_getsocket(0,udpCallback,0);
>      udp_open(gUdp_socket,port);
>     while(1) tcp_tick();
> }
>
> My problem is that after a couple of time (about 3-4 minutes) that
> program runs without receiving command packets, if I send it a packet,
> it doesn't execute callback. Only after 3 or 4 received packets it
> executes callback and process all packets received. Packets are not
> lost, because when program "wakes-up", it process all packets in the
> same order that it has received them.
> I think that buffer queue hangs for an unknown cause, and then
> re-starts work in the right mode when buffer has more packets.
> What might happens?
> Thank you, regards
> Mauro
>
>
> coldfire@... Send a post to the list.
> coldfire-join@... Join the list. coldfire-digest@...
> Join the list in digest mode. coldfire-leave@... Leave the list.

---
coldfire@...              Send a post to the list.
coldfire-join@...        Join the list.
coldfire-digest@...    Join the list in digest mode.
coldfire-leave@...     Leave the list.


Fwd: UDP packets blocks

by Mauro-31 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Bob,
thank you for your help.

I'm programming on dBUG, so I use OpenTCP stack implementation...so I'm very unlucky!

Only one thing: there isn't a function tha can re-initialize tcpip engine?or some functions that can directly inspect incoming TCP buffer without callback calls? I find OpenTCP documentation, but I suspect that version in SBCtools is customized for dBUG

thanks  lot.
Mauro



Hi Mauro,

I have a problem on receiving UDP packets on a WildFiremod board with MCF5282 micro.
I have a program like this:

INT32 udpCallback(......)
{
     // if packet is a command, do work
}

Whoever can help you will need to know what TCP stack you are using.

May I ask if you are programming for a dBUG/OpenTCP target or a uClinux target? If the latter, then you need to direct your question to the uClinux-dev mailing list:

uClinux-dev@...
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev

You will want to provide more background, such as the uClinux version, target, etc..

If you are programming for a dBUG/OpenTCP target, the news is not so good: There is little or no support for OpenTCP any more. Because of this, we need to think about adapting lwIP to Coldfire/dBUG targets ..and that is a BIG job ..but lwIP has an active and supportive community.

Bfn,

Bob Furber



int main(void)
{
     tcpip_init(0);
    gUdp_socket = udp_getsocket(0,udpCallback,0);
    udp_open(gUdp_socket,port);
   while(1) tcp_tick();
}

My problem is that after a couple of time (about 3-4 minutes) that program runs without receiving command packets, if I send it a packet, it doesn't execute callback. Only after 3 or 4 received packets it executes callback and process all packets received. Packets are not lost, because when program "wakes-up", it process all packets in the same order that it has received them.
I think that buffer queue hangs for an unknown cause, and then re-starts work in the right mode when buffer has more packets.
What might happens?
Thank you, regards
Mauro


coldfire@... Send a post to the list. coldfire-join@... Join the list. coldfire-digest@... Join the list in digest mode. coldfire-leave@... Leave the list.

---
coldfire@...              Send a post to the list.
coldfire-join@...        Join the list.
coldfire-digest@...    Join the list in digest mode.
coldfire-leave@...     Leave the list.


coldfire@... Send a post to the list. coldfire-join@... Join the list. coldfire-digest@... Join the list in digest mode. coldfire-leave@... Leave the list.

RE: UDP packets blocks

by Seymour David-ra2693 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Mauro,
OpenTCP, as Bob mentioned, folks pulled it from the market unfortunately.  Freescale partnered with InterNice to provide an alternative.  It has been ported to many ColdFire.
There will be an update later this month that has many fixes and enhancements to the stack to make it more reliable.
Regards,
David
 
David E Seymour
 


From: coldfire-bounce@... [mailto:coldfire-bounce@...] On Behalf Of Mauro
Sent: Friday, September 19, 2008 7:30 AM
To: Seymour David-RA2693
Subject: Fwd: [ColdFire] UDP packets blocks

Hi Bob,
thank you for your help.

I'm programming on dBUG, so I use OpenTCP stack implementation...so I'm very unlucky!

Only one thing: there isn't a function tha can re-initialize tcpip engine?or some functions that can directly inspect incoming TCP buffer without callback calls? I find OpenTCP documentation, but I suspect that version in SBCtools is customized for dBUG

thanks  lot.
Mauro



Hi Mauro,

I have a problem on receiving UDP packets on a WildFiremod board with MCF5282 micro.
I have a program like this:

INT32 udpCallback(......)
{
     // if packet is a command, do work
}

Whoever can help you will need to know what TCP stack you are using.

May I ask if you are programming for a dBUG/OpenTCP target or a uClinux target? If the latter, then you need to direct your question to the uClinux-dev mailing list:

uClinux-dev@...
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev

You will want to provide more background, such as the uClinux version, target, etc..

If you are programming for a dBUG/OpenTCP target, the news is not so good: There is little or no support for OpenTCP any more. Because of this, we need to think about adapting lwIP to Coldfire/dBUG targets ..and that is a BIG job ..but lwIP has an active and supportive community.

Bfn,

Bob Furber



int main(void)
{
     tcpip_init(0);
    gUdp_socket = udp_getsocket(0,udpCallback,0);
    udp_open(gUdp_socket,port);
   while(1) tcp_tick();
}

My problem is that after a couple of time (about 3-4 minutes) that program runs without receiving command packets, if I send it a packet, it doesn't execute callback. Only after 3 or 4 received packets it executes callback and process all packets received. Packets are not lost, because when program "wakes-up", it process all packets in the same order that it has received them.
I think that buffer queue hangs for an unknown cause, and then re-starts work in the right mode when buffer has more packets.
What might happens?
Thank you, regards
Mauro


coldfire@... Send a post to the list. coldfire-join@... Join the list. coldfire-digest@... Join the list in digest mode. coldfire-leave@... Leave the list.

---
coldfire@...              Send a post to the list.
coldfire-join@...        Join the list.
coldfire-digest@...    Join the list in digest mode.
coldfire-leave@...     Leave the list.


coldfire@... Send a post to the list. coldfire-join@... Join the list. coldfire-digest@... Join the list in digest mode. coldfire-leave@... Leave the list. coldfire@... Send a post to the list. coldfire-join@... Join the list. coldfire-digest@... Join the list in digest mode. coldfire-leave@... Leave the list.