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.

WL1271 "ELP wakeup timeout" on scan

Other Parts Discussed in Thread: WL1271, DA8XX, AM3354

Hi everyone,

I am facing issue with WL1271 module by LSR TiWi-R2 on my custom board using DM8168... I am using wlan build scripts for building module, firmware and other utilities. Wlan is getting powered on and I get a message firmware is booted, but when i do scan, I get error saying ELP wakeup timeout and then a crash message comes.

Here is my command sequence:

------------------------------------------------------------

root@dm816x-evm:~# ifconfig wlan0 down
root@dm816x-evm:~# ifconfig wlan0 hw ether de:ad:be:ef:c0:fe
root@dm816x-evm:~# ifconfig wlan0 up
Powering on wl12xx
wl1271: firmware booted (Rev 6.3.6.0.79_2)
wl1271: Driver version: R4_SP2_02_03
ADDRCONF(NETDEV_UP): wlan0: link is not ready
root@dm816x-evm:~# iw wlan0 scan
wl1271: ERROR ELP wakeup timeout!
wl1271: Reading FW panic log
------------[ cut here ]------------
WARNING: at /home/ajay/galaxy-ip/mirach/wifibt/compat-wireless/drivers/net/wireless/wl12xx/cmd.c:65 wl1271_cmd_send+0x64/0x374 [wl12xx]()
Modules linked in: wl12xx_sdio wl12xx mac80211 cfg80211 compat
Backtrace:
[<c004bb58>] (dump_backtrace+0x0/0x110) from [<c03d1680>] (dump_stack+0x18/0x1c)
 r7:00000000 r6:bf0e3e44 r5:bf0f6fdd r4:00000041
[<c03d1668>] (dump_stack+0x0/0x1c) from [<c006ee1c>] (warn_slowpath_common+0x54/0x6c)
[<c006edc8>] (warn_slowpath_common+0x0/0x6c) from [<c006ee58>] (warn_slowpath_null+0x24/0x2c)
 r9:bf0e2c74 r8:cbde29c0 r7:cbde5400 r6:cc80ce40 r5:cc80ce40
r4:00000004
[<c006ee34>] (warn_slowpath_null+0x0/0x2c) from [<bf0e3e44>] (wl1271_cmd_send+0x64/0x374 [wl12xx])
[<bf0e3de0>] (wl1271_cmd_send+0x0/0x374 [wl12xx]) from [<bf0e42d8>] (wl12xx_cmd_stop_fwlog+0x58/0x84 [wl12xx])
[<bf0e4280>] (wl12xx_cmd_stop_fwlog+0x0/0x84 [wl12xx]) from [<bf0e2d18>] (wl1271_recovery_work+0xa4/0x2cc [wl12xx])
 r5:c05896ec r4:cc80d078
[<bf0e2c74>] (wl1271_recovery_work+0x0/0x2cc [wl12xx]) from [<c0080fe0>] (process_one_work+0x1ec/0x318)
[<c0080df4>] (process_one_work+0x0/0x318) from [<c0081938>] (worker_thread+0x1b4/0x2d0)
[<c0081784>] (worker_thread+0x0/0x2d0) from [<c0085ca8>] (kthread+0x8c/0x94)
[<c0085c1c>] (kthread+0x0/0x94) from [<c0072008>] (do_exit+0x0/0x5e4)
 r7:00000013 r6:c0072008 r5:c0085c1c r4:cca31ee0
---[ end trace 951aa4da8d1b51b8 ]---
command failed: Connection timedFirst address of fwlogger = 0x2603
 out (-110)
wl1271: Hardware recovery in progress. FW ver: Rev 6.3.6.0.79_2 pc: 0x0
root@dm816x-evm:wl1271: down
~# Powering off wl12xx
ieee80211 phy0: Hardware restart was requested
Powering on wl12xx
wl1271: firmware booted (Rev 6.3.6.0.79_2)
wl1271: Driver version: R4_SP2_02_03
------------------------------------------------------------

Please help me regarding this issue. I am not able to find the root cause.

Regards,

Ajay Bhargav

  • Update...

    I made mistake in IRQ assignment which is now fixed. and I am able to scan wifi connections. But I am not able to connect. testing is still in progress. Will update and post if any help needed. Thanks to forum for pointers.

    Regards,

    Ajay Bhargav

  • Hi Ajay,

    Thank you for the update. Please don't hesitate to contact us if you need help.

    Regards,

    Alon

  •  

    Hello Ajay:

       I also have the problem of ELP wakeup_timeout , could you tell me the correct configuration of your wlan IRQ pin.

      My IRQ is as following:  

    gpio-39  (gpio1_07_mux1       ) in  lo irq-199 edge-rising

     interrupt as following:

    199:          0        GPIO  wl1271

     

     

     

        3.61< ifconfig wlan0 192.168.1.10 netmask 255.255.255.0 up

        3.62> root@dm814x-evm:~# ifconfig wlan0 192.168.1.10 netmask 255.255.255.0 up

        3.62> [   50.410000] wl1271_dev_notify

        3.64> [   50.410000] wl1271: ERROR wl1271_op_start

        3.64> [   50.410000]

        3.64> [   50.420000] wl1271_op_add_interface

        3.64> [   50.420000] wl1271: ERROR mac80211 add interface type 2 mac 00:00:aa:bb:cc:dd

        3.65> [   50.430000] wl1271: ERROR NL80211_IFTYPE_STATION

        3.65> [   50.430000]

        3.65> [   50.440000] wl1271: ERROR wl1271_chip_wakeup

        3.65> [   50.440000]

        3.65> [   50.440000] wl1271: wl1271_chip_wakeup

        3.67> [   50.440000]

        3.68> [   50.480000] wl1271: wl1271_power_on

        3.70> [   50.480000]

        3.70> [   50.480000] wl1271_sdio_power_on

        3.90> [   50.690000] wl1271: wl1271_io_reset

        3.90> [   50.690000]

        3.90> [   50.690000] wl1271: wl1271_io_init

        3.90> [   50.690000]

        3.92> [   50.700000] wl1271: end wl1271_io_init

        3.92> [   50.700000]

        3.92> [   50.700000] wl1271: before wl1271_set_partition

        3.92> [   50.700000]

        3.92> [   50.710000] wl1271: ERROR end wl1271_set_partition

        3.93> [   50.710000]

        3.93> [   50.710000] wl1271: ERROR wl1271_fw_wakeup

        3.93> [   50.710000]

        3.93> [   50.720000] wl1271: ERROR wl1271_fw_wakeup

        3.93> [   50.720000]

        3.95> [   50.730000] wl1271: ERROR wl1271_raw_write32

        3.95> [   50.730000]

        3.95> [   50.740000] wl1271: ERROR  wl1271_read32  CHIP_ID

        3.96> [   50.740000]

        3.96> [   50.750000] wl1271: ERROR wl1271_setup

        3.96> [   50.750000]

        3.96> [   50.750000] wl1271: ERROR wl1271_fetch_firmware

        3.96> [   50.750000]

        3.98> [   50.760000] wl1271: ERROR wl1271_fetch_firmware

        3.98> [   50.760000]

        3.98> [   50.760000] wl1271: ERROR booting firmware name ti-connectivity/firmware.bin

        4.03> [   50.820000] wl1271: ERROR ret: 0

        4.04> [   50.820000] wl1271: ERROR wl1271_fetch_nvs

        4.04> [   50.820000]

        4.04> [   50.830000] wl1271: ERROR wl1271_fetch_nvs

        4.04> [   50.830000]

        4.06> [   50.830000] wl1271: ERROR booting nvs name ti-connectivity/wl1271-nvs.bin

        4.07> [   50.860000] wl1271: ERROR wl1271_boot

        4.07> [   50.860000]

        4.61> [   51.390000] wl1271_sdio_enable_interruptsd

        4.62> [   51.410000] wl1271: ERROR before wl1271_hw_init

        4.62> [   51.410000]

        4.64> [   51.410000] wl1271: ERROR wl1271_cmd_general_parms

        4.64> [   51.410000]

        4.65> [   51.440000] wl1271: ERROR wl1271_cmd_radio_parms

        4.65> [   51.440000]

        4.67> [   51.440000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000000: 00 00 00 00 19 00 00 00 00 00 ec f6 00 0c 18 f8

        4.67> [   51.450000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000010: fc 00 08 10 f0 f8 00 0a 14 00 00 00 00 00 00 00

        4.68> [   51.460000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

        4.70> [   51.470000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000030: 00 00 00 00 00 00 77 01 80 00 1d 1f 22 26 27 29

        4.70> [   51.480000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000040: 1a 1f 22 25 25 27 16 1d 1e 20 24 25 50 50 50 50

        4.71> [   51.490000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000050: 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50

        4.73> [   51.500000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000060: 50 50 50 50 50 50 50 50 01 02 02 02 02 00 15 15

        4.73> [   51.510000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000070: 15 11 15 15 0e 1e 2d 00 00 00 00 00 00 00 00 00

        4.75> [   51.520000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

        4.76> [   51.530000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

        4.76> [   51.550000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 000000a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

        4.78> [   51.560000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 000000b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

        4.79> [   51.570000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 000000c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

        4.79> [   51.580000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 000000d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

        4.84> [   51.620000] wl1271: ERROR wl1271_cmd_ext_radio_parms

        4.84> [   51.620000]

        4.84> [   51.620000] wl1271: TEST_CMD_INI_FILE_EXT_RADIO_PARAM: 00000000: 00 00 00 00 26 00 00 00 00 00 00 00 00 00 00 00

        4.86> [   51.630000] wl1271: TEST_CMD_INI_FILE_EXT_RADIO_PARAM: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

        4.87> [   51.640000] wl1271: TEST_CMD_INI_FILE_EXT_RADIO_PARAM: 00000020: 00 00 00 00

        4.89> [   51.680000] wl1271: ERROR wl1271_init_templates_config

        4.90> [   51.680000]

        4.92> [   51.700000] wl1271: ERROR wl1271_acx_init_mem_config

        4.92> [   51.700000]

        4.93> [   51.720000] wl1271: ERROR wl1271_init_rx_config

        4.93> [   51.720000]

        4.93> [   51.720000] wl1271: ERROR wl1271_init_phy_config

        4.95> [   51.720000]

        4.95> [   51.740000] wl1271: ERROR wl1271_acx_dco_itrim_params

        4.95> [   51.740000]

        4.98> [   51.760000] wl1271: ERROR wl1271_acx_conn_monit_params

        4.98> [   51.760000]

        4.98> [   51.760000] wl1271: ERROR wl1271_init_beacon_filter

        4.98> [   51.760000]

        5.00> [   51.780000] wl1271: ERROR wl1271_acx_tx_config_options

        5.00> [   51.780000]

        5.00> [   51.780000] wl1271: ERROR wl1271_acx_init_rx_interrupt

        5.00> [   51.780000]

        5.01> [   51.800000] wl1271: ERROR wl1271_init_pta

        5.01> [   51.800000]

        5.07> [   51.860000] wl1271: ERROR end wl1271_hw_init

        5.07> [   51.860000]

        5.09> [   51.870000] wl1271: firmware booted (Rev 6.1.0.0.335)

        5.09> [   51.870000] wl1271: ERROR firmware booted (Rev 6.1.0.0.335)

        5.09> [   51.880000] wl1271: ERROR wl1271_op_bss_info_changed

        5.09> [   51.880000]

        5.11> [   51.890000] wl1271: ERROR wl1271_op_bss_info_changed

        5.11> [   51.890000]

        5.11> [   51.890000] wl1271: ERROR wl1271_op_config

        5.11> [   51.890000]

        5.12> [   51.900000] wl1271: ERROR wl1271_set_band_rate

        5.12> [   51.900000]

        5.12> [   51.910000] wl1271: ERROR wl1271_min_rate_get

        5.12> [   51.910000]

        5.14> [   51.930000] wl1271: ERROR wl1271_handle_idle

        5.14> [   51.930000]

        5.15> [   51.930000] wl1271: ERROR wl1271_min_rate_get

        5.15> [   51.930000]

        5.17> [   51.950000] wl1271: ERROR wl1271_op_conf_tx

        5.17> [   51.950000]

        5.17> [   51.950000] wl1271: ERROR wl1271_op_conf_tx

        5.17> [   51.950000]

        5.18> [   51.970000] wl1271: ERROR wl1271_op_conf_tx

        5.18> [   51.970000]

        5.18> [   51.970000] wl1271: ERROR wl1271_op_conf_tx

        5.20> [   51.970000]

        5.20> [   51.980000] wl1271: ERROR wl1271_op_bss_info_changed

        5.20> [   51.980000]

        5.21> [   52.000000] wl1271: ERROR  wl1271_op_prepare_multicast

        5.21> [   52.000000]

        5.21> [   52.010000] wl1271_dev_notify

        5.23> [   52.010000] ADDRCONF(NETDEV_UP): wlan0: link is not ready

        5.23> [   52.010000] wl1271_dev_notify

        5.23> [   52.020000] wl == wl_temp

        5.71> [   52.500000] wl1271: ERROR ELP wakeup timeout!

        5.71> [   52.500000] wl1271: ERROR wl1271_recovery_work

        5.71> [   52.500000]

        5.73> [   52.510000] wl1271: Hardware recovery in progress.

        5.73> [   52.510000] wl1271: ERROR reboot the chipset

        5.73> [   52.510000]

        5.73> [   52.520000] wl1271: down

        5.73> [   52.520000] wl1271_sdio_power_off

        5.75> [   52.520000] wl->state == WL1271_STATE_OFF

        5.75> [   52.530000] wl1271: ERROR wl1271_op_start

        5.75> [   52.530000]

        5.75> [   52.530000] wl1271_op_add_interface

        5.76> [   52.540000] wl1271: ERROR mac80211 add interface type 2 mac 00:00:aa:bb:cc:dd

        5.76> [   52.550000] wl1271: ERROR NL80211_IFTYPE_STATION

        5.76> [   52.550000]

        5.76> [   52.550000] wl1271: ERROR wl1271_chip_wakeup

        5.78> [   52.550000]

        5.78> [   52.560000] wl1271: wl1271_chip_wakeup

        5.78> [   52.560000]

        5.79> [   52.590000] wl1271: wl1271_power_on

        5.81> [   52.590000]

        5.81> [   52.590000] wl1271_sdio_power_on

        6.01> [   52.800000] wl1271: wl1271_io_reset

        6.01> [   52.800000]

        6.01> [   52.800000] wl1271: wl1271_io_init

        6.01> [   52.800000]

        6.03> [   52.810000] wl1271: end wl1271_io_init

        6.03> [   52.810000]

        6.03> [   52.810000] wl1271: before wl1271_set_partition

        6.03> [   52.810000]

        6.03> [   52.820000] wl1271: ERROR end wl1271_set_partition

        6.04> [   52.820000]

        6.04> [   52.820000] wl1271: ERROR wl1271_fw_wakeup

        6.04> [   52.820000]

        6.04> [   52.830000] wl1271: ERROR wl1271_fw_wakeup

        6.04> [   52.830000]

        6.06> [   52.840000] wl1271: ERROR wl1271_raw_write32

        6.06> [   52.840000]

        6.06> [   52.850000] wl1271: ERROR  wl1271_read32  CHIP_ID

        6.07> [   52.850000]

        6.07> [   52.850000] wl1271: ERROR wl1271_setup

        6.07> [   52.850000]

        6.07> [   52.860000] wl1271: ERROR wl1271_boot

        6.07> [   52.860000]

       13.43> [   60.220000] wl1271: ERROR timeout waiting for the hardware to complete initialization

       13.45> [   60.230000] wl1271: ERROR wl1271_power_off

       13.45> [   60.230000]

       13.45> [   60.230000] wl1271_sdio_power_off

       13.45> [   60.240000] wl1271: ERROR wl1271_chip_wakeup

       13.45> [   60.240000]

       13.46> [   60.240000] wl1271: wl1271_chip_wakeup

       13.46> [   60.240000]

       13.50> [   60.280000] wl1271: wl1271_power_on

       13.50> [   60.280000]

       13.50> [   60.280000] wl1271_sdio_power_on

       13.70> [   60.490000] wl1271: wl1271_io_reset

       13.70> [   60.490000]

       13.70> [   60.490000] wl1271: wl1271_io_init

       13.71> [   60.490000]

       13.71> [   60.500000] wl1271: end wl1271_io_init

       13.71> [   60.500000]

       13.71> [   60.500000] wl1271: before wl1271_set_partition

       13.71> [   60.500000]

       13.73> [   60.510000] wl1271: ERROR end wl1271_set_partition

       13.73> [   60.510000]

       13.73> [   60.510000] wl1271: ERROR wl1271_fw_wakeup

       13.73> [   60.510000]

       13.73> [   60.520000] wl1271: ERROR wl1271_fw_wakeup

       13.75> [   60.520000]

       13.75> [   60.530000] wl1271: ERROR wl1271_raw_write32

       13.75> [   60.530000]

       13.76> [   60.540000] wl1271: ERROR  wl1271_read32  CHIP_ID

       13.76> [   60.540000]

       13.76> [   60.550000] wl1271: ERROR wl1271_setup

       13.76> [   60.550000]

       13.76> [   60.550000] wl1271: ERROR wl1271_boot

       13.76> [   60.550000]

       19.79> [   66.580000] wl1271: ERROR sdio read failed (-110)

       25.39> [   72.170000] wl1271: ERROR sdio write failed (-110)

       31.00> [   77.770000] wl1271: ERROR sdio read failed (-110)

       31.00> [   77.780000] wl1271: ERROR chip id doesn't match after firmware boot

       31.00> [   77.780000] wl1271: ERROR wl1271_power_off

       31.00> [   77.780000]

       31.01> [   77.790000] wl1271_sdio_power_off

       31.01> [   77.790000] wl1271: ERROR wl1271_chip_wakeup

       31.01> [   77.790000]

       31.01> [   77.800000] wl1271: wl1271_chip_wakeup

       31.01> [   77.800000]

       31.04> [   77.830000] wl1271: wl1271_power_on

       31.04> [   77.830000]

       31.04> [   77.830000] wl1271_sdio_power_on

       31.25> [   78.040000] wl1271: wl1271_io_reset

       31.26> [   78.040000]

       31.26> [   78.040000] wl1271: wl1271_io_init

       31.26> [   78.040000]

       31.26> [   78.050000] wl1271: end wl1271_io_init

       31.26> [   78.050000]

       31.26> [   78.050000] wl1271: before wl1271_set_partition

       31.28> [   78.050000]

       36.87> [   83.650000] wl1271: ERROR sdio write failed (-110)

       42.46> [   89.250000] wl1271: ERROR sdio write failed (-110)

       48.06> [   94.840000] wl1271: ERROR sdio write failed (-110)

       53.67> [  100.440000] wl1271: ERROR sdio write failed (-110)

       59.26> [  106.040000] wl1271: ERROR sdio write failed (-110)

     

     

     

     

     

  •  

    Hello Ajay:

       I also have the problem of ELP wakeup_timeout , could you tell me the correct configuration of your wlan IRQ pin.

      My IRQ is as following:  

    gpio-39  (gpio1_07_mux1       ) in  lo irq-199 edge-rising

     interrupt as following:

    199:          0        GPIO  wl1271

     

     

     

        3.61< ifconfig wlan0 192.168.1.10 netmask 255.255.255.0 up

        3.62> root@dm814x-evm:~# ifconfig wlan0 192.168.1.10 netmask 255.255.255.0 up

        3.62> [   50.410000] wl1271_dev_notify

        3.64> [   50.410000] wl1271: ERROR wl1271_op_start

        3.64> [   50.410000]

        3.64> [   50.420000] wl1271_op_add_interface

        3.64> [   50.420000] wl1271: ERROR mac80211 add interface type 2 mac 00:00:aa:bb:cc:dd

        3.65> [   50.430000] wl1271: ERROR NL80211_IFTYPE_STATION

        3.65> [   50.430000]

        3.65> [   50.440000] wl1271: ERROR wl1271_chip_wakeup

        3.65> [   50.440000]

        3.65> [   50.440000] wl1271: wl1271_chip_wakeup

        3.67> [   50.440000]

        3.68> [   50.480000] wl1271: wl1271_power_on

        3.70> [   50.480000]

        3.70> [   50.480000] wl1271_sdio_power_on

        3.90> [   50.690000] wl1271: wl1271_io_reset

        3.90> [   50.690000]

        3.90> [   50.690000] wl1271: wl1271_io_init

        3.90> [   50.690000]

        3.92> [   50.700000] wl1271: end wl1271_io_init

        3.92> [   50.700000]

        3.92> [   50.700000] wl1271: before wl1271_set_partition

        3.92> [   50.700000]

        3.92> [   50.710000] wl1271: ERROR end wl1271_set_partition

        3.93> [   50.710000]

        3.93> [   50.710000] wl1271: ERROR wl1271_fw_wakeup

        3.93> [   50.710000]

        3.93> [   50.720000] wl1271: ERROR wl1271_fw_wakeup

        3.93> [   50.720000]

        3.95> [   50.730000] wl1271: ERROR wl1271_raw_write32

        3.95> [   50.730000]

        3.95> [   50.740000] wl1271: ERROR  wl1271_read32  CHIP_ID

        3.96> [   50.740000]

        3.96> [   50.750000] wl1271: ERROR wl1271_setup

        3.96> [   50.750000]

        3.96> [   50.750000] wl1271: ERROR wl1271_fetch_firmware

        3.96> [   50.750000]

        3.98> [   50.760000] wl1271: ERROR wl1271_fetch_firmware

        3.98> [   50.760000]

        3.98> [   50.760000] wl1271: ERROR booting firmware name ti-connectivity/firmware.bin

        4.03> [   50.820000] wl1271: ERROR ret: 0

        4.04> [   50.820000] wl1271: ERROR wl1271_fetch_nvs

        4.04> [   50.820000]

        4.04> [   50.830000] wl1271: ERROR wl1271_fetch_nvs

        4.04> [   50.830000]

        4.06> [   50.830000] wl1271: ERROR booting nvs name ti-connectivity/wl1271-nvs.bin

        4.07> [   50.860000] wl1271: ERROR wl1271_boot

        4.07> [   50.860000]

        4.61> [   51.390000] wl1271_sdio_enable_interruptsd

        4.62> [   51.410000] wl1271: ERROR before wl1271_hw_init

        4.62> [   51.410000]

        4.64> [   51.410000] wl1271: ERROR wl1271_cmd_general_parms

        4.64> [   51.410000]

        4.65> [   51.440000] wl1271: ERROR wl1271_cmd_radio_parms

        4.65> [   51.440000]

        4.67> [   51.440000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000000: 00 00 00 00 19 00 00 00 00 00 ec f6 00 0c 18 f8

        4.67> [   51.450000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000010: fc 00 08 10 f0 f8 00 0a 14 00 00 00 00 00 00 00

        4.68> [   51.460000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

        4.70> [   51.470000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000030: 00 00 00 00 00 00 77 01 80 00 1d 1f 22 26 27 29

        4.70> [   51.480000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000040: 1a 1f 22 25 25 27 16 1d 1e 20 24 25 50 50 50 50

        4.71> [   51.490000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000050: 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50

        4.73> [   51.500000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000060: 50 50 50 50 50 50 50 50 01 02 02 02 02 00 15 15

        4.73> [   51.510000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000070: 15 11 15 15 0e 1e 2d 00 00 00 00 00 00 00 00 00

        4.75> [   51.520000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

        4.76> [   51.530000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 00000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

        4.76> [   51.550000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 000000a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

        4.78> [   51.560000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 000000b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

        4.79> [   51.570000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 000000c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

        4.79> [   51.580000] wl1271: TEST_CMD_INI_FILE_RADIO_PARAM: 000000d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

        4.84> [   51.620000] wl1271: ERROR wl1271_cmd_ext_radio_parms

        4.84> [   51.620000]

        4.84> [   51.620000] wl1271: TEST_CMD_INI_FILE_EXT_RADIO_PARAM: 00000000: 00 00 00 00 26 00 00 00 00 00 00 00 00 00 00 00

        4.86> [   51.630000] wl1271: TEST_CMD_INI_FILE_EXT_RADIO_PARAM: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

        4.87> [   51.640000] wl1271: TEST_CMD_INI_FILE_EXT_RADIO_PARAM: 00000020: 00 00 00 00

        4.89> [   51.680000] wl1271: ERROR wl1271_init_templates_config

        4.90> [   51.680000]

        4.92> [   51.700000] wl1271: ERROR wl1271_acx_init_mem_config

        4.92> [   51.700000]

        4.93> [   51.720000] wl1271: ERROR wl1271_init_rx_config

        4.93> [   51.720000]

        4.93> [   51.720000] wl1271: ERROR wl1271_init_phy_config

        4.95> [   51.720000]

        4.95> [   51.740000] wl1271: ERROR wl1271_acx_dco_itrim_params

        4.95> [   51.740000]

        4.98> [   51.760000] wl1271: ERROR wl1271_acx_conn_monit_params

        4.98> [   51.760000]

        4.98> [   51.760000] wl1271: ERROR wl1271_init_beacon_filter

        4.98> [   51.760000]

        5.00> [   51.780000] wl1271: ERROR wl1271_acx_tx_config_options

        5.00> [   51.780000]

        5.00> [   51.780000] wl1271: ERROR wl1271_acx_init_rx_interrupt

        5.00> [   51.780000]

        5.01> [   51.800000] wl1271: ERROR wl1271_init_pta

        5.01> [   51.800000]

        5.07> [   51.860000] wl1271: ERROR end wl1271_hw_init

        5.07> [   51.860000]

        5.09> [   51.870000] wl1271: firmware booted (Rev 6.1.0.0.335)

        5.09> [   51.870000] wl1271: ERROR firmware booted (Rev 6.1.0.0.335)

        5.09> [   51.880000] wl1271: ERROR wl1271_op_bss_info_changed

        5.09> [   51.880000]

        5.11> [   51.890000] wl1271: ERROR wl1271_op_bss_info_changed

        5.11> [   51.890000]

        5.11> [   51.890000] wl1271: ERROR wl1271_op_config

        5.11> [   51.890000]

        5.12> [   51.900000] wl1271: ERROR wl1271_set_band_rate

        5.12> [   51.900000]

        5.12> [   51.910000] wl1271: ERROR wl1271_min_rate_get

        5.12> [   51.910000]

        5.14> [   51.930000] wl1271: ERROR wl1271_handle_idle

        5.14> [   51.930000]

        5.15> [   51.930000] wl1271: ERROR wl1271_min_rate_get

        5.15> [   51.930000]

        5.17> [   51.950000] wl1271: ERROR wl1271_op_conf_tx

        5.17> [   51.950000]

        5.17> [   51.950000] wl1271: ERROR wl1271_op_conf_tx

        5.17> [   51.950000]

        5.18> [   51.970000] wl1271: ERROR wl1271_op_conf_tx

        5.18> [   51.970000]

        5.18> [   51.970000] wl1271: ERROR wl1271_op_conf_tx

        5.20> [   51.970000]

        5.20> [   51.980000] wl1271: ERROR wl1271_op_bss_info_changed

        5.20> [   51.980000]

        5.21> [   52.000000] wl1271: ERROR  wl1271_op_prepare_multicast

        5.21> [   52.000000]

        5.21> [   52.010000] wl1271_dev_notify

        5.23> [   52.010000] ADDRCONF(NETDEV_UP): wlan0: link is not ready

        5.23> [   52.010000] wl1271_dev_notify

        5.23> [   52.020000] wl == wl_temp

        5.71> [   52.500000] wl1271: ERROR ELP wakeup timeout!

        5.71> [   52.500000] wl1271: ERROR wl1271_recovery_work

        5.71> [   52.500000]

        5.73> [   52.510000] wl1271: Hardware recovery in progress.

        5.73> [   52.510000] wl1271: ERROR reboot the chipset

        5.73> [   52.510000]

        5.73> [   52.520000] wl1271: down

        5.73> [   52.520000] wl1271_sdio_power_off

        5.75> [   52.520000] wl->state == WL1271_STATE_OFF

        5.75> [   52.530000] wl1271: ERROR wl1271_op_start

        5.75> [   52.530000]

        5.75> [   52.530000] wl1271_op_add_interface

        5.76> [   52.540000] wl1271: ERROR mac80211 add interface type 2 mac 00:00:aa:bb:cc:dd

        5.76> [   52.550000] wl1271: ERROR NL80211_IFTYPE_STATION

        5.76> [   52.550000]

        5.76> [   52.550000] wl1271: ERROR wl1271_chip_wakeup

        5.78> [   52.550000]

        5.78> [   52.560000] wl1271: wl1271_chip_wakeup

        5.78> [   52.560000]

        5.79> [   52.590000] wl1271: wl1271_power_on

        5.81> [   52.590000]

        5.81> [   52.590000] wl1271_sdio_power_on

        6.01> [   52.800000] wl1271: wl1271_io_reset

        6.01> [   52.800000]

        6.01> [   52.800000] wl1271: wl1271_io_init

        6.01> [   52.800000]

        6.03> [   52.810000] wl1271: end wl1271_io_init

        6.03> [   52.810000]

        6.03> [   52.810000] wl1271: before wl1271_set_partition

        6.03> [   52.810000]

        6.03> [   52.820000] wl1271: ERROR end wl1271_set_partition

        6.04> [   52.820000]

        6.04> [   52.820000] wl1271: ERROR wl1271_fw_wakeup

        6.04> [   52.820000]

        6.04> [   52.830000] wl1271: ERROR wl1271_fw_wakeup

        6.04> [   52.830000]

        6.06> [   52.840000] wl1271: ERROR wl1271_raw_write32

        6.06> [   52.840000]

        6.06> [   52.850000] wl1271: ERROR  wl1271_read32  CHIP_ID

        6.07> [   52.850000]

        6.07> [   52.850000] wl1271: ERROR wl1271_setup

        6.07> [   52.850000]

        6.07> [   52.860000] wl1271: ERROR wl1271_boot

        6.07> [   52.860000]

       13.43> [   60.220000] wl1271: ERROR timeout waiting for the hardware to complete initialization

       13.45> [   60.230000] wl1271: ERROR wl1271_power_off

       13.45> [   60.230000]

       13.45> [   60.230000] wl1271_sdio_power_off

       13.45> [   60.240000] wl1271: ERROR wl1271_chip_wakeup

       13.45> [   60.240000]

       13.46> [   60.240000] wl1271: wl1271_chip_wakeup

       13.46> [   60.240000]

       13.50> [   60.280000] wl1271: wl1271_power_on

       13.50> [   60.280000]

       13.50> [   60.280000] wl1271_sdio_power_on

       13.70> [   60.490000] wl1271: wl1271_io_reset

       13.70> [   60.490000]

       13.70> [   60.490000] wl1271: wl1271_io_init

       13.71> [   60.490000]

       13.71> [   60.500000] wl1271: end wl1271_io_init

       13.71> [   60.500000]

       13.71> [   60.500000] wl1271: before wl1271_set_partition

       13.71> [   60.500000]

       13.73> [   60.510000] wl1271: ERROR end wl1271_set_partition

       13.73> [   60.510000]

       13.73> [   60.510000] wl1271: ERROR wl1271_fw_wakeup

       13.73> [   60.510000]

       13.73> [   60.520000] wl1271: ERROR wl1271_fw_wakeup

       13.75> [   60.520000]

       13.75> [   60.530000] wl1271: ERROR wl1271_raw_write32

       13.75> [   60.530000]

       13.76> [   60.540000] wl1271: ERROR  wl1271_read32  CHIP_ID

       13.76> [   60.540000]

       13.76> [   60.550000] wl1271: ERROR wl1271_setup

       13.76> [   60.550000]

       13.76> [   60.550000] wl1271: ERROR wl1271_boot

       13.76> [   60.550000]

       19.79> [   66.580000] wl1271: ERROR sdio read failed (-110)

       25.39> [   72.170000] wl1271: ERROR sdio write failed (-110)

       31.00> [   77.770000] wl1271: ERROR sdio read failed (-110)

       31.00> [   77.780000] wl1271: ERROR chip id doesn't match after firmware boot

       31.00> [   77.780000] wl1271: ERROR wl1271_power_off

       31.00> [   77.780000]

       31.01> [   77.790000] wl1271_sdio_power_off

       31.01> [   77.790000] wl1271: ERROR wl1271_chip_wakeup

       31.01> [   77.790000]

       31.01> [   77.800000] wl1271: wl1271_chip_wakeup

       31.01> [   77.800000]

       31.04> [   77.830000] wl1271: wl1271_power_on

       31.04> [   77.830000]

       31.04> [   77.830000] wl1271_sdio_power_on

       31.25> [   78.040000] wl1271: wl1271_io_reset

       31.26> [   78.040000]

       31.26> [   78.040000] wl1271: wl1271_io_init

       31.26> [   78.040000]

       31.26> [   78.050000] wl1271: end wl1271_io_init

       31.26> [   78.050000]

       31.26> [   78.050000] wl1271: before wl1271_set_partition

       31.28> [   78.050000]

       36.87> [   83.650000] wl1271: ERROR sdio write failed (-110)

       42.46> [   89.250000] wl1271: ERROR sdio write failed (-110)

       48.06> [   94.840000] wl1271: ERROR sdio write failed (-110)

       53.67> [  100.440000] wl1271: ERROR sdio write failed (-110)

       59.26> [  106.040000] wl1271: ERROR sdio write failed (-110)

     

     

     

     

  • Hi,

     

    As the driver boots up and loades the firmware it looks like your SDIO interace is working ok.

    My guess is that after the firmware is loaded (process which is not using interrupts from the module), and the driver start interacting with the module, it is not getting any interrupts from the wl12xx which cause a recovery.

     

    As the wl12xx interrupts are using a GPIO, please make sure that you have muxed it correctly and configured it as an input.

     

    You check  /proc/interrupts and verify whether the wl12xx interrupt line recived any interrupt.

     

    Best Regards,

    Eyal Reizer

  • Hi Ajay

    Could tell me the website of wl1271 compat-driver that you use.

  • Hi Quan,

    You can use build script available on following wiki page to download and build wlan drivers and other related softwares.

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

    Regards,

    Ajay Bhargav

  • Hi Ajay

    My wl12xx module can work.

  • Hi Experts,

    I am using my custom board.

    Here "PCA9554PW,118" i2c expander is connected with the GPIO PIN (3,3) of AM335X processor. And GPIO_WL_IRQ is connected to the P1 pin of I2c Expander. Here how can i pinmux for WL IRQ?

    1. I getting some error while connect to the wifi (even IP is not assigned for my wlan0 interface)

    ==========================================================================
    [ 834.451416] ------------[ cut here ]------------ [ 834.456298] WARNING: at /home/hudson/amsdk-nightly-build/cortex-A8/arago-tmp/work/am335x-evm-arago-linux-gnueabi/ti-compat-wireless-wl12xx-0.20120515r518-r30d/compat-wireless/drivers/net/wireless/wl12xx/tx.c:986 wl12xx_tx_reset+0x178/0x1ac [wl12xx]() [ 834.479400] Modules linked in: g_mass_storage bufferclass_ti(O) omaplfb(O) pvrsrvkm(O) wl12xx(O) mac80211(O) cfg80211(O) wl12xx_sdio(O) [ 834.492156] Backtrace: [ 834.494720] [<c0017978>] (dump_backtrace+0x0/0x110) from [<c0422d20>] (dump_stack+0x18/0x1c) [ 834.503540] r6:bf0c1ae4 r5:000003da r4:00000000 r3:c05fd748 [ 834.509460] [<c0422d08>] (dump_stack+0x0/0x1c) from [<c003daec>] (warn_slowpath_common+0x5c/0x6c) [ 834.518737] [<c003da90>] (warn_slowpath_common+0x0/0x6c) from [<c003db20>] (warn_slowpath_null+0x24/0x2c) [ 834.528717] r8:00000000 r7:00000001 r6:ce401780 r5:00000000 r4:00000001 [ 834.535552] r3:00000009 [ 834.538299] [<c003dafc>] (warn_slowpath_null+0x0/0x2c) from [<bf0ac338>] (wl12xx_tx_reset+0x178/0x1ac [wl12xx]) [ 834.548858] [<bf0ac1c0>] (wl12xx_tx_reset+0x0/0x1ac [wl12xx]) from [<bf0a19dc>] (wl1271_op_stop+0xe4/0x210 [wl12xx]) [ 834.559875] [<bf0a18f8>] (wl1271_op_stop+0x0/0x210 [wl12xx]) from [<bf0a4244>] (wl1271_recovery_work+0x194/0x334 [wl12xx]) [ 834.571380] r6:ce4017ac r5:ce401780 r4:ce401964 r3:00000000 [ 834.577331] [<bf0a40b0>] (wl1271_recovery_work+0x0/0x334 [wl12xx]) from [<c0050580>] (process_one_work+0x124/0x384) [ 834.588226] [<c005045c>] (process_one_work+0x0/0x384) from [<c00523f8>] (worker_thread+0x15c/0x330) [ 834.597656] [<c005229c>] (worker_thread+0x0/0x330) from [<c0056410>] (kthread+0x90/0x94) [ 834.606109] [<c0056380>] (kthread+0x0/0x94) from [<c0040b6c>] (do_exit+0x0/0x67c) [ 834.613922] r6:c0040b6c r5:c0056380 r4:cf81dee0 [ 834.618774] ---[ end trace aece0ae73047b0fd ]--- [ 834.626983] ieee80211 phy0: Hardware restart was requested [ 834.633941] wl12xx: open_count=0, add=1, current_fw=0 [ 834.639221] wl12xx: state: 0 [ 835.084197] wl12xx: firmware booted (Rev 6.3.8.0.111_1) [ 835.089691] wl12xx: Driver version: R5_00_18 [ 835.158630] wl12xx: Association completed. [ 837.258392] wl12xx: ERROR ELP wakeup timeout! [ 837.262969] wl12xx: Reading FW panic log
    =========================================================================

    2. If interrupt pin is the only problem then. how to solved this issue?

    Thanks,

    Murugesan

  • Murugesan,

     

    Please check the following:

    1. in the board file (board-am335xevm.c) have you modified the wl12xx_platform_data structure ".irq" fielld with the modified GPIO number that you are using?

    struct wl12xx_platform_data am335xevm_wlan_data = {
     .irq = OMAP_GPIO_IRQ(AM335XEVM_WLAN_IRQ_GPIO),
     .board_ref_clock = WL12XX_REFCLOCK_38_XTAL, /* 38.4Mhz */
     .bt_enable_gpio = GPIO_TO_PIN(3, 21),
     .wlan_enable_gpio = GPIO_TO_PIN(1, 16),
    };

    2. When doing "cat /proc/interrupts" are you seeing that the number of "wl12xx" interrupts is increasing?

    root@am335x-evm:~# cat /proc/interrupts

    ...

    ...

    273:         50      GPIO  wl12xx

    3. If you do "iw wlan0 scan" are you getting scan results, or do you see a recovery?

     

    Best Regards,

    Eyal Reizer

  • Hi Eyal Reizer,

    1.Yes we do

    #define WLAN_IRQ 129
    struct wl12xx_platform_data am335xevm_wlan_data = {
    .irq = OMAP_GPIO_IRQ(WLAN_IRQ),
    .board_ref_clock = WL12XX_REFCLOCK_38_XTAL, /* 38.4Mhz */
    .bt_enable_gpio = GPIO_TO_PIN(1, 30),
    .wlan_enable_gpio = GPIO_TO_PIN(1, 9),
    };

    2.

    -----------------------

    root@am335x-evm:~# cat /proc/interrupts
    CPU0
    4: 0 INTC omap2_elm
    12: 3286 INTC edma
    14: 0 INTC edma_error
    18: 0 INTC musb-hdrc.0
    19: 109 INTC musb-hdrc.1
    29: 251 INTC mmc1
    36: 3242 INTC da8xx_lcdc
    37: 0 INTC SGX ISR
    39: 0 INTC ehrpwmTZ
    40: 0 INTC cpsw
    43: 0 INTC cpsw
    60: 0 INTC ehrpwm_evt
    64: 10178 INTC mmc0
    68: 2405 INTC gp timer
    70: 180 INTC omap_i2c
    71: 70 INTC omap_i2c
    72: 233 INTC OMAP UART0
    75: 0 INTC rtc0
    76: 0 INTC rtc0
    77: 0 INTC wkup_m3
    78: 1 INTC wkup_m3_txev
    93: 0 INTC cpsw
    94: 0 INTC cpsw
    109: 84 INTC omap4-sham
    166: 0 GPIO mmc0
    257: 0 GPIO 2-0020
    259: 0 GPIO 2-0024
    289: 0 pca953x wl12xx
    Err: 0
    root@am335x-evm:~#

    ----------------------------------------------

    3. If we do "iw wlan0 scan" i got the same recovery message from the console.

    FYI:-

    Connected more that one devices on I2C expander:

    And I2c Expander INT pin is connected to GPIO(3,3) of Processor AM3354

    We connected below device INT/IRQ pin to I2c expander i/o ports.

    GPIO HDMI INT--> P0

    GPIO WLAN IRQ --> P1

    GPIO Ecompass INT --> P4

    Can you please give some suggession to solve the Wifi issue.

    Thanks,

    Murugesan

  • Hi,

    Any update on my previous post?

    Thanks,

    Murugesan

  • As I see from the logs, interrupt is not getting generated. I think you need to look into your IO Expander why its not sending interrupts to SOC.

  • Anything do i need to add in am335x board code in IO Expander?. If so Can you help us the IO Expander code level program.

    Since IO Expander interrupt pin is connected with GPIO (3,3), but All the device connected to the IO expander will generate the INT/IRQ. So how to find out which device generate the INT/IRQ using IO expander GPIO (3,3)?

    Please help me to solve this problem.

    Thanks,

    Murugesan

  • Hi Experts,

    Please help me to solve the I2c Expander vs WiFI problem.

    Thanks,

    Veera