This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: can get DHCP IP address, but cannot ping


On Mon, Jan 17, 2005 at 07:29:09PM +0900, xxchen wrote:
> Hi,Andrew
> >
> >Are you getting interrupts? If not, that is your problem. You need to
> >find out which interrupt line the ethernet device is using. Read the
> >data sheet for the device.
> >
> 
> The board is designed by myself. I connected INTR0 of LAN91C111 to IRL0 of 
> the SH7760 CPU(through a 74AC04 to invert the level). But I don't know how 
> to set the interrupt item in the private data structure. When I found that 
> the private data of "innovator" platform didn't set interrupt item yet, I 
> thougnt maybe it could work without an interrupt item set. And further more 
> I got the DHCP ip address. If it cannot work without an interrupt, why I 
> get the DHCP ip address?
> Looking forward to your further help.

With most drivers, when you send a packet the driver will also check
if there is a packet waiting to be received. So when DHCP sent the
first packet the DHCP server replied and the ethernet device recieved
the packets. But since you don't have interrupts, the packet just
waited in the buffer. DHCP times out and sent a retry. While sending
the packet the driver checked the receive queue, found the old reply
and passed it to the DHCP code....

You need to take a look at hal_platform_intr.h for your target. Find
the eCos name for the interrupt and use that in setting up the
LAN91C111 driver.

        Andrew

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]