2010-01-28 14:07:21

by Sriram V

[permalink] [raw]
Subject: scan does not work

Hi,

Initially, i had posted this query on the libertas list - For some reason
the query went in for moderation. Hence i post it here again.
Sorry for the noise.


?I am using libertas 8686 sdio chip. I use linux kernel 2.6.29.
?The firmware gets downloaded. i see the interface, When i scan, The
scan always reports 0 APs.

?I have 3 working AP's on my network.

?This is the result of my libertas debug messages, I am not sure if
this is a RF issue/sdio issue.

? Please advice.
#ifconfig
eth0 ? ? ?Link encap:Ethernet ?HWaddr 00:21:E8:D3:2C:95
? ? ? ? UP BROADCAST MULTICAST ?MTU:1500 ?Metric:1
? ? ? ? RX packets:0 errors:0 dropped:0 overruns:0 frame:0
? ? ? ? TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
? ? ? ? collisions:0 txqueuelen:1000
? ? ? ? RX bytes:0 (0.0 B) ?TX bytes:0 (0.0 B)

lo ? ? ? ?Link encap:Local Loopback
? ? ? ? inet addr:127.0.0.1 ?Mask:255.0.0.0
? ? ? ? UP LOOPBACK RUNNING ?MTU:16436 ?Metric:1
? ? ? ? RX packets:0 errors:0 dropped:0 overruns:0 frame:0
? ? ? ? TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
? ? ? ? collisions:0 txqueuelen:0
? ? ? ? RX bytes:0 (0.0 B) ?TX bytes:0 (0.0 B)

# ./iwlist eth0 scan
eth0 ? ? ?No scan results

# ifconfig
eth0 ? ? ?Link encap:Ethernet ?HWaddr 00:21:E8:D3:2C:95
? ? ? ? UP BROADCAST MULTICAST ?MTU:1500 ?Metric:1
? ? ? ? RX packets:0 errors:0 dropped:0 overruns:0 frame:0
? ? ? ? TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
? ? ? ? collisions:0 txqueuelen:1000
? ? ? ? RX bytes:0 (0.0 B) ?TX bytes:0 (0.0 B)

lo ? ? ? ?Link encap:Local Loopback
? ? ? ? inet addr:127.0.0.1 ?Mask:255.0.0.0
? ? ? ? UP LOOPBACK RUNNING ?MTU:16436 ?Metric:1
? ? ? ? RX packets:0 errors:0 dropped:0 overruns:0 frame:0
? ? ? ? TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
? ? ? ? collisions:0 txqueuelen:0
? ? ? ? RX bytes:0 (0.0 B) ?TX bytes:0 (0.0 B)


libertas debug prints:

libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
libertas: 00:21:e8:d3:2c:95, fw 9.70.3p24, cap 0x00000303
libertas: unidentified region code; using the default (USA)
libertas main: region_cfp_table[i].region=16
eth0 (libertas_sdio): not using net_device_ops yet
libertas: PREP_CMD: command 0x00a3 failed: 2
libertas: PREP_CMD: command 0x00a3 failed: 2
libertas: eth0: Marvell WLAN 802.11 adapter
libertas host: PREP_CMD: command 0x0010
libertas host: QUEUE_CMD: inserted command 0x0010 into cmdpendingq
libertas host: PREP_CMD: command 0x0028
libertas host: QUEUE_CMD: inserted command 0x0028 into cmdpendingq
libertas host: EXEC_NEXT_CMD: sending command 0x0010
libertas cmd: DNLD_CMD: command 0x0010, seq 7, size 18
libertas cmd: CMD_RESP: response 0x8010, seq 7, size 18
libertas host: EXEC_NEXT_CMD: sending command 0x0028
libertas cmd: DNLD_CMD: command 0x0028, seq 8, size 12
libertas cmd: CMD_RESP: response 0x8028, seq 8, size 12
libertas host: PREP_CMD: command 0x0006
libertas host: QUEUE_CMD: inserted command 0x0006 into cmdpendingq
libertas host: EXEC_NEXT_CMD: sending command 0x0006
libertas cmd: DNLD_CMD: command 0x0006, seq 9, size 63
libertas cmd: CMD_RESP: response 0x8006, seq 9, size 11
libertas host: PREP_CMD: command 0x0006
libertas host: QUEUE_CMD: inserted command 0x0006 into cmdpendingq
libertas host: EXEC_NEXT_CMD: sending command 0x0006
libertas cmd: DNLD_CMD: command 0x0006, seq 10, size 63
libertas cmd: CMD_RESP: response 0x8006, seq 10, size 11
libertas host: PREP_CMD: command 0x0006
libertas host: QUEUE_CMD: inserted command 0x0006 into cmdpendingq
libertas host: EXEC_NEXT_CMD: sending command 0x0006
libertas cmd: DNLD_CMD: command 0x0006, seq 11, size 56
libertas cmd: CMD_RESP: response 0x8006, seq 11, size 11
libertas host: PREP_CMD: command 0x0006
libertas host: QUEUE_CMD: inserted command 0x0006 into cmdpendingq
libertas host: EXEC_NEXT_CMD: sending command 0x0006
libertas cmd: DNLD_CMD: command 0x0006, seq 12, size 63
libertas cmd: CMD_RESP: response 0x8006, seq 12, size 11
libertas host: PREP_CMD: command 0x0006
libertas host: QUEUE_CMD: inserted command 0x0006 into cmdpendingq
libertas host: EXEC_NEXT_CMD: sending command 0x0006
libertas cmd: DNLD_CMD: command 0x0006, seq 13, size 63
libertas cmd: CMD_RESP: response 0x8006, seq 13, size 11
libertas host: PREP_CMD: command 0x0006
libertas host: QUEUE_CMD: inserted command 0x0006 into cmdpendingq
libertas host: EXEC_NEXT_CMD: sending command 0x0006
libertas cmd: DNLD_CMD: command 0x0006, seq 14, size 56
libertas cmd: CMD_RESP: response 0x8006, seq 14, size 11





Regards,
sriram


2010-01-28 14:29:12

by Holger Schurig

[permalink] [raw]
Subject: Re: scan does not work

> libertas cmd: DNLD_CMD: command 0x0006, seq 9, size 63

That is the scan command.

> libertas cmd: CMD_RESP: response 0x8006, seq 9, size 11

And that the scan response. As I can see from the size (11
bytes), it doesn't contain any results. The same happens with
the other scan-responses:

> libertas cmd: CMD_RESP: response 0x8006, seq 10, size 11
> libertas cmd: CMD_RESP: response 0x8006, seq 11, size 11
> libertas cmd: CMD_RESP: response 0x8006, seq 12, size 11
> libertas cmd: CMD_RESP: response 0x8006, seq 13, size 11
> libertas cmd: CMD_RESP: response 0x8006, seq 14, size 11

I'd suggest you check your antenna.

--
http://www.holgerschurig.de

2010-01-28 15:37:30

by Sriram V

[permalink] [raw]
Subject: Re: scan does not work

Hi,

How do i check if the communication between the host and libertas is proper?

Is there any way i can do it?


Sometimes, i find that the loading of firmware fails with -110
(timeout) return value. what i do is rmmod the driver and do a insmod
again and it works!.

Regards,
sriram

On Thu, Jan 28, 2010 at 7:58 PM, Holger Schurig <[email protected]> wrote:
>> libertas cmd: DNLD_CMD: command 0x0006, seq 9, size 63
>
> That is the scan command.
>
>> libertas cmd: CMD_RESP: response 0x8006, seq 9, size 11
>
> And that the scan response. As I can see from the size (11
> bytes), it doesn't contain any results. The same happens with
> the other scan-responses:
>
>> libertas cmd: CMD_RESP: response 0x8006, seq 10, size 11
>> libertas cmd: CMD_RESP: response 0x8006, seq 11, size 11
>> libertas cmd: CMD_RESP: response 0x8006, seq 12, size 11
>> libertas cmd: CMD_RESP: response 0x8006, seq 13, size 11
>> libertas cmd: CMD_RESP: response 0x8006, seq 14, size 11
>
> I'd suggest you check your antenna.
>
> --
> http://www.holgerschurig.de
>

2010-01-28 15:58:44

by Holger Schurig

[permalink] [raw]
Subject: Re: scan does not work

> How do i check if the communication between the host and
> libertas is proper?

The communication between your device and the CPU on the libertas
device seems to be correct, otherwise you'd have error messages
in your dmesg.

You can also turn run "lbsdebug +enter +host +cmd +hex" to get
even more info, but apparently the libertas device doesn't give
you any scan results back.

Please consider a broken antenna, antenna socket or otherwise
some error in your RF setup. Or maybe you have 802.11a
access-points on 5 GHz, while you card can only run 2.4 GHz.


Here's for example a dmesg output of a successful scan:

libertas cmd: DNLD_CMD: command 0x0010, seq 239, size 18
libertas cmd: CMD_RESP: response 0x8010, seq 239, size 18
libertas cmd: DNLD_CMD: command 0x0028, seq 240, size 12
libertas cmd: CMD_RESP: response 0x8028, seq 240, size 12
libertas cmd: DNLD_CMD: command 0x0006, seq 241, size 67
libertas cmd: CMD_RESP: response 0x8006, seq 241, size 109
libertas cmd: DNLD_CMD: command 0x0006, seq 242, size 67
libertas cmd: CMD_RESP: response 0x8006, seq 242, size 11
libertas cmd: DNLD_CMD: command 0x0006, seq 243, size 67
libertas cmd: CMD_RESP: response 0x8006, seq 243, size 351
libertas cmd: DNLD_CMD: command 0x0006, seq 244, size 53
libertas cmd: CMD_RESP: response 0x8006, seq 244, size 11

See how big the size-numbers for the scan-responses are. That's
because my device find some APs and returns all the data back.

In your case, with 11-bytes-only response, it doesn't find
anything. For example, when I deliberately scan only one
channel, where no AP is available, I'll get back the same 11
bytes as you. In the following example, I also turned
on "lbsdebug +hex". Then I get back:

libertas cmd: CMD_RESP: response 0x8006, seq 246, size 11
libertas CMD_RESP: 06 80 0b 00 f6 00 00 00 00 00 00

And that is:

06 08 CMD_802_11_SCAN (actually a response, because the
high bit is set)
0b 00 size of response (== 11 bytes)
f6 00 sequence number
00 00 result of command exection (== success)
00 00 buffer size of scan response
00 00 number of APs in response set

Best regards,
Holger

--
http://www.holgerschurig.de