• Not Answered

WL1273 driver issue

Hi !

We are bringing up our OMAP4 platform using WL1273 and Android 2.3 (Gingerbread release L27.G.3).
We faced some problems while loading WLAN kernel module (tiwlan_drv.ko) after tapping 
(Settings->Wireless & network->Wi-Fi).

Android log:

TIWLAN: driver init
TI WiLink 1283 SDIO: Driver loaded
D/Tethering( 1441): tiwlan0 is not a tetherable iface, ignoring
hPlatform_Wlan_Hardware_Init: timeout waiting for wifi device init
TIWLAN: hPlatform_initInterrupt() bad param drv->irq=0 handle_add=0xbf0013c0 !!!
wlanDrvIf_Create(): Failed to register interrupt handler!
E/Tethering( 1441): attempting to remove unknown iface (tiwlan0), ignoring
wlanDrvIf_Create: Fail, rc = -22
E/WifiService( 1441): Failed to load Wi-Fi driver.

As you can see drv->irq=0. But in platform configuration WLAN_IRQ is set to 605:

static struct wl12xx_platform_data omap4_panda_wlan_data __initdata = {
.irq = WLAN_IRQ,
.board_ref_clock = WL12XX_REFCLOCK_26,
.board_tcxo_clock = 1,

Module tiwlan_drv.ko is compiled as presented in 
cd $YOUR_PATH/L27.12.1-P2/wlan/wl1283/platforms/os/linux
export KERNEL_DIR=$YOUR_PATH/L27.12.1-P2/kernel/android-2.6.35
make clean
make TNETW=1273

Could you please tell us what is a connection between kernel module (tiwlan_drv.ko) 
and a staticly compiled in kernel part of WLAN driver ?
From where are the parameters like irq number taken ?
Do you have a detailed diagram of the structure of WLAN driver ?

Best regards,

10 Replies