From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31795 invoked by alias); 30 Aug 2007 22:46:34 -0000 Received: (qmail 31786 invoked by uid 22791); 30 Aug 2007 22:46:34 -0000 X-Spam-Check-By: sourceware.org Received: from 204-133-123-27.dia.static.slbbi.com (HELO mail.chez-thomas.org) (204.133.123.27) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 30 Aug 2007 22:46:29 +0000 Received: by mail.chez-thomas.org (Postfix, from userid 999) id B1DB219500C1; Thu, 30 Aug 2007 16:46:27 -0600 (MDT) Received: from [192.168.1.101] (hermes_local [192.168.1.101]) by mail.chez-thomas.org (Postfix) with ESMTP id 94C3C19500C1; Thu, 30 Aug 2007 16:46:24 -0600 (MDT) Message-ID: <46D748BF.6010002@mlbassoc.com> Date: Thu, 30 Aug 2007 22:46:00 -0000 From: Gary Thomas User-Agent: Thunderbird 1.5.0.12 (X11/20070530) MIME-Version: 1.0 To: Tom Malcolmson CC: ecos-discuss@ecos.sourceware.org References: <46D735D8.8010409@Malcolmson.com> In-Reply-To: <46D735D8.8010409@Malcolmson.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: Re: [ECOS] ethernet driver - receiving packets doesn't work X-SW-Source: 2007-08/txt/msg00174.txt.bz2 Tom Malcolmson wrote: > Hi. > > I'm new to eCos - we are trying to move away from a proprietary OS, and > I'm having basic problems with my Ethernet driver. > > I'm using an eCos 2.0 snapshot from September 2006 on an ARM platform > with the standard FreeBSD stack. > > Sending packets from an eCos app, thru my driver works fine, but eCos > doesn't seem to do anything with the packets that I deliver up to it: > they never back up to the application. For DHCP for instance, I see the > DHCP request come out of my system, and I see a DHCP offer from the > server go back into my system. I can see from debug prints in the > generic ethernet driver that it has correctly received the DHCP offer, > but the offer never gets back to the app. I have tried apps other then > DHCP. > > Now, I should expain that there is no actual ethernet hardware, so no > ethernet interrupts, etc. My guide for writing the driver has been the > eCos reference manual, chapter 46: > http://ecos.sourceware.org/docs-2.0/ref/io-eth-drv-generic1.html > But I skip some steps since I don`t have a DSR. When I have a packet > for the net stack, I just call (sc->funs->eth_drv->recv)() with the > number of bytes needed. eCos calls my receive function which puts the > packet into the sg list. From debug output I can see that the generic > driver code (eth_drv.c) has corrrectly received my packet and presumably > calls ether_input. > > A couple other thing. Loopback tests work. I don`t have any debugging > capability. > > I believe that the next step for me would be to insert print statements > in if_ethersubr.c. For the network stack, you need to at least pretend that you get interrupts and call the DSR. The driver normally calls into the network stack at DSR time and the stack's input processing thread is what eventually calls your handler to fetch the packet, etc. I don't think it will work without this interaction. -- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------ -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss