[ECOS] Redboot : Do ping from host to target does not work !

Jonathan Larmour jifl@jifvik.org
Thu Sep 24 16:19:00 GMT 2009


Hurstel Jérôme wrote:
> 
> I want to do remote debugging with GDB. At this point, I have built Redboot 
> and it starts well and get an IP address from my bootp server. I am also able 
> to ping my host from Redboot prompt.
> 
> Nevertheless, I can't do the opposite : Redboot does not answer to ping 
> initiated from my host ! However I can tell that ICMP ping request frames are 
> well received by my ethernet device (LAN91CXX). But as interrupts are not 
> globally enabled in ARM CPSR register, Redboot does not know anything about 
> them !

Redboot operates with interrupts off. This was an intentional design 
decision (otherwise redboot might have to deal with all sorts of 
unexpected interrupts, which should really be for an application to deal 
with).

> Does Redboot install a listener which poll on ethernet interface ? And where 
> is it done in source code ?

Yes it does poll, and doesn't use interrupts. See redboot's net_io.c, 
that's the place to start if you want to understand it.

If I remember right, RedBoot did at one point have a flaw (perhaps it 
still does?) where if you typed in something on e.g. the serial console 
_and_didn't_press_return_, it would not poll the network code, and thus 
not notice pings. Worth checking.

> Is it possible to enable interrupts in CPSR ? And where is the best place to 
> do it ?

Enabling interrupts won't be the solution here.

Clearly if you can ping from redboot, redboot _can_ both send and receive 
packets. I assume you have no firewall in the way. You may also want to 
double-check what you see with a packet sniffer.

Jifl
-- 
--["No sense being pessimistic, it wouldn't work anyway"]-- Opinions==mine

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list