Hi Folks,
I'm trying to use the dde_ipxe NIC driver, but when I connect to the service from within a launchpad-launched app, I get this message:
[init -> launchpad] init: service Nic not yet available - sleeping
But prior to that, the service was actually announced:
[init] child "nic_drv" announces service "Nic"
When I create the connection in the launchpad app, it works fine. The relevant config snippets are:
<start name="nic_drv"> <resource name="RAM" quantum="2M"/> <provides> <service name="Nic"/> </provides> <route> <any-service><any-child/><parent/></any-service> </route> </start> <start name="launchpad"> <resource name="RAM" quantum="2G"/> <configfile name="launchpad-config"/> <route> <any-service><any-child/><parent/></any-service> </route> </start>
And within the launchpad-config:
<parent-provides> <service name="ROM"/> <service name="RAM"/> <service name="IRQ"/> <service name="IO_MEM"/> <service name="IO_PORT"/> <service name="CAP"/> <service name="PD"/> <service name="RM"/> <service name="CPU"/> <service name="LOG"/> <service name="SIGNAL"/> <service name="Nitpicker"/> <service name="Timer"/> <service name="Nic"/> </parent-provides> <start name="testapp"> <binary name="testapp"/> <resource name="RAM" quantum="4M"/> <route> <service name="Timer"><parent/></service> <service name="Input"><child name="fb"/></service> <service name="Framebuffer"><child name="fb"/></service> <any-service><parent/></any-service> </route> </start>
Am I missing something?
Cheers, Markus
Bumping this topic once again...
On 5 September 2012 10:23, Markus Partheymueller <mail@...119...> wrote:
Hi Folks,
I'm trying to use the dde_ipxe NIC driver, but when I connect to the service from within a launchpad-launched app, I get this message:
[init -> launchpad] init: service Nic not yet available - sleeping
But prior to that, the service was actually announced:
[init] child "nic_drv" announces service "Nic"
When I create the connection in the launchpad app, it works fine. The relevant config snippets are:
<start name="nic_drv"> <resource name="RAM" quantum="2M"/> <provides> <service name="Nic"/> </provides> <route> <any-service><any-child/><parent/></any-service> </route> </start> <start name="launchpad"> <resource name="RAM" quantum="2G"/> <configfile name="launchpad-config"/> <route> <any-service><any-child/><parent/></any-service> </route> </start>
And within the launchpad-config:
<parent-provides> <service name="ROM"/> <service name="RAM"/> <service name="IRQ"/> <service name="IO_MEM"/> <service name="IO_PORT"/> <service name="CAP"/> <service name="PD"/> <service name="RM"/> <service name="CPU"/> <service name="LOG"/> <service name="SIGNAL"/> <service name="Nitpicker"/> <service name="Timer"/> <service name="Nic"/> </parent-provides> <start name="testapp"> <binary name="testapp"/> <resource name="RAM" quantum="4M"/> <route> <service name="Timer"><parent/></service> <service name="Input"><child
name="fb"/></service> <service name="Framebuffer"><child name="fb"/></service> <any-service><parent/></any-service> </route> </start>
Am I missing something?
Cheers, Markus
Hi Markus,
sorry that your email somehow slipped through. You did everything correctly on your part. The problem is caused by a policy hard-coded in launchpad. See:
https://github.com/genodelabs/genode/blob/master/demo/src/lib/launchpad/laun...
By taking a look in the 'Launchpad::Launchpad' constructor, you will see what I mean. You will need to add "Nic" to the line where the other services such as "Nitpicker" are listed.
Compared to 'init', the configuration of launchpad is pretty archaic. We are using it just for demo purposes. So it is receiving not much love.
Cheers Norman