[Gta04-owner] GTA04 testing status

Dr. H. Nikolaus Schaller hns at goldelico.com
Tue Jun 28 11:35:27 CEST 2011

A quick update: WiFi is now working.

> Now comes our problem child:
> :( WLAN/BT module
> It is recognized as mmc1 by the kernel and it appears that the
> libertas_sdio driver loads and installs the firmware as expected.
> But we get timeouts, i.e. no answer for real WLAN operation (e.g.
> iwconfig, iwlist).
> And the chip gets unexpectedly hot. Bluetooth wasn't accessible
> either.
> This needs a deep analysis and in the worst case we may have to
> ship the early adopter boards without (working) WLAN/BT and fix
> it in the GTA04A4. But before doing such a decision, we have to find
> out what is going on.

It turned out to be a mixture of a hardware design bug, a chip supply bug
and a software bug...

1. we did not recognize correctly that albeit the WLAB/BT combo has
    split supply for both components, it is not allowed to power up/down
    them separately.

    This is a little tricky to fix, since two different LDOs are involved and
    one is enabled *before* the CPU runs and the other one is enabled
    by software (i.e. U-Boot).

    The workaround is to operate both from the CPU controlled LDO,
    although we run it well beyond its maximum current specification. In
    production we just have to rotate one ferrite inductor by 90 degrees...

    Well, for mass production this is not a good solution and we therefore
    consider a separate LDO for the GTA04A4 layout.

2. it turned out that there are different ROM mask versions of the
    WLAN/BT combo. And our first sample chips are a version where
    the BT chip has to be interfaced through USB. But we have no internal
    USB port for this purpose and wired it up to a UART interface.

    The batch of chips we have bought for the early adopter boards have
    a different and most likely the correct firmware, so BT should also work.

    We will replace one of the wrong chips with the right one to check the
    HCI-UART interface (/dev/ttyS1) in the next days.

3. We had seen timeouts on the SDIO command interface and initially
    thought of another hardware problem (bad signal forms), but it turned
    out that others had the same problem. And on the Rowboat mailing
    list we found a hint that there is a bug in the libertas_sdio/omap_hsmmc
    communication which makes the mmc driver to switch off some clock
    at the wrong moment. After disabling this "feature", we were able to
    scan for access points and event he sensitivity looks quite good.
    This "bug" may already have been solved by others in newer kernels
    (we currently use a 2.6.32 kernel because it did work very well for
    the core functions and e.g. display driver).

In summary, we will mount the WiFi/BT chip on the Early Adopter
boards so that you can experiment with them.

One observation so far: power demand is quite high. The board draws
approx. 250-300 mA while booting. And this goes up to 450-490 mA
after WLAN is loaded and enabled. All this for a 1200 Ah battery...

So there will be a lot of areas for experimentation with kernel
power management.

Next comes testing of the internal HSUSB for the UMTS modem.

-- N.

More information about the Gta04-owner mailing list