Hello, I got the driver running! Thanks for the help. The problem turned out to be a page fault due to nullpointer access, witch I did not see as I was only focused on the wifi_drv log... Furthermore I had to fix more DMA memory allocations and another page fault. However, now it's working fine and netperf shows very reasonable performance :)
I will clean up my patches and create a pull request on github, so you can have a look at my changes and decide if you want to merge them in. Cheers Christian On Tuesday 02 December 2014 23:24:49 Josef Söntgen wrote: > Hi Christian, > > * Christian Menard <[email protected]> [2014-12-02 21:07:48 +0300]: > > Thank you for the explanation. I traced down two such allocs and changed > > the flag accordingly. Now the log is error free (besides the "slab too > > large" messages mentioned before). However, as it appears the driver is > > not working. I get the message "iwl driver loaded" but then nothing > > happens anymore. I guess there should be more output for searching the > > network, establishing connection etc? > > Well, it is somewhat unfortunate that even if the driver fails to load > properly there is still “iwl driver loaded” printed… > > > I tried to track down the problem, but so far I only found that > > wpa_supplicant blocks on it's socket in netlink_init(). The _handle() > > function which would unblock wpa_supplicant is never called. Oddly, this > > part seems to work fine without my changes to the DMA memory allocations. > > Do you have any ideas what might be wrong? > > My guess is that the wifi_drv_ep is currently blocked or rather there > is a deadlock somewhere involving the task scheduling. A signal is > send if the the socket_call interface is used and if the signal is not > handled by the entrypoint wpa_supplicant will hang indefinitely as > you have already observed. > > It is probably worth a shot to look at the task scheduling by setting > DEBUG_SCHEDULE to 1 in lx.h. You can also edit Scheduler::schedule() > directly and add a print statement on line 175. Since the scheduling > of tasks is done periodicly you should see some output in a good case > scenario. If not, the wifi_drv_ep is not running properly which is > the case if some task blocks w/o invoking the scheduling of another > task. > > It might work fine w/o your DMA changes because w/o them another code > path in the driver code is taken because the DMA operations failed > early. > > Regards > Josef > > ---------------------------------------------------------------------------- > -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk > _______________________________________________ > genode-main mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/genode-main ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk _______________________________________________ genode-main mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/genode-main
