All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Nelson <eric.nelson@boundarydevices.com>
To: Mobile Dev <mobiledev@msn.com>,
	 "meta-freescale@yoctoproject.org"
	<meta-freescale@yoctoproject.org>
Subject: Re: WL12xx Wi-Fi on 3.10.17_1.0.0_ga release
Date: Mon, 25 Aug 2014 08:59:46 -0700	[thread overview]
Message-ID: <53FB5D72.2060408@boundarydevices.com> (raw)
In-Reply-To: <BLU172-W3838A80DBB62856909EE10B2D00@phx.gbl>

Hello, ummm... mdev.

On 08/22/2014 04:18 PM, Mobile Dev wrote:
> Apologies for the length...
> 
> I see that [Eric's] nitrogen6x boundary tree has some devicetree patches
> to enable the TI Wi-Fi module.  I am trying to bring it up on our custom
> board and I have a few questions:
> 

Since you're asking for support, do you mind identifying yourself?

>  1. Where did you get the 'calibrate' utility?  There are several repos
>     out there for it.

In general, we've found the calibrate utility to be more or less
useless, and since it's a pretty big pain to get and compile,
we haven't used it in quite a while.

>  2. Did you just use the wlcore/wlcore_sdio/wl12xx drivers in the
>     3.10.17 kernel tree or did you pull anything from
>     backports/compat-wireless/TI?

You can answer that question by checking the log.

>  3. Related, did you add the compat-wireless recipe to your image?
> 

Ditto.

> 
> I have BT working just fine but I am having issues bringing up the Wi-Fi
> side of the card.  The first is getting it to calibrate:
> 
>     root@custom_board:/lib/firmware/ti-connectivity# ll
>     drwxr-xr-x    2 root     root          4096 Aug 22 20:17 ./
>     drwxr-xr-x    4 root     root          4096 Aug 22 20:11 ../
>     -rwxr-x---    1 root     root         50770 Aug 21 16:09
>     TIInit_7.6.15.bts*
>     -rwxr-x---    1 root     root         13290 Aug 21 16:40 TQS_D_1.7.ini*
>     -rwxr-x---    1 root     root         49324 Aug 21 16:16 calibrator*
>     -rwxr-x---    1 root     root           912 Aug 22 20:18 wl1271-nvs.bin*
>     -rwxr-x---    1 root     root        354600 Aug 21 16:23
>     wl127x-fw-5-mr.bin*
>     -rwxr-x---    1 root     root        352588 Aug 21 16:23
>     wl127x-fw-5-plt.bin*
>     -rwxr-x---    1 root     root        370996 Aug 21 16:23
>     wl127x-fw-5-sr.bin*
>     -rwxr-x---    1 root     root           912 Aug 21 16:23 wl127x-nvs.bin*
>     root@custom_board:/lib/firmware/ti-connectivity# lsmod
>     Module                  Size  Used by
>     arc4                    1510  2
>     wl12xx                 44514  0
>     wlcore                141592  1 wl12xx
>     mac80211              226689  2 wl12xx,wlcore
>     cfg80211              178563  2 mac80211,wlcore
>     wlcore_sdio             4381  0
>     cdc_acm                14295  0
>     evbug                   1476  0
>     root@custom_board:/lib/firmware/ti-connectivity# echo 152 >
>     /sys/class/gpio/export
>     root@custom_board:/lib/firmware/ti-connectivity# echo out >
>     /sys/class/gpio/gpio152/direction
>     root@custom_board:/lib/firmware/ti-connectivity# echo 0 >
>     /sys/class/gpio/gpio152/value
>     root@custom_board:/lib/firmware/ti-connectivity# cat
>     /sys/class/gpio/gpio152/value
>     0
>     root@custom_board:/lib/firmware/ti-connectivity# echo 1 >
>     /sys/class/gpio/gpio152/value
>     root@custom_board:/lib/firmware/ti-connectivity# cat
>     /sys/class/gpio/gpio152/value
>     0
>     root@custom_board:/lib/firmware/ti-connectivity# ./calibrator plt
>     calibrate dual
>     wlcore: power up
>     wlcore: firmware booted in PLT mode PLT_ON (PLT 6.3.10.0.133)
>     wlcore: ERROR command complete timeout
>     ------------[ cut here ]------------
>     WARNING: at drivers/net/wireless/ti/wlcore/main.c:790
>     wl12xx_queue_recovery_work+0x5c/0x60 [wlcore]()
>
> <snip>
>
>     ---[ end trace 4ae41c0eeb5b4b0b ]---
>     wlcore: WARNING TEST command failed
>     wlcore: WARNING testmode cmd test failed: -110
>     Fail to calibratewlcore: power down
> 

The primary challenge in use of the WL12xx against any i.MX
device is a quirk in the use of the power-off pin. The WL12xx
driver expects writes to the SDHCI_POWER_CONTROL register
to control the power-off GPIO directly.

http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/tree/drivers/mmc/host/sdhci.c?h=imx_3.10.17_1.0.1_ga#n1289

Since the i.MX SDHCI controllers don't do this, we had to add
support for the "power-gpio".

> 
>     Usage:  ./calibrator [options] plt calibrate [<single|dual>]
> 
>     Do calibrate for single or dual band chip
> 
> 
>     Options:
>             --debug         enable netlink debugging
>     root@custom_board:/lib/firmware/ti-connectivity#
> 
> 
> I have tried various combinations of drivers and tools but they all have
> the same error (command complete timeout).  As a test I tried changing
> the <interrupts> node in the wlan section to <23 0x2>
> from IRQ_TYPE_LEVEL_HIGH and the error changes to timeout waiting for
> hardware interrupt so I know it is at least talking.
> 
> Here are the relevant device tree sections:
> 
>
> <snip>
>
>     &usdhc2 {/* uSDHC2, TiWi wl1271 */
> 
>
>	...
> 
>         power-gpio = <&gpio5 24 0>;
> 

Are you using our kernel? Have you validated your source
tree against a Nitrogen6x or Nitrogen6_Max board?

If so, then you should start looking for what's different.

>
> <snip>
> 
> The second issue is that I can't successfully cycle the wlan0 interface
> more than once (ifconfig up, down, up).  When I try to bring it up the
> second time, I get this:
> 
> 
>     root@custom_board:/lib/firmware/ti-connectivity# ifconfig wlan0 up
>     wlcore: ERROR timeout waiting for the hardware to complete
>     initialization
>     wlcore: ERROR timeout waiting for the hardware to complete
>     initialization
>     wlcore: ERROR timeout waiting for the hardware to complete
>     initialization
>     wlcore: ERROR firmware boot failed despite 3 retries
>     ifconfig: SIOCSIFFLAGS: Input/output error
>     root@custom_board:/lib/firmware/ti-connectivity#
> 
> 
> I thought it was caused by this
> (https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1258174) so I
> changed the SD clock to add a pullup but it didn't work.
> 

This is the primary symptom of not having our patches in place.

Regards,


Eric


  reply	other threads:[~2014-08-25 16:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-22 23:18 WL12xx Wi-Fi on 3.10.17_1.0.0_ga release Mobile Dev
2014-08-25 15:59 ` Eric Nelson [this message]
2014-08-26 12:10   ` Mobile Dev
2014-08-26 14:37     ` Eric Nelson
2014-08-26 14:51       ` Eric Nelson
     [not found] <mailman.22113.1408749566.26702.meta-freescale@yoctoproject.org>
2014-08-25 14:41 ` Mobile Dev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53FB5D72.2060408@boundarydevices.com \
    --to=eric.nelson@boundarydevices.com \
    --cc=meta-freescale@yoctoproject.org \
    --cc=mobiledev@msn.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.