<div dir="ltr"><div>The kernel which has thinfirm is at:</div><a href="http://download.unleashkids.org/xsce/downloads/os/xo1.5/kernel-3.3.8_xo1.5-20160102.1250.06CE.8ddad46.i686.rpm" target="_blank">http://download.unleashkids.org/xsce/downloads/os/xo1.5/kernel-3.3.8_xo1.5-20160102.1250.06CE.8ddad46.i686.rpm</a><br><div><br></div><div>And there's an Internet In a Box image with AP function all set up at:</div><div><br></div><div><a href="http://download.unleashkids.org/xsce/downloads/os/xo1.5/160210_xo1.5_ap.img.zip">http://download.unleashkids.org/xsce/downloads/os/xo1.5/160210_xo1.5_ap.img.zip</a> ready to dd onto an SD card (minus content).<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Apr 3, 2016 at 4:39 PM, James Cameron <span dir="ltr"><<a href="mailto:quozl@laptop.org" target="_blank">quozl@laptop.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks, very interesting.<br>
<br>
The wireless card contains an ARM processor, and that's what the<br>
firmware runs on.<br>
<br>
Yes, the firmware had proven to be stable when used by Open Firmware<br>
for NANDblaster function, but Open Firmware uses a subset of the<br>
commands supported.<br>
<br>
On the other hand, Linux uses many more commands, and so is likely to<br>
expose any undiagnosed problems in the firmware, which cause the card<br>
to hang and the driver to cease traffic.<br>
<br>
Some work was done upstream in the past year for mwifiex/mv8787<br>
recovery after firmware hang, but I've not noticed any recent work on<br>
libertas.<br>
<br>
My gut feel is that your random observation ping results are missed<br>
receive interrupts; a packet is being received late just after the<br>
system sends the card an unrelated command, and you might observe a<br>
response to tuning of the ping interval.<br>
<br>
Do you have your latest kernel source available anywhere?<br>
<div><div class="h5"><br>
On Sat, Apr 02, 2016 at 11:44:03AM -0700, George Hunt wrote:<br>
> The recent SD cards are so cheap, and wikipedia in various languages is such a<br>
> good replacement for the encyclopedia I devoured as a kid, I spent a few weeks<br>
> on this project.<br>
><br>
> The results were mixed, but just not good enough. The XO1.5 can act as a<br>
> gateway for a few minutes, or  a few hours (with apparently random delays to<br>
> the point of failure). But eventually, the libertas thinfirm driver, or<br>
> firmware, gets to be unresponsive, and only a reboot will correct the<br>
> situation.<br>
><br>
> History<br>
> The libertas AP function was developed by OLPC in the 2010 timeframe (and used<br>
> successfully by openfirmware for flashing many XO at a time). I'm not clear<br>
> whether "thinfirm" firmware was generated by marvel, or modfied by outside<br>
> consultant, cozybit under nondisclosure agreement., This firmware may have<br>
> removed some function, but added AP capability. The driver was modified, in<br>
> order to add the sdio interface (the OLPC motherboard uses SDIO interface<br>
> rather than the pre-existing usb driver interface). The thinfirm driver (with<br>
> USB interface) has been upstreamed, and accepted into the kernel.  But the SDIO<br>
> interface modifications to the driver have not. More recently discovered sdio<br>
> code has not been tried (2) -- or maybe it's the same in a different package.<br>
><br>
> Olpc documentation of the AP function existed, and I tried to follow the<br>
> instructions (1)(4)(7)<br>
><br>
> Jerry Vonau found a patch for sdio interface to thinfirm, which was the one I<br>
> tested (5). If I were to continue, I'd probably try the patch at (2) since it's<br>
> more recent.<br>
><br>
> There are references to setting the libertas_tf driver into debug mode, which I<br>
> did not pursue, since I'd need to learn a lot more about wireless protocols, to<br>
> make use of the debugging information.(6) But that's probably what I would need<br>
> to do if I continued.<br>
><br>
> Random observation:<br>
>    if a wifi client is connected to an XO1.5 acting as AP, and both the client<br>
> and the server are set to ping one another, the client ping delays are<br>
> constant. but the server delays are bi-modal, either 5ms or 230ms.<br>
><br>
</div></div>>  1. [1]<a href="http://wiki.laptop.org/go/Thinfirm_1.5" rel="noreferrer" target="_blank">http://wiki.laptop.org/go/Thinfirm_1.5</a><br>
>  2. [2]<a href="http://www.sleepyrobot.com/?p=160" rel="noreferrer" target="_blank">http://www.sleepyrobot.com/?p=160</a> --<br>
>  3. [3]<a href="http://dev.laptop.org/git/users/derosier/wireless-testing/tree/drivers/" rel="noreferrer" target="_blank">http://dev.laptop.org/git/users/derosier/wireless-testing/tree/drivers/</a><br>
>     net/wireless/libertas_tf<br>
>  4. [4]<a href="http://wiki.laptop.org/go/Libertas_Thinfirmware_HOWTO" rel="noreferrer" target="_blank">http://wiki.laptop.org/go/Libertas_Thinfirmware_HOWTO</a><br>
>  5. [5]<a href="http://www.spinics.net/lists/linux-wireless/msg55208.html" rel="noreferrer" target="_blank">http://www.spinics.net/lists/linux-wireless/msg55208.html</a><br>
>  6. [6]<a href="http://labs.isee.biz/index.php/How_to_setup_Marvell_88w8686_SDIO_wifi#" rel="noreferrer" target="_blank">http://labs.isee.biz/index.php/How_to_setup_Marvell_88w8686_SDIO_wifi#</a><br>
>     How_to_debug_the_libertas_driver<br>
>  7. [7]<a href="http://wiki.laptop.org/go/XO_as_AP" rel="noreferrer" target="_blank">http://wiki.laptop.org/go/XO_as_AP</a><br>
><br>
> References:<br>
><br>
> [1] <a href="http://wiki.laptop.org/go/Thinfirm_1.5" rel="noreferrer" target="_blank">http://wiki.laptop.org/go/Thinfirm_1.5</a><br>
> [2] <a href="http://www.sleepyrobot.com/?p=160" rel="noreferrer" target="_blank">http://www.sleepyrobot.com/?p=160</a><br>
> [3] <a href="http://dev.laptop.org/git/users/derosier/wireless-testing/tree/drivers/net/wireless/libertas_tf" rel="noreferrer" target="_blank">http://dev.laptop.org/git/users/derosier/wireless-testing/tree/drivers/net/wireless/libertas_tf</a><br>
> [4] <a href="http://wiki.laptop.org/go/Libertas_Thinfirmware_HOWTO" rel="noreferrer" target="_blank">http://wiki.laptop.org/go/Libertas_Thinfirmware_HOWTO</a><br>
> [5] <a href="http://www.spinics.net/lists/linux-wireless/msg55208.html" rel="noreferrer" target="_blank">http://www.spinics.net/lists/linux-wireless/msg55208.html</a><br>
> [6] <a href="http://labs.isee.biz/index.php/How_to_setup_Marvell_88w8686_SDIO_wifi#How_to_debug_the_libertas_driver" rel="noreferrer" target="_blank">http://labs.isee.biz/index.php/How_to_setup_Marvell_88w8686_SDIO_wifi#How_to_debug_the_libertas_driver</a><br>
> [7] <a href="http://wiki.laptop.org/go/XO_as_AP" rel="noreferrer" target="_blank">http://wiki.laptop.org/go/XO_as_AP</a><br>
<br>
> _______________________________________________<br>
> Devel mailing list<br>
> <a href="mailto:Devel@lists.laptop.org">Devel@lists.laptop.org</a><br>
> <a href="http://lists.laptop.org/listinfo/devel" rel="noreferrer" target="_blank">http://lists.laptop.org/listinfo/devel</a><br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
--<br>
James Cameron<br>
<a href="http://quozl.netrek.org/" rel="noreferrer" target="_blank">http://quozl.netrek.org/</a><br>
</font></span></blockquote></div><br></div>