Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - WLAN driver problem: (5 Items)
   
WLAN driver problem  
  Hi all,
         I am working on i.MX31 platform. I am developing WLAN driver
for SD8686 card having SDIO interface. After sending 1st CMD53 to SD8686
card, am waiting for response from the card by blocking thread execution
using MsgReceivePulse call. But as as soon as i call MsgReceivePulse my
driver gets terminated abruptly. But the same call succedes, when i try
to wake up thread by sending wakeup pulse(1st time) but it fails when am 
expecting actual card interrupt from the sd8686 card which is send by 
SDIO driver on this channel (2nd time).
If i check using "ps -e" it shows io-net is running with PID
equal to my driver PID(i.e printed as last debug msg in my wlan driver
before it terminates)  please can any one tell me why WLAN driver
terminates as soon i call MsgReceivePulse.  Is the WLAN driver actualy
running in background or its terminated ????? because if i kill the WLAN
driver (i.e, kill 8199) then also ps -e shows the driver running (shown
in screen shots). I am executing driver as "io-net -dsdio8686 -ptcpip"

Thanks and Regards,
Manoj B M



RE: WLAN driver problem  
Hello Manoj:
   I take it that this is a driver that you are developing yourself?  This sounds
like a bug in your driver and you need to do some basic debugging in order to
figure out the problem.  How does the driver exit?  Do you know what line of
code the failure occurs on?  Is a core file produced?

If you post a code snippet including the receive function and ISR we might
be able to help.

  Robert.

-----Original Message-----
From: manoj bm [mailto:community-noreply@qnx.com]
Sent: Mon 9/15/2008 7:23 AM
To: drivers-networking
Subject: WLAN driver problem
 

  Hi all,
         I am working on i.MX31 platform. I am developing WLAN driver
for SD8686 card having SDIO interface. After sending 1st CMD53 to SD8686
card, am waiting for response from the card by blocking thread execution
using MsgReceivePulse call. But as as soon as i call MsgReceivePulse my
driver gets terminated abruptly. But the same call succedes, when i try
to wake up thread by sending wakeup pulse(1st time) but it fails when am 
expecting actual card interrupt from the sd8686 card which is send by 
SDIO driver on this channel (2nd time).
If i check using "ps -e" it shows io-net is running with PID
equal to my driver PID(i.e printed as last debug msg in my wlan driver
before it terminates)  please can any one tell me why WLAN driver
terminates as soon i call MsgReceivePulse.  Is the WLAN driver actualy
running in background or its terminated ????? because if i kill the WLAN
driver (i.e, kill 8199) then also ps -e shows the driver running (shown
in screen shots). I am executing driver as "io-net -dsdio8686 -ptcpip"

Thanks and Regards,
Manoj B M





_______________________________________________
Networking Drivers
http://community.qnx.com/sf/go/post13394


Attachment: Text winmail.dat 3.25 KB
Re: RE: WLAN driver problem  
Hi Robert,
        The core file is not generating.  The WLAN driver is terminating when i call MsgReceivePulse. It's not giving 
any memory fault or bus error. 
I tried whether it receiving any signals (SIGINT, SIGTERM, SIGHUP) but its not receiving any signal also.  [driver am 
developing has minimal feature (scan  and associate)]



IMX31 INFO:CMD(52) :RESP=(3410fe00) ,COMMAND SUCCESS
IMX31 INFO:CMD(52) :RESP=(3410ff00) ,COMMAND SUCCESS
IMX31 INFO:PREP_CMD: 0x3
IMX31 INFO:QUEUE_CMD: cmd=0x3 is queued
IMX31 DEBUG:wake up pulse received (*****here 1st time msgreceivepulse succedes)
IMX31 DEBUG:entering xfer_queued_cmd
IMX31 DEBUG:entering download_cmd
IMX31 DEBUG:entering host_to_card
IMX31 INFO:CMD(52) :RESP=(34104000) ,COMMAND SUCCESS
IMX31 INFO:CMD(52) :RESP=(34100100) ,COMMAND SUCCESS
IMX31 INFO:IMX31 INFO:CMD(53) :RESP=(35200000) ,COMMAND SUCCESS
PREP_CMD: Wait for CMD response...
IMX31 DEBUG:leaving host_to_card
IMX31 DEBUG:leaving download_cmd
IMX31 DEBUG:leaving xfer_queued_cmd
WLAN DRIVER PID =8199
*******here 2nd time msgreceivepulse call is there. (but it neither fails nor it blocks)
wlan driver stops abruptly(if i hit return key it gives me shell)
#
#
#
# ps -e
       PID TTY          TIME CMD
         1 ?        00:00:31
         2 ?        00:00:00 devc-sermx1
      4099 ?        00:00:00 pipe
         4 ?        00:00:00 slogger
      4101 ?        00:00:00 ksh
      4102 ?        00:00:02 imxboard_sdio_driver
      8199 ?        00:00:00 io-net
     12296 ?        00:00:00 ps


# kill 8199
# ps -e
       PID TTY          TIME CMD
         1 ?        00:01:17
         2 ?        00:00:00 devc-sermx1
      4099 ?        00:00:00 pipe
         4 ?        00:00:00 slogger
      4101 ?        00:00:00 ksh
      4102 ?        00:00:02 imxboard_sdio_driver
      8199 ?        00:00:00 io-net
     20488 ?        00:00:00 ps
#
RE: RE: WLAN driver problem  
> The core file is not generating

It might just be exiting.  Have you tried running
it in the debugger?

--
aboyd
RE: RE: WLAN driver problem  
Hi Manoj:

	I'm afraid that there's very little that we can do to help debug
your code. If you can post some code snippets then we might be able to
see if there are any obvious bugs in the code, but otherwise I'd suggest
running the code through a debug session which will involve setting up
your target with a working network interface to debug this non-working
interface.

	Robert. 

-----Original Message-----
From: manoj bm [mailto:community-noreply@qnx.com] 
Sent: Tuesday, September 16, 2008 4:45 AM
To: drivers-networking
Subject: Re: RE: WLAN driver problem

Hi Robert,
        The core file is not generating.  The WLAN driver is terminating
when i call MsgReceivePulse. It's not giving any memory fault or bus
error. 
I tried whether it receiving any signals (SIGINT, SIGTERM, SIGHUP) but
its not receiving any signal also.  [driver am developing has minimal
feature (scan  and associate)]



IMX31 INFO:CMD(52) :RESP=(3410fe00) ,COMMAND SUCCESS
IMX31 INFO:CMD(52) :RESP=(3410ff00) ,COMMAND SUCCESS
IMX31 INFO:PREP_CMD: 0x3
IMX31 INFO:QUEUE_CMD: cmd=0x3 is queued
IMX31 DEBUG:wake up pulse received (*****here 1st time msgreceivepulse
succedes)
IMX31 DEBUG:entering xfer_queued_cmd
IMX31 DEBUG:entering download_cmd
IMX31 DEBUG:entering host_to_card
IMX31 INFO:CMD(52) :RESP=(34104000) ,COMMAND SUCCESS
IMX31 INFO:CMD(52) :RESP=(34100100) ,COMMAND SUCCESS
IMX31 INFO:IMX31 INFO:CMD(53) :RESP=(35200000) ,COMMAND SUCCESS
PREP_CMD: Wait for CMD response...
IMX31 DEBUG:leaving host_to_card
IMX31 DEBUG:leaving download_cmd
IMX31 DEBUG:leaving xfer_queued_cmd
WLAN DRIVER PID =8199
*******here 2nd time msgreceivepulse call is there. (but it neither
fails nor it blocks)
wlan driver stops abruptly(if i hit return key it gives me shell)
#
#
#
# ps -e
       PID TTY          TIME CMD
         1 ?        00:00:31
         2 ?        00:00:00 devc-sermx1
      4099 ?        00:00:00 pipe
         4 ?        00:00:00 slogger
      4101 ?        00:00:00 ksh
      4102 ?        00:00:02 imxboard_sdio_driver
      8199 ?        00:00:00 io-net
     12296 ?        00:00:00 ps


# kill 8199
# ps -e
       PID TTY          TIME CMD
         1 ?        00:01:17
         2 ?        00:00:00 devc-sermx1
      4099 ?        00:00:00 pipe
         4 ?        00:00:00 slogger
      4101 ?        00:00:00 ksh
      4102 ?        00:00:02 imxboard_sdio_driver
      8199 ?        00:00:00 io-net
     20488 ?        00:00:00 ps
#


_______________________________________________
Networking Drivers
http://community.qnx.com/sf/go/post13455