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.

omap4470 with Wlink6

Other Parts Discussed in Thread: WL1271, WL1283, 4460

Our custom board use omap4470 with JorJin WG7311-0A , and we referenced the release from    http://www.omappedia.org/wiki/4AJ.2.5P2_OMAP4_Jelly_Bean_Release_Notes

and than building Wlan driver referenced from  http://omappedia.org/wiki/4AJ.2.2_OMAP4_Jelly_Bean_Panda_Notes#Building_WLAN_driver

Because the chipset is wl1271, so we use Wlink6 source code,and when I insmod wl12xx_sdio.ko it shows an

error as below 

[   51.660308] cfg80211: wext will not work because kernel was compiled with CONFIG_WIRELESS_EXT=n. Tools using wext interface, like iwconfig will not work.
[   51.677337] wl12xx: loaded

Linux kernel 3.4 doesn't have this config. Anyone can help me ? Thank you.

4885.log.txt

  • Hello,

    You should follow all the steps described in 4AJ2.5P2 Release notes in order to build your MLO, u-boot, kernel & AFS.

    When executing the http://omappedia.org/wiki/4AJ.2.2_OMAP4_Jelly_Bean_Panda_Notes#Building_WLAN_driver

    AND prepare the android binaries by following: http://omappedia.org/wiki/4AJ.2.2_OMAP4_Jelly_Bean_Panda_Notes#Preparing_Android_binaries


    You should flash your device & after that execute (on your platform):


    # su

    # wilink7.sh

    In order to make Android work with WiLink7.

    Best Regards,
    Yordan

  • Dear Yordan

    I appreciate your quickly reply, and I have one thing need to clarify.

       

       wl127X is belong with WiLink6 like this  http://processors.wiki.ti.com/index.php/WL127x

        Does WLan driver from http://omappedia.org/wiki/4AJ.2.2_OMAP4_Jelly_Bean_Panda_Notes#Building_WLAN_driver is   WiLink6?

         It is said that WiLink7 (wl1283) from http://omappedia.org/wiki/Android_Mac80211#WLAN_Calibration_Instruction

    but our chipset is wl1721

     

     

  • Hello,

    The WLAN driver from 4AJ.2.2 Release Notes, that you refer to, is WiLink7 driver.

    But I think it should work with your chip as well. Or with slight modifications to the script.

    The script itself removes all WiLink 8 modules from /system/lib/modules. And then copies the WiLink 7 modules (located in /system/lib/modules/wl7) in the /system/lib/modules folder as folllows:

     # Copy WL7 modules
    ln -s $WL7_MODULES_PATH/cfg80211.ko $MODULES_PATH/cfg80211.ko
    chmod 644 $MODULES_PATH/cfg80211.ko
    ln -s $WL7_MODULES_PATH/mac80211.ko $MODULES_PATH/mac80211.ko
    chmod 644 $MODULES_PATH/mac80211.ko
    ln -s $WL7_MODULES_PATH/wl12xx.ko $MODULES_PATH/wl12xx.ko
    chmod 644 $MODULES_PATH/wl12xx.ko
    ln -s $WL7_MODULES_PATH/wl12xx_sdio.ko $MODULES_PATH/wlcore_sdio.ko
    chmod 644 $MODULES_PATH/wlcore_sdio.ko
    sleep 2
    sync

    So a slight modification to that script should get it to work with your wl1721 module.

    Best Regards,
    Yordan

  • Hi Yordan

    Sorry. I don't know what you mean about " a slight modification to that script ". wilink7.sh?  I will appreciate if you provide me  further hints. According to your inform,  the source code of compat_12xx in 4AJ2.2 is same with compat_12xx in 4AJ2.5P2? 

    We use Wilink7 driver refer to 4AJ.2.5P2 Release and print the log attached. It seems that it doesn't recognize  the  HW.

    so I guess that driver doesn't work on wl1721 chipset

     

    log:

    /home/bernie/office4470/mydroid/hardware/ti/wlan/mac80211/compat_wl12xx/drivers/net/wireless/wl12xx/sdio.c:95
    > wl12xx_sdio_)
    > [  113.109497] Modules linked in: wl12xx_sdio(O+) wl12xx(O)
    > mac80211(O) cfg80211(O) pvrsrvkm_sgx544_112(O)
    > [  113.122467] Backtrace:
    > [  113.132385] [<c0017b74>] (dump_backtrace+0x0/0x10c) from
    > [<c067a578>] (dump_stack+0x18/0x1c)
    > [  113.142944]  r6:0000005f r5:bf177298 r4:00000000 r3:c09aca90
    > [  113.150848] [<c067a560>] (dump_stack+0x0/0x1c) from [<c0046968>]
    > (warn_slowpath_common+0x54/0x6c)
    > [  113.165954] [<c0046914>] (warn_slowpath_common+0x0/0x6c) from
    > [<c00469a4>] (warn_slowpath_null+0x24/0x2c)
    > [  113.176513]  r8:00000004 r7:c3d6df40 r6:c3d5b408 r5:00015e74
    > r4:d50f7c00
    > [  113.195861] r3:00000009
    > [  113.199249] [<c0046980>] (warn_slowpath_null+0x0/0x2c) from
    > [<bf177298>] (wl12xx_sdio_raw_read+0xa0/0xd8 [wl12xx_sdio])
    > [  113.211059] [<bf1771f8>] (wl12xx_sdio_raw_read+0x0/0xd8
    > [wl12xx_sdio]) from [<bf157648>] (wl12xx_probe+0xcac/0x1258 [wl12xx])
    > [  113.229797]  r8:00000001 r7:c6de4120 r6:00000001 r5:00000000
    > r4:c6de5a80
    > [  113.246154] [<bf15699c>] (wl12xx_probe+0x0/0x1258 [wl12xx]) from
    > [<c02e9814>] (platform_drv_probe+0x20/0x24)
    > [  113.261871] [<c02e97f4>] (platform_drv_probe+0x0/0x24) from
    > [<c02e8470>] (driver_probe_device+0x98/0x224)
    > [  113.277160] [<c02e83d8>] (driver_probe_device+0x0/0x224) from
    > [<c02e86d8>] (__device_attach+0x44/0x48)
    > [  113.288330]  r8:c0a5aee8 r7:00000000 r6:c02e8694 r5:c3d5b408
    > r4:bf162034
    > [  113.297454] r3:c02e9f54
    > [  113.300842] [<c02e8694>] (__device_attach+0x0/0x48) from
    > [<c02e6ab4>] (bus_for_each_drv+0x64/0x90)
    > [  113.312225]  r5:00000000 r4:c3d5b408
    > [  113.316680] [<c02e6a50>] (bus_for_each_drv+0x0/0x90) from
    > [<c02e838c>] (device_attach+0x9c/0xc0)
    > [  113.329925]  r6:c09c2f50 r5:c3d5b43c r4:c3d5b408
    > [  113.335693] [<c02e82f0>] (device_attach+0x0/0xc0) from [<c02e7920>]
    > (bus_probe_device+0x8c/0xb0)
    > [  113.346221]  r6:c09c2f50 r5:c3d5b408 r4:c3d5b408 r3:d684f7c0
    > [  113.353302] [<c02e7894>] (bus_probe_device+0x0/0xb0) from
    > [<c02e6034>] (device_add+0x4fc/0x5cc)
    > [  113.363098]  r6:d50f7c08 r5:c3d5b410 r4:c3d5b408 r3:00000003
    > [  113.370208] [<c02e5b38>] (device_add+0x0/0x5cc) from [<c02e9d48>]
    > (platform_device_add+0x100/0x1b0)
    > [  113.380676] [<c02e9c48>] (platform_device_add+0x0/0x1b0) from
    > [<bf17756c>] (wl1271_probe+0x1c0/0x218 [wl12xx_sdio])
    > [  113.392669]  r7:d50f7c08 r6:d68e1540 r5:c75d0a80 r4:00000000
    > [  113.400329] [<bf1773ac>] (wl1271_probe+0x0/0x218 [wl12xx_sdio])
    > from [<c0456430>] (sdio_bus_probe+0xdc/0x108)
    > [  113.411224]  r7:bf17763c r6:bf17784c r5:d50f7c00 r4:d50f7c08
    > [  113.418487] [<c0456354>] (sdio_bus_probe+0x0/0x108) from
    > [<c02e8470>] (driver_probe_device+0x98/0x224)
    > [  113.428710]  r8:bf17784c r7:00000000 r6:d50f7c3c r5:c0a5af0c
    > r4:d50f7c08
    > [  113.436767] r3:c0456354
    > [  113.440399] [<c02e83d8>] (driver_probe_device+0x0/0x224) from
    > [<c02e8690>] (__driver_attach+0x94/0x98)
    > [  113.450653]  r8:00000001 r7:00000000 r6:d50f7c3c r5:bf17784c
    > r4:d50f7c08
    > [  113.458679] r3:00000000
    > [  113.462097] [<c02e85fc>] (__driver_attach+0x0/0x98) from
    > [<c02e6b48>] (bus_for_each_dev+0x68/0x9c)
    > [  113.472320]  r6:c02e85fc r5:00000000 r4:bf17784c r3:c02e85fc
    > [  113.480957] [<c02e6ae0>] (bus_for_each_dev+0x0/0x9c) from
    > [<c02e7fb0>] (driver_attach+0x24/0x28)
    > [  113.494964]  r6:c9d03540 r5:c09d7e94 r4:bf17784c
    > [  113.500610] [<c02e7f8c>] (driver_attach+0x0/0x28) from [<c02e7bf4>]
    > (bus_add_driver+0x180/0x240)
    > [  113.510864] [<c02e7a74>] (bus_add_driver+0x0/0x240) from
    > [<c02e8b8c>] (driver_register+0x80/0x134)
    > [  113.520843] [<c02e8b0c>] (driver_register+0x0/0x134) from
    > [<c045657c>] (sdio_register_driver+0x2c/0x30)
    > [  113.531127]  r8:00000001 r7:00000001 r6:00000000 r5:bf1778cc
    > r4:c9d36000
    > [  113.539062] r3:bf17783c
    > [  113.542999] [<c0456550>] (sdio_register_driver+0x0/0x30) from
    > [<bf179014>] (wl1271_init+0x14/0x1c [wl12xx_sdio])
    > [  113.554931] [<bf179000>] (wl1271_init+0x0/0x1c [wl12xx_sdio]) from
    > [<c0008698>] (do_one_initcall+0x11c/0x184)
    > [  113.571228] [<c000857c>] (do_one_initcall+0x0/0x184) from
    > [<c009cdec>] (sys_init_module+0xdac/0x1b78)
    > [  113.584899] [<c009c040>] (sys_init_module+0x0/0x1b78) from
    > [<c00136a0>] (ret_fast_syscall+0x0/0x30)
    > [  113.599304] Board Information:
    > [  113.599304]  Revision : 0010
    > [  113.599304]  Serial  : 0000000000000000
    > [  113.599334] SoC Information:
    > [  113.599334]  CPU     : OMAP4470
    > [  113.599334]  Rev     : ES1.0
    > [  113.599334]  Type    : GP
    > [  113.599365]  Production ID: 0002B975-000000F0
    > [  113.599365]  Die ID  : 2ABA0000-48002FFF-01576988-1101201B
    > [  113.599365]
    > [  113.648681] ---[ end trace ff0f029041092f6c ]---
    > [  113.653778] wl1271_sdio mmc2:0001:2: sdio read failed (-110)
    > [  113.665252] wl12xx: ERROR couldn't get hw info
    > [  113.670562] wl12xx_driver: probe of wl12xx failed with error -110

     


       

              

             

              

                 

     

     

  • Hi,

    All Android releases for OMAP4 devices use WiLink7 or WiLink8 (by default 4AJ2.5 uses WiLink8, hence it needs to be configured to work with WiLink7 if your hardware platform uses wl128x chip).

    You use wl1721 chip, right (I haven't worked with this wi fi module; official ti platforms use WiLink7 & WiLink8)? It does not belong to WiLink 7 or WiLink 8 family of wireless chips. That is why 4AJ2.5 log shows "wl12xx: ERROR could't get hw info" .

    You need to build the sources for your wl1721 chip. Steps should be similar as in the release notes & the build will produce similar outputs (the highlighted, in yellow, names should be different, to reference the wl17xx chip) : compat.ko, cfg80211.ko, mac80211.ko, wl18xx.ko, wlcore.ko, wl12xx.ko and wl17xx_sdio.ko 

    Once you have your wl17xx object files built you need to: 
    1. copy them in system/lib/modules/wl7/

    2. modify the wilink7.sh script to link your wl17xx object files to  /system/lib/modules/ folder, by changing the names of the .ko files in  $WL7_MODULES_PATH/ (highlighted bellow): 

     # Copy WL7 modules
    ln -s $WL7_MODULES_PATH/cfg80211.ko $MODULES_PATH/cfg80211.ko
    chmod 644 $MODULES_PATH/cfg80211.ko
    ln -s $WL7_MODULES_PATH/mac80211.ko $MODULES_PATH/mac80211.ko
    chmod 644 $MODULES_PATH/mac80211.ko
    ln -s $WL7_MODULES_PATH/wl12xx.ko $MODULES_PATH/wl12xx.ko
    chmod 644 $MODULES_PATH/wl12xx.ko
    ln -s $WL7_MODULES_PATH/wl12xx_sdio.ko $MODULES_PATH/wlcore_sdio.ko
    chmod 644 $MODULES_PATH/wlcore_sdio.ko
    sleep 2
    sync

    Best Regards,

    Yordan

  • Dear Yordan

    I'm sorry, all of my fault.

    We use wl1271 chipset not wl17XX, so  I think wilink7.sh doesn't need to be modified.

     

    We adapt your suggestion that you think WiLink7 driver can work on wl127x, and we find wg7311-2A(We use

    wg7311-0A)porting guide http://59.124.231.13/index.php/WG7311_Driver_for_OMAP4.

     

    Thus, we build WLan7 source from 4AJ2.5P2, and the log is below

     [  111.344024] wl12xx: loaded
    [  111.429687] wl12xx: state: 0
    [  113.258178] ------------[ cut here ]------------
    [  113.263641] WARNING: at
    /home/bernie/office4470/mydroid/hardware/ti/wlan/mac80211/compat_wl12xx/drivers/net/wireless/wl12xx/sdio.c:95
    wl12xx_sdio_)
    [  113.284820] Modules linked in: wl12xx_sdio(O) wl12xx(O) mac80211(O)
    pvrsrvkm_sgx544_112(O) cfg80211(O)
    [  113.304443] Backtrace:
    [  113.307617] [<c0017b74>] (dump_backtrace+0x0/0x10c) from [<c067a618>]
    (dump_stack+0x18/0x1c)
    [  113.327728]  r6:0000005f r5:bf177298 r4:00000000 r3:c09aca90
    [  113.335662] [<c067a600>] (dump_stack+0x0/0x1c) from [<c0046968>]
    (warn_slowpath_common+0x54/0x6c)
    [  113.347808] [<c0046914>] (warn_slowpath_common+0x0/0x6c) from
    [<c00469a4>] (warn_slowpath_null+0x24/0x2c)
    [  113.359893]  r8:00000004 r7:c5e30b00 r6:d4e63408 r5:00017ca8 r4:d515e200
    [  113.369293] r3:00000009
    [  113.374359] [<c0046980>] (warn_slowpath_null+0x0/0x2c) from
    [<bf177298>] (wl12xx_sdio_raw_read+0xa0/0xd8 [wl12xx_sdio])
    [  113.391479] [<bf1771f8>] (wl12xx_sdio_raw_read+0x0/0xd8
    [wl12xx_sdio]) from [<bf14e7b0>] (wl1271_boot+0x264/0xa00 [wl12xx])
    [  113.410247]  r8:c42c1ad0 r7:bf1629ec r6:003004e8 r5:00000012 r4:c42c1a80
    [  113.419677] [<bf14e54c>] (wl1271_boot+0x0/0xa00 [wl12xx]) from
    [<bf13f1c4>] (wl1271_op_add_interface+0x28c/0x560 [wl12xx])
    [  113.433380] [<bf13ef38>] (wl1271_op_add_interface+0x0/0x560 [wl12xx])
    from [<bf0bac40>] (ieee80211_do_open+0x198/0xd58 [mac80211])
    [  113.448089] [<bf0baaa8>] (ieee80211_do_open+0x0/0xd58 [mac80211])
    from [<bf0bb870>] (ieee80211_open+0x70/0x7c [mac80211])
    [  113.461608] [<bf0bb800>] (ieee80211_open+0x0/0x7c [mac80211]) from
    [<c04fb78c>] (__dev_open+0xa8/0x104)
    [  113.476776]  r4:c2ddc000 r3:bf0bb800
    [  113.481414] [<c04fb6e4>] (__dev_open+0x0/0x104) from [<c04fb9d8>]
    (__dev_change_flags+0x84/0x144)
    [  113.492462]  r7:00000001 r6:00001002 r5:00001003 r4:c2ddc000
    [  113.500427] [<c04fb954>] (__dev_change_flags+0x0/0x144) from
    [<c04fbb14>] (dev_change_flags+0x18/0x50)
    [  113.511749]  r7:00000000 r6:00008914 r5:00001002 r4:c2ddc000
    [  113.519958] [<c04fbafc>] (dev_change_flags+0x0/0x50) from
    [<c057c698>] (devinet_ioctl+0x7cc/0x87c)
    [  113.532440]  r6:00008914 r5:d4ea000c r4:00000000 r3:00000000
    [  113.541717] [<c057becc>] (devinet_ioctl+0x0/0x87c) from [<c057d334>]
    (inet_ioctl+0x1b4/0x1c8)
    [  113.551605] [<c057d180>] (inet_ioctl+0x0/0x1c8) from [<c04e50c8>]
    (sock_ioctl+0x70/0x298)
    [  113.562438] [<c04e5058>] (sock_ioctl+0x0/0x298) from [<c0124168>]
    (do_vfs_ioctl+0x8c/0x5dc)
    [  113.572967]  r6:be8198a4 r5:c5e38c80 r4:c2eadb20 r3:c04e5058
    [  113.580444] [<c01240dc>] (do_vfs_ioctl+0x0/0x5dc) from [<c0124730>]
    (sys_ioctl+0x78/0x80)
    [  113.590606]  r9:c3d3a000 r8:00000000 r7:0000000d r6:00008914 r5:be8198a4
    [  113.602539] r4:c5e38c80
    [  113.607238] [<c01246b8>] (sys_ioctl+0x0/0x80) from [<c00136a0>]
    (ret_fast_syscall+0x0/0x30)
    [  113.617126]  r8:c0013848 r7:00000036 r6:0000000d r5:401d4228 r4:40cb8fe0
    [  113.633361] Board Information:
    [  113.633361]  Revision : 0010
    [  113.633361]  Serial  : 0000000000000000
    [  113.633361] SoC Information:
    [  113.633392]  CPU     : OMAP4470
    [  113.633392]  Rev     : ES1.0
    [  113.633392]  Type    : GP
    [  113.633392]  Production ID: 0002B975-000000F0
    [  113.633422]  Die ID  : 2ABA0000-48002FFF-01576988-1101201B
    [  113.633422]
    [  113.671325] ---[ end trace 717aa92ec6090976 ]---
    [  113.676422] wl1271_sdio mmc2:0001:2: sdio read failed (-110)
    [  115.493408] ------------[ cut here ]------------
    [  115.498535] WARNING: at
    /home/bernie/office4470/mydroid/hardware/ti/wlan/mac80211/compat_wl12xx/drivers/net/wireless/wl12xx/sdio.c:95
    wl12xx_sdio_)
    [  115.516143] Modules linked in: wl12xx_sdio(O) wl12xx(O) mac80211(O)
    pvrsrvkm_sgx544_112(O) cfg80211(O)
    [  115.527160] Backtrace:
    [  115.530242] [<c0017b74>] (dump_backtrace+0x0/0x10c) from [<c067a618>]
    (dump_stack+0x18/0x1c)
    [  115.539550]  r6:0000005f r5:bf177298 r4:00000000 r3:c09aca90
    [  115.546569] [<c067a600>] (dump_stack+0x0/0x1c) from [<c0046968>]
    (warn_slowpath_common+0x54/0x6c)
    [  115.556365] [<c0046914>] (warn_slowpath_common+0x0/0x6c) from
    [<c00469a4>] (warn_slowpath_null+0x24/0x2c)
    [  115.567077]  r8:00000004 r7:c5e30b00 r6:d4e63408 r5:00017ca8 r4:d515e200
    [  115.574859] r3:00000009
    [  115.578124] [<c0046980>] (warn_slowpath_null+0x0/0x2c) from
    [<bf177298>] (wl12xx_sdio_raw_read+0xa0/0xd8 [wl12xx_sdio])
    [  115.590057] [<bf1771f8>] (wl12xx_sdio_raw_read+0x0/0xd8
    [wl12xx_sdio]) from [<bf14e7b0>] (wl1271_boot+0x264/0xa00 [wl12xx])
    [  115.602355]  r8:c42c1ad0 r7:bf1629ec r6:003004e8 r5:0000000e r4:c42c1a80
    [  115.610748] [<bf14e54c>] (wl1271_boot+0x0/0xa00 [wl12xx]) from
    [<bf13f1c4>] (wl1271_op_add_interface+0x28c/0x560 [wl12xx])
    [  115.623138] [<bf13ef38>] (wl1271_op_add_interface+0x0/0x560 [wl12xx])
    from [<bf0bac40>] (ieee80211_do_open+0x198/0xd58 [mac80211])
    [  115.636566] [<bf0baaa8>] (ieee80211_do_open+0x0/0xd58 [mac80211])
    from [<bf0bb870>] (ieee80211_open+0x70/0x7c [mac80211])
    [  115.648895] [<bf0bb800>] (ieee80211_open+0x0/0x7c [mac80211]) from
    [<c04fb78c>] (__dev_open+0xa8/0x104)
    [  115.659698]  r4:c2ddc000 r3:bf0bb800
    [  115.664245] [<c04fb6e4>] (__dev_open+0x0/0x104) from [<c04fb9d8>]
    (__dev_change_flags+0x84/0x144)
    [  115.674194]  r7:00000001 r6:00001002 r5:00001003 r4:c2ddc000
    [  115.681457] [<c04fb954>] (__dev_change_flags+0x0/0x144) from
    [<c04fbb14>] (dev_change_flags+0x18/0x50)
    [  115.691741]  r7:00000000 r6:00008914 r5:00001002 r4:c2ddc000
    [  115.698822] [<c04fbafc>] (dev_change_flags+0x0/0x50) from
    [<c057c698>] (devinet_ioctl+0x7cc/0x87c)
    [  115.708679]  r6:00008914 r5:d4ea000c r4:00000000 r3:00000000
    [  115.715789] [<c057becc>] (devinet_ioctl+0x0/0x87c) from [<c057d334>]
    (inet_ioctl+0x1b4/0x1c8)
    [  115.725219] [<c057d180>] (inet_ioctl+0x0/0x1c8) from [<c04e50c8>]
    (sock_ioctl+0x70/0x298)
    [  115.734161] [<c04e5058>] (sock_ioctl+0x0/0x298) from [<c0124168>]
    (do_vfs_ioctl+0x8c/0x5dc)
    [  115.743377]  r6:be8198a4 r5:c5e38c80 r4:c2eadb20 r3:c04e5058
    [  115.750701] [<c01240dc>] (do_vfs_ioctl+0x0/0x5dc) from [<c0124730>]
    (sys_ioctl+0x78/0x80)
    [  115.759643]  r9:c3d3a000 r8:00000000 r7:0000000d r6:00008914 r5:be8198a4
    [  115.767761] r4:c5e38c80
    [  115.771118] [<c01246b8>] (sys_ioctl+0x0/0x80) from [<c00136a0>]
    (ret_fast_syscall+0x0/0x30)
    [  115.788482]  r8:c0013848 r7:00000036 r6:0000000d r5:401d4228 r4:40cb8fe0
    [  115.804473] Board Information:
    [  115.804504]  Revision : 0010
    [  115.804504]  Serial  : 0000000000000000
    [  115.804504] SoC Information:
    [  115.804534]  CPU     : OMAP4470
    [  115.804534]  Rev     : ES1.0
    [  115.804534]  Type    : GP
    [  115.804534]  Production ID: 0002B975-000000F0
    [  115.804565]  Die ID  : 2ABA0000-48002FFF-01576988-1101201B
    [  115.804565]
    [  115.841339] ---[ end trace 717aa92ec6090977 ]---
    [  115.846801] wl1271_sdio mmc2:0001:2: sdio read failed (-110)
    [  116.240539] ------------[ cut here ]------------
    [  116.245849] WARNING: at
    /home/bernie/office4470/mydroid/hardware/ti/wlan/mac80211/compat_wl12xx/drivers/net/wireless/wl12xx/sdio.c:126
    wl12xx_sdio)
    [  116.263641] Modules linked in: wl12xx_sdio(O) wl12xx(O) mac80211(O)
    pvrsrvkm_sgx544_112(O) cfg80211(O)
    [  116.275085] Backtrace:
    [  116.278076] [<c0017b74>] (dump_backtrace+0x0/0x10c) from [<c067a618>]
    (dump_stack+0x18/0x1c)
    [  116.287445]  r6:0000007e r5:bf1771c0 r4:00000000 r3:c09aca90
    [  116.294494] [<c067a600>] (dump_stack+0x0/0x1c) from [<c0046968>]
    (warn_slowpath_common+0x54/0x6c)
    [  116.304321] [<c0046914>] (warn_slowpath_common+0x0/0x6c) from
    [<c00469a4>] (warn_slowpath_null+0x24/0x2c)
    [  116.315032]  r8:00004000 r7:cadec000 r6:d4e63408 r5:00000000 r4:d515e200
    [  116.322967] r3:00000009
    [  116.326232] [<c0046980>] (warn_slowpath_null+0x0/0x2c) from
    [<bf1771c0>] (wl12xx_sdio_raw_write+0xa0/0xd8 [wl12xx_sdio])
    [  116.338378] [<bf177120>] (wl12xx_sdio_raw_write+0x0/0xd8
    [wl12xx_sdio]) from [<bf14dbcc>] (wl1271_load_firmware+0xbcc/0xf90 [wl12xx])
    [  116.351501]  r8:bf1629ec r7:00000000 r6:00000000 r5:00000000 r4:c42c1a80
    [  116.359893] [<bf14d000>] (wl1271_load_firmware+0x0/0xf90 [wl12xx])
    from [<bf14e5a0>] (wl1271_boot+0x54/0xa00 [wl12xx])
    [  116.371734] [<bf14e54c>] (wl1271_boot+0x0/0xa00 [wl12xx]) from
    [<bf13f1c4>] (wl1271_op_add_interface+0x28c/0x560 [wl12xx])
    [  116.384155] [<bf13ef38>] (wl1271_op_add_interface+0x0/0x560 [wl12xx])
    from [<bf0bac40>] (ieee80211_do_open+0x198/0xd58 [mac80211])
    [  116.397430] [<bf0baaa8>] (ieee80211_do_open+0x0/0xd58 [mac80211])
    from [<bf0bb870>] (ieee80211_open+0x70/0x7c [mac80211])
    [  116.409912] [<bf0bb800>] (ieee80211_open+0x0/0x7c [mac80211]) from
    [<c04fb78c>] (__dev_open+0xa8/0x104)
    [  116.420257]  r4:c2ddc000 r3:bf0bb800
    [  116.424743] [<c04fb6e4>] (__dev_open+0x0/0x104) from [<c04fb9d8>]
    (__dev_change_flags+0x84/0x144)
    [  116.434387]  r7:00000001 r6:00001002 r5:00001003 r4:c2ddc000
    [  116.441375] [<c04fb954>] (__dev_change_flags+0x0/0x144) from
    [<c04fbb14>] (dev_change_flags+0x18/0x50)
    [  116.451599]  r7:00000000 r6:00008914 r5:00001002 r4:c2ddc000
    [  116.458465] [<c04fbafc>] (dev_change_flags+0x0/0x50) from
    [<c057c698>] (devinet_ioctl+0x7cc/0x87c)
    [  116.468383]  r6:00008914 r5:d4ea000c r4:00000000 r3:00000000
    [  116.475219] [<c057becc>] (devinet_ioctl+0x0/0x87c) from [<c057d334>]
    (inet_ioctl+0x1b4/0x1c8)
    [  116.484558] [<c057d180>] (inet_ioctl+0x0/0x1c8) from [<c04e50c8>]
    (sock_ioctl+0x70/0x298)
    [  116.493682] [<c04e5058>] (sock_ioctl+0x0/0x298) from [<c0124168>]
    (do_vfs_ioctl+0x8c/0x5dc)
    [  116.503112]  r6:be8198a4 r5:c5e38c80 r4:c2eadb20 r3:c04e5058
    [  116.510162] [<c01240dc>] (do_vfs_ioctl+0x0/0x5dc) from [<c0124730>]
    (sys_ioctl+0x78/0x80)
    [  116.519256]  r9:c3d3a000 r8:00000000 r7:0000000d r6:00008914 r5:be8198a4
    [  116.527435] r4:c5e38c80
    [  116.530731] [<c01246b8>] (sys_ioctl+0x0/0x80) from [<c00136a0>]
    (ret_fast_syscall+0x0/0x30)
    [  116.539947]  r8:c0013848 r7:00000036 r6:0000000d r5:401d4228 r4:40cb8fe0
    [  116.548095] Board Information:
    [  116.548126]  Revision : 0010
    [  116.548126]  Serial  : 0000000000000000
    [  116.548126] SoC Information:
    [  116.548126]  CPU     : OMAP4470
    [  116.548156]  Rev     : ES1.0
    [  116.548156]  Type    : GP
    [  116.548156]  Production ID: 0002B975-000000F0
    [  116.548156]  Die ID  : 2ABA0000-48002FFF-01576988-1101201B
    [  116.548187]
    [  116.583679] ---[ end trace 717aa92ec6090978 ]---
    [  116.588806] wl1271_sdio mmc2:0001:2: sdio write failed (-84)
    [  116.597564] wl12xx: ERROR firmware boot failed despite 3 retries


    What can I do to fix this problem. Thank you.

     

    BestRegards

    Bernie

     

     

     

  • Hello Bernie,

    I looked at the code in /home/users/ykovachev/blaze_4460/4AJ.2.2/kernel/android-3.0/drivers/net/wireless/wl12xx, and the source files seem to support the wl1271 chip. 

    Could you please check your board file to see which wifi chip it references? Maybe you haven't modified it & it still uses the wl128x device.

    Maybe this is why you get an error, when you try to enable the wilink7 by wilink7.sh script & modifications described in: http://59.124.231.13/index.php/WG7311_Driver_for_OMAP4

    Best Regards,

    Yordan

     

  • Hello Yordan

    We toward the message of "wl1271_sdio mmc2:0001:2: sdio write failed (-110)" to fix.And we have referenced wl1271 porting guide.  Can you give me some further advice?

    I trace the code in board-44xx-54xx-connectivity.c find some thing weird.

    static struct regulator_init_data omap4plus_vmmc_regulator = {
            .constraints            = {
            .valid_ops_mask = REGULATOR_CHANGE_STATUS,
        },
        .num_consumer_supplies  = 1,
        .consumer_supplies      = &omap5_evm_vmmc3_supply,  <-- does it should be &omap4_vmmc5_supply replaced?
                                                                                                          we are using omap4470. 
    };


    thank you

  • Hi,

    This depends on how your wilink chip is connected on the board. If it interfaces with mmc5, then yes.

    Since I cannot test this on my side, because you are using a custom board, I suggest you have a look at the configuration for omap4 panda board (files are available in android sources), it uses wl1271 chips for wireless connection (refer to pandaboard board file, and make modifications to the board file you use).

    Best Regards,

    Yordan

  • Hi Yordan

    Thanks your quickly reply, I am just researching Panda. But I need your help,thanks.

    1  Is there the difference between  &omap5_evm_vmmc3_supply and &omap4_vmmc5_supply just interface mmc3 or  mm5? what about omap4 and omap5?

     

    2  If I use 4AJ2.2 source code, does it work that I change 4AJ2.5P2

        mydroid/hardware/ti/wlan/mac80211/compat_wl12xx  to the other form 4AJ2.2, and build them with steps from

        4AJ2.5P2?

        Thank you very much

         BestRegards

         Benrie 

  • Hello Bernie,

    Regarding your questions:
     

     1. You should change that to &omap4_vmmc5_supply, because OMAP4 devices use MMC5 to interface with wifi chips, while OMAP5 devices use MMC3 (you can check this in pandaboard schematics & Figure 1-1. OMAP4470 High-Tier Environment of OMAP4470 TRM) . So you should use &omap4_vmmc5_supply.

     2. I think both releases contain drivers for wl1271 chips. So it should be ok to replace them & build using the steps from release notes.

    It also shouldn't be a problem to use the 4AJ2.5 source & enable the wl1271 drivers inside it.

    Best Regards,
    Yordan

  • Good!  I've attached  Panda patch on my code, and got the same problem.

    cat  sys/bus/mmc/devices--> mmc0:0001

                                                  mmc2:0001

    cat sys/bus/mmc/devices/mmc2:0001/type -> SDIO

    cat sys/bus/mmc/devices/mmc2:0001/runtime_status -> suspended

    So,our aim is make mmc5 appear on device? 

     BestRegards

     Bernie

  • I summarize all  of my revises.


    board-44xx-tablet.c

      /* WLAN IRQ*/
    +       OMAP4_MUX(GPMC_NCS3, OMAP_MUX_MODE3 | OMAP_PIN_INPUT),
    +       /* WLAN POWER ENABLE */
    +       OMAP4_MUX(GPMC_A19, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT),
    +       /* WLAN SDIO: MMC5 CMD */
    +       OMAP4_MUX(SDMMC5_CMD, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
    +       /* WLAN SDIO: MMC5 CLK */
    +       OMAP4_MUX(SDMMC5_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
    +       /* WLAN SDIO: MMC5 DAT[0-3] */
    +       OMAP4_MUX(SDMMC5_DAT0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
    +       OMAP4_MUX(SDMMC5_DAT1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
    +       OMAP4_MUX(SDMMC5_DAT2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
    +       OMAP4_MUX(SDMMC5_DAT3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
            { .reg_offset = OMAP_MUX_TERMINATOR },
     };

    static struct omap2_hsmmc_info mmc[] = {

    },
    {
    +.name = "wl1271",
    .mmc = 5,
    .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_POWER_OFF_CARD,
    .pm_caps = MMC_PM_KEEP_POWER,
    .gpio_cd = -EINVAL,
    .gpio_wp = -EINVAL,
    .ocr_mask = MMC_VDD_165_195,
    .built_in = 1,
    .nonremovable = true,
    },
    {} /* Terminator */
    };

    board-44xx-54xx-connectivity.c

    +#define GPIO_WIFI_PMENA 33

    static struct regulator_consumer_supply omap4_vmmc5_supply = { .supply = "vmmc", .dev_name = "mmci-omap-hs.4", };

    static struct regulator_init_data omap4plus_vmmc_regulator = { .constraints = { .valid_ops_mask = REGULATOR_CHANGE_STATUS, }, .num_consumer_supplies = 1, + .consumer_supplies = &omap4_vmmc5_supply, };

    static struct fixed_voltage_config omap4plus_vwlan = { .supply_name = "vwl1271", .microvolts = 1800000, /* 1.8V */ + .gpio = GPIO_WIFI_PMENA, .startup_delay = 70000, /* 70msec */ .enable_high = 1, .enabled_at_boot = 0, .init_data = &omap4plus_vmmc_regulator, };

    The result doesn't change anything

    log attached.2451.log.txt


    BestRegards
    Bernie
  • Hello Bernie,

    Have you tried adding the TQS_S_2.6.ini file in /system/etc/wifi/TQS_S_2.6.in and then execute the calibration procedure for WL1271 chip, as described here: http://omappedia.org/wiki/Android_Mac80211#WLAN_Calibration_Instruction

    Best Regards,

    Yordan

  • Hi Yordan


    First,I very appreciate you concerning this issue.

    According to the website you give me, I do some steps below

    1 mount -o remount rw /system
    2 rm /system/etc/firmware/ti-connectivity/wl1271-nvs.bin
    3 export TARGET_FW_DIR=/system/etc/firmware/ti-connectivity
    4 export TARGET_NVS_FILE=$TARGET_FW_DIR/wl1271-nvs.bin
    5 export WL12xx_MODULE=/system/lib/modules/wl12xx_sdio.ko
    6 export TARGET_INI_FILE=/system/etc/wifi/TQS_S_2.6.ini
    7 calibrator plt autocalibrate wlan0 $WL12xx_MODULE $TARGET_INI_FILE $TARGET_NVS_FILE

    show

    insmod: can't open '/system/lib/modules/wl12xx_sdio.ko'
    Failed to load kernel module using command /system/bin/insmod /system/lib/modules/wl12xx_sdio.ko
    Calibration not complete. Removing half-baked nvs

    I think we must enable the wifi that it can find AP around first and than do calibrate


    BestRegards
    Bernie

  • Hello Bernie,

    A couple of ideas, after reading some similar issues on wl1271 in the WiLink™ WiFi + Bluetooth Forum http://e2e.ti.com/support/wireless_connectivity/f/307.aspx (I think it is a good idea to post there as well, since someone may have already encountered that problem and propose a solution faster):

     1. Can you verify that your WLAN_EN line is toggling? Check your schematics, the WLAN_EN signal should be connected to a GPIO.

    2. Double check the MMC configurations (pin mux, clocking). Having a look at the configurations in your previous post  I see you've taken care of pin mux & power supply, but how about MMC5 clocking?

    Best Regards,
    Yordan

  • Hi Yordan


    I will check your recommend later. But I have another question, Does calibration steps after doing  wilink7.sh or before ?

    Thank you very much.

  • As far as I remember, when working on blaze, I ran the wilink7.sh script first and then executed the calibration steps. But looking at the instruction I don't see a requirement to run the wilink7.sh script first, so I guess both are possible.

    Regards,

    Yordan

  • The problem had solved, that because mmc2 vdd doesn't have voltage enough  . Thank you.

  • Glad to hear that. Thanks for posting the solution to your case.

    Best Regards,
    Yordan