* WL12xx Wi-Fi on 3.10.17_1.0.0_ga release
@ 2014-08-22 23:18 Mobile Dev
2014-08-25 15:59 ` Eric Nelson
0 siblings, 1 reply; 6+ messages in thread
From: Mobile Dev @ 2014-08-22 23:18 UTC (permalink / raw)
To: meta-freescale@yoctoproject.org
[-- Attachment #1: Type: text/plain, Size: 7194 bytes --]
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@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@custom_board:/lib/firmware/ti-connectivity# lsmodModule Size Used byarc4 1510 2wl12xx 44514 0wlcore 141592 1 wl12xxmac80211 226689 2 wl12xx,wlcorecfg80211 178563 2 mac80211,wlcorewlcore_sdio 4381 0cdc_acm 14295 0evbug 1476 0root@custom_board:/lib/firmware/ti-connectivity# echo 152 > /sys/class/gpio/exportroot@custom_board:/lib/firmware/ti-connectivity# echo out > /sys/class/gpio/gpio152/directionroot@custom_board:/lib/firmware/ti-connectivity# echo 0 > /sys/class/gpio/gpio152/valueroot@custom_board:/lib/firmware/ti-connectivity# cat /sys/class/gpio/gpio152/value0root@custom_board:/lib/firmware/ti-connectivity# echo 1 > /sys/class/gpio/gpio152/valueroot@custom_board:/lib/firmware/ti-connectivity# cat /sys/class/gpio/gpio152/value0root@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])[<7f080b4c>] (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@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 = <®_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@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@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
[-- Attachment #2: Type: text/html, Size: 22314 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: WL12xx Wi-Fi on 3.10.17_1.0.0_ga release
[not found] <mailman.22113.1408749566.26702.meta-freescale@yoctoproject.org>
@ 2014-08-25 14:41 ` Mobile Dev
0 siblings, 0 replies; 6+ messages in thread
From: Mobile Dev @ 2014-08-25 14:41 UTC (permalink / raw)
To: meta-freescale@yoctoproject.org
[-- Attachment #1: Type: text/plain, Size: 7823 bytes --]
> Date: Fri, 22 Aug 2014 19:18:09 -0400
> From: Mobile Dev <mobiledev@msn.com>
> To: "meta-freescale@yoctoproject.org"
> <meta-freescale@yoctoproject.org>
> Subject: [meta-freescale] WL12xx Wi-Fi on 3.10.17_1.0.0_ga release
> Message-ID: <BLU172-W3838A80DBB62856909EE10B2D00@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@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@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@custom_board:/lib/firmware/ti-connectivity# echo 152 > /sys/class/gpio/exportroot@custom_board:/lib/firmware/ti-connectivity# echo out > /sys/class/gpio/gpio152/directionroot@custom_board:/lib/firmware/ti-connectivity# echo 0 > /sys/class/gpio/gpio152/valueroot@custom_board:/lib/firmware/ti-connectivity# cat /sys/class/gpio/gpio152/value0root@custom_board:/lib/firmware/ti-connectivity# echo 1 > /sys/class/gpio/gpio152/valueroot@custom_board:/lib/firmware/ti-connectivity# cat /sys/class/gpio/gpio152/value0root@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@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 = <®_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@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@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.
[-- Attachment #2: Type: text/html, Size: 8588 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: WL12xx Wi-Fi on 3.10.17_1.0.0_ga release
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
2014-08-26 12:10 ` Mobile Dev
0 siblings, 1 reply; 6+ messages in thread
From: Eric Nelson @ 2014-08-25 15:59 UTC (permalink / raw)
To: Mobile Dev, meta-freescale@yoctoproject.org
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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: WL12xx Wi-Fi on 3.10.17_1.0.0_ga release
2014-08-25 15:59 ` Eric Nelson
@ 2014-08-26 12:10 ` Mobile Dev
2014-08-26 14:37 ` Eric Nelson
0 siblings, 1 reply; 6+ messages in thread
From: Mobile Dev @ 2014-08-26 12:10 UTC (permalink / raw)
To: Eric Nelson, meta-freescale@yoctoproject.org
[-- Attachment #1: Type: text/plain, Size: 7251 bytes --]
> Date: Mon, 25 Aug 2014 08:59:46 -0700
> From: eric.nelson@boundarydevices.com
> To: mobiledev@msn.com; meta-freescale@yoctoproject.org
> Subject: Re: [meta-freescale] WL12xx Wi-Fi on 3.10.17_1.0.0_ga release
>
> 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?
My name is Barry.
>
> > 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.
Which 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".
>
I diffed the two trees again and pulled in the rest of the patches that looked applicable (http://pastebin.com/2dELkd4z). The rest appear to be video, hdmi, and rfkill related. The rfkill looked like it was just for Bluetooth so I left it out for the moment.
> >
> > 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.
I am using the freescale kernel and trying to pull Boundary's changes in. Our board is based on the SabreSD and I don't have a Nitrogen board.
>
> >
> > <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.
After applying my new patch, I can usually bring the interface up and down without issue. Sometimes I still get this crash/recovery though. If I just run 'iw wlan0 scan' I get no results.
>
> Regards,
>
>
> Eric
Thank you,
Barry
[-- Attachment #2: Type: text/html, Size: 8943 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: WL12xx Wi-Fi on 3.10.17_1.0.0_ga release
2014-08-26 12:10 ` Mobile Dev
@ 2014-08-26 14:37 ` Eric Nelson
2014-08-26 14:51 ` Eric Nelson
0 siblings, 1 reply; 6+ messages in thread
From: Eric Nelson @ 2014-08-26 14:37 UTC (permalink / raw)
To: Mobile Dev, meta-freescale@yoctoproject.org
Hello Barry,
On 08/26/2014 05:10 AM, Mobile Dev wrote:
>
>
>> Date: Mon, 25 Aug 2014 08:59:46 -0700
>> From: eric.nelson@boundarydevices.com
>> To: mobiledev@msn.com; meta-freescale@yoctoproject.org
>> Subject: Re: [meta-freescale] WL12xx Wi-Fi on 3.10.17_1.0.0_ga release
>>
>> 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?
>
> My name is Barry.
>
>>
>> > 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.
>
> Which log?
>
~/linux-imx6$ git log boundary-imx_3.10.17_1.0.0_ga drivers/net/wireless
...
>
> I diffed the two trees again and pulled in the rest of the patches that
> looked applicable (http://pastebin.com/2dELkd4z). The rest appear to be
> video, hdmi, and rfkill related. The rfkill looked like it was just for
> Bluetooth so I left it out for the moment.
>
That's like drinking from a fire hose...
>>
>>
>>
>> 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.
>
> I am using the freescale kernel and trying to pull Boundary's changes
> in. Our board is based on the SabreSD and I don't have a Nitrogen board.
>
That makes life more difficult.
>>
>> >
>> > <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.
>
> After applying my new patch, I can usually bring the interface up and
> down without issue. Sometimes I still get this
> <http://pastebin.com/2iLPgUHt> crash/recovery though. If I just run 'iw
> wlan0 scan' I get no results.
>
This is really not the kind of thing that can or should
be addressed in this list.
Regards,
Eric
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: WL12xx Wi-Fi on 3.10.17_1.0.0_ga release
2014-08-26 14:37 ` Eric Nelson
@ 2014-08-26 14:51 ` Eric Nelson
0 siblings, 0 replies; 6+ messages in thread
From: Eric Nelson @ 2014-08-26 14:51 UTC (permalink / raw)
To: Mobile Dev, meta-freescale@yoctoproject.org
Hello Barry,
>>>
>>> This is the primary symptom of not having our patches in place.
>>
>> After applying my new patch, I can usually bring the interface up and
>> down without issue. Sometimes I still get this
>> <http://pastebin.com/2iLPgUHt> crash/recovery though. If I just run 'iw
>> wlan0 scan' I get no results.
>>
>
> This is really not the kind of thing that can or should
> be addressed in this list.
>
I meant to add that there are lots of folks on the list who do this
sort of kernel/driver debugging and can be of assistance to you.
It's unlikely that they're going to work through all of the specifics
of your board and WiFi interface without remuneration though.
Open Source communities provide lots of information (and code) for
free, but commercial funding drives it and I encourage you to reach
out to the pros for assistance.
Regards,
Eric
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-08-26 14:51 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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
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.