Scan problem (CRC) (was: Difference betwwen linux 2.6.24 and 2.6.25 ?)

Johan Adolfsson Johan.Adolfsson at axis.com
Wed May 14 08:38:29 EDT 2008


> Okay, then turn on debugging. We could need LBS_DEB_HEX, 
> LBS_DEB_ENTER, LBS_DEB_CMD, maybe LBS_DEB_HOST, maybe 
> LBS_DEB_SCAN, depending on your actual problem.

I have added libertas_debug=0x7fffff when insmod:ing libertas
and attached is the debug including all commands after the
first GET_HW_SPEC (including some debug from our sdio driver)

> Look at http://wireless.kernel.org/en/users/Drivers/libertas for 
> a reference to lbsdebug, which allows you to turn this on and 
> off at will. You can also fiddle with hex values, e.g.
> 
>   echo  2113537 >/sys/module/libertas/parameters/libertas_debug
> 
> Search the mailing list archive for "claud_yu"'s problem, his 
> problem might have been simular to yours.
> 
> For your reference, here's a valid scan command and response, to 
> a 5.0.16p0 firmware:
>
> cmd: DNLD_CMD: command 0x0006, seq 8, size 63
> DNLD_CMD: 06 00 3f 00 08 00 00 00 03 00 00 00 00 00 00 01
> DNLD_CMD: 01 1c 00 00 01 00 00 00 64 00 00 02 00 00 00 64
> DNLD_CMD: 00 00 03 00 00 00 64 00 00 04 00 00 00 64 00 01
> DNLD_CMD: 00 0c 00 82 84 8b 96 0c 12 18 24 30 48 60 6c
> cmd: CMD_RESP: response 0x8006, seq 8, size 11
> CMD_RESP: 06 80 0b 00 08 00 00 00 00 00 00
> cmd: DNLD_CMD: command 0x0006, seq 9, size 63
> DNLD_CMD: 06 00 3f 00 09 00 00 00 03 00 00 00 00 00 00 01
> DNLD_CMD: 01 1c 00 00 05 00 00 00 64 00 00 06 00 00 00 64
> DNLD_CMD: 00 00 07 00 00 00 64 00 00 08 00 00 00 64 00 01
> DNLD_CMD: 00 0c 00 82 84 8b 96 0c 12 18 24 30 48 60 6c
> cmd: CMD_RESP: response 0x8006, seq 9, size 11
> CMD_RESP: 06 80 0b 00 09 00 00 00 00 00 00
> cmd: DNLD_CMD: command 0x0006, seq 10, size 63
> DNLD_CMD: 06 00 3f 00 0a 00 00 00 03 00 00 00 00 00 00 01
> DNLD_CMD: 01 1c 00 00 09 00 00 00 64 00 00 0a 00 00 00 64
> DNLD_CMD: 00 00 0b 00 00 00 64 00 00 0c 00 00 00 64 00 01
> DNLD_CMD: 00 0c 00 82 84 8b 96 0c 12 18 24 30 48 60 6c
> cmd: CMD_RESP: response 0x8006, seq 10, size 11
> CMD_RESP: 06 80 0b 00 0a 00 00 00 00 00 00
> cmd: DNLD_CMD: command 0x0006, seq 11, size 49
> DNLD_CMD: 06 00 31 00 0b 00 00 00 03 00 00 00 00 00 00 01
> DNLD_CMD: 01 0e 00 00 0d 00 00 00 64 00 00 0e 00 00 00 64
> DNLD_CMD: 00 01 00 0c 00 82 84 8b 96 0c 12 18 24 30 48 60
> DNLD_CMD: 6c
> cmd: CMD_RESP: response 0x8006, seq 11, size 11
> CMD_RESP: 06 80 0b 00 0b 00 00 00 00 00 00

My command looks ok, I think, but I do not get any response.
Instead a INT_DATA_CRC error interrupt:

    + Scan: iwlist eth1 scan
libertas SCAN_CMD: 03 00 00 00 00 00 00
libertas SCAN_TLV: 01 01 1c 00 00 01 00 00 00 64 00 00 02 00 00 00
libertas SCAN_TLV: 64 00 00 03 00 00 00 64 00 00 04 00 00 00 64 00
libertas SCAN_TLV: 01 00 0c 00 82 84 8b 96 0c 12 18 24 30 48 60 6c
libertas DNLD_CMD: 06 00 3f 00 0d 00 00 00 03 00 00 00 00 00 00 01
libertas DNLD_CMD: 01 1c 00 00 01 00 00 00 64 00 00 02 00 00 00 64
libertas DNLD_CMD: 00 00 03 00 00 00 64 00 00 04 00 00 00 64 00 01
libertas DNLD_CMD: 00 0c 00 82 84 8b 96 0c 12 18 24 30 48 60 6c
        sdhci [sdhci_send_command()]: Sending cmd (34) (last 1 35)
        sdhci [sdhci_cmd_irq()]: sdhci:slot0 cmd irq: 0x1 cmd 0xc1c23ee0
        sdhci [sdhci_finish_command()]: Ending cmd (34)
        sdhci [sdhci_send_command()]: Sending cmd (35) (last 1 34)
        sdhci [sdhci_prepare_data()]: blksz 0043 blks 0001 flags 00000100
        sdhci [sdhci_prepare_data()]: tsac 1000 ms nsac 0 clk
        sdhci [sdhci_irq()]: *** sdhci:slot0 got interrupt error: 0x00608003
        sdhci [sdhci_cmd_irq()]: sdhci:slot0 cmd irq: 0x1 cmd 0xc1c23e90
        sdhci [sdhci_finish_command()]: Ending cmd (35)
        sdhci [sdhci_data_irq()]: sdhci:slot0 data irq: 0x600002
        sdhci [sdhci_finish_data()]: Ending data 0 bytes stop:0 error:-84
        sdhci [sdhci_tasklet_finish()]: Ending request, cmd (35)
        sdhci [sdhci_tasklet_finish()]: Error c 0 d -84 cmd (35)
        sdhci [sdhci_send_command()]: Sending cmd (34) (last 1 35)
        sdhci [sdhci_cmd_irq()]: sdhci:slot0 cmd irq: 0x1 cmd 0xc0dfff48
        sdhci [sdhci_finish_command()]: Ending cmd (34)
        sdhci [sdhci_cmd_irq()]: sdhci:slot0 cmd irq: 0x1 cmd 0xc0dffee0
        sdhci [sdhci_cmd_irq()]: sdhci:slot0 cmd irq: 0x1 cmd 0xc0dffee4
        sdhci [sdhci_cmd_irq()]: sdhci:slot0 cmd irq: 0x1 cmd 0xc0dfff48
        sdhci [sdhci_cmd_irq()]: sdhci:slot0 cmd irq: 0x1 cmd 0xc0dffee0
        sdhci [sdhci_cmd_irq()]: sdhci:slot0 cmd irq: 0x1 cmd 0xc0dffee4
        sdhci [sdhci_cmd_irq()]: sdhci:slot0 cmd irq: 0x1 cmd 0xc0dffebc
        sdhci [sdhci_cmd_irq()]: sdhci:slot0 cmd irq: 0x1 cmd 0xc0dffebc
        sdhci [sdhci_cmd_irq()]: sdhci:slot0 cmd irq: 0x1 cmd 0xc0dffee0
        sdhci [sdhci_send_command()]: Sending cmd (35) (last 9 34)
        sdhci [sdhci_prepare_data()]: blksz 009b blks 0001 flags 00000200
        sdhci [sdhci_prepare_data()]: tsac 1000 ms nsac 0 clk
        sdhci [sdhci_cmd_irq()]: sdhci:slot0 cmd irq: 0x1 cmd 0xc0dffe90
        sdhci [sdhci_finish_command()]: Ending cmd (35)
        sdhci [sdhci_data_irq()]: sdhci:slot0 data irq: 0x10
        sdhci [sdhci_irq()]: *** sdhci:slot0 got interrupt error: 0x00208000
        sdhci [sdhci_data_irq()]: sdhci:slot0 data irq: 0x200000
        sdhci [sdhci_finish_data()]: Ending data 0 bytes stop:0 error:-84
        sdhci [sdhci_tasklet_finish()]: Ending request, cmd (35)
        sdhci [sdhci_tasklet_finish()]: Error c 0 d -84 cmd (35)
libertas: problem fetching packet type -1059069952 from firmware: -84
libertas: Command 6 timed out
libertas: requeueing command 6 due to timeout (#1)
libertas DNLD_CMD: 06 00 3f 00 0d 00 00 00 03 00 00 00 00 00 00 01
libertas DNLD_CMD: 01 1c 00 00 01 00 00 00 64 00 00 02 00 00 00 64
libertas DNLD_CMD: 00 00 03 00 00 00 64 00 00 04 00 00 00 64 00 01
libertas DNLD_CMD: 00 0c 00 82 84 8b 96 0c 12 18 24 30 48 60 6c
        sdhci [sdhci_send_command()]: Sending cmd (34) (last 1 35)
        sdhci [sdhci_cmd_irq()]: sdhci:slot0 cmd irq: 0x1 cmd 0xc1c23ee0
        sdhci [sdhci_finish_command()]: Ending cmd (34)
        sdhci [sdhci_send_command()]: Sending cmd (35) (last 1 34)
        sdhci [sdhci_prepare_data()]: blksz 0043 blks 0001 flags 00000100
        sdhci [sdhci_prepare_data()]: tsac 1000 ms nsac 0 clk
        sdhci [sdhci_irq()]: *** sdhci:slot0 got interrupt error: 0x00108013
        sdhci [sdhci_cmd_irq()]: sdhci:slot0 cmd irq: 0x1 cmd 0xc1c23e90
        sdhci [sdhci_finish_command()]: Ending cmd (35)
        sdhci [sdhci_data_irq()]: sdhci:slot0 data irq: 0x100012
        sdhci [sdhci_finish_data()]: Ending data 0 bytes stop:0 error:-110
        sdhci [sdhci_tasklet_finish()]: Ending request, cmd (35)
        sdhci [sdhci_tasklet_finish()]: Error c 0 d -110 cmd (35)
eth1      Failed to read scan data : Resource temporarily unavailable
#
#
# libertas: Command 6 timed out
libertas: requeueing command 6 due to timeout (#2)

> 
> Hehe, if that solves your problem you owe me a webcam :-)
I'm afraid it wasn't that easy! :-)

Any other hint?

/Johan
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: scan_fail2.txt
Url: http://lists.infradead.org/pipermail/libertas-dev/attachments/20080514/6069db08/attachment-0001.txt 


More information about the libertas-dev mailing list