[openbeosnetteam] Re: no such device

  • From: Philippe Houdoin <philippe.houdoin@xxxxxxx>
  • To: openbeosnetteam@xxxxxxxxxxxxx
  • Date: Wed, 12 May 2004 16:04:25 +0200

Quoting info@xxxxxxxxxxxxxx:

> > Sounds good enough, unless you expect to test the kernel version of our
> > OBOS stack!
> >
> > The /dev/net/server is the driver gateway between apps linked against
> > libnet.so (R5.0.x apps) or libsocket.so (BONE apps) and the userland
> > version of the stack, hosted by net_stack_tester app.
> >
> > That means for the OBOS stack to works, you *need* to start this app:
> >
> > $ cd Desktop/OpenBeos/current/tests/add-ons/kernel/network
> > $ net_stack_tester &
> Are you saying that to do any testing with the stack, I need to run that
> program?  Or just that I need to run it if I want to test the kernel
> version?  

You need to run that program *only* if you want to test the *userland* stack
As in your previous post, you reported having only a /dev/net/server driver
installed, I thought that was what you choose to do.

For kernel version of the stack, you don't need to run any extra app, as the
kernel is the stack host.

> Either way, I can't locate it:
> $ pwd
> /boot/home/Desktop/OpenBeos/current/tests
> $ ls
> kits
> There is no add-ons directory.

Maybe because you didn't build it yet:

$ cd /boot/home/Desktop/current/src/tests/add-ons/kernel/network
$ jam

This should build stack modules as userland add-ons and place them under
current/tests/add-ons/kernel/network, unless something is broken.

$ cd /boot/home/Desktop/OpenBeos/current/tests/add-ons/kernel/network
$ net_stack_tester &

> I found a "net_stack_driver", but it doesn't seem to want to load:
> $ net_stack_driver &
> 802
> $ sh: ./net_stack_driver: Invalid argument

net_stack_driver is *not* an app, nor a script. It's a driver.
Once placed in your /boot/home/config/add-ons/kernel/drivers/bin directory and
from there symlinked to /boot/home/config/add-ons/kernel/drivers/dev/net, it
should show up as a new entry under /dev/net/stack.

This entry is used by network kit libraries (libnet.so, libsocket.so) to
interface with the *kernel* stack version.

The /dev/net/server, published by net_server_driver, act the same but with the
*userland* stack version that some app should host, and here come
net_stack_tester app.

I hope I've made this clearer.

> I still get a General OS Error.  I am about ready to nuke my system and
> start over from scratch (it is a test system, so it is no big deal).

Big deal or not,  I still guess you get this error because the net_stack_driver
is not installed, so the *kernel* stack version is not available, and even if
the *userland* stack driver seems installed, until you (build then) run
net_stack_tester app and set the NET_STACK_DRIVER_PATH, the network kit
libraries can't find the stack... hence the (not meaningfull, I confess) error.

- Philippe

Other related posts: