public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] changing ethernet driver
@ 2001-09-04  2:46 Arif.Abbas
  2001-09-07 15:05 ` Jonathan Larmour
  0 siblings, 1 reply; 4+ messages in thread
From: Arif.Abbas @ 2001-09-04  2:46 UTC (permalink / raw)
  To: ecos-discuss

Hi!

   I am working on a platform that is very similiar to the eCos-supported
nanoEngine platform.
What I am trying to do now, is to remove the current Ethernetdriver (Intel
I82559 and BSE nanoEngine ethernet driver)
and instead use a "pseudo-driver". For now, I am trying SLIP, but am
supposed to use PPP later on.
(Since SLIP is much simpler and by doing this, I thought I would learn how
to add new drivers and how to 
link them into the stack)
What I have done so far, is to add the CDL to the directory
devs/eth/slip/current/cdl and the c and h file to 
devs/eth/slip/current/src
I have also modified the ecos.db and added the "slip package".

But when I start from the nanoEngines template, and want to remove the
default networkdrivers and instead use
the SLIP using the config tool, I get an error which sais: 
"Add and remove hardware packages by selecting new hardware template". 

Is there any easy way to do this? Or should I manually change the .ecc file
and add my slip package?
How do I do this?

Any replies, comments or suggestions would be highly appreciated.

Regards,
Arif Abbas

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ECOS] changing ethernet driver
  2001-09-04  2:46 [ECOS] changing ethernet driver Arif.Abbas
@ 2001-09-07 15:05 ` Jonathan Larmour
  0 siblings, 0 replies; 4+ messages in thread
From: Jonathan Larmour @ 2001-09-07 15:05 UTC (permalink / raw)
  To: Arif.Abbas; +Cc: ecos-discuss

Arif.Abbas@combitechsystems.com wrote:
> 
> Hi!
> 
>    I am working on a platform that is very similiar to the eCos-supported
> nanoEngine platform.
> What I am trying to do now, is to remove the current Ethernetdriver (Intel
> I82559 and BSE nanoEngine ethernet driver)
> and instead use a "pseudo-driver". For now, I am trying SLIP, but am
> supposed to use PPP later on.
> (Since SLIP is much simpler and by doing this, I thought I would learn how
> to add new drivers and how to
> link them into the stack)
> What I have done so far, is to add the CDL to the directory
> devs/eth/slip/current/cdl and the c and h file to
> devs/eth/slip/current/src
> I have also modified the ecos.db and added the "slip package".
> 
> But when I start from the nanoEngines template, and want to remove the
> default networkdrivers and instead use
> the SLIP using the config tool, I get an error which sais:
> "Add and remove hardware packages by selecting new hardware template".
> 
> Is there any easy way to do this? Or should I manually change the .ecc file
> and add my slip package?
> How do I do this?

You can't unload "hardware" packages. Instead you should modify the
hardware description for your target in ecos.db (currently nanoengine for
you, but you may as well make a new section for your target) so that it
only lists the hardware packages you want.

Jifl
-- 
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ECOS] changing ethernet driver
  2001-09-13  0:54 Arif.Abbas
@ 2001-09-13 11:32 ` Jonathan Larmour
  0 siblings, 0 replies; 4+ messages in thread
From: Jonathan Larmour @ 2001-09-13 11:32 UTC (permalink / raw)
  To: Arif.Abbas; +Cc: ecos-discuss

Arif.Abbas@combitechsystems.com wrote:
> 
> But it seems like the build option does not compile the if_ppp.c file,
> because when I add lines like "testing" I don't get parse errors...
> 
> I don't know if this is because of the activeif statement...

To find out what is affecting the options, and why they are enabled,
disabled, inactive, etc. the best thing to do is actually look at what the
.ecc file says, as that will give the explanation as to why an option has
its current value. So if it is inactive or disabled it should tell you why.

Jifl
-- 
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: [ECOS] changing ethernet driver
@ 2001-09-13  0:54 Arif.Abbas
  2001-09-13 11:32 ` Jonathan Larmour
  0 siblings, 1 reply; 4+ messages in thread
From: Arif.Abbas @ 2001-09-13  0:54 UTC (permalink / raw)
  To: ecos-discuss

Thanks, Jifl...BUT:

I am still having problems with merging a new "pseudo" driver...
What I did was to add following package in ecos.db:

package CYGPKG_DEVS_ETH_PPP {
	alias 		{ "PPP ethernet driver" ppp0 }
	hardware
	directory	devs/eth/ppp
	script		ppp_eth_driver.cdl
        description     "Ethernet driver for PPP"
}


After this, I created the CDL:

cdl_package CYGPKG_DEVS_ETH_PPP {
    display       "PPP ethernet drivers"

    parent        CYGPKG_IO_ETH_DRIVERS
    active_if     CYGPKG_IO_ETH_DRIVERS

    implements    CYGHWR_NET_DRIVERS
    implements    CYGHWR_NET_DRIVER_ETH0
    include_dir   .
    include_files ; # none _exported_ whatsoever
    description   "Ethernet driver for PPP ."
    compile       -library=libextras.a if_ppp.c

    cdl_component CYGPKG_DEVS_ETH_PPP_OPTIONS {
        display "PPP ethernet driver build options"
        flavor  none
	no_define

    }
}

Finally I created a nano-template with networking in CT, and then 
manaully removed the  

package -hardware CYGPKG_DEVS_ETH_ARM_NANO current ;
package -hardware CYGPKG_DEVS_ETH_INTEL_I82559 current ;

and added

package CYGPKG_DEVS_ETH_PPP current ;

in the .ecc file.

But it seems like the build option does not compile the if_ppp.c file,
because when I add lines like "testing" I don't get parse errors...

I don't know if this is because of the activeif statement...

Or if I have failed to actually connect the PPP to upper layers..
You see, in the if_ppp.c file, I never use the ETH_DRV_SC macro.
Instead, I just use the NETDEVTAB_ENTRY macro, and connect the ppp_sc
structure 
directly to the ifnet structure  (instead of connecting it to eth_drv_sc and
then
letting it connect to ifnet). this should be enough...right?
Maybe this means that I can't use the CYGPKG_IO_ETH_DRIVERS as parent?

I am confused...Can anyone out there give me some hints/help/suggestions?
THANKS!

Best regards,
Arif


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2001-09-13 11:32 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-09-04  2:46 [ECOS] changing ethernet driver Arif.Abbas
2001-09-07 15:05 ` Jonathan Larmour
2001-09-13  0:54 Arif.Abbas
2001-09-13 11:32 ` Jonathan Larmour

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).