iwlwifi for 7260 card: DMA memory allocation fails

Christian Menard christian.menard at ...104...
Thu Dec 4 14:58:37 CET 2014


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 <christian.menard at ...104...> [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
> genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main





More information about the users mailing list