Last night I tried to build the firmware directly into the kernel, using some steps I found on Google. Once again it doesn't work, with the same issues (The kernel size changed such that I think it actually did include the firmware, but I haven't done any digging to prove it). I also tried to rmmod libertas_sdio, then reload it (kernel without builtin firmware). Doing this, I get an error loading the firmware, errno -110, which in this context should be ETIMEDOUT. This would indicate to me that either the driver itself or the kernel calls to retrieve the firmware aren't working, but it's not obvious why. Tonight, I'll change the driver to be built in and see if that helps. Mostly, I'm not sure how exactly to start to debug this, but I will likely start to instrument the driver to see what I can find should the simpler changes not help. Unfortunately, udev and firmware loading are a bit of a black box to me, so any other suggestions would be very welcome.

On Sun, Jul 24, 2011 at 6:36 PM, thor Farrish <> wrote:
Hi Pete.

I've had the _exact_ failure mode over-and-over-and-over.

I've got it working now, but am not sure of _which_ juju was
the magic incantation.

I seem to recall that building the kernel with built-in libertas support
rather than as a loadable module made a difference... but I'm not sure
that success with this approach wasn't anything but a side effect.

I think it was easier to get a working overo with libertas&Wifi firmware loaded
with 2.6.34 than it was for 2.6.36 (for me).

If anyone can suggest a way to debug this module/driver load failure
I'd be _very_ interested..... it seems like it should "just work".


From: Peter Buelow <>
Sent: Sunday, July 24, 2011 7:15 PM
Subject: [Gumstix-users] libertas firmware not loading with latest images

I've got an overo that has a very old image (Kernel 2.6.32) that works as expected booting from NAND. The wifi comes up and I can get online. I built this image not long after the overo was released, so I really don't remember how I got it working, and I don't have the original sources. So, I recently dusted the old board off and built a new image from scratch to get more up to date so I can go about building a remote camera type device. However, the new image doesn't actually load the wifi firmware (no errors, everything else works). Below is the libertas output from the 2.6.36 boot built from the overo-oe git repository this morning.

root@overo:~# dmesg | grep libertas
libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
libertas: xx:xx:xx:xx:xx:xx, fw 9.70.7p0, cap 0x00000303
libertas: wlan0: Marvell WLAN 802.11 adapter
root@overo:~# cd /lib/firmware/
root@overo:/lib/firmware# ls
edgeport  keyspan_pda  rt73.bin           ti_5052.fw           zd1211
emi26     mts_cdma.fw  sd8686.bin         vicam
emi62     mts_edge.fw  sd8686_helper.bin  whiteheat.fw
kaweth    mts_gsm.fw   ti_3410.fw         whiteheat_loader.fw

The only thing I don't see is the kernel trying to load a firmware. So I downloaded the latest official build assuming I did something wrong. Same exact results. Both of these attempts are booting from the SD card though (following the boot from SD on The working version is in NAND flash so I don't want to overwrite the NAND flash until I know why and get a new image running correctly. I've been digging through the mail archives and have been all over the wiki and I can't find anything that would indicate this has happened to anyone else. Would anyone have any idea what I'm missing? It must be something dumb.