Issue with AR6K SDIO Driver

Topics: Developer Forum, User Forum
Apr 18, 2008 at 8:49 PM
Hi,

Is this forum still being monitored?

I am trying to use the CE 6.0 SDIO driver provided in this website with a CardAccess SDIO WLAN module. First, I noticed that this driver does not work with SDBUS2 provided in R2, as callbacks result in a Data abort. So I tried with legacy bus driver, the abort goes away, and commands are being sent properly through the host controller driver. However, the zeroconfig utility never finds any APs. The debug dump shows the following error:

AR6K: ERROR - No TGT_GETSTATS event after 10000 ms

Is this a firmware issue? The debug dump also shows the following message during init:

40151 PID:400002 TID:45d0002 FIRMWARE MAJOR VERSION ==> 1
40151 PID:400002 TID:45d0002 FIRMWARE MINOR VERSION ==> 3

The Init does not encounter any problems though. I think this driver supoprts v1.1 firmware. Are later versions supported? Should I try the AR6K SDIO driver included in WinCE 6.0 catalog instead of this driver?
Coordinator
Apr 22, 2008 at 2:58 PM

sddeveloper1979 wrote:
Hi,

Is this forum still being monitored?

I am trying to use the CE 6.0 SDIO driver provided in this website with a CardAccess SDIO WLAN module. First, I noticed that this driver does not work with SDBUS2 provided in R2, as callbacks result in a Data abort. So I tried with legacy bus driver, the abort goes away, and commands are being sent properly through the host controller driver. However, the zeroconfig utility never finds any APs. The debug dump shows the following error:

AR6K: ERROR - No TGT_GETSTATS event after 10000 ms

Is this a firmware issue? The debug dump also shows the following message during init:

40151 PID:400002 TID:45d0002 FIRMWARE MAJOR VERSION ==> 1
40151 PID:400002 TID:45d0002 FIRMWARE MINOR VERSION ==> 3

The Init does not encounter any problems though. I think this driver supoprts v1.1 firmware. Are later versions supported? Should I try the AR6K SDIO driver included in WinCE 6.0 catalog instead of this driver?

The issue with the sdbus2 is a known issue. The interface to the completion callback was changed between sdbus0 and sdbus2 with no change to the function prototype.

You have miss matched drivers and firmware. The target firmware you are running is version 1.3.x and the driver you are using is 1.1.x. These are not compatible. You should check with the board vendor on getting a newer driver release.

Paul

Apr 22, 2008 at 3:55 PM


paullever wrote:

sddeveloper1979 wrote:
Hi,

Is this forum still being monitored?

I am trying to use the CE 6.0 SDIO driver provided in this website with a CardAccess SDIO WLAN module. First, I noticed that this driver does not work with SDBUS2 provided in R2, as callbacks result in a Data abort. So I tried with legacy bus driver, the abort goes away, and commands are being sent properly through the host controller driver. However, the zeroconfig utility never finds any APs. The debug dump shows the following error:

AR6K: ERROR - No TGT_GETSTATS event after 10000 ms

Is this a firmware issue? The debug dump also shows the following message during init:

40151 PID:400002 TID:45d0002 FIRMWARE MAJOR VERSION ==> 1
40151 PID:400002 TID:45d0002 FIRMWARE MINOR VERSION ==> 3

The Init does not encounter any problems though. I think this driver supoprts v1.1 firmware. Are later versions supported? Should I try the AR6K SDIO driver included in WinCE 6.0 catalog instead of this driver?

The issue with the sdbus2 is a known issue. The interface to the completion callback was changed between sdbus0 and sdbus2 with no change to the function prototype.

You have miss matched drivers and firmware. The target firmware you are running is version 1.3.x and the driver you are using is 1.1.x. These are not compatible. You should check with the board vendor on getting a newer driver release.

Paul




Hi Paul, Thanks for your reply. So you mean I should talk to CardAccess (whose SDIO module I am using) for newer driver instead of using the driver provided in this website? But CardAccess only provides Linux driver for this card. Where can I get a hold of an SDIO card that is compatible with the driver on this website (i.e., firmware 1.1.x compatible card)? Any suggestions?
Coordinator
Apr 22, 2008 at 8:11 PM
The board you have can be reflashed to different target firmware levels. You should check with CardAccess. They should be able to either supply a driver for the current one or flash your board to the older firmware.

Paul
Jun 3, 2008 at 9:50 AM
Hi!
I am trying to use this client driver for the WLAN module having Atheros' AR6001GL chip.

I am getting the following prints

FIRMWARE MAJOR VERSION ==> 1
FIRMWARE MINOR VERSION ==> 1

during init.

But, the Init function is failing because WMI Ready event is not getting set.
It is evident that, for WMI Ready event to get set we must get the Mailbox interrupt from the WLAN module.

In the process of initialization i get the  Counter Interrupt. The Mailbox interrupt is expected after this but i'm not getting that.
This causes the init to fail.

The error message is as under:
AR6K: ERROR - No WMI_READY event after 20000 ms, failing initialization.

I would like to know under what conditions the Mailbox interrupt can come during the init phase and why is it not coming.
I have verified that the SDIO interrupt is enabled and acknowledged properly.
I am using Microsoft's earlier version of the Bus Driver. ie, SDBus0.


Mrinal Ray
Coordinator
Jun 3, 2008 at 4:36 PM
WLAN int occurs after the WLAN firmware completes initialization on the target.
What hardware platform are you running on?

Paul
Jun 4, 2008 at 6:37 AM
Hi Paul!
Thanks for your prompt reply.
I am running on TI's DaVinci Platform with WINCE6.0 OS.

I am getting the INT_WLAN.

But i am not able to get the Mailbox interrupt which subsequntly sets the "m_WMIReadyEvent" event.
Since this event doesn't get set, the waiting thread on this event fails and i get the error message as follows:

AR6K: ERROR - No WMI_READY event after 20000 ms, failing initialization.

It appears to me that it is essential to get a mailbox interrupt after INT_WLAN, otherwise the initialization will fail.

In case of Linux, i have found that we get the Mailbox interrupt after INT_WLAN and the initialization passes successfully.

So, i wanted to know under what exact conditions the Mailbox interrupt comes?

Mrinal Ray

Coordinator
Jun 4, 2008 at 3:26 PM
Mrinal,
No need to yell.

The interrupt will come back when the WLAN firmware application has completed initialization. I would suggest that you look closely at the host controller driver for the Davinici. Getting card side interrupt handling, CIRQ, correct on the Davinci SD host controller is not easy. There are a number of hoops you need to jump through and special cases to deal with that are timing dependent. You could put a break at the point in the code that the timeout is detected, but before the halt sequence starts. Then check the SD bus and see if the CIRQ is asserted, indicating that the HCD missed reporting it.

Regards

Paul
Jun 13, 2008 at 6:57 AM
Dear Paul,
I have been able to get past the initialization successfully. Now i am able to get the mailbox interrupts.

I'm now getting the WZC (ZeroConfig) window on my display but I'm not able to get the list of APs(Access Points).
I have enabled background scanning in the WLAN Client Driver. I have also ensured that an AP is setup properly in proximity of the
WLAN Module.
Can you please guide me where exactly the problem may be arising in detecting the APs.

Regards,
Mrinal Ray
Coordinator
Jun 16, 2008 at 3:11 PM
Once the WZC window comes up, you should see the APs available. Have you verified that the AP shows up on another system, say a laptop? Start with the AP setup as Open and broadcasting its SSID. Have you re-scanned from WZC? If you have wzctool in your retail dir, you can do these under command line control. Makes it easier to debug.

Paul