• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Low Power RF & Wireless Connectivity » WLAN Applications Forum » Unable to bring up the wl1271 interface the second time
Share
Low Power RF & Wireless Connectivity
  • Forums
  • Announcements
  • Files
  • E2E Wiki
Options
  • Subscribe via RSS

Unable to bring up the wl1271 interface the second time

Unable to bring up the wl1271 interface the second time

This question is answered
divya nagaraj101576
Posted by divya nagaraj101576
on Apr 11 2012 10:31 AM
Prodigy40 points

Hi,

We have ported the TI WL1271 driver to the i.MX51 platform and are using it with Android.  We can enable and disable the Wi-Fi interface for the first time.  On trying to enable the wlan interface for the 2nd time it gives the following error log:

--- start log ---
bash-3.2# wl1271_fetch_nvs
wl1271: loaded
wl1271: initialized
wl1271_power_on
wl1271_io_reset
wl1271_io_init
wl1271_fw_wakeup
wl1271_boot
wl1271_boot_upload_nvs
chip id 0x4030111
wl1271_boot_upload_firmware
wl1271_boot_run_firmware
wl1271_boot_run_firmware:chip id after firmware boot: 0x4030111
wl1271_boot_run_firmware:wl->chip.id = 0x4030111
wl1271: ERROR timeout waiting for the hardware to complete initialization
wl1271_boot:run firmware ret -5
wl1271_op_add_interface: ret = -5
wl1271_power_off
wl1271_power_on
wl1271_io_reset
wl1271_io_init
wl1271_fw_wakeup
wl1271_boot
wl1271_boot_upload_nvs
chip id 0x4030111
wl1271_boot_upload_firmware
wl1271_boot_run_firmware
wl1271_boot_run_firmware:chip id after firmware boot: 0x4030111
wl1271_boot_run_firmware:wl->chip.id = 0x4030111
wl1271: ERROR timeout waiting for the hardware to complete initialization
wl1271_boot:run firmware ret -5
wl1271_op_add_interface: ret = -5
wl1271_power_off
wl1271_power_on
wl1271_io_reset
wl1271_io_init
wl1271_fw_wakeup
wl1271_boot
wl1271_boot_upload_nvs
chip id 0x4030111
wl1271_boot_upload_firmware
wl1271_boot_run_firmware
wl1271: ERROR sdio read failed (-110)
wl1271: ERROR sdio write failed (-84)
wl1271: ERROR sdio read failed (-110)
wl1271_boot_run_firmware:chip id after firmware boot: 0x101
wl1271_boot_run_firmware:wl->chip.id = 0x4030111
wl1271: ERROR chip id doesn't match after firmware boot
wl1271_boot:run firmware ret -5
wl1271_op_add_interface: ret = -5
wl1271_power_off
wl1271: ERROR firmware boot failed despite 3 retries
--- end log ---

We are unable to communicate with the device after this.

We have tried this on 2 platforms:
1. BeagleBoard-xM with Linux 2.6.37 and above
2. i.MX51 Android Tablet Platform with Linux 2.6.35

In both cases we have the same issue.

This failure is seen either when doing

{

"ifconfig wlan0 up", "ifconfig wlan0 down", "ifconfig wlan0 up"

}

OR

{

rmmod wl1271_sdio; rmmod wl1271

insmod wl1271.ko

insmod wl1271_sdio.ko

}

We have tried disabling WLAN_EN between the down and the up of the interface and the unload and load of the driver but it does not seem to make any difference.

Could someone please help in resolving this issue.

Thank you

wl1271 android load unload interface
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Saurabh Narang
    Posted by Saurabh Narang
    on Apr 13 2012 10:14 AM
    Prodigy560 points

    Divya,

    This seems to be SDIO issue. Please upload the complete log - with commands and output. Thanks,

    -Saurabh

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Eyal a
    Posted by Eyal a
    on Apr 15 2012 01:39 AM
    Genius9240 points

    Hi Divya,

    have you verified that the WLAN_EN signal is actually disabled and enabled correctly?

    please verify that signal with oscilloscope and not only logs since without disabilng the WLAN_EN signal between “ifconfig wlan0 down” and then  “ifconfig wlan0 up”, it will be the exact behavior as you see.

    Regards,

    Eyal

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • divya nagaraj101576
    Posted by divya nagaraj101576
    on Apr 16 2012 03:02 AM
    Prodigy40 points

    Hi Eyal,

    Thanks for the reply.

    We made sure that WLAN_EN pin  goes LOW and HIGH between interface down and up.  At the end of the post ,contains the detailed log messages for the sequence we followed.

    Sequence:

    ========

    ifconfig wlan0 down

    WLAN_EN = 0  #verified in the scope that WLAN_EN is zero

    WLAN_EN = 1  # verified in the scope that WLAN_EN is HIGH

    #ifconfig WLAN0 up

    Note that WL1271 is directly connected to iMX MMC1 interface, so there is no option for us to disconnect and connect the module. Here SDIO initialization sequence doesn't happen when we enable the interface for the second time.

    Is SDIO initialization required (work done in the mmc_rescan function) when the interface is enabled for the second time ?

    Regards,

    Divya

    ********************START LOG *************************

    bash-3.2# ifconfig wlan0 down
    wl1271_disable_interrupts
    wl1271_power_off
    SDIO: Disabled device mmc1:0001:2 func->num 2
    bash-3.2# dmesg -c           
    <7>wl1271: mac80211 configure filter
    <7>wl1271: waking up chip from elp
    <7>mmc1: starting CMD52 arg 83fff801 flags 00000195
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34 is starting...
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x341a0000.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
    <7>mmc1: req done (CMD52): 0: 00001001 00000000 00000000 00000000
    <7>wl1271: sdio write 52 addr 0x1fffc, byte 0x01
    <7>wl1271: mac80211 configure filter
    <7>wl1271: IRQ
    <7>wl1271: wakeup time: 0 ms
    <7>wl1271: acx group address tbl
    <7>wl1271: cmd configure
    <7>wl1271: sdio write 53 addr 0x7b4, 60 bytes
    <7>wl1271: data: 00000000: 02 00 00 00 14 10 34 00 01 02 00 00 33 33 00 00  ......4.....33..
    <7>wl1271: data: 00000010: 00 01 01 00 5e 00 00 01 00 00 00 00 00 00 00 00  ....^...........
    <7>wl1271: data: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    <7>wl1271: data: 00000030: 00 00 00 00 00 00 00 00 00 00 00 00              ............
    <7>mmc1: starting CMD53 arg a40f683c flags 000001b5
    <7>mmc1:     blksz 60 blocks 1 flags 00000100 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_TO_DEVICE, len is 0x3c, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xa00708c0
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0003.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000009
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000002
    <7>mmc1: req done (CMD53): 0: 00001000 00000000 00000000 00000000
    <7>mmc1:     60 bytes transferred: 0
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>mmc1: starting CMD53 arg a6a86804 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000100 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_TO_DEVICE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaa45ad50
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0003.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000009
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000002
    <7>mmc1: req done (CMD53): 0: 00001000 00000000 00000000 00000000
    <7>mmc1:     4 bytes transferred: 0
    <7>mmc1: starting CMD53 arg 26a95004 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000200 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_FROM_DEIVCE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaa45ad50
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0013.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x0000000b
    <7>mmc1: req done (CMD53): 0: 00001000 00000000 00000000 00000000
    <7>mmc1:     4 bytes transferred: 0
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 30 00 00 00                                      0...
    <7>mmc1: starting CMD53 arg 240f6804 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000200 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_FROM_DEIVCE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xa00708c0
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0013.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x0000000b
    <7>mmc1: req done (CMD53): 0: 00001000 00000000 00000000 00000000
    <7>mmc1:     4 bytes transferred: 0
    <7>wl1271: sdio read 53 addr 0x7b4, 4 bytes
    <7>wl1271: data: 00000000: 02 00 01 00                                      ....
    <7>wl1271: sdio write 53 addr 0x154b0, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <7>mmc1: starting CMD53 arg a6a96004 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000100 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_TO_DEVICE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaa45ad50
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0003.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x0000000b
    <7>mmc1: req done (CMD53): 0: 00001000 00000000 00000000 00000000
    <7>mmc1:     4 bytes transferred: 0
    <7>wl1271: IRQ work
    <7>mmc1: starting CMD53 arg 27df8044 flags 000001b5
    <7>mmc1:     blksz 68 blocks 1 flags 00000200 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_FROM_DEIVCE, len is 0x44, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaabff360
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0013.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x0000000b
    <7>mmc1: req done (CMD53): 0: 00001000 00000000 00000000 00000000
    <7>mmc1:     68 bytes transferred: 0
    <7>wl1271: sdio read 53 addr 0x1efc0, 68 bytes
    <7>wl1271: data: 00000000: 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ...............
    <7>wl1271: data: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    <7>wl1271: data: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    <7>wl1271: data: 00000030: 00 00 00 00 00 00 00 00 b7 60 5b 02 00 00 00 00  .........`[.....
    <7>wl1271: data: 00000040: 00 00 00 00                                      ....
    <7>wl1271: intr: 0x20 (fw_rx_counter = 0, drv_rx_counter = 0, tx_results_counter = 0)
    <7>wl1271: WL1271_ACX_INTR_HW_AVAILABLE
    <7>wl1271: acx group address tbl
    <7>wl1271: cmd configure
    <7>wl1271: sdio write 53 addr 0x7b4, 60 bytes
    <7>wl1271: data: 00000000: 02 00 00 00 14 10 34 00 01 00 00 00 00 00 00 00  ......4.........
    <7>wl1271: data: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    <7>wl1271: data: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    <7>wl1271: data: 00000030: 00 00 00 00 00 00 00 00 00 00 00 00              ............
    <7>mmc1: starting CMD53 arg a40f683c flags 000001b5
    <7>mmc1:     blksz 60 blocks 1 flags 00000100 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_TO_DEVICE, len is 0x3c, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xa0070b80
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0003.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000009
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000002
    <7>mmc1: req done (CMD53): 0: 00001000 00000000 00000000 00000000
    <7>mmc1:     60 bytes transferred: 0
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>mmc1: starting CMD53 arg a6a86804 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000100 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_TO_DEVICE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaa45ad50
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0003.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x0000000b
    <7>mmc1: req done (CMD53): 0: 00001000 00000000 00000000 00000000
    <7>mmc1:     4 bytes transferred: 0
    <7>mmc1: starting CMD53 arg 26a95004 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000200 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_FROM_DEIVCE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaa45ad50
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0013.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x0000000b
    <7>mmc1: req done (CMD53): 0: 00001000 00000000 00000000 00000000
    <7>mmc1:     4 bytes transferred: 0
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <7>mmc1: starting CMD53 arg 240f6804 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000200 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_FROM_DEIVCE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xa0070b80
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0013.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x0000000b
    <7>mmc1: req done (CMD53): 0: 00001000 00000000 00000000 00000000
    <7>mmc1:     4 bytes transferred: 0
    <7>wl1271: sdio read 53 addr 0x7b4, 4 bytes
    <7>wl1271: data: 00000000: 02 00 01 00                                      ....
    <7>wl1271: sdio write 53 addr 0x154b0, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <7>mmc1: starting CMD53 arg a6a96004 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000100 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_TO_DEVICE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaa45ad50
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0003.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000009
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000002
    <7>mmc1: req done (CMD53): 0: 00001000 00000000 00000000 00000000
    <7>mmc1:     4 bytes transferred: 0
    <7>wl1271: mac80211 remove interface
    <7>wl1271: down
    <6>wl1271_disable_interrupts
    <7>wl1271: elp work
    <7>wl1271: chip to elp
    <7>mmc1: starting CMD52 arg 83fff800 flags 00000195
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34 is starting...
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x341a0000.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
    <7>mmc1: req done (CMD52): 0: 00001000 00000000 00000000 00000000
    <7>wl1271: sdio write 52 addr 0x1fffc, byte 0x00
    <6>wl1271_power_off
    <7>SDIO: Disabling device mmc1:0001:2...
    <7>mmc1: starting CMD52 arg 00000400 flags 00000195
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34 is starting...
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x341a0000.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
    <7>mmc1: req done (CMD52): 0: 00001004 00000000 00000000 00000000
    <7>mmc1: starting CMD52 arg 80000400 flags 00000195
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34 is starting...
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x341a0000.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
    <7>mmc1: req done (CMD52): 0: 00001000 00000000 00000000 00000000
    <7>SDIO: Disabled device mmc1:0001:2
    <6>SDIO: Disabled device mmc1:0001:2 func->num 2
    <7>wl1271: mac80211 stop

    bash-3.2# echo 0 > sys/class/gpio/gpio58/value
    bash-3.2# echo 1 > sys/class/gpio/gpio58/value
    bash-3.2# ifconfig wlan0 up                    


    wl1271_chip_wakeup
    wl1271_power_on
    wl1271_io_reset
    wl1271_io_init
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-110)
    wl1271_fw_wakeup
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio read failed (-110)
    wl1271: WARNING unsupported chip id: 0x1
    wl1271_power_off
    wl1271_chip_wakeup
    wl1271_power_on
    wl1271_io_reset
    wl1271_io_init
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-110)
    wl1271_fw_wakeup
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio read failed (-110)
    wl1271: WARNING unsupported chip id: 0x1
    wl1271_power_off
    wl1271_chip_wakeup
    wl1271_power_on
    wl1271_io_reset
    wl1271_io_init
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-110)
    wl1271_fw_wakeup
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio read failed (-110)
    wl1271: WARNING unsupported chip id: 0x1
    wl1271_power_off
    wl1271: ERROR firmware boot failed despite 3 retries
    ifconfig: SIOCSIFFLAGS: No such device

    bash-3.2# dmesg -c                             
    000 00000000 00000000 00000000
    <7>mmc1:     0 bytes transferred: 0
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffd4, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>mmc1: starting CMD53 arg a7ffa804 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000100 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_TO_DEVICE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaa45ad50
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0003.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00010009
    <7>mmc1: req done (CMD53): -110: 00000000 00000000 00000000 00000000
    <7>mmc1:     0 bytes transferred: 0
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffd0, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>mmc1: starting CMD53 arg a7ffa004 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000100 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_TO_DEVICE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaa45ad50
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0003.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00010009
    <7>mmc1: req done (CMD53): -110: 00000000 00000000 00000000 00000000
    <7>mmc1:     0 bytes transferred: 0
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffd8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>mmc1: starting CMD53 arg a7ffb004 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000100 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_TO_DEVICE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaa45ad50
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0003.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000008
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00010001
    <7>mmc1: req done (CMD53): -110: 00000000 00000000 00000000 00000000
    <7>mmc1:     0 bytes transferred: 0
    <3>wl1271: ERROR sdio write failed (-110)
    <6>wl1271_fw_wakeup
    <7>mmc1: starting CMD52 arg 83fff801 flags 00000195
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34 is starting...
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x341a0000.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00010001
    <7>mmc1: req done (CMD52): -110: 00000000 00000000 00000000 00000000
    <7>wl1271: sdio write 52 addr 0x1fffc, byte 0x01
    <3>wl1271: ERROR sdio write failed (-110)
    <7>mmc1: starting CMD53 arg 24ace804 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000200 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_FROM_DEIVCE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaa45ad50
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0013.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00010003
    <7>mmc1: req done (CMD53): -110: 00000000 00000000 00000000 00000000
    <7>mmc1:     0 bytes transferred: 0
    <7>wl1271: sdio read 53 addr 0x5674, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <3>wl1271: ERROR sdio read failed (-110)
    <4>wl1271: WARNING unsupported chip id: 0x1
    <6>wl1271_power_off
    <7>SDIO: Disabling device mmc1:0001:2...
    <7>mmc1: starting CMD52 arg 00000400 flags 00000195
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34 is starting...
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x341a0000.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00010001
    <7>mmc1: req done (CMD52): -110: 00000000 00000000 00000000 00000000
    <7>SDIO: Failed to disable device mmc1:0001:2
    <6>wl1271_chip_wakeup
    <6>wl1271_power_on
    <7>SDIO: Enabling device mmc1:0001:2...
    <7>mmc1: starting CMD52 arg 00000400 flags 00000195
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34 is starting...
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x341a0000.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00010001
    <7>mmc1: req done (CMD52): -110: 00000000 00000000 00000000 00000000
    <7>SDIO: Failed to enable device mmc1:0001:2
    <6>wl1271_io_reset
    <6>wl1271_io_init
    <7>wl1271: mem_start 00000000 mem_size 00000000
    <7>wl1271: reg_start 00300000 reg_size 00008800
    <7>wl1271: mem2_start 00000000 mem2_size 00000000
    <7>wl1271: mem3_start 00000000 mem3_size 00000000
    <7>wl1271: sdio write 53 addr 0x1ffc4, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>mmc1: starting CMD53 arg a7ff8804 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000100 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_TO_DEVICE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaa45ad50
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0003.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00010009
    <7>mmc1: req done (CMD53): -110: 00000000 00000000 00000000 00000000
    <7>mmc1:     0 bytes transferred: 0
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffc0, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>mmc1: starting CMD53 arg a7ff8004 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000100 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_TO_DEVICE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaa45ad50
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0003.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00010009
    <7>mmc1: req done (CMD53): -110: 00000000 00000000 00000000 00000000
    <7>mmc1:     0 bytes transferred: 0
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffcc, 4 bytes
    <7>wl1271: data: 00000000: 00 00 30 00                                      ..0.
    <7>mmc1: starting CMD53 arg a7ff9804 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000100 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_TO_DEVICE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaa45ad50
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0003.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00010009
    <7>mmc1: req done (CMD53): -110: 00000000 00000000 00000000 00000000
    <7>mmc1:     0 bytes transferred: 0
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffc8, 4 bytes
    <7>wl1271: data: 00000000: 00 88 00 00                                      ....
    <7>mmc1: starting CMD53 arg a7ff9004 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000100 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_TO_DEVICE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaa45ad50
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0003.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00010009
    <7>mmc1: req done (CMD53): -110: 00000000 00000000 00000000 00000000
    <7>mmc1:     0 bytes transferred: 0
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffd4, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>mmc1: starting CMD53 arg a7ffa804 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000100 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_TO_DEVICE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaa45ad50
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0003.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00010009
    <7>mmc1: req done (CMD53): -110: 00000000 00000000 00000000 00000000
    <7>mmc1:     0 bytes transferred: 0
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffd0, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>mmc1: starting CMD53 arg a7ffa004 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000100 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_TO_DEVICE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaa45ad50
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0003.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00010009
    <7>mmc1: req done (CMD53): -110: 00000000 00000000 00000000 00000000
    <7>mmc1:     0 bytes transferred: 0
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffd8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>mmc1: starting CMD53 arg a7ffb004 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000100 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_TO_DEVICE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaa45ad50
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0003.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00010009
    <7>mmc1: req done (CMD53): -110: 00000000 00000000 00000000 00000000
    <7>mmc1:     0 bytes transferred: 0
    <3>wl1271: ERROR sdio write failed (-110)
    <6>wl1271_fw_wakeup
    <7>mmc1: starting CMD52 arg 83fff801 flags 00000195
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34 is starting...
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x341a0000.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00010001
    <7>mmc1: req done (CMD52): -110: 00000000 00000000 00000000 00000000
    <7>wl1271: sdio write 52 addr 0x1fffc, byte 0x01
    <3>wl1271: ERROR sdio write failed (-110)
    <7>mmc1: starting CMD53 arg 24ace804 flags 000001b5
    <7>mmc1:     blksz 4 blocks 1 flags 00000200 tsac 1000 ms nsac 0
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x35 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: <4>mmc1: Too large timeout requested!
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_FROM_DEIVCE, len is 0x4, count is 1
    <7>mxsdhci [sdhci_prepare_data()]: <3>ADMA addr isn't 4K aligned.
    <7>mxsdhci [sdhci_prepare_data()]: <3>0xaa45ad50
    <7>mxsdhci [sdhci_prepare_data()]: <3>Changed to Single DMA mode.
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x353a0013.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00010003
    <7>mmc1: req done (CMD53): -110: 00000000 00000000 00000000 00000000
    <7>mmc1:     0 bytes transferred: 0
    <7>wl1271: sdio read 53 addr 0x5674, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <3>wl1271: ERROR sdio read failed (-110)
    <4>wl1271: WARNING unsupported chip id: 0x1
    <6>wl1271_power_off
    <7>SDIO: Disabling device mmc1:0001:2...
    <7>mmc1: starting CMD52 arg 00000400 flags 00000195
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34 is starting...
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x341a0000.
    <7>mxsdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00010001
    <7>mmc1: req done (CMD52): -110: 00000000 00000000 00000000 00000000
    <7>SDIO: Failed to disable device mmc1:0001:2
    <3>wl1271: ERROR firmware boot failed despite 3 retries
    <7>wl1271: mac80211 stop
    <7>mmc0: starting CMD18 arg 00121b48 flags 000000b5
    <7>mmc0:     blksz 512 blocks 128 flags 00000200 tsac 100 ms nsac 0
    <7>mmc0:     CMD12 arg 00000000 flags 0000049d
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x12 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_FROM_DEIVCE, len is 0x10000, count is 1
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x123a0033.
    <7>mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
    <7>mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0000000a
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0xc is starting...
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0xcdb0000.
    <7>mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
    <7>mmc0: req done (CMD18): 0: 00000900 00000000 00000000 00000000
    <7>mmc0:     65536 bytes transferred: 0
    <7>mmc0:     (CMD12): 0: 00000b00 00000000 00000000 00000000
    <7>mmc0: starting CMD18 arg 00121bc8 flags 000000b5
    <7>mmc0:     blksz 512 blocks 128 flags 00000200 tsac 100 ms nsac 0
    <7>mmc0:     CMD12 arg 00000000 flags 0000049d
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0x12 is starting...
    <7>mxsdhci [sdhci_prepare_data()]: Configure the sg DMA, DMA_FROM_DEIVCE, len is 0x10000, count is 1
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0x123a0033.
    <7>mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
    <7>mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0000000a
    <7>mxsdhci [sdhci_send_command()]: sdhci_send_command 0xc is starting...
    <7>mxsdhci [sdhci_send_command()]: Complete sending cmd, transfer mode would be 0xcdb0000.
    <7>mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
    <7>mmc0: req done (CMD18): 0: 00000900 00000000 00000000 00000000
    <7>mmc0:     65536 bytes transferred: 0
    <7>mmc0:     (CMD12): 0: 00000b00 00000000 00000000 00000000
    bash-3.2#

    ************************** END OF LOG *******************************************************

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • divya nagaraj101576
    Posted by divya nagaraj101576
    on Apr 16 2012 09:01 AM
    Prodigy40 points

    Hi All,

    I have attached two files FYI which contains detailed log messages(debug_level enabled) .

    The below file provides the log messages when interacting with the WLAN module through  Android GUI.

    4403.wlan-debug-GUI.txt

    The below file provides the log messages when interacting with the WLAN module through command mode.

    8551.wlan-debug-CMD.txt

    Regards,

    Divya

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sandeep sp
    Posted by Sandeep sp
    on Apr 17 2012 06:40 AM
    Prodigy80 points

    Hi All,

           We ported the Wl1271 driver to the AM3703 platform.
           We are also using it with Android.
           We are facing the same issue as mentioned above. i.e We can enable and disable the Wi-Fi interface for the first time only.
           The second time enabling is resulting in error.

           Please find the error logs

    ************************************LOG START************************
    wl1271: loaded
    wl1271: initialized
    omap_hsmmc omap_hsmmc.1: could not set regulator OCR (-22)
    omap_hsmmc omap_hsmmc.1: could not set regulator OCR (-22)
    wl1271: firmware booted (Rev 6.1.5.50.74)
    ADDRCONF(NETDEV_UP): wlan0: link is not ready
    wl1271: down
    omap_hsmmc omap_hsmmc.1: could not set regulator OCR (-22)
    omap_hsmmc omap_hsmmc.1: could not set regulator OCR (-22)
    wl1271: unloaded
    omap_hsmmc omap_hsmmc.1: could not set regulator OCR (-22)
    wl1271: loaded
    wl1271: initialized
    omap_hsmmc omap_hsmmc.1: could not set regulator OCR (-22)
    omap_hsmmc omap_hsmmc.1: could not set regulator OCR (-22)
    wl1271: ERROR sdio write failed (-110)
    wl1271: ERROR sdio write failed (-84)
    wl1271: ERROR sdio write failed (-84)
    wl1271: ERROR sdio write failed (-84)
    wl1271: ERROR sdio write failed (-84)
    wl1271: ERROR sdio write failed (-84)
    wl1271: ERROR sdio write failed (-84)
    wl1271: ERROR sdio write failed (-22)
    ************************************LOG END************************

    Another post in E2E with the same issue.

    http://e2e.ti.com/support/dsp/omap_applications_processors/f/447/t/181765.aspx#655180

    Regards

    Sandeep S.P

    Wi-Fi interface down for the second time
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Eyal Reizer
    Posted by Eyal Reizer
    on Apr 18 2012 02:25 AM
    Intellectual1165 points

    Sandeep,

     

    Based on the error:

    omap_hsmmc omap_hsmmc.1: could not set regulator OCR (-22)

     

    It looks like your wlan disable/enable function is not working correctly and the wlan chip is probably not being reset when you do a down/up of the interface.

    This is why the driver fail to load on the second time as the firmware was not really reset. Did you verify that the enable line is actually toggling?

     

    Please refer to the following link:

     

    http://processors.wiki.ti.com/index.php/OMAP_Wireless_Connectivity_Hardware_Porting_for_AM37x_Platform

    refer to the "Power Control and Platform Data Initialization" section and make sure your board file has a similar intialization.

     

    In case you are doing the same and still have issues, it is possible that the fixed volatage reulator in your kernel is not working correctly (which kernel version are you using?).

    You can also refer to the following link:

    http://processors.wiki.ti.com/index.php/OMAP_Wireless_Connectivity_Hardware_Porting_for_new_Platform

    and refer to the "Power Control – without voltage regulator" section for an alternate method of power control.

     

    Best Regards,

    Eyal Reizer


     

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Ian Carvalho
    Posted by Ian Carvalho
    on May 12 2012 00:40 AM
    Prodigy50 points

    Hi Eyal,

    What is the expected behavior of the WL1271 firmware after performing a WLAN_EN Disable and WLAN_EN Enable? Does the firmware have to be downloaded again or is the firmware ready to accept wireless commands and communication.

    Regards

    Ian

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Eyal Reizer
    Posted by Eyal Reizer
    on May 12 2012 00:51 AM
    Intellectual1165 points

    the firmware needs to be reloaded after power down

    regards

    eyal

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Ian Carvalho
    Posted by Ian Carvalho
    on May 12 2012 04:27 AM
    Prodigy50 points

    Does the firmware have to be reloaded even if we do not power down the chip but just disable WLAN_EN and then re-enable it?

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Eyal a
    Posted by Eyal a
    on May 13 2012 10:27 AM
    Genius9240 points

    Hi,

    Yes, after disabling the WLAN_EN signal, the firmware has to be reloaded.

    Regards,

    Eyal

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sandeep sp
    Posted by Sandeep sp
    on May 23 2012 23:33 PM
    Prodigy80 points

    @Divya,

    Did you happenned to resolve this issue?

     if yes, please share the steps with us

     

    Regards

    Sandeep S.P

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • poo kalimada
    Posted by poo kalimada
    on May 24 2012 05:21 AM
    Prodigy30 points

    Hi Eyal,

    Is SDIO initialization required (work done in the mmc_rescan function) when the interface is enabled for the second time ?

    Thank you

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Alon Srednizki
    Posted by Alon Srednizki
    on May 24 2012 07:52 AM
    Expert3285 points

    Hi,

    Yes you need to intialize the SDIO on every WLAN enable.
    It's of course a system configuratio, but in our refernce design we turn off the SDIO bus when we turn off the WLAN.

    Thanks,
    Alon.S

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Michael Carrier
    Posted by Michael Carrier
    on Jun 16 2012 08:31 AM
    Prodigy50 points

    Hi Alon,

    We are having the exact issue as described above. In our design VBAT and VIO are hardware wired and can't be powered down. As such we cannot power down the chip but instead simply toggle WL_EN low on power down and toggle WL_EN high on power up. We experience SDIO timeouts (-110). I see in your previous posts that you turn off the SDIO bus. Is there a way to turn off the SDIO without invoking MMC/SDIO power management and voltage regulation. We do not have our board startup configure PM/regulators because the chip's power (VIO,VBAT) are hardwired to the PCB.

    We
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Bernard Seller
    Posted by Bernard Seller
    on Jun 19 2012 08:48 AM
    Intellectual430 points

    I did have the same problem

    As Eyal described it,  my problem was that the Enable pin to the wl1271 was never going to "disable"

    so the first "boot"  worked but the second one did not

    cheers

    Bernard

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
12
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use