lwip examples

Stefan Kalkowski stefan.kalkowski at ...1...
Thu May 12 11:21:23 CEST 2011


Hello Amadeo,

when looking at your output it seems to me that at least the pci-driver,
and/or timer services are missing in your configuration (normally they
would produce some output), but gPXE's nic-driver depends on them, and
won't run without these services. As long as the nic-driver isn't
available your lwip-application will block while initializing the
lwip-stack.

Please, verify that init's configuration contains at least these items:

<start name="timer">
  <resource name="RAM" quantum="512K"/>
  <provides> <service name="Timer"/> </provides>
</start>

<start name="pci_drv">
  <resource name="RAM" quantum="512K"/>
  <provides> <service name="PCI"/> </provides>
</start>

<start name="gpxe_nic_drv">
  <resource name="RAM" quantum="2M"/>
  <provides> <service name="Nic"/> </provides>
</start>

If this doesn't help you, please post your configuration file.

Regards
Stefan

On 05/12/2011 12:39 AM, Amadeo Cuadrado wrote:
> Thanks Stefan for your answer. Yes, I am building lwip and libc statically.
> 
> I am using qemu to run the .iso, basically:
> 
> qemu -cdrom  'myiso.iso' -net nic,model=pcnet
> 
> I have also used VBox, with same luck. This is the Nic driver I am using:
> 
> <start name="gpxe_nic_drv">
> 	<resource name="RAM" quantum="4M"/>
> 	<provides><service name="Nic"/></provides>
> </start>
> 
> This is the output from the serial port:
> 
> int main(): --- create local services ---
> int main(): --- start init ---
> int main(): transferred 431 MB to init
> int main(): --- init created, waiting for exit condition ---
> [init -> test-lwip_loop] void init_loopback(): init_loopback()
> [init -> test-lwip_loop] Libc::Lwip_plugin::Lwip_plugin(): using the lwIP libc plugin
> [init -> test-lwip_loop] void init_libc_lwip(): init_libc_lwip()
> [init -> test-timer] --- timer test ---
> [init -> test-lwip_loop] int server(): Create new socket ...
> [init -> test-lwip_loop] virtual void Client::entry(): Create new socket ...
> 
> And then it just stops there.
> 
> What do you mean exactly about the signaling framework? Are these examples supposed to not work yet?
> 
> Thanks,
> Amadeo
> 
> 
> -----Original Message-----
> From: Stefan Kalkowski [mailto:stefan.kalkowski at ...1...] 
> Sent: Friday, May 06, 2011 1:16 PM
> To: genode-main at lists.sourceforge.net
> Subject: Re: lwip examples
> 
> Hello Amadeo,
> 
> thank you for pointing us out to the build-problem in the linux_drivers
> repository. We immediately fixed that problem. You can checkout the fix
> from our subversion repository.
> 
> With respect to your problems related to lwip. I assume that you
> compiled lwip and libc as static libraries, as ldso and shared libraries
> aren't supported for Genode/Fiasco.OC yet?
> 
> Without knowing much details I would guess it's a configuration issue.
> Could you please provide some information with respect to your
> test-environment, like what hardware or VM you use, especially which NIC
> you've enabled? Moreover, the init-configuration and the complete serial
> output would be helpful.
> 
> But even when we fix your (probably configuration-)issues it's unlikely
> that the NIC service will work out of the box now, because it's based on
> the signalling framework, which isn't supported yet. But we work on
> that, and it will be supported at the latest by the upcoming release.
> Nevertheless, the mentioned problems have nothing to do with a
> non-functional signalling framework.
> 
> Regards
> Stefan
> 
> On 05/06/2011 01:56 AM, Amadeo Cuadrado wrote:
>> Hello,
>>
>>  
>>
>> I have not been able to run any of the lwip examples (I am using 32
>> bits): loopback hangs in socket() call, and http_srv hangs in the
>> lwip_nic_init() call. I am using the Nic driver from dde_gpxe, since I
>> got compilation errors when building the linux_drivers:
>>
>>  
>>
>> .../genode/linux_drivers/src/linux26/arch/i386/lib/bitops.c: In function
>> 'find_next_zero_bit':
>>
>> .../genode/linux_drivers/include/linux26-x86/asm/bitops.h:283: error:
>> can't find a register in class 'BREG' while reloading 'asm'
>>
>> .../genode/linux_drivers/include/linux26-x86/asm/bitops.h:283: error:
>> 'asm' operand has impossible constraints
>>
>>  
>>
>> Any clue what I could be missing here to make these examples work? Let
>> me know if you need more info about my environment.
>>
>>  
>>
>> Thanks.
>>
>>  
>>
>> Amadeo
>>
>>  
>>
>>
>>
>> ------------------------------------------------------------------------------
>> WhatsUp Gold - Download Free Network Management Software
>> The most intuitive, comprehensive, and cost-effective network 
>> management toolset available today.  Delivers lowest initial 
>> acquisition cost and overall TCO of any competing solution.
>> http://p.sf.net/sfu/whatsupgold-sd
>>
>>
>>
>> _______________________________________________
>> Genode-main mailing list
>> Genode-main at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/genode-main
> 

-- 
Stefan Kalkowski
Genode Labs

http://www.genode-labs.com/ · http://genode.org/

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth




More information about the users mailing list