This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Unable to bring up the wl1271 interface the second time

Other Parts Discussed in Thread: WL1271, AM3703

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

  • Divya,

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

    -Saurabh

  • 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

  • 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 *******************************************************

  • 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.

    ********************Inserting the module*******************
    bash-3.2# insmod etc/modules/wl1271.ko 
    bash-3.2# 
    bash-3.2# dmesg -c
    bash-3.2# 
    bash-3.2# 
    *****************Turning on wifi from GUI******************
    bash-3.2# sdio_bus_probe                                                                        
    sdio_bus_probe                                                                                  
    wl1271: loaded                                                                                  
    wl1271: initialized                                                                             
    wl1271_power_on
    SDIO: Enabled device mmc1:0001:2 func->num 2
    wl1271_io_reset
    wl1271_io_init
    wl1271_enable_interrupts
    firmware booted (Rev 6.1.0.50.350)
    ADDRCONF(NETDEV_UP): wlan0: link is not ready
    wl1271: performing tx calibration
    ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
    
    bash-3.2# 
    bash-3.2# 
    bash-3.2# dmesg -c                     
     53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x7b4, 4 bytes
    <7>wl1271: data: 00000000: 25 00 01 00                                      %...
    <7>wl1271: sdio write 53 addr 0x154b0, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <7>wl1271: IRQ
    <7>wl1271: elp work
    <7>wl1271: IRQ work
    <7>wl1271: sdio read 53 addr 0x1efc0, 68 bytes
    <7>wl1271: data: 00000000: 08 00 00 00 40 07 00 1a 09 4d 00 04 0d 66 00 04  ....@....M...f..
    <7>wl1271: data: 00000010: 0c 4d 00 04 0f 66 00 04 11 47 00 04 13 2d 00 04  .M...f...G...-..
    <7>wl1271: data: 00000020: 14 47 00 04 16 3a 00 04 2f 00 00 00 00 00 00 00  .G...:../.......
    <7>wl1271: data: 00000030: 00 00 00 00 21 00 00 00 05 1e 27 05 00 00 00 00  ....!.....'.....
    <7>wl1271: data: 00000040: 00 00 00 00                                      ....
    <7>wl1271: intr: 0x8 (fw_rx_counter = 64, drv_rx_counter = 7, tx_results_counter = 26)
    <7>wl1271: WL1271_ACX_INTR_EVENT_B
    <7>wl1271: EVENT on mbox 1
    <7>wl1271: sdio read 53 addr 0xceac, 84 bytes
    <7>wl1271: data: 00000000: 00 20 00 00 fe 5b fa ff de 57 10 be bb 50 d7 e6  . ...[...W...P..
    <7>wl1271: data: 00000010: a7 01 d0 8d 56 38 4e bf 33 d5 cb db e0 53 bb 10  ....V8N.3....S..
    <7>wl1271: data: 00000020: 22 01 a6 d9 57 3d 4a f8 00 09 e6 f8 01 51 ab 43  "...W=J......Q.C
    <7>wl1271: data: 00000030: 00 3e 0a c5 52 da 03 07 2b d9 17 78 49 14 2f 52  .>..R...+..xI./R
    <7>wl1271: data: 00000040: 0d 82 44 dd 7e 71 24 16 24 1e d3 22 61 4c 67 9b  ..D.~q$.$.."aLg.
    <7>wl1271: data: 00000050: fa fb c7 04                                      ....
    <7>wl1271: MBOX DUMP:
    <7>wl1271:      vector: 0x2000
    <7>wl1271:      mask: 0xfffa5bfe
    <7>wl1271: vector: 0x2000
    <7>wl1271: PS_REPORT_EVENT
    <7>wl1271: ps_status: 0x3
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 02 00 00 00                                      ....
    <7>wl1271: tx_allocate: size: 65, blocks: 3, id: 0
    <7>wl1271: tx_fill_hdr: pad: 3
    <7>wl1271: sdio write 53 addr 0x14fd8, 68 bytes
    <7>wl1271: data: 00000000: 11 00 02 03 49 2c 27 05 d0 07 30 0c 00 06 01 00  ....I,'...0.....
    <7>wl1271: data: 00000010: 40 00 da 00 00 23 69 f6 ca bd de ad be ef 00 00  @....#i.........
    <7>wl1271: data: 00000020: 00 23 69 f6 ca bd b0 00 00 07 42 54 2d 54 65 73  .#i.......BT-Tes
    <7>wl1271: data: 00000030: 74 01 08 02 04 0b 16 0c 12 18 24 32 04 30 48 60  t.........$2.0H`
    <7>wl1271: data: 00000040: 6c 09 00 00                                      l...
    <7>wl1271: tx id 0 skb 0x9af1e9c0 payload 68 (17 words)
    <7>wl1271: sdio write 53 addr 0x159b8, 4 bytes
    <7>wl1271: data: 00000000: 1b 00 00 00                                      ....
    <7>wl1271: IRQ
    <7>wl1271: IRQ work
    <7>wl1271: sdio read 53 addr 0x1efc0, 68 bytes
    <7>wl1271: data: 00000000: 40 00 00 00 41 00 00 1b 19 66 00 04 0d 66 00 04  @...A....f...f..
    <7>wl1271: data: 00000010: 0c 4d 00 04 0f 66 00 04 11 47 00 04 13 2d 00 04  .M...f...G...-..
    <7>wl1271: data: 00000020: 14 47 00 04 16 3a 00 04 2f 00 00 00 00 00 00 00  .G...:../.......
    <7>wl1271: data: 00000030: 00 00 00 00 24 00 00 00 9f 57 27 05 00 00 00 00  ....$....W'.....
    <7>wl1271: data: 00000040: 00 00 00 00                                      ....
    <7>wl1271: intr: 0x40 (fw_rx_counter = 65, drv_rx_counter = 0, tx_results_counter = 27)
    <7>wl1271: WL1271_ACX_INTR_DATA
    <7>wl1271: sdio read 53 addr 0x624, 264 bytes
    <7>wl1271: data: 00000000: 1b 00 00 00 1a 00 00 00 00 00 36 00 d2 88 0f 03  ..........6.....
    <7>wl1271: data: 00000010: 22 22 22 22 09 02 0b 22 00 00 62 00 95 05 3c 03  """"..."..b...<.
    <7>wl1271: data: 00000020: 22 22 22 22 0a 04 0e 22 00 00 d4 00 56 df 4e 03  """"..."....V.N.
    <7>wl1271: data: 00000030: 22 22 22 22 0b 08 12 22 00 00 3e 00 ea f5 53 03  """"..."..>...S.
    <7>wl1271: data: 00000040: 22 22 22 22 0b 04 0e 22 00 00 52 00 56 a8 6d 03  """"..."..R.V.m.
    <7>wl1271: data: 00000050: 22 22 22 22 0c 04 0e 22 00 03 48 02 83 39 b0 03  """"..."..H..9..
    <7>wl1271: data: 00000060: 22 22 22 22 0c 0a 14 22 00 00 48 02 70 b3 b7 03  """"..."..H.p...
    <7>wl1271: data: 00000070: 22 22 22 22 0c 09 14 22 00 00 32 00 c0 17 0e 04  """"..."..2.....
    <7>wl1271: data: 00000080: 22 22 22 22 0c 00 0d 22 00 00 2e 00 e8 dd 6b 04  """"..."......k.
    <7>wl1271: data: 00000090: 22 22 22 22 0c 02 0b 22 00 00 48 02 81 f1 c9 04  """"..."..H.....
    <7>wl1271: data: 000000a0: 22 22 22 22 0c 09 14 22 00 00 3e 00 80 51 27 05  """"..."..>..Q'.
    <7>wl1271: data: 000000b0: 22 22 22 22 0c 04 0e 22 00 00 22 01 6a 50 dd 02  """"..."..".jP..
    <7>wl1271: data: 000000c0: 22 22 22 22 05 05 0e 22 00 00 2e 00 e6 a6 dd 02  """"..."........
    <7>wl1271: data: 000000d0: 22 22 22 22 06 01 0a 22 00 00 3e 00 02 b7 f7 02  """"..."..>.....
    <7>wl1271: data: 000000e0: 22 22 22 22 06 05 0e 22 00 00 52 00 ac 6c fb 02  """"..."..R..l..
    <7>wl1271: data: 000000f0: 22 22 22 22 07 04 0e 22 00 00 62 00 30 d5 fe 02  """"..."..b.0...
    <7>wl1271: data: 00000100: 22 22 22 22 08 05 0e 22                          """"..."
    <7>wl1271: sdio write 53 addr 0x628, 4 bytes
    <7>wl1271: data: 00000000: 1b 00 00 00                                      ....
    <7>wl1271: tx_complete received, packets: 1
    <7>wl1271: tx status id 0 skb 0x9af1e9c0 failures 4 rate 0xe status 0x0
    <7>wl1271: sdio write 53 addr 0x14fc8, 8 bytes
    <7>wl1271: data: 00000000: 60 36 04 00 64 36 04 00                          `6..d6..
    <7>wl1271: sdio read 53 addr 0x14fd8, 408 bytes
    <7>wl1271: data: 00000000: 66 00 00 00 0e 0b ae 1e 3c 40 b9 a3 04 00 04 00  f.......<@......
    <7>wl1271: data: 00000010: 50 00 30 00 de ad be ef 00 00 00 23 69 f6 ca bd  P.0........#i...
    <7>wl1271: data: 00000020: 00 23 69 f6 ca bd b0 f1 49 40 b9 a3 91 00 00 00  .#i.....I@......
    <7>wl1271: data: 00000030: 64 00 11 04 00 07 42 54 2d 54 65 73 74 01 08 82  d.....BT-Test...
    <7>wl1271: data: 00000040: 84 0b 16 24 30 48 6c 03 01 0b 2a 01 00 2f 01 00  ...$0Hl...*../..
    <7>wl1271: data: 00000050: 30 18 01 00 00 0f ac 02 02 00 00 0f ac 04 00 0f  0...............
    <7>wl1271: data: 00000060: ac 02 01 00 00 0f ac 02 0c 00 32 04 0c 12 18 60  ..........2....`
    <7>wl1271: data: 00000070: 2d 1a 7c 18 1b ff ff 00 00 00 00 00 00 00 00 00  -.|.............
    <7>wl1271: data: 00000080: 00 00 00 00 00 00 00 00 00 00 00 00 3d 16 0b 08  ............=...
    <7>wl1271: data: 00000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    <7>wl1271: data: 000000a0: 00 00 00 00 dd 6f 00 50 f2 04 10 4a 00 01 10 10  .....o.P...J....
    <7>wl1271: data: 000000b0: 44 00 01 02 10 41 00 01 00 10 3b 00 01 03 10 47  D....A....;....G
    <7>wl1271: data: 000000c0: 00 10 b8 03 f2 05 ea c6 b2 2e 22 73 1c bb a9 e3  .........."s....
    <7>wl1271: data: 000000d0: c4 75 10 21 00 07 4c 69 6e 6b 73 79 73 10 23 00  .u.!..Linksys.#.
    <7>wl1271: data: 000000e0: 07 57 52 54 31 36 30 4e 10 24 00 06 31 32 33 34  .WRT160N.$..1234
    <7>wl1271: data: 000000f0: 35 36 10 42 00 02 34 32 10 54 00 08 00 06 00 50  56.B..42.T.....P
    <7>wl1271: data: 00000100: f2 04 00 01 10 11 00 07 57 52 54 31 36 30 4e 10  ........WRT160N.
    <7>wl1271: data: 00000110: 08 00 02 00 84 dd 09 00 10 18 02 01 f4 05 00 00  ................
    <7>wl1271: data: 00000120: dd 1c 00 50 f2 01 01 00 00 50 f2 02 02 00 00 50  ...P.....P.....P
    <7>wl1271: data: 00000130: f2 04 00 50 f2 02 01 00 00 50 f2 02 0c 00 dd 18  ...P.....P......
    <7>wl1271: data: 00000140: 00 50 f2 02 01 01 00 00 03 a4 00 00 27 a4 00 00  .P..........'...
    <7>wl1271: data: 00000150: 42 43 5e 00 62 32 2f 00 dd 1e 00 90 4c 33 7c 18  BC^.b2/.....L3|.
    <7>wl1271: data: 00000160: 1b ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    <7>wl1271: data: 00000170: 00 00 00 00 00 00 00 00 dd 1a 00 90 4c 34 0b 08  ............L4..
    <7>wl1271: data: 00000180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    <7>wl1271: data: 00000190: 00 00 00 00 10 10 44 00                          ......D.
    <7>wl1271: rx skb 0x9af1e9c0: 392 B 
    <7>wl1271: sdio write 53 addr 0x154f8, 4 bytes
    <7>wl1271: data: 00000000: 41 01 00 00                                      A...
    <7>wl1271: IRQ
    <7>wl1271: IRQ work
    <7>wl1271: sdio read 53 addr 0x1efc0, 68 bytes
    <7>wl1271: data: 00000000: 40 00 00 00 42 01 00 1b 19 66 00 04 1b 50 00 04  @...B....f...P..
    <7>wl1271: data: 00000010: 0c 4d 00 04 0f 66 00 04 11 47 00 04 13 2d 00 04  .M...f...G...-..
    <7>wl1271: data: 00000020: 14 47 00 04 16 3a 00 04 2f 00 00 00 00 00 00 00  .G...:../.......
    <7>wl1271: data: 00000030: 00 00 00 00 24 00 00 00 a5 80 28 05 00 00 00 00  ....$.....(.....
    <7>wl1271: data: 00000040: 00 00 00 00                                      ....
    <7>wl1271: intr: 0x40 (fw_rx_counter = 66, drv_rx_counter = 1, tx_results_counter = 27)
    <7>wl1271: WL1271_ACX_INTR_DATA
    <7>wl1271: sdio write 53 addr 0x14fc8, 8 bytes
    <7>wl1271: data: 00000000: 60 38 04 00 64 38 04 00                          `8..d8..
    <7>wl1271: sdio read 53 addr 0x14fd8, 320 bytes
    <7>wl1271: data: 00000000: 50 00 00 00 14 0b b1 24 d8 60 ba a3 04 00 07 00  P......$.`......
    <7>wl1271: data: 00000010: 80 00 00 00 ff ff ff ff ff ff 00 23 69 f6 ca bd  ...........#i...
    <7>wl1271: data: 00000020: 00 23 69 f6 ca bd c0 f1 98 61 ba a3 91 00 00 00  .#i......a......
    <7>wl1271: data: 00000030: 64 00 11 04 00 07 42 54 2d 54 65 73 74 01 08 82  d.....BT-Test...
    <7>wl1271: data: 00000040: 84 0b 16 24 30 48 6c 03 01 0b 05 04 04 0a 00 00  ...$0Hl.........
    <7>wl1271: data: 00000050: 2a 01 00 2f 01 00 30 18 01 00 00 0f ac 02 02 00  *../..0.........
    <7>wl1271: data: 00000060: 00 0f ac 04 00 0f ac 02 01 00 00 0f ac 02 0c 00  ................
    <7>wl1271: data: 00000070: 32 04 0c 12 18 60 2d 1a 7c 18 1b ff ff 00 00 00  2....`-.|.......
    <7>wl1271: data: 00000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    <7>wl1271: data: 00000090: 00 00 3d 16 0b 08 00 00 00 00 00 00 00 00 00 00  ..=.............
    <7>wl1271: data: 000000a0: 00 00 00 00 00 00 00 00 00 00 dd 0e 00 50 f2 04  .............P..
    <7>wl1271: data: 000000b0: 10 4a 00 01 10 10 44 00 01 02 dd 09 00 10 18 02  .J....D.........
    <7>wl1271: data: 000000c0: 01 f4 05 00 00 dd 1c 00 50 f2 01 01 00 00 50 f2  ........P.....P.
    <7>wl1271: data: 000000d0: 02 02 00 00 50 f2 04 00 50 f2 02 01 00 00 50 f2  ....P...P.....P.
    <7>wl1271: data: 000000e0: 02 0c 00 dd 18 00 50 f2 02 01 01 00 00 03 a4 00  ......P.........
    <7>wl1271: data: 000000f0: 00 27 a4 00 00 42 43 5e 00 62 32 2f 00 dd 1e 00  .'...BC^.b2/....
    <7>wl1271: data: 00000100: 90 4c 33 7c 18 1b ff ff 00 00 00 00 00 00 00 00  .L3|............
    <7>wl1271: data: 00000110: 00 00 00 00 00 00 00 00 00 00 00 00 00 dd 1a 00  ................
    <7>wl1271: data: 00000120: 90 4c 34 0b 08 00 00 00 00 00 00 00 00 00 00 00  .L4.............
    <7>wl1271: data: 00000130: 00 00 00 00 00 00 00 00 00 3f 6b e9 84 0b 16 24  .........?k....$
    <7>wl1271: rx skb 0x9af1ec00: 304 B beacon
    <7>wl1271: sdio write 53 addr 0x154f8, 4 bytes
    <7>wl1271: data: 00000000: 42 01 00 00                                      B...
    <7>wl1271: mac80211 config ch 11 psm on power 20 in use
    <7>wl1271: psm enabled
    <7>wl1271: entering psm
    <7>wl1271: acx wake up conditions
    <7>wl1271: cmd configure
    <7>wl1271: sdio write 53 addr 0x7b4, 12 bytes
    <7>wl1271: data: 00000000: 02 00 00 00 02 00 04 00 02 01 00 00              ............
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <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>wl1271: cmd set ps mode
    <7>wl1271: sdio write 53 addr 0x7b4, 12 bytes
    <7>wl1271: data: 00000000: 25 00 00 00 01 01 05 01 01 00 00 00              %...........
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x7b4, 4 bytes
    <7>wl1271: data: 00000000: 25 00 01 00                                      %...
    <7>wl1271: sdio write 53 addr 0x154b0, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <7>wl1271: IRQ
    <7>wl1271: IRQ work
    <7>wl1271: sdio read 53 addr 0x1efc0, 68 bytes
    <7>wl1271: data: 00000000: 04 00 00 00 42 01 00 1b 19 66 00 04 1b 50 00 04  ....B....f...P..
    <7>wl1271: data: 00000010: 0c 4d 00 04 0f 66 00 04 11 47 00 04 13 2d 00 04  .M...f...G...-..
    <7>wl1271: data: 00000020: 14 47 00 04 16 3a 00 04 2f 00 00 00 00 00 00 00  .G...:../.......
    <7>wl1271: data: 00000030: 00 00 00 00 24 00 00 00 92 f9 28 05 00 00 00 00  ....$.....(.....
    <7>wl1271: data: 00000040: 00 00 00 00                                      ....
    <7>wl1271: intr: 0x4 (fw_rx_counter = 66, drv_rx_counter = 1, tx_results_counter = 27)
    <7>wl1271: WL1271_ACX_INTR_EVENT_A
    <7>wl1271: EVENT on mbox 0
    <7>wl1271: sdio read 53 addr 0xce58, 84 bytes
    <7>wl1271: data: 00000000: 00 20 00 00 fe 5b fa ff d4 dd 81 de 39 0c c7 00  . ...[......9...
    <7>wl1271: data: 00000010: 21 3d 96 60 00 7a da 35 ee 35 b0 f5 ce a4 f9 a8  !=.`.z.5.5......
    <7>wl1271: data: 00000020: 2b 01 ad 11 34 fd 7c 7f 76 28 54 a0 d0 16 b9 c2  +...4.|.v(T.....
    <7>wl1271: data: 00000030: c3 9b 7d dd ba e8 01 69 6d 5f b7 57 e0 8e c8 9b  ..}....im_.W....
    <7>wl1271: data: 00000040: 3b 50 3d 26 47 ef 4c a5 53 52 a1 8e a5 dd e1 de  ;P=&G.L.SR......
    <7>wl1271: data: 00000050: 76 5c 98 80                                      v\..
    <7>wl1271: MBOX DUMP:
    <7>wl1271:      vector: 0x2000
    <7>wl1271:      mask: 0xfffa5bfe
    <7>wl1271: vector: 0x2000
    <7>wl1271: PS_REPORT_EVENT
    <7>wl1271: ps_status: 0x1
    <7>wl1271: acx beacon filter opt
    <7>wl1271: cmd configure
    <7>wl1271: sdio write 53 addr 0x7b4, 12 bytes
    <7>wl1271: data: 00000000: 02 00 00 00 1f 00 04 00 01 00 00 00              ............
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <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>wl1271: acx bet enable
    <7>wl1271: cmd configure
    <7>wl1271: sdio write 53 addr 0x7b4, 12 bytes
    <7>wl1271: data: 00000000: 02 00 00 00 50 00 04 00 01 0a 00 00              ....P.......
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <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>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 02 00 00 00                                      ....
    <7>wl1271: elp work
    <7>wl1271: chip to elp
    <7>wl1271: sdio write 52 addr 0x1fffc, byte 0x00
    bash-3.2# 
    bash-3.2#
    ******************Turning off wifi from GUI***************** 
    bash-3.2# 
    bash-3.2# 
    bash-3.2# 
    bash-3.2# wl1271_disable_interrupts
    wl1271_power_off
    SDIO: Disabled device mmc1:0001:2 func->num 2
    cfg80211: Calling CRDA to update world regulatory domain
    sdio_bus_remove
    wl1271: unloaded
    
    bash-3.2# 
    bash-3.2# 
    bash-3.2# 
    bash-3.2# 
    bash-3.2# dmesg -c
    4 00 00 00                                      ....
    <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>wl1271: cmd join
    <7>wl1271: sdio write 53 addr 0x7b4, 64 bytes
    <7>wl1271: data: 00000000: 0b 00 00 00 00 00 00 00 00 00 64 00 70 00 00 00  ..........d.p...
    <7>wl1271: data: 00000010: d6 0e 00 00 01 00 00 00 01 02 0b 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 8a 00 00 00  ................
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 14 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x7b4, 4 bytes
    <7>wl1271: data: 00000000: 0b 00 01 00                                      ....
    <7>wl1271: sdio write 53 addr 0x154b0, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0xce58, 4 bytes
    <7>wl1271: data: 00000000: 00 20 00 00                                      . ..
    <7>wl1271: sdio read 53 addr 0xceac, 4 bytes
    <7>wl1271: data: 00000000: 00 00 01 00                                      ....
    <7>wl1271: IRQ work
    <7>wl1271: sdio read 53 addr 0x1efc0, 68 bytes
    <7>wl1271: data: 00000000: 04 00 00 00 80 07 00 26 07 4d 00 04 09 66 00 04  .......&.M...f..
    <7>wl1271: data: 00000010: 0d 2d 00 04 0b 47 00 04 41 50 00 04 43 3a 00 04  .-...G..AP..C:..
    <7>wl1271: data: 00000020: 0c 66 00 04 00 50 00 04 2f 00 00 00 00 00 00 00  .f...P../.......
    <7>wl1271: data: 00000030: 00 00 00 00 45 00 00 00 da 9c 9d 08 00 00 00 00  ....E...........
    <7>wl1271: data: 00000040: 00 00 00 00                                      ....
    <7>wl1271: intr: 0x4 (fw_rx_counter = 128, drv_rx_counter = 7, tx_results_counter = 38)
    <7>wl1271: WL1271_ACX_INTR_EVENT_A
    <7>wl1271: EVENT on mbox 0
    <7>wl1271: sdio read 53 addr 0xce58, 84 bytes
    <7>wl1271: data: 00000000: 00 20 00 00 fe 5b fa ff d4 dd 81 de 39 0c c7 00  . ...[......9...
    <7>wl1271: data: 00000010: 21 3d 96 60 00 7a da 35 ee 35 b0 f5 ce a4 f9 a8  !=.`.z.5.5......
    <7>wl1271: data: 00000020: 20 01 ad 11 34 fd 7c 7f 76 28 54 a0 d0 16 b9 c2   ...4.|.v(T.....
    <7>wl1271: data: 00000030: c3 9b 7d dd ba e8 03 69 6d 5f b7 57 e0 8e c8 9b  ..}....im_.W....
    <7>wl1271: data: 00000040: 3b 50 3d 26 47 ef 4c a5 53 52 a1 8e a5 dd e1 de  ;P=&G.L.SR......
    <7>wl1271: data: 00000050: 76 5c 98 80                                      v\..
    <7>wl1271: MBOX DUMP:
    <7>wl1271:      vector: 0x2000
    <7>wl1271:      mask: 0xfffa5bfe
    <7>wl1271: vector: 0x2000
    <7>wl1271: PS_REPORT_EVENT
    <7>wl1271: ps_status: 0x3
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 02 00 00 00                                      ....
    <7>wl1271: IRQ
    <7>wl1271: sdio read 53 addr 0x1efc0, 68 bytes
    <7>wl1271: data: 00000000: 08 00 00 00 80 07 00 26 07 4d 00 04 09 66 00 04  .......&.M...f..
    <7>wl1271: data: 00000010: 0d 2d 00 04 0b 47 00 04 41 50 00 04 43 3a 00 04  .-...G..AP..C:..
    <7>wl1271: data: 00000020: 0c 66 00 04 00 50 00 04 2f 00 00 00 00 00 00 00  .f...P../.......
    <7>wl1271: data: 00000030: 00 00 00 00 45 00 00 00 41 f1 9d 08 00 00 00 00  ....E...A.......
    <7>wl1271: data: 00000040: 00 00 00 00                                      ....
    <7>wl1271: intr: 0x8 (fw_rx_counter = 128, drv_rx_counter = 7, tx_results_counter = 38)
    <7>wl1271: WL1271_ACX_INTR_EVENT_B
    <7>wl1271: EVENT on mbox 1
    <7>wl1271: sdio read 53 addr 0xceac, 84 bytes
    <7>wl1271: data: 00000000: 00 00 01 00 fe 5b fa ff de 57 10 be bb 50 d7 e6  .....[...W...P..
    <7>wl1271: data: 00000010: a7 01 d0 8d 56 38 4e bf 33 d5 cb db e0 53 bb 10  ....V8N.3....S..
    <7>wl1271: data: 00000020: 2a 01 a6 d9 57 3d 4a f8 00 09 e6 f8 01 51 ab 43  *...W=J......Q.C
    <7>wl1271: data: 00000030: 00 3e 0a c5 52 da 01 07 2b d9 17 78 49 14 2f 52  .>..R...+..xI./R
    <7>wl1271: data: 00000040: 0d 82 44 dd 7e 71 24 16 24 1e d3 22 61 4c 67 9b  ..D.~q$.$.."aLg.
    <7>wl1271: data: 00000050: fa fb c7 04                                      ....
    <7>wl1271: MBOX DUMP:
    <7>wl1271:      vector: 0x10000
    <7>wl1271:      mask: 0xfffa5bfe
    <7>wl1271: vector: 0x10000
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 02 00 00 00                                      ....
    <7>wl1271: elp work
    <7>wl1271: mac80211 set key
    <7>wl1271: CMD: 0x1
    <7>wl1271: ADDR: 00000000: 00 23 69 f6 ca bd
    <7>wl1271: Key: algo:0x2, id:0, len:16 flags 0xb
    <7>wl1271: KEY: 00000000: 0b be b0 90 a5 bf 4d 94 90 7d 36 05 53 5f 38 d0
    <7>wlan0: deauthenticating from 00:23:69:f6:ca:bd by local choice (reason=3)
    <7>wl1271: tx_allocate: size: 42, blocks: 3, id: 0
    <7>wl1271: tx_fill_hdr: pad: 2
    <7>wl1271: sdio write 53 addr 0x14fd8, 44 bytes
    <7>wl1271: data: 00000000: 0b 00 02 03 49 fb 9d 08 d0 07 14 08 00 06 01 00  ....I...........
    <7>wl1271: data: 00000010: c0 00 3a 01 00 23 69 f6 ca bd de ad be ef 00 00  ..:..#i.........
    <7>wl1271: data: 00000020: 00 23 69 f6 ca bd 70 01 03 00 00 00              .#i...p.....
    <7>wl1271: tx id 0 skb 0x9af1e9c0 payload 44 (11 words)
    <7>wl1271: sdio write 53 addr 0x159b8, 4 bytes
    <7>wl1271: data: 00000000: 27 00 00 00                                      '...
    <7>wl1271: mac80211 config ch 11 psm off power 20 idle
    <7>wl1271: cmd disconnect
    <7>wl1271: sdio write 53 addr 0x7b4, 16 bytes
    <7>wl1271: data: 00000000: 24 00 00 00 70 00 00 00 d6 0e 00 00 00 00 00 00  $...p...........
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: IRQ
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x7b4, 4 bytes
    <7>wl1271: data: 00000000: 24 00 01 00                                      $...
    <7>wl1271: sdio write 53 addr 0x154b0, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0xce58, 4 bytes
    <7>wl1271: data: 00000000: 00 80 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0xceac, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: RX filters set: 
    <7>wl1271:  - FIF_OTHER_BSS
    <7>wl1271: acx rate policies
    <7>wl1271: cmd configure
    <7>wl1271: sdio write 53 addr 0x7b4, 76 bytes
    <7>wl1271: data: 00000000: 02 00 00 00 3d 00 44 00 02 00 00 00 01 00 00 00  ....=.D.........
    <7>wl1271: data: 00000010: 0a 0a 00 00 01 00 00 00 0a 0a 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 00 00 00 00  ................
    <7>wl1271: data: 00000040: 00 00 00 00 00 00 00 00 00 00 00 00              ............
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 44 00 00 00                                      D...
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 54 00 00 00                                      T...
    <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>wl1271: acx keep alive config
    <7>wl1271: cmd configure
    <7>wl1271: sdio write 53 addr 0x7b4, 16 bytes
    <7>wl1271: data: 00000000: 02 00 00 00 54 00 08 00 d8 d6 00 00 00 00 00 00  ....T...........
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 44 00 00 00                                      D...
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 54 00 00 00                                      T...
    <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>wl1271: IRQ work
    <7>wl1271: sdio read 53 addr 0x1efc0, 68 bytes
    <7>wl1271: data: 00000000: 44 00 00 00 80 07 00 27 07 4d 00 04 09 66 00 04  D......'.M...f..
    <7>wl1271: data: 00000010: 0d 2d 00 04 0b 47 00 04 41 50 00 04 43 3a 00 04  .-...G..AP..C:..
    <7>wl1271: data: 00000020: 0c 66 00 04 00 50 00 04 2f 00 00 00 00 00 00 00  .f...P../.......
    <7>wl1271: data: 00000030: 00 00 00 00 48 00 00 00 e2 45 9e 08 00 00 00 00  ....H....E......
    <7>wl1271: data: 00000040: 00 00 00 00                                      ....
    <7>wl1271: intr: 0x44 (fw_rx_counter = 128, drv_rx_counter = 7, tx_results_counter = 39)
    <7>wl1271: WL1271_ACX_INTR_DATA
    <7>wl1271: sdio read 53 addr 0x624, 264 bytes
    <7>wl1271: data: 00000000: 27 00 00 00 26 00 00 00 00 03 48 02 df ef 49 07  '...&.....H...I.
    <7>wl1271: data: 00000010: 22 22 22 22 0c 0a 14 22 00 00 3e 00 e0 73 51 07  """"..."..>..sQ.
    <7>wl1271: data: 00000020: 22 22 22 22 0c 04 0e 22 00 00 32 00 ea 4e a8 07  """"..."..2..N..
    <7>wl1271: data: 00000030: 22 22 22 22 0c 00 0d 22 00 00 26 00 14 a9 05 08  """"..."..&.....
    <7>wl1271: data: 00000040: 22 22 22 22 0c 00 0a 22 00 00 3e 00 30 21 0d 08  """"..."..>.0!..
    <7>wl1271: data: 00000050: 22 22 22 22 0c 05 0e 22 00 00 32 00 47 8f 63 08  """"..."..2.G.c.
    <7>wl1271: data: 00000060: 22 22 22 22 0c 00 0d 22 00 00 90 01 f0 ff 9d 08  """"..."........
    <7>wl1271: data: 00000070: 22 22 22 22 00 00 14 22 00 00 32 00 c0 17 0e 04  """"..."..2.....
    <7>wl1271: data: 00000080: 22 22 22 22 0c 00 0d 22 00 00 2e 00 e8 dd 6b 04  """"..."......k.
    <7>wl1271: data: 00000090: 22 22 22 22 0c 02 0b 22 00 00 48 02 81 f1 c9 04  """"..."..H.....
    <7>wl1271: data: 000000a0: 22 22 22 22 0c 09 14 22 00 00 3e 00 80 51 27 05  """"..."..>..Q'.
    <7>wl1271: data: 000000b0: 22 22 22 22 0c 04 0e 22 00 00 48 02 05 17 85 05  """"..."..H.....
    <7>wl1271: data: 000000c0: 22 22 22 22 0c 09 14 22 00 00 32 00 b0 87 d5 05  """"..."..2.....
    <7>wl1271: data: 000000d0: 22 22 22 22 0c 00 0d 22 00 00 2e 00 77 da 31 06  """"..."....w.1.
    <7>wl1271: data: 000000e0: 22 22 22 22 0c 02 0b 22 00 00 48 02 57 a7 8e 06  """"..."..H.W...
    <7>wl1271: data: 000000f0: 22 22 22 22 0c 09 14 22 00 00 2e 00 d6 6e ec 06  """"...".....n..
    <7>wl1271: data: 00000100: 22 22 22 22 0c 03 0b 22                          """"..."
    <7>wl1271: sdio write 53 addr 0x628, 4 bytes
    <7>wl1271: data: 00000000: 27 00 00 00                                      '...
    <7>wl1271: tx_complete received, packets: 1
    <7>wl1271: tx status id 0 skb 0x9af1e9c0 failures 0 rate 0x14 status 0x0
    <7>wl1271: sdio write 53 addr 0x154f8, 4 bytes
    <7>wl1271: data: 00000000: 80 02 00 00                                      ....
    <7>wl1271: WL1271_ACX_INTR_EVENT_A
    <7>wl1271: EVENT on mbox 0
    <7>wl1271: sdio read 53 addr 0xce58, 84 bytes
    <7>wl1271: data: 00000000: 00 80 00 00 fe 5b fa ff d4 dd 81 de 39 0c c7 00  .....[......9...
    <7>wl1271: data: 00000010: 21 3d 96 60 00 7a da 35 ee 35 b0 f5 ce a4 f9 a8  !=.`.z.5.5......
    <7>wl1271: data: 00000020: 20 01 ad 11 34 fd 7c 7f 76 28 54 a0 d0 16 b9 c2   ...4.|.v(T.....
    <7>wl1271: data: 00000030: c3 9b 7d dd ba e8 03 69 6d 5f b7 57 e0 8e c8 9b  ..}....im_.W....
    <7>wl1271: data: 00000040: 3b 50 3d 26 47 ef 4c a5 53 52 a1 8e a5 dd e1 de  ;P=&G.L.SR......
    <7>wl1271: data: 00000050: 76 5c 98 80                                      v\..
    <7>wl1271: MBOX DUMP:
    <7>wl1271:      vector: 0x8000
    <7>wl1271:      mask: 0xfffa5bfe
    <7>wl1271: vector: 0x8000
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 02 00 00 00                                      ....
    <7>wl1271: mac80211 configure filter
    <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>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <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>wl1271: mac80211 set key
    <7>wl1271: CMD: 0x1
    <7>wl1271: ADDR: 00000000: ff ff ff ff ff ff
    <7>wl1271: Key: algo:0x1, id:2, len:32 flags 0x1
    <7>wl1271: KEY: 00000000: d0 f8 7b 48 2a 97 12 92 ce c4 46 a8 a5 40 96 42
    <7>wl1271: elp work
    <7>wl1271: chip to elp
    <7>wl1271: sdio write 52 addr 0x1fffc, byte 0x00
    <7>wl1271: KEY: 00000010: 3f 47 69 bc 5a c3 c8 f8 dd 89 20 fe ba 48 f5 49
    <7>wl1271: waking up chip from elp
    <7>wl1271: sdio write 52 addr 0x1fffc, byte 0x01
    <7>wl1271: IRQ
    <7>wl1271: wakeup time: 0 ms
    <7>wl1271: TARGET KEY: 00000000: 00 00 00 00 ff ff ff ff ff ff 02 00 00 00 20 02
    <7>wl1271: TARGET KEY: 00000010: 00 02 00 00 00 00 00 00 d0 f8 7b 48 2a 97 12 92
    <7>wl1271: TARGET KEY: 00000020: ce c4 46 a8 a5 40 96 42 dd 89 20 fe ba 48 f5 49
    <7>wl1271: TARGET KEY: 00000030: 3f 47 69 bc 5a c3 c8 f8 00 00 00 00 00 00 00 00
    <7>wl1271: TARGET KEY: 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    <7>wl1271: sdio write 53 addr 0x7b4, 80 bytes
    <7>wl1271: data: 00000000: 0c 00 00 00 ff ff ff ff ff ff 02 00 00 00 20 02  .............. .
    <7>wl1271: data: 00000010: 00 02 00 00 00 00 00 00 d0 f8 7b 48 2a 97 12 92  ..........{H*...
    <7>wl1271: data: 00000020: ce c4 46 a8 a5 40 96 42 dd 89 20 fe ba 48 f5 49  ..F..@.B.. ..H.I
    <7>wl1271: data: 00000030: 3f 47 69 bc 5a c3 c8 f8 00 00 00 00 00 00 00 00  ?Gi.Z...........
    <7>wl1271: data: 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 20 00 00 00                                       ...
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 30 00 00 00                                      0...
    <7>wl1271: sdio read 53 addr 0x7b4, 4 bytes
    <7>wl1271: data: 00000000: 0c 00 01 00                                      ....
    <7>wl1271: sdio write 53 addr 0x154b0, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <7>wl1271: IRQ work
    <7>wl1271: sdio read 53 addr 0x1efc0, 68 bytes
    <7>wl1271: data: 00000000: 20 00 00 00 80 07 00 27 07 4d 00 04 09 66 00 04   ......'.M...f..
    <7>wl1271: data: 00000010: 0d 2d 00 04 0b 47 00 04 41 50 00 04 43 3a 00 04  .-...G..AP..C:..
    <7>wl1271: data: 00000020: 0c 66 00 04 00 50 00 04 2f 00 00 00 00 00 00 00  .f...P../.......
    <7>wl1271: data: 00000030: 00 00 00 00 48 00 00 00 4a 7e 9e 08 00 00 00 00  ....H...J~......
    <7>wl1271: data: 00000040: 00 00 00 00                                      ....
    <7>wl1271: intr: 0x20 (fw_rx_counter = 128, drv_rx_counter = 7, tx_results_counter = 39)
    <7>wl1271: WL1271_ACX_INTR_HW_AVAILABLE
    <7>wl1271: mac80211 remove interface
    <7>wl1271: down
    <6>wl1271_disable_interrupts
    <7>wl1271: elp work
    <7>wl1271: chip to elp
    <7>wl1271: sdio write 52 addr 0x1fffc, byte 0x00
    <6>wl1271_power_off
    <6>SDIO: Disabled device mmc1:0001:2 func->num 2
    <7>wl1271: mac80211 stop
    <7>cfg80211: All devices are disconnected, going to restore regulatory settings
    <7>cfg80211: Restoring regulatory settings
    <6>cfg80211: Calling CRDA to update world regulatory domain
    <4>sdio_bus_remove
    <6>wl1271: unloaded
    bash-3.2# 
    bash-3.2# 
    **********Pulling WLAN_EN pin low and setting it to high*************
    
    bash-3.2# echo 58 > /sys/class/gpio/export 
    bash-3.2# echo 0 > /sys/class/gpio/gpio58/value  
    bash-3.2# echo 1 > /sys/class/gpio/gpio58/value 
    bash-3.2# 
    bash-3.2# 
    bash-3.2# dmesg -c
    bash-3.2# 
    **********Turning on wifi from GUI for second time*******************
    bash-3.2# sdio_bus_probe
    wl1271_sdio: probe of mmc1:0001:1 failed with error -110
    sdio_bus_probe
    wl1271_sdio: probe of mmc1:0001:2 failed with error -110
    
    

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

    ****************Inserting the modules*************
    bash-3.2# insmod /etc/modules/wl1271_sdio.ko 
    sdio_bus_probe
    sdio_bus_probe
    wl1271: loaded
    wl1271: initialized
    bash-3.2# 
    bash-3.2# 
    bash-3.2# dmesg -c                           
    <4>sdio_bus_probe
    <4>sdio_bus_probe
    <6>wl1271: loaded
    <6>wl1271: initialized
    bash-3.2# 
    bash-3.2# 
    bash-3.2# 
    ****************Interface up for 1st time******************
    bash-3.2# 
    bash-3.2# ifconfig wlan0 up                  
    wl1271_power_on
    SDIO: Enabled device mmc1:0001:2 func->num 2
    wl1271_io_reset
    wl1271_io_init
    wl1271_enable_interrupts
    firmware booted (Rev 6.1.0.50.350)
    ADDRCONF(NETDEV_UP): wlan0: link is not ready
    bash-3.2# 
    bash-3.2# 
    bash-3.2# 
    bash-3.2# dmesg -c         
     bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <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>wl1271: acx keep alive config
    <7>wl1271: cmd configure
    <7>wl1271: sdio write 53 addr 0x7b4, 16 bytes
    <7>wl1271: data: 00000000: 02 00 00 00 54 00 08 00 d8 d6 00 00 00 00 00 00  ....T...........
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <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>wl1271: acx dot11_cur_tx_pwr
    <7>wl1271: cmd configure
    <7>wl1271: sdio write 53 addr 0x7b4, 12 bytes
    <7>wl1271: data: 00000000: 02 00 00 00 0d 10 04 00 c8 00 00 00              ............
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <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>wl1271: mac80211 conf tx 0
    <7>wl1271: acx ac cfg 3 cw_ming 7 cw_max 15 aifs 2 txop 3264
    <7>wl1271: cmd configure
    <7>wl1271: sdio write 53 addr 0x7b4, 16 bytes
    <7>wl1271: data: 00000000: 02 00 00 00 07 00 08 00 03 07 0f 00 02 00 c0 0c  ................
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <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>wl1271: acx tid config
    <7>wl1271: cmd configure
    <7>wl1271: sdio write 53 addr 0x7b4, 24 bytes
    <7>wl1271: data: 00000000: 02 00 00 00 1a 00 10 00 03 01 03 00 00 00 00 00  ................
    <7>wl1271: data: 00000010: 00 00 00 00 00 00 00 00                          ........
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <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>wl1271: mac80211 conf tx 1
    <7>wl1271: acx ac cfg 2 cw_ming 15 cw_max 31 aifs 2 txop 6016
    <7>wl1271: cmd configure
    <7>wl1271: sdio write 53 addr 0x7b4, 16 bytes
    <7>wl1271: data: 00000000: 02 00 00 00 07 00 08 00 02 0f 1f 00 02 00 80 17  ................
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <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>wl1271: acx tid config
    <7>wl1271: cmd configure
    <7>wl1271: sdio write 53 addr 0x7b4, 24 bytes
    <7>wl1271: data: 00000000: 02 00 00 00 1a 00 10 00 02 01 02 00 00 00 00 00  ................
    <7>wl1271: data: 00000010: 00 00 00 00 00 00 00 00                          ........
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <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>wl1271: mac80211 conf tx 2
    <7>wl1271: acx ac cfg 0 cw_ming 31 cw_max 1023 aifs 3 txop 0
    <7>wl1271: cmd configure
    <7>wl1271: sdio write 53 addr 0x7b4, 16 bytes
    <7>wl1271: data: 00000000: 02 00 00 00 07 00 08 00 00 1f ff 03 03 00 00 00  ................
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <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>wl1271: acx tid config
    <7>wl1271: cmd configure
    <7>wl1271: sdio write 53 addr 0x7b4, 24 bytes
    <7>wl1271: data: 00000000: 02 00 00 00 1a 00 10 00 00 01 00 00 00 00 00 00  ................
    <7>wl1271: data: 00000010: 00 00 00 00 00 00 00 00                          ........
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <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>wl1271: mac80211 conf tx 3
    <7>wl1271: acx ac cfg 1 cw_ming 31 cw_max 1023 aifs 7 txop 0
    <7>wl1271: cmd configure
    <7>wl1271: sdio write 53 addr 0x7b4, 16 bytes
    <7>wl1271: data: 00000000: 02 00 00 00 07 00 08 00 01 1f ff 03 07 00 00 00  ................
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <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>wl1271: acx tid config
    <7>wl1271: cmd configure
    <7>wl1271: sdio write 53 addr 0x7b4, 24 bytes
    <7>wl1271: data: 00000000: 02 00 00 00 1a 00 10 00 01 01 01 00 00 00 00 00  ................
    <7>wl1271: data: 00000010: 00 00 00 00 00 00 00 00                          ........
    <7>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <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>wl1271: mac80211 config ch 1 psm off power 20 idle
    <7>wl1271: mac80211 configure filter
    <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 01 00 00 33 33 00 00  ......4.....33..
    <7>wl1271: data: 00000010: 00 01 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>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <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>wl1271: mac80211 configure filter
    <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 01 00 00 33 33 00 00  ......4.....33..
    <7>wl1271: data: 00000010: 00 01 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>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <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>wl1271: mac80211 configure filter
    <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>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 10 00 00 00                                      ....
    <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                                      ....
    <6>ADDRCONF(NETDEV_UP): wlan0: link is not ready
    <7>wl1271: elp work
    <7>wl1271: chip to elp
    <7>wl1271: sdio write 52 addr 0x1fffc, byte 0x00
    bash-3.2# 
    bash-3.2# 
    bash-3.2# 
    bash-3.2# 
    bash-3.2# 
    ***************Interface down********************
    bash-3.2# ifconfig wlan0 down          
    wl1271_disable_interrupts
    wl1271_power_off
    SDIO: Disabled device mmc1:0001:2 func->num 2
    bash-3.2# 
    bash-3.2# 
    bash-3.2# 
    bash-3.2# 
    bash-3.2# dmesg -c                     
    <7>wl1271: mac80211 configure filter
    <7>wl1271: waking up chip from elp
    <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>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 20 00 00 00                                       ...
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 30 00 00 00                                      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>wl1271: IRQ work
    <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 1d 5d 23 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: elp work
    <7>wl1271: chip to elp
    <7>wl1271: sdio write 52 addr 0x1fffc, byte 0x00
    <7>wl1271: waking up chip from elp
    <7>wl1271: sdio write 52 addr 0x1fffc, byte 0x01
    <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 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>wl1271: sdio write 53 addr 0x15434, 4 bytes
    <7>wl1271: data: 00000000: 01 00 00 00                                      ....
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 20 00 00 00                                       ...
    <7>wl1271: sdio read 53 addr 0x154a8, 4 bytes
    <7>wl1271: data: 00000000: 30 00 00 00                                      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>wl1271: IRQ work
    <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 1a 7f 23 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: mac80211 remove interface
    <7>wl1271: down
    <6>wl1271_disable_interrupts
    <7>wl1271: elp work
    <7>wl1271: chip to elp
    <7>wl1271: sdio write 52 addr 0x1fffc, byte 0x00
    <6>wl1271_power_off
    <6>SDIO: Disabled device mmc1:0001:2 func->num 2
    <7>wl1271: mac80211 stop
    bash-3.2# 
    bash-3.2# 
    bash-3.2# 
    bash-3.2# 
    ********************Set WLAN_EN to low and then high******************
    bash-3.2# 
    bash-3.2# echo 58 > /sys/class/gpio/export 
    bash-3.2# echo 0 > /sys/class/gpio/gpio58/value  
    bash-3.2# echo 1 > /sys/class/gpio/gpio58/value 
    bash-3.2# 
    bash-3.2# 
    bash-3.2# dmesg -c                              
    bash-3.2# 
    bash-3.2# 
    ***********************Interface up for the second time*************
    bash-3.2# ifconfig wlan0 up                     
    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: ERROR sdio write failed (-110)
    wl1271: ERROR sdio read failed (-110)
    wl1271: WARNING unsupported chip id: 0x1
    wl1271_power_off
    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: ERROR sdio write failed (-110)
    wl1271: ERROR sdio read failed (-110)
    wl1271: WARNING unsupported chip id: 0x1
    wl1271_power_off
    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: 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# 
    bash-3.2# 
    bash-3.2# dmesg -c                              
    <7>wl1271: mac80211 start
    <7>wl1271: mac80211 add interface type 2 mac de:ad:be:ef:00:00
    <6>wl1271_power_on
    <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                                      ....
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffc0, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <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.
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffc8, 4 bytes
    <7>wl1271: data: 00000000: 00 88 00 00                                      ....
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffd4, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffd0, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffd8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 52 addr 0x1fffc, byte 0x01
    <3>wl1271: ERROR sdio write failed (-110)
    <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
    <6>wl1271_power_on
    <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                                      ....
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffc0, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <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.
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffc8, 4 bytes
    <7>wl1271: data: 00000000: 00 88 00 00                                      ....
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffd4, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffd0, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffd8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 52 addr 0x1fffc, byte 0x01
    <3>wl1271: ERROR sdio write failed (-110)
    <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
    <6>wl1271_power_on
    <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                                      ....
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffc0, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <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.
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffc8, 4 bytes
    <7>wl1271: data: 00000000: 00 88 00 00                                      ....
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffd4, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffd0, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 53 addr 0x1ffd8, 4 bytes
    <7>wl1271: data: 00000000: 00 00 00 00                                      ....
    <3>wl1271: ERROR sdio write failed (-110)
    <7>wl1271: sdio write 52 addr 0x1fffc, byte 0x01
    <3>wl1271: ERROR sdio write failed (-110)
    <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
    <3>wl1271: ERROR firmware boot failed despite 3 retries
    <7>wl1271: mac80211 stop

    Regards,

    Divya

  • 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

  • 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


     

     

  • 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

  • the firmware needs to be reloaded after power down

    regards

    eyal

  • 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?

  • Hi,

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

    Regards,

    Eyal

  • @Divya,

    Did you happenned to resolve this issue?

     if yes, please share the steps with us

     

    Regards

    Sandeep S.P

  • Hi Eyal,

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

    Thank you

  • 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

  • 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.

  • 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

  • Hi All,

    We got the issue resolved on i.MX51 Android Tablet Platform with Linux 2.6.35.

    Me and Divya share the same setup, after applying the PM runtime patch from the following link

    "http://lists.meego.com/pipermail/meego-kernel/2010-October/000674.html"

    and doing a disable and enable of WLAN_EN pin before turning on the wifi for the second time, we are able to get the wifi working for multiple turn off/on.

    I thank everyone for their support in resolving the issue.

    Regards,

    Poo

  • Hi,

    Thanks for the update, i will close that thread.

    Regards,

    Eyal

  • Hi Poo,

    I got the same issue with wl1271 refusing to get up the second time that you wrote is resolved for you and Divja.

    The patch and manipulations with WLAN_EN brougt no relief though. I controlled the WLAN_EN manually in between ifconfig down and ifconfig up and checked with oscilloscope, while the card's power stays always on.

    Could you please inform me of your solution in more details? Did you apply only patch #2 of 26? Where the calls to control the WLAN_EN are to be inserted? Maybe there was some platform dependent data?

    Regards,

    Sergey

  • Hi Sergey,

    There are two methods which can be used for implementing power control:

    • Using a fixed voltage regulator
    • Using a set_power() function registered with the MMMC device

    Did you refer to below link?

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

    Regards,

    Abhijit

  • Hai

    I'm Sekra

    Did you solve this issue???

    I'm also getting the same issue in linux beaglebioard xm.

    In linux platform,Did u know abt tis issue Kindly rply me.

    Thanks in advance.

  • Hi Sekra,

    for me no solution yet.

  • Please, help!

    I have this problem, but have no solution yet! I use wlcore_sdio from compat backports, and successfully configure wlan0 at first time:

    modprobe wlcore_sdio

    [   28.873321] bus: 'sdio': add driver wl1271_sdio
    [   28.878265] bus: 'sdio': driver_probe_device: matched device mmc1:0001:1 with driver wl1271_sdio
    [   28.887603] bus: 'sdio': really_probe: probing driver wl1271_sdio with device mmc1:0001:1
    [   28.906890] wl1271_probe
    [   28.910491] dev->bus->probe(dev) failed
    [   28.914672] bus: 'sdio': driver_probe_device: matched device mmc1:0001:2 with driver wl1271_sdio
    [   28.924163] bus: 'sdio': really_probe: probing driver wl1271_sdio with device mmc1:0001:2
    [   29.084991] wl1271_probe
    [   29.088684] wl1271_sdio mmc1:0001:2: sdio PM caps = 0x0
    [   29.099395] Registering platform device 'wl12xx'. Parent at mmc1:0001:2
    [   29.106597] device: 'wl12xx': device_add
    [   29.110839] bus: 'platform': add device wl12xx
    [   29.115844] PM: Adding info for platform:wl12xx

    But after that

    rmmod wlcore_sdio
    modprobe wlcore_sdio

    I have errors:

    [  493.726196] bus: 'sdio': add driver wl1271_sdio
    [  493.731140] bus: 'sdio': driver_probe_device: matched device mmc1:0001:1 with driver wl1271_sdio
    [  493.740478] bus: 'sdio': really_probe: probing driver wl1271_sdio with device mmc1:0001:1
    [  493.753112] dev->bus->probe(dev) failed
    [  493.757049] wl1271_sdio: probe of mmc1:0001:1 failed with error -110
    [  493.764465] bus: 'sdio': driver_probe_device: matched device mmc1:0001:2 with driver wl1271_sdio
    [  493.773773] bus: 'sdio': really_probe: probing driver wl1271_sdio with device mmc1:0001:2
    [  493.797058] dev->bus->probe(dev) failed
    [  493.801116] wl1271_sdio: probe of mmc1:0001:2 failed with error -110

    Interrupts before rmmod wlcore_sdio:

    root@dm37x-evm:~# cat /proc/interrupts 
    CPU0
    7: 0 INTC TWL4030-PIH
    11: 0 INTC prcm
    12: 831 INTC DMA
    20: 0 INTC gpmc
    24: 0 INTC omap-iommu.0
    25: 3 INTC OMAP DSS
    37: 5389 INTC gp timer
    56: 431 INTC omap_i2c
    57: 0 INTC omap_i2c
    61: 0 INTC omap_i2c
    72: 0 INTC serial idle
    73: 0 INTC serial idle
    74: 280 INTC serial idle, OMAP UART2
    77: 18416 INTC ehci_hcd:usb1
    80: 0 INTC serial idle
    83: 2441 INTC mmc0
    86: 207 INTC mmc1
    164: 0 GPIO user
    297: 0 GPIO wl12xx
    376: 0 twl4030 twl4030_pwrbutton
    379: 0 twl4030 rtc0
    384: 0 twl4030 mmc0

    After:

    root@dm37x-evm:~# cat /proc/interrupts
    CPU0
    7: 0 INTC TWL4030-PIH
    11: 0 INTC prcm
    12: 831 INTC DMA
    20: 0 INTC gpmc
    24: 0 INTC omap-iommu.0
    25: 3 INTC OMAP DSS
    37: 7419 INTC gp timer
    56: 431 INTC omap_i2c
    57: 0 INTC omap_i2c
    61: 0 INTC omap_i2c
    72: 0 INTC serial idle
    73: 0 INTC serial idle
    74: 375 INTC serial idle, OMAP UART2
    77: 18630 INTC ehci_hcd:usb1
    80: 0 INTC serial idle
    83: 2441 INTC mmc0
    86: 207 INTC mmc1
    164: 0 GPIO user
    376: 0 twl4030 twl4030_pwrbutton
    379: 0 twl4030 rtc0
    384: 0 twl4030 mmc0


    So, I have no wl12xx interrupt:

    297: 0 GPIO wl12xx


    It even not enter to wl1271_probe.
    Link in solution is dead:

    poo kalimada said:

    Me and Divya share the same setup, after applying the PM runtime patch from the following link

    "http://lists.meego.com/pipermail/meego-kernel/2010-October/000674.html"

  • I get wl1271 wifi working properly on my iMX6 board with 3.0.35 kernel.

    1. Read OMAP Wireless Connectivity Hardware Porting for new Platform as  said.

    2. Implement wl12xx_set_power()

    3. Hack wl12xx/sdio.c The idea is that WiFi power should be enabled during any SDIO operation.

    @@ -170,6 +172,9 @@ static int wl1271_sdio_power_on(struct wl1271 *wl)
     	struct sdio_func *func = wl_to_func(wl);
     	int ret;
     
    +	if (wl->set_power)
    +		wl->set_power(1);
    +
     	/* Make sure the card will not be powered off by runtime PM */
     	ret = pm_runtime_get_sync(&func->dev);
     	if (ret < 0)
    @@ -201,7 +206,12 @@ static int wl1271_sdio_power_off(struct wl1271 *wl)
     		return ret;
     
     	/* Let runtime PM know the card is powered off */
    -	return pm_runtime_put_sync(&func->dev);
    +	ret = pm_runtime_put_sync(&func->dev);
    +
    +	if (wl->set_power)
    +		wl->set_power(0);
    +
    +	return ret;
     }
     
     static int wl1271_sdio_set_power(struct wl1271 *wl, bool enable)
    @@ -263,6 +273,7 @@ static int __devinit wl1271_probe(struct sdio_func *func,
     	wl->irq = wlan_data->irq;
     	wl->ref_clock = wlan_data->board_ref_clock;
     	wl->tcxo_clock = wlan_data->board_tcxo_clock;
    +	wl->set_power = wlan_data->set_power;
     	wl->platform_quirks = wlan_data->platform_quirks;
     
     	if (wl->platform_quirks & WL12XX_PLATFORM_QUIRK_EDGE_IRQ)
    @@ -403,6 +414,12 @@ static struct sdio_driver wl1271_sdio_driver = {
     static int __init wl1271_init(void)
     {
     	int ret;
    +	const struct wl12xx_platform_data *wlan_data;
    +
    +	/* Enable card function */
    +	wlan_data = wl12xx_get_platform_data();
    +	if (!IS_ERR(wlan_data) && wlan_data->set_power)
    +		wlan_data->set_power(1);
     
     	ret = sdio_register_driver(&wl1271_sdio_driver);
     	if (ret < 0) {
    @@ -416,8 +433,19 @@ out:
     
     static void __exit wl1271_exit(void)
     {
    +	const struct wl12xx_platform_data *wlan_data;
    +
    +	/* Enable card function for a moment */
    +	wlan_data = wl12xx_get_platform_data();
    +	if (!IS_ERR(wlan_data) && wlan_data->set_power)
    +		wlan_data->set_power(1);
    +
     	sdio_unregister_driver(&wl1271_sdio_driver);
     
    +	/* Disable it back */
    +	if (!IS_ERR(wlan_data) && wlan_data->set_power)
    +		wlan_data->set_power(0);
    +
     	wl1271_notice("unloaded");
     }
     
    

     
     
  • Denis Grigoryev said:
    I get wl1271 wifi working properly on my iMX6 board with 3.0.35 kernel.

    Thank you for a reply! I solved my problem in other way: http://e2e.ti.com/support/low_power_rf/f/307/t/298298.aspx

  • Denis Grigoryev's answer solved it for me as well.

    Denis Grigoryev said:

    I get wl1271 wifi working properly on my iMX6 board with 3.0.35 kernel.

    1. Read OMAP Wireless Connectivity Hardware Porting for new Platform as  said.

    2. Implement wl12xx_set_power()

    3. Hack wl12xx/sdio.c The idea is that WiFi power should be enabled during any SDIO operation.

    
    

    I'm using Linux 2.6.32.17-psp03.01.01.39 and the backports package 3.12.2-1.

    The hack applied different, but overall is the same as proposed by Denis. Thanks!

    ---
     src/drivers/net/wireless/ti/wl12xx/main.c   |    1 +
     src/drivers/net/wireless/ti/wlcore/sdio.c   |   23 ++++++++++++++++++++++-
     src/drivers/net/wireless/ti/wlcore/wlcore.h |    1 +
     3 files changed, 24 insertions(+), 1 deletion(-)
    
    Index: backports-kernel-drivers-3.12.2-1/src/drivers/net/wireless/ti/wl12xx/main.c
    ===================================================================
    --- backports-kernel-drivers-3.12.2-1.orig/src/drivers/net/wireless/ti/wl12xx/main.c
    +++ backports-kernel-drivers-3.12.2-1/src/drivers/net/wireless/ti/wl12xx/main.c
    @@ -1717,6 +1717,7 @@
     	wl->hw_min_ht_rate = WL12XX_CONF_HW_RXTX_RATE_MCS0;
     	wl->fw_status_priv_len = 0;
     	wl->stats.fw_stats_len = sizeof(struct wl12xx_acx_statistics);
    +	wl->set_power = pdata->set_power;
     	wlcore_set_ht_cap(wl, IEEE80211_BAND_2GHZ, &wl12xx_ht_cap);
     	wlcore_set_ht_cap(wl, IEEE80211_BAND_5GHZ, &wl12xx_ht_cap);
     	wl12xx_conf_init(wl);
    Index: backports-kernel-drivers-3.12.2-1/src/drivers/net/wireless/ti/wlcore/sdio.c
    ===================================================================
    --- backports-kernel-drivers-3.12.2-1.orig/src/drivers/net/wireless/ti/wlcore/sdio.c
    +++ backports-kernel-drivers-3.12.2-1/src/drivers/net/wireless/ti/wlcore/sdio.c
    @@ -151,6 +151,7 @@
     {
     	int ret;
     	struct sdio_func *func = dev_to_sdio_func(glue->dev);
    +	struct wl1271 *wl = platform_get_drvdata(glue->core);
     	struct mmc_card *card = func->card;
     
     	ret = pm_runtime_get_sync(&card->dev);
    @@ -163,6 +164,8 @@
     		ret = mmc_power_restore_host(card->host);
     		if (ret < 0) {
     			pm_runtime_put_sync(&card->dev);
    +			if (wl->set_power)
    +				wl->set_power(0);
     			goto out;
     		}
     	}
    @@ -400,12 +403,30 @@
     
     static int __init wl1271_init(void)
     {
    -	return sdio_register_driver(&wl1271_sdio_driver);
    +	const struct wl12xx_platform_data *wlan_data;
    +	
    +	/* Enable card function */
    +	wlan_data = wl12xx_get_platform_data();
    +	if (!IS_ERR(wlan_data) && wlan_data->set_power)
    +		wlan_data->set_power(1);
    +	
    +	return sdio_register_driver(&wl1271_sdio_driver);;
     }
     
     static void __exit wl1271_exit(void)
     {
    +	const struct wl12xx_platform_data *wlan_data;
    +	
    +	/* Enable card function for a moment */
    +	wlan_data = wl12xx_get_platform_data();
    +	if (!IS_ERR(wlan_data) && wlan_data->set_power)
    +		wlan_data->set_power(1);
    +	
     	sdio_unregister_driver(&wl1271_sdio_driver);
    +	
    +	/* Disable it back */
    +	if (!IS_ERR(wlan_data) && wlan_data->set_power)
    +		wlan_data->set_power(0);
     }
     
     module_init(wl1271_init);
    Index: backports-kernel-drivers-3.12.2-1/src/drivers/net/wireless/ti/wlcore/wlcore.h
    ===================================================================
    --- backports-kernel-drivers-3.12.2-1.orig/src/drivers/net/wireless/ti/wlcore/wlcore.h
    +++ backports-kernel-drivers-3.12.2-1/src/drivers/net/wireless/ti/wlcore/wlcore.h
    @@ -184,6 +184,7 @@
     	void *if_priv;
     
     	struct wl1271_if_operations *if_ops;
    +	void (*set_power)(bool enable);
     
     	int irq;