[meta-freescale] WL12xx Wi-Fi on 3.10.17_1.0.0_ga release

Mobile Dev mobiledev at msn.com
Mon Aug 25 07:41:49 PDT 2014


> Date: Fri, 22 Aug 2014 19:18:09 -0400
> From: Mobile Dev <mobiledev at msn.com>
> To: "meta-freescale at yoctoproject.org"
> 	<meta-freescale at yoctoproject.org>
> Subject: [meta-freescale] WL12xx Wi-Fi on 3.10.17_1.0.0_ga release
> Message-ID: <BLU172-W3838A80DBB62856909EE10B2D00 at phx.gbl>
> Content-Type: text/plain; charset="iso-8859-1"
> 
> 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:Where did you get the 'calibrate' utility?  There are several repos out there for it.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?Related, did you add the compat-wireless recipe to your image?
> 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 at custom_board:/lib/firmware/ti-connectivity# lldrwxr-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 at custom_board:/lib/firmware/ti-connectivity# lsmodModule                  Size  Used byarc4                    1510  2wl12xx                 44514  0wlcore                141592  1 wl12xxmac80211              226689  2 wl12xx,wlc
>  orecfg80211              178563  2 mac80211,wlcorewlcore_sdio             4381  0cdc_acm                14295  0evbug                   1476  0root at custom_board:/lib/firmware/ti-connectivity# echo 152 > /sys/class/gpio/exportroot at custom_board:/lib/firmware/ti-connectivity# echo out > /sys/class/gpio/gpio152/directionroot at custom_board:/lib/firmware/ti-connectivity# echo 0 > /sys/class/gpio/gpio152/valueroot at custom_board:/lib/firmware/ti-connectivity# cat /sys/class/gpio/gpio152/value0root at custom_board:/lib/firmware/ti-connectivity# echo 1 > /sys/class/gpio/gpio152/valueroot at custom_board:/lib/firmware/ti-connectivity# cat /sys/class/gpio/gpio152/value0root at custom_board:/lib/firmware/ti-connectivity# ./calibrator plt calibrate dualwlcore: power upwlcore: 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](
>  )Modules linked in: arc4 wl12xx wlcore mac80211 cfg80211 wlcore_sdio cdc_acm evbugCPU: 0 PID: 633 Comm: calibrator Not tainted 3.10.17-1.0.0_ga+g232293e #2[<800144c0>] (unwind_backtrace+0x0/0xf4) from [<800114f8>] (show_stack+0x10/0x14)[<800114f8>] (show_stack+0x10/0x14) from [<80026b20>] (warn_slowpath_common+0x54/0x6c)[<80026b20>] (warn_slowpath_common+0x54/0x6c) from [<80026bd4>] (warn_slowpath_null+0x1c/0x24)[<80026bd4>] (warn_slowpath_null+0x1c/0x24) from [<7f0be480>] (wl12xx_queue_recovery_work+0x5c/0x60 [wlcore])[<7f0be480>] (wl12xx_queue_recovery_work+0x5c/0x60 [wlcore]) from [<7f0c1588>] (wlcore_cmd_send_failsafe+0x6c/0x3e4 [wlcore])[<7f0c1588>] (wlcore_cmd_send_failsafe+0x6c/0x3e4 [wlcore]) from [<7f0c1974>] (wl1271_cmd_test+0x50/0x9c [wlcore])[<7f0c1974>] (wl1271_cmd_test+0x50/0x9c [wlcore]) from [<7f0cf738>] (wl1271_tm_cmd+0x198/0x558 [wlcore])[<7f0cf738>] (wl1271_tm_cmd+0x198/0x558 [wlcore]) from [<7f080b4c>] (ieee80211_testmode_cmd+0x24/0x34 [mac80211])[<7f080b
>  4c>] (ieee80211_testmode_cmd+0x24/0x34 [mac80211]) from [<7f03b884>] (nl80211_testmode_do+0x4c/0x68 [cfg80211])[<7f03b884>] (nl80211_testmode_do+0x4c/0x68 [cfg80211]) from [<804f86dc>] (genl_rcv_msg+0x29c/0x38c)[<804f86dc>] (genl_rcv_msg+0x29c/0x38c) from [<804f7c80>] (netlink_rcv_skb+0xac/0xc0)[<804f7c80>] (netlink_rcv_skb+0xac/0xc0) from [<804f8430>] (genl_rcv+0x24/0x34)[<804f8430>] (genl_rcv+0x24/0x34) from [<804f7698>] (netlink_unicast+0x13c/0x1f4)[<804f7698>] (netlink_unicast+0x13c/0x1f4) from [<804f7a5c>] (netlink_sendmsg+0x26c/0x2e8)[<804f7a5c>] (netlink_sendmsg+0x26c/0x2e8) from [<804c6f38>] (sock_sendmsg+0x78/0x9c)[<804c6f38>] (sock_sendmsg+0x78/0x9c) from [<804c7c0c>] (___sys_sendmsg+0x2b4/0x2cc)[<804c7c0c>] (___sys_sendmsg+0x2b4/0x2cc) from [<804c9280>] (__sys_sendmsg+0x3c/0x6c)[<804c9280>] (__sys_sendmsg+0x3c/0x6c) from [<8000e080>] (ret_fast_syscall+0x0/0x30)---[ end trace 4ae41c0eeb5b4b0b ]---wlcore: WARNING TEST command failedwlcore: WARNING testmode cmd test 
>  failed: -110Fail to calibratewlcore: power down
> 
> Usage:  ./calibrator [options] plt calibrate [<single|dual>]
> Do calibrate for single or dual band chip
> 
> Options:        --debug         enable netlink debuggingroot at 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:
> wlan {compatible = "ti,wilink6";interrupt-parent = <&gpio5>;interrupts = <23 IRQ_TYPE_LEVEL_HIGH>; /* tried this - 0x2: causes irq timeout */clocks = <&refclock>;clock-names = "refclock";
> refclock: refclock {compatible = "ti,wilink-clock";#clock-cells = <0>;clock-frequency = <38400000>;};};
> iomuxc...hog stuff {/*snip*/MX6QDL_PAD_CSI0_DAT6__GPIO5_IO24	0x80000000	/* WL_EN [SM] */MX6QDL_PAD_CSI0_DAT5__GPIO5_IO23	0x80000000	/* WL_IRQ [SM] */MX6QDL_PAD_CSI0_DAT18__GPIO6_IO04	0x80000000	/* BT_EN [SM] *//*snip*/};
> &usdhc2 {	/* uSDHC2, TiWi wl1271 */pinctrl-names = "default";pinctrl-0 = <&pinctrl_usdhc2_2>;bus-width = <4>;non-removable;#if 0vmmc-supply = <&reg_3p3v>;  /* we are wired to an always on rail */#endif /// 0vqmmc-1-8-v;power-gpio = <&gpio5 24 0>;ocr-limit = <0x80>;     /* 1.65v - 1.95v */power-off-card;keep-power-in-suspend;status = "okay";};
> pinctrl_usdhc2_2: usdhc2grp-2 {fsl,pins = <MX6QDL_PAD_SD2_CMD__SD2_CMD    0x17059MX6QDL_PAD_SD2_CLK__SD2_CLK    0x10059    /*0x17059 - tried this to fix issue two...*/MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059>;};
> 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 at custom_board:/lib/firmware/ti-connectivity# ifconfig wlan0 upwlcore: ERROR timeout waiting for the hardware to complete initializationwlcore: ERROR timeout waiting for the hardware to complete initializationwlcore: ERROR timeout waiting for the hardware to complete initializationwlcore: ERROR firmware boot failed despite 3 retriesifconfig: SIOCSIFFLAGS: Input/output errorroot at 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.
> Any ideas?
> TIA,mdev 		 	   		  
> **********************************************

I probed the SD clock line and saw that it was running at 26Mhz not 38.4 so I tried changing it in the device tree but it still gets the same error.

 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-freescale/attachments/20140825/bde82d82/attachment.html>


More information about the meta-freescale mailing list