Alas, I'm giving up on Access Point function for XO1.5

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Alas, I'm giving up on Access Point function for XO1.5

George Hunt
The recent SD cards are so cheap, and wikipedia in various languages is such a good replacement for the encyclopedia I devoured as a kid, I spent a few weeks on this project.

The results were mixed, but just not good enough. The XO1.5 can act as a gateway for a few minutes, or  a few hours (with apparently random delays to the point of failure). But eventually, the libertas thinfirm driver, or firmware, gets to be unresponsive, and only a reboot will correct the situation.

History
The libertas AP function was developed by OLPC in the 2010 timeframe (and used successfully by openfirmware for flashing many XO at a time). I'm not clear whether "thinfirm" firmware was generated by marvel, or modfied by outside consultant, cozybit under nondisclosure agreement., This firmware may have removed some function, but added AP capability. The driver was modified, in order to add the sdio interface (the OLPC motherboard uses SDIO interface rather than the pre-existing usb driver interface). The thinfirm driver (with USB interface) has been upstreamed, and accepted into the kernel.  But the SDIO interface modifications to the driver have not. More recently discovered sdio code has not been tried (2) -- or maybe it's the same in a different package.

Olpc documentation of the AP function existed, and I tried to follow the instructions (1)(4)(7)

Jerry Vonau found a patch for sdio interface to thinfirm, which was the one I tested (5). If I were to continue, I'd probably try the patch at (2) since it's more recent.

There are references to setting the libertas_tf driver into debug mode, which I did not pursue, since I'd need to learn a lot more about wireless protocols, to make use of the debugging information.(6) But that's probably what I would need to do if I continued.


Random observation:

_______________________________________________
Devel mailing list
[hidden email]
http://lists.laptop.org/listinfo/devel
Reply | Threaded
Open this post in threaded view
|

Re: Alas, I'm giving up on Access Point function for XO1.5

James Cameron-2
Thanks, very interesting.

The wireless card contains an ARM processor, and that's what the
firmware runs on.

Yes, the firmware had proven to be stable when used by Open Firmware
for NANDblaster function, but Open Firmware uses a subset of the
commands supported.

On the other hand, Linux uses many more commands, and so is likely to
expose any undiagnosed problems in the firmware, which cause the card
to hang and the driver to cease traffic.

Some work was done upstream in the past year for mwifiex/mv8787
recovery after firmware hang, but I've not noticed any recent work on
libertas.

My gut feel is that your random observation ping results are missed
receive interrupts; a packet is being received late just after the
system sends the card an unrelated command, and you might observe a
response to tuning of the ping interval.

Do you have your latest kernel source available anywhere?

On Sat, Apr 02, 2016 at 11:44:03AM -0700, George Hunt wrote:

> The recent SD cards are so cheap, and wikipedia in various languages is such a
> good replacement for the encyclopedia I devoured as a kid, I spent a few weeks
> on this project.
>
> The results were mixed, but just not good enough. The XO1.5 can act as a
> gateway for a few minutes, or  a few hours (with apparently random delays to
> the point of failure). But eventually, the libertas thinfirm driver, or
> firmware, gets to be unresponsive, and only a reboot will correct the
> situation.
>
> History
> The libertas AP function was developed by OLPC in the 2010 timeframe (and used
> successfully by openfirmware for flashing many XO at a time). I'm not clear
> whether "thinfirm" firmware was generated by marvel, or modfied by outside
> consultant, cozybit under nondisclosure agreement., This firmware may have
> removed some function, but added AP capability. The driver was modified, in
> order to add the sdio interface (the OLPC motherboard uses SDIO interface
> rather than the pre-existing usb driver interface). The thinfirm driver (with
> USB interface) has been upstreamed, and accepted into the kernel.  But the SDIO
> interface modifications to the driver have not. More recently discovered sdio
> code has not been tried (2) -- or maybe it's the same in a different package.
>
> Olpc documentation of the AP function existed, and I tried to follow the
> instructions (1)(4)(7)
>
> Jerry Vonau found a patch for sdio interface to thinfirm, which was the one I
> tested (5). If I were to continue, I'd probably try the patch at (2) since it's
> more recent.
>
> There are references to setting the libertas_tf driver into debug mode, which I
> did not pursue, since I'd need to learn a lot more about wireless protocols, to
> make use of the debugging information.(6) But that's probably what I would need
> to do if I continued.
>
> Random observation:
>    if a wifi client is connected to an XO1.5 acting as AP, and both the client
> and the server are set to ping one another, the client ping delays are
> constant. but the server delays are bi-modal, either 5ms or 230ms.
>
>  1. [1]http://wiki.laptop.org/go/Thinfirm_1.5
>  2. [2]http://www.sleepyrobot.com/?p=160 --
>  3. [3]http://dev.laptop.org/git/users/derosier/wireless-testing/tree/drivers/
>     net/wireless/libertas_tf
>  4. [4]http://wiki.laptop.org/go/Libertas_Thinfirmware_HOWTO
>  5. [5]http://www.spinics.net/lists/linux-wireless/msg55208.html
>  6. [6]http://labs.isee.biz/index.php/How_to_setup_Marvell_88w8686_SDIO_wifi#
>     How_to_debug_the_libertas_driver
>  7. [7]http://wiki.laptop.org/go/XO_as_AP
>
> References:
>
> [1] http://wiki.laptop.org/go/Thinfirm_1.5
> [2] http://www.sleepyrobot.com/?p=160
> [3] http://dev.laptop.org/git/users/derosier/wireless-testing/tree/drivers/net/wireless/libertas_tf
> [4] http://wiki.laptop.org/go/Libertas_Thinfirmware_HOWTO
> [5] http://www.spinics.net/lists/linux-wireless/msg55208.html
> [6] http://labs.isee.biz/index.php/How_to_setup_Marvell_88w8686_SDIO_wifi#How_to_debug_the_libertas_driver
> [7] http://wiki.laptop.org/go/XO_as_AP

> _______________________________________________
> Devel mailing list
> [hidden email]
> http://lists.laptop.org/listinfo/devel


--
James Cameron
http://quozl.netrek.org/
_______________________________________________
Devel mailing list
[hidden email]
http://lists.laptop.org/listinfo/devel
Reply | Threaded
Open this post in threaded view
|

Re: Alas, I'm giving up on Access Point function for XO1.5

George Hunt
The kernel which has thinfirm is at:
http://download.unleashkids.org/xsce/downloads/os/xo1.5/kernel-3.3.8_xo1.5-20160102.1250.06CE.8ddad46.i686.rpm

And there's an Internet In a Box image with AP function all set up at:


On Sun, Apr 3, 2016 at 4:39 PM, James Cameron <[hidden email]> wrote:
Thanks, very interesting.

The wireless card contains an ARM processor, and that's what the
firmware runs on.

Yes, the firmware had proven to be stable when used by Open Firmware
for NANDblaster function, but Open Firmware uses a subset of the
commands supported.

On the other hand, Linux uses many more commands, and so is likely to
expose any undiagnosed problems in the firmware, which cause the card
to hang and the driver to cease traffic.

Some work was done upstream in the past year for mwifiex/mv8787
recovery after firmware hang, but I've not noticed any recent work on
libertas.

My gut feel is that your random observation ping results are missed
receive interrupts; a packet is being received late just after the
system sends the card an unrelated command, and you might observe a
response to tuning of the ping interval.

Do you have your latest kernel source available anywhere?

On Sat, Apr 02, 2016 at 11:44:03AM -0700, George Hunt wrote:
> The recent SD cards are so cheap, and wikipedia in various languages is such a
> good replacement for the encyclopedia I devoured as a kid, I spent a few weeks
> on this project.
>
> The results were mixed, but just not good enough. The XO1.5 can act as a
> gateway for a few minutes, or  a few hours (with apparently random delays to
> the point of failure). But eventually, the libertas thinfirm driver, or
> firmware, gets to be unresponsive, and only a reboot will correct the
> situation.
>
> History
> The libertas AP function was developed by OLPC in the 2010 timeframe (and used
> successfully by openfirmware for flashing many XO at a time). I'm not clear
> whether "thinfirm" firmware was generated by marvel, or modfied by outside
> consultant, cozybit under nondisclosure agreement., This firmware may have
> removed some function, but added AP capability. The driver was modified, in
> order to add the sdio interface (the OLPC motherboard uses SDIO interface
> rather than the pre-existing usb driver interface). The thinfirm driver (with
> USB interface) has been upstreamed, and accepted into the kernel.  But the SDIO
> interface modifications to the driver have not. More recently discovered sdio
> code has not been tried (2) -- or maybe it's the same in a different package.
>
> Olpc documentation of the AP function existed, and I tried to follow the
> instructions (1)(4)(7)
>
> Jerry Vonau found a patch for sdio interface to thinfirm, which was the one I
> tested (5). If I were to continue, I'd probably try the patch at (2) since it's
> more recent.
>
> There are references to setting the libertas_tf driver into debug mode, which I
> did not pursue, since I'd need to learn a lot more about wireless protocols, to
> make use of the debugging information.(6) But that's probably what I would need
> to do if I continued.
>
> Random observation:
>    if a wifi client is connected to an XO1.5 acting as AP, and both the client
> and the server are set to ping one another, the client ping delays are
> constant. but the server delays are bi-modal, either 5ms or 230ms.
>
>  1. [1]http://wiki.laptop.org/go/Thinfirm_1.5
>  2. [2]http://www.sleepyrobot.com/?p=160 --
>  3. [3]http://dev.laptop.org/git/users/derosier/wireless-testing/tree/drivers/
>     net/wireless/libertas_tf
>  4. [4]http://wiki.laptop.org/go/Libertas_Thinfirmware_HOWTO
>  5. [5]http://www.spinics.net/lists/linux-wireless/msg55208.html
>  6. [6]http://labs.isee.biz/index.php/How_to_setup_Marvell_88w8686_SDIO_wifi#
>     How_to_debug_the_libertas_driver
>  7. [7]http://wiki.laptop.org/go/XO_as_AP
>
> References:
>
> [1] http://wiki.laptop.org/go/Thinfirm_1.5
> [2] http://www.sleepyrobot.com/?p=160
> [3] http://dev.laptop.org/git/users/derosier/wireless-testing/tree/drivers/net/wireless/libertas_tf
> [4] http://wiki.laptop.org/go/Libertas_Thinfirmware_HOWTO
> [5] http://www.spinics.net/lists/linux-wireless/msg55208.html
> [6] http://labs.isee.biz/index.php/How_to_setup_Marvell_88w8686_SDIO_wifi#How_to_debug_the_libertas_driver
> [7] http://wiki.laptop.org/go/XO_as_AP

> _______________________________________________
> Devel mailing list
> [hidden email]
> http://lists.laptop.org/listinfo/devel


--
James Cameron
http://quozl.netrek.org/


_______________________________________________
Devel mailing list
[hidden email]
http://lists.laptop.org/listinfo/devel