Stefan, I did get test-lwip_httpsrv working on pistachio+genode so I guess we can use this until you guys put the fiasco.oc support in.
Thanks Daniel On 05/12/2011 03:41 PM, Daniel Waddington wrote: > Stefan, > Are you sure we are expecting to be able to run this on genode-linux? > For example, when we run the pci_drv we get an abort due to "no IO > PORT support in Linux"???? > > I think we're missing something here. > > Thanks > Daniel > > On 05/12/2011 02:50 PM, Daniel Waddington wrote: >> Guess we need to add the template parameter to max, max<unsigned long>? >> >> Daniel >> >> On 05/12/2011 02:32 PM, Amadeo Cuadrado wrote: >>> Thanks Norman and Stefan. >>> >>> While trying to run these examples with Linux instead of foc, I >>> would like to report I get the following error when building the NIC >>> driver: >>> >>> Program drivers/gpxe_nic/gpxe_nic_drv >>> COMPILE main.o >>> .../genode/dde_gpxe/src/drivers/gpxe_nic/main.cc: In member function >>> 'virtual Nic::Session_component* Nic::Root::_create_session(const >>> char*)': >>> .../genode/dde_gpxe/src/drivers/gpxe_nic/main.cc:187: error: no >>> matching function for call to 'max(unsigned int, long unsigned int)' >>> >>> Is this known? >>> >>> Thanks, >>> Amadeo >>> >>> >>> -----Original Message----- >>> From: Norman Feske [mailto:[email protected]] >>> Sent: Thursday, May 12, 2011 5:07 AM >>> To: [email protected] >>> Subject: Re: lwip examples >>> >>> Hi Amadeo, >>> >>> even though your current issue may be related to a configuration >>> problem >>> (e.g., the creation of a tap device before starting qemu, configuring >>> the bridge device), I want to mention that networking support is not >>> expected to work on the current Fiasco.OC version. There are two known >>> limitations (documented at >>> 'http://genode.org/documentation/release-notes/11.02#section-7') that >>> currently stand in the way. One is the lacking support for dynamic >>> loading of the lwIP library (ok, I see that you are using a work-around >>> for this limitation via linking statically). But more importantly, the >>> Fiasco.OC version does not support Genode's signalling API yet. This >>> API, however, is used by the data-flow protocol used between lwIP and >>> the NIC driver (Genode's packet-stream interface). >>> >>> That said, both limitations will be addressed by the upcoming Genode >>> version to be released later this month. In the meanwhile, if you want >>> to get hands-on-experience with using lwIP on Genode, I recommend >>> walking the currently well-explored path of using one of the other >>> kernels. In your case, I would start with Linux and eventually give >>> OKL4 >>> a try. From your test application's perspective, this should not make >>> any difference. >>> >>> For further reference about using lwIP on Genode/Linux with bridging, >>> you may take a look at the steps described here: >>> >>> http://www.genode.org/documentation/release-notes/10.05#section-35 >>> >>> Cheers >>> Norman >>> >>> On 05/12/2011 11:21 AM, Stefan Kalkowski wrote: >>>> 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:[email protected]] >>>>> Sent: Friday, May 06, 2011 1:16 PM >>>>> To: [email protected] >>>>> 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 >>>>>> [email protected] >>>>>> https://lists.sourceforge.net/lists/listinfo/genode-main >>> > ------------------------------------------------------------------------------ Achieve unprecedented app performance and reliability What every C/C++ and Fortran developer should know. Learn how Intel has extended the reach of its next-generation tools to help boost performance applications - inlcuding clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ Genode-main mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/genode-main
