2008-11-10 17:15:54     Wireless LAN Status

Document created by Aaronwu Employee on Aug 13, 2013
Version 1Show Document
  • View in full screen mode

2008-11-10 17:15:54     Wireless LAN Status

Thomas Kurmann (SWITZERLAND)

Message: 64973   

 

Im intending on using a BF548 for a future project. Now i was wondering how the status of the WLAN devices is.

 

Is it already possible to attach a wlan chip over SPI or SDIO? I was wondering if I could use a wi2wi chip such as these:  www.wi2wi.com/wireless.php

 

Thanks a lot

QuoteReplyEditDelete

 

 

2008-11-10 22:06:08     Re: Wireless LAN Status

Yi Li (CHINA)

Message: 64980   

 

We have a driver ready for a Marvell wifi module (8686) via SDIO. It is been tested on BF548.

 

-Yi

QuoteReplyEditDelete

 

 

2008-11-11 04:13:52     Re: Wireless LAN Status

Thomas Kurmann (SWITZERLAND)

Message: 64992   

 

Hello Yi,

 

Thanks for the good news Would it be possible that you can send me the driver source code?

 

Thanks a lot!

QuoteReplyEditDelete

 

 

2008-11-12 05:21:20     Re: Wireless LAN Status

Yi Li (CHINA)

Message: 65142   

 

Since the patch modifies some kernel common code, it is not merged into our svn tree yet. The developer will check in the patch this week. I will let you know when it is done.

 

-Yi

QuoteReplyEditDelete

 

 

2008-11-12 06:22:06     Re: Wireless LAN Status

Thomas Kurmann (SWITZERLAND)

Message: 65143   

 

Ok, perfect. Just out of interest, on what is the driver based on? Did you do it completly from scratch or base on the official driver from Marvell?

QuoteReplyEditDelete

 

 

2008-11-21 01:15:13     Re: Wireless LAN Status

Yi Li (CHINA)

Message: 65646   

 

Thomas,

 

The SDIO/Wifi driver patch has been checked into SVN trunk at uclinux-dist/bfin_patch/sdio_wifi_patch/. Please follow the README to run the driver. Due to kernel upgrading, the driver cannot work with latest mainline linux kernel for now. But it has been tested on SVN trunk kernel.

 

-Yi

 

 

QuoteReplyEditDelete

 

 

2008-12-28 18:42:06     Re: Wireless LAN Status

Dominik Herwald (GERMANY)

Message: 67137   

 

Hello,

 

thanks for the patch Yi!

 

I've just tried  it with an 8686 module connected

to a CM-BF548 Board running recent SVN trunk.

 

All options that are mentioned in the SDIO Patch Readme

are set as required.

Build seems to work fine.

 

 

But sadly loading the helper Firmware fails:

-----------------------------------------------------------------------------------------------------------------

[...]

mmc0: new SDIO card at address 0001

[...]

 

# echo /sbin/hotplug > /proc/sys/kernel/hotplug

# modprobe libertas libertas_debug=0x5063a7

# modprobe libertas_sdio helper_name=sd8686_helper.bin fw_name=sd8686.bin

libertas_sdio: Libertas SDIO driver

libertas_sdio: Copyright Pierre Ossman

libertas_sdio mmc0:0001:1: firmware: requesting helper_sd.bin

 

[... pause for 1 Minute... - see dmesg output below]

 

libertas: can't load helper firmware

libertas: failed to load helper firmware

libertas_sdio: probe of mmc0:0001:1 failed with error -2

 

-----------------------------------------------------------------------------------------------------------------

 

# dmesg

 

 

[...]

 

mmc0: starting CMD52 arg 00000a00 flags 00000195

sdh_request enter, mrp:02551f1c, cmd:02551f50

sdh_start_cmd enter cmd:0x02551f50

sdh_stat_irq enter

sdh_cmd_done enter cmd:02551f50

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001000 00000000 00000000 00000000

sdh_stat_irq exit

 

 

[...]

[...]

several hundred times the same CMD52 arg 00000a00 flags 00000195  message

[...]

[...]

 

mmc0: starting CMD52 arg 00000a00 flags 00000195

sdh_request enter, mrp:02551f1c, cmd:02551f50

sdh_start_cmd enter cmd:0x02551f50

sdh_stat_irq enter

sdh_cmd_done enter cmd:02551f50

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001000 00000000 00000000 00000000

sdh_stat_irq exit

 

PM: Removing info for No Bus:mmc0:0001:1

mmc0: starting CMD52 arg 00000a00 flags 00000195

sdh_request enter, mrp:02551f1c, cmd:02551f50

sdh_start_cmd enter cmd:0x02551f50

sdh_stat_irq enter

sdh_cmd_done enter cmd:02551f50

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001000 00000000 00000000 00000000

sdh_stat_irq exit

 

libertas: can't load helper firmware

libertas: failed to load helper firmware

mmc0: starting CMD52 arg 00000a00 flags 00000195

sdh_request enter, mrp:02551f1c, cmd:02551f50

sdh_start_cmd enter cmd:0x02551f50

sdh_stat_irq enter

sdh_cmd_done enter cmd:02551f50

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001000 00000000 00000000 00000000

sdh_stat_irq exit

 

SDIO: Disabling IRQ for mmc0:0001:1...

mmc0: IRQ thread exiting with code 0

mmc0: starting CMD52 arg 00000800 flags 00000195

sdh_request enter, mrp:03e47be0, cmd:03e47c14

sdh_start_cmd enter cmd:0x03e47c14

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e47c14

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001003 00000000 00000000 00000000

sdh_stat_irq exit

 

mmc0: starting CMD52 arg 80000800 flags 00000195

sdh_request enter, mrp:03e47be0, cmd:03e47c14

sdh_start_cmd enter cmd:0x03e47c14

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e47c14

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001000 00000000 00000000 00000000

sdh_stat_irq exit

 

SDIO: Disabling device mmc0:0001:1...

mmc0: starting CMD52 arg 00000400 flags 00000195

sdh_request enter, mrp:03e47bdc, cmd:03e47c10

sdh_start_cmd enter cmd:0x03e47c10

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e47c10

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001002 00000000 00000000 00000000

sdh_stat_irq exit

 

mmc0: starting CMD52 arg 80000400 flags 00000195

sdh_request enter, mrp:03e47bdc, cmd:03e47c10

sdh_start_cmd enter cmd:0x03e47c10

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e47c10

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001000 00000000 00000000 00000000

sdh_stat_irq exit

 

SDIO: Disabled device mmc0:0001:1

libertas leave: if_sdio_probe(), ret -2

libertas_sdio: probe of mmc0:0001:1 failed with error -2

libertas leave: if_sdio_init_module(), ret 0

 

 

-----------------------------------------------------------------------------------------------------------------

 

 

I used rsh to dmesg in between and maybe two times in the total transfer

this message appears right before one of the CMD52 outputs:

 

mmc0: clock 25000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0

SDH: clk_div = 0x2 actual clock:21875000 expected clock:25000000

 

-----------------------------------------------------------------------------------------------------------------

 

After removing MMC Debug from the Kernel Config, dmesg looks like this:

 

libertas enter: lbs_init_module()

libertas leave: lbs_init_module()

libertas enter: if_sdio_init_module()

libertas_sdio: Libertas SDIO driver

libertas_sdio: Copyright Pierre Ossman

libertas enter: if_sdio_probe()

libertas sdio: overriding helper firmware: sd8686_helper.bin

libertas sdio: overriding firmware: sd8686.bin

libertas sdio: class = 0x7, vendor = 0x2DF, device = 0x9103, model = 0xB, ioport = 0x10000

libertas enter: if_sdio_prog_firmware()

libertas enter: if_sdio_prog_helper()

libertas_sdio mmc0:0001:1: firmware: requesting sd8686_helper.bin

PM: Adding info for No Bus:mmc0:0001:1

PM: Removing info for No Bus:mmc0:0001:1

libertas: can't load helper firmware

libertas: failed to load helper firmware

libertas leave: if_sdio_prog_helper(), ret -2

libertas leave: if_sdio_prog_firmware(), ret -2

libertas leave: if_sdio_probe(), ret -2

libertas_sdio: probe of mmc0:0001:1 failed with error -2

libertas leave: if_sdio_init_module(), ret 0

 

 

-----------------------------------------------------------------------------------------------------------------

 

I tried Firmware Versions 8.73.7 and 9.70.3.

It's the same with both of them.

 

Any ideas?

Am I doing something wrong?

 

Thanks in advance!

 

 

Regards,

Dominik

 

 

TranslateQuoteReplyEditDelete

 

 

2008-12-29 03:41:58     Re: Wireless LAN Status

hua zhu (CHINA)

Message: 67138   

 

Yi,

 

did you test the throughput over this wifi?pls advise. thanks a lot.

QuoteReplyEditDelete

 

 

2008-12-29 22:26:03     Re: Wireless LAN Status

Cliff Cai (CHINA)

Message: 67169   

 

Hi Dominik,

 

There are two things need to be checked.

 

1.If the two firmwares are in /lib/firmware on board?

 

2.if the wifi module is connected to SD socket well?

 

Cliff

QuoteReplyEditDelete

 

 

2008-12-30 07:22:12     Re: Wireless LAN Status

Dominik Herwald (GERMANY)

Message: 67205   

 

Hi Cliff,

 

 

 

> 1.If the two firmwares are in /lib/firmware on board?

 

Yes. Both. sd8686.bin and sd8686_helper.bin

 

As mentioned, I tried both, Version 8.x and 9.x (directly from Marvell)

 

 

 

Anyway - it does not change anything if I remove them!

The error stays exactly the same, wheather they are there or not.

 

 

 

 

 

> 2.if the wifi module is connected to SD socket well?

 

I think it is (s. below). I use a SDIO Test Adapter from the Module Manufacturer and it is a good quality PCB.

 

But I will check signals with a Scope soon.

 

 

 

 

 

 

 

-----------------------------------------------------------------------------------------------------

 

If it matters, right after boot dmesg looks like this:

 

 

# dmesg

 

1004e00 flags 00000195

sdh_request enter, mrp:03e83e70, cmd:03e83ea4

sdh_start_cmd enter cmd:0x03e83ea4

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83ea4

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001021 00000000 00000000 00000000

sdh_stat_irq exit

 

mmc0: starting CMD52 arg 01005000 flags 00000195

sdh_request enter, mrp:03e83e70, cmd:03e83ea4

sdh_start_cmd enter cmd:0x03e83ea4

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83ea4

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001002 00000000 00000000 00000000

sdh_stat_irq exit

 

mmc0: starting CMD52 arg 01005200 flags 00000195

sdh_request enter, mrp:03e83e70, cmd:03e83ea4

sdh_start_cmd enter cmd:0x03e83ea4

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83ea4

sdh_finish_request enter

mmc0: req done (CMD52): 0: 0000100c 00000000 00000000 00000000

sdh_stat_irq exit

 

mmc0: starting CMD52 arg 01005400 flags 00000195

sdh_request enter, mrp:03e83e70, cmd:03e83ea4

sdh_start_cmd enter cmd:0x03e83ea4

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83ea4

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001000 00000000 00000000 00000000

sdh_stat_irq exit

 

 

 

[...]

 

[...]   A lot more adresses are tested here...

 

[...]

 

 

mmc0: starting CMD52 arg 01013e00 flags 00000195

sdh_request enter, mrp:03e83e58, cmd:03e83e8c

sdh_start_cmd enter cmd:0x03e83e8c

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83e8c

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001000 00000000 00000000 00000000

sdh_stat_irq exit

 

mmc0: starting CMD52 arg 01014000 flags 00000195

sdh_request enter, mrp:03e83e58, cmd:03e83e8c

sdh_start_cmd enter cmd:0x03e83e8c

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83e8c

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001000 00000000 00000000 00000000

sdh_stat_irq exit

 

mmc0: starting CMD52 arg 01014200 flags 00000195

sdh_request enter, mrp:03e83e58, cmd:03e83e8c

sdh_start_cmd enter cmd:0x03e83e8c

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83e8c

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001000 00000000 00000000 00000000

sdh_stat_irq exit

 

mmc0: starting CMD52 arg 01014400 flags 00000195

sdh_request enter, mrp:03e83e58, cmd:03e83e8c

sdh_start_cmd enter cmd:0x03e83e8c

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83e8c

sdh_finish_request enter

mmc0: req done (CMD52): 0: 000010ff 00000000 00000000 00000000             

sdh_stat_irq exit

 

mmc0: new SDIO card at address 0001

PM: Adding info for mmc:mmc0:0001

PM: Adding info for sdio:mmc0:0001:1

 

 

 

 

 

 

-----------------------------------------------------------------------------------------------------

 

 

 

If I remove the card from the slot, dmesg is a lot shorter:

 

 

 

 

PM: Adding info for No Bus:mmc0

mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0

SDH: clk_div = 0x0 actual clock:0 expected clock:0

sdh_stat_irq enter

sdh_stat_irq exit

 

mmc0: clock 0Hz busmode 1 powermode 1 cs 0 Vdd 21 width 0 timing 0

SDH: clk_div = 0x0 actual clock:0 expected clock:0

mmc0: clock 256347Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0

SDH: clk_div = 0xff actual clock:256347 expected clock:256347

mmc0: clock 256347Hz busmode 1 powermode 2 cs 1 Vdd 21 width 0 timing 0

SDH: clk_div = 0xff actual clock:256347 expected clock:256347

mmc0: starting CMD0 arg 00000000 flags 000000c0

sdh_request enter, mrp:03e83eec, cmd:03e83f1c

sdh_start_cmd enter cmd:0x03e83f1c

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83f1c

sdh_finish_request enter

mmc0: req done (CMD0): 0: 00000000 00000000 00000000 00000000

sdh_stat_irq exit

 

TCP cubic registered

NET: Registered protocol family 17

PM: Adding info for No Bus:cpu_dma_latency

mmc0: clock 256347Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0

SDH: clk_div = 0xff actual clock:256347 expected clock:256347

mmc0: starting CMD8 arg 000001aa flags 000002f5

sdh_request enter, mrp:03e83ef8, cmd:03e83f28

sdh_start_cmd enter cmd:0x03e83f28

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83f28

sdh_finish_request enter

mmc0: req done (CMD8): -110: 00000000 00000000 00000000 00000000

sdh_stat_irq exit

 

mmc0: starting CMD5 arg 00000000 flags 000002e1

sdh_request enter, mrp:03e83ee0, cmd:03e83f14

sdh_start_cmd enter cmd:0x03e83f14

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83f14

sdh_finish_request enter

mmc0: req failed (CMD5): -110, retrying...

sdh_request enter, mrp:03e83ee0, cmd:03e83f14

sdh_start_cmd enter cmd:0x03e83f14

sdh_stat_irq exit

 

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83f14

sdh_finish_request enter

mmc0: req failed (CMD5): -110, retrying...

sdh_request enter, mrp:03e83ee0, cmd:03e83f14

sdh_start_cmd enter cmd:0x03e83f14

sdh_stat_irq exit

 

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83f14

sdh_finish_request enter

mmc0: req failed (CMD5): -110, retrying...

sdh_request enter, mrp:03e83ee0, cmd:03e83f14

sdh_start_cmd enter cmd:0x03e83f14

sdh_stat_irq exit

 

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83f14

sdh_finish_request enter

mmc0: req done (CMD5): -110: 00000000 00000000 00000000 00000000

sdh_stat_irq exit

 

mmc0: starting CMD55 arg 00000000 flags 000000f5

sdh_request enter, mrp:03e83e50, cmd:03e83e84

sdh_start_cmd enter cmd:0x03e83e84

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83e84

sdh_finish_request enter

mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000

sdh_stat_irq exit

 

mmc0: starting CMD55 arg 00000000 flags 000000f5

sdh_request enter, mrp:03e83e50, cmd:03e83e84

sdh_start_cmd enter cmd:0x03e83e84

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83e84

sdh_finish_request enter

mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000

sdh_stat_irq exit

 

mmc0: starting CMD55 arg 00000000 flags 000000f5

sdh_request enter, mrp:03e83e50, cmd:03e83e84

sdh_start_cmd enter cmd:0x03e83e84

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83e84

sdh_finish_request enter

mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000

sdh_stat_irq exit

 

mmc0: starting CMD55 arg 00000000 flags 000000f5

sdh_request enter, mrp:03e83e50, cmd:03e83e84

sdh_start_cmd enter cmd:0x03e83e84

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83e84

sdh_finish_request enter

mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000

sdh_stat_irq exit

 

mmc0: starting CMD1 arg 00000000 flags 000000e1

sdh_request enter, mrp:03e83ee0, cmd:03e83f14

sdh_start_cmd enter cmd:0x03e83f14

sdh_stat_irq enter

sdh_cmd_done enter cmd:03e83f14

sdh_finish_request enter

mmc0: req done (CMD1): -110: 00000000 00000000 00000000 00000000

sdh_stat_irq exit

 

mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0

SDH: clk_div = 0xff actual clock:256347 expected clock:0

PM: Adding info for No Bus:network_latency

PM: Adding info for No Bus:network_throughput

rtc-bfin rtc-bfin: setting system clock to 2026-06-12 16:28:19 UTC (1781281699)

eth0: SMSC911x/921x identified at 0x24000000, IRQ: 173

eth0: link down

IP-Config: Complete:

     device=eth0, addr=192.168.10.48, mask=255.255.255.0, gw=192.168.10.1,

     host=cm-bf548-test, domain=, nis-domain=(none),

     bootserver=192.168.10.11, rootserver=192.168.10.11, rootpath=

Freeing unused kernel memory: 11148k freed

eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1

#

 

 

 

TranslateQuoteReplyEditDelete

 

 

2008-12-30 09:08:42     Re: Wireless LAN Status

Dominik Herwald (GERMANY)

Message: 67208   

 

Btw. Cliff:

 

There seems to be a bug in  drivers/mmc/host/bfin_sdh.c  newest Revision. With rev. 5919 it works, with 5928 I get a Kernel Panic  in sdh_probe...

 

I will post a detail bug report later on...

 

 

TranslateQuoteReplyEditDelete

 

 

2008-12-30 23:20:22     Re: Wireless LAN Status

Cliff Cai (CHINA)

Message: 67224   

 

Hi Dominik,

 

I've tested it with wifi card and sd memory card on BF548-EZKIT 1.4 with new check out kernel tree(revision 5932) ,everything is OK.I think you need to modify related board file in arch/blackfin/mach-bf548/boards for your board,since the new sdh driver relies on it.please refer to sdh stuff in ezkit.c

 

From your log I only could tell that CMD line is ok,but I'm not sure if data lines work,all these lines should be high level if no data

 

is transfering.

 

BTW,the sdio wifi patch has been updated a few days ago.

 

Cliff

 

 

QuoteReplyEditDelete

 

 

2008-12-31 01:20:54     Re: Wireless LAN Status

Cliff Cai (CHINA)

Message: 67226   

 

one more thing,if the hotplug script is executable on board?

 

Cliff

QuoteReplyEditDelete

 

 

2008-12-31 09:47:40     Re: Wireless LAN Status

Dominik Herwald (GERMANY)

Message: 67257   

 

Hi Cliff,

 

thanks for your response!

 

I did a complete new checkout of the Kernel Source now - Revision 5936.

 

I  added  the missing SDH stuff to the Bluetechnix Board file.

 

The SDH Kernel Crash with the new Revision is solved now!

 

Thanks!

 

 

 

Still WLAN Module Firmware upload fails with the same error:

 

 

libertas_sdio: Libertas SDIO driver

libertas_sdio: Copyright Pierre Ossman

libertas_sdio mmc0:0001:1: firmware: requesting sd8686_helper.bin

libertas: can't load helper firmware

libertas: failed to load helper firmware

libertas_sdio: probe of mmc0:0001:1 failed with error -2

 

 

 

 

 

# dmesg

 

[..........]

 

mmc0: starting CMD52 arg 00000a00 flags 00000195

sdh_request enter, mrp:00de9f1c, cmd:00de9f50

sdh_start_cmd enter cmd:0x00de9f50

sdh_stat_irq enter

sdh_cmd_done enter cmd:00de9f50

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001000 00000000 00000000 00000000

sdh_stat_irq exit

 

PM: Removing info for No Bus:mmc0:0001:1

mmc0: starting CMD52 arg 00000a00 flags 00000195

sdh_request enter, mrp:00de9f1c, cmd:00de9f50

sdh_start_cmd enter cmd:0x00de9f50

sdh_stat_irq enter

sdh_cmd_done enter cmd:00de9f50

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001000 00000000 00000000 00000000

sdh_stat_irq exit

 

libertas: can't load helper firmware

libertas: failed to load helper firmware

libertas leave: if_sdio_prog_helper(), ret -2

libertas leave: if_sdio_prog_firmware(), ret -2

SDIO: Disabling IRQ for mmc0:0001:1...

mmc0: IRQ thread exiting with code 0

mmc0: starting CMD52 arg 00000800 flags 00000195

sdh_request enter, mrp:0200fbe0, cmd:0200fc14

sdh_start_cmd enter cmd:0x0200fc14

sdh_stat_irq enter

sdh_cmd_done enter cmd:0200fc14

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001003 00000000 00000000 00000000

sdh_stat_irq exit

 

mmc0: starting CMD52 arg 80000800 flags 00000195

sdh_request enter, mrp:0200fbe0, cmd:0200fc14

sdh_start_cmd enter cmd:0x0200fc14

sdh_stat_irq enter

sdh_cmd_done enter cmd:0200fc14

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001000 00000000 00000000 00000000

sdh_stat_irq exit

 

SDIO: Disabling device mmc0:0001:1...

mmc0: starting CMD52 arg 00000400 flags 00000195

sdh_request enter, mrp:0200fbdc, cmd:0200fc10

sdh_start_cmd enter cmd:0x0200fc10

sdh_stat_irq enter

sdh_cmd_done enter cmd:0200fc10

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001002 00000000 00000000 00000000

sdh_stat_irq exit

 

mmc0: starting CMD52 arg 80000400 flags 00000195

sdh_request enter, mrp:0200fbdc, cmd:0200fc10

sdh_start_cmd enter cmd:0x0200fc10

sdh_stat_irq enter

sdh_cmd_done enter cmd:0200fc10

sdh_finish_request enter

mmc0: req done (CMD52): 0: 00001000 00000000 00000000 00000000

sdh_stat_irq exit

 

SDIO: Disabled device mmc0:0001:1

libertas leave: if_sdio_probe(), ret -2

libertas_sdio: probe of mmc0:0001:1 failed with error -2

libertas leave: if_sdio_init_module(), ret 0

 

 

 

 

I will now hook everything up to a Scope so see what happens on the Bus.

 

 

 

Regards,

Dominik

TranslateQuoteReplyEditDelete

 

 

2008-12-31 09:49:15     Re: Wireless LAN Status

Dominik Herwald (GERMANY)

Message: 67258   

 

PS:

 

-rwxrwxrwx    1 root     root          220 Dec 31  2008 hotplug

 

 

 

 

TranslateQuoteReplyEditDelete

 

 

2008-12-31 10:14:48     Re: Wireless LAN Status

Dominik Herwald (GERMANY)

Message: 67259   

 

Maybe I should also mention that I get some strange messages during boot:

 

mmc0: new SDIO card at address 0001

eth0: SMSC911x/921x identified at 0x24000000, IRQ: 173

eth0: link down

IP-Config: Complete:

     device=eth0, addr=192.168.10.48, mask=255.255.255.0, gw=192.168.10.1,

     host=cm-bf548-test, domain=, nis-domain=(none),

     bootserver=192.168.10.11, rootserver=192.168.10.11, rootpath=

Freeing unused kernel memory: 11148k freed

[: not found

[: not found

[: not found

[: not found

[: not found

 

Welcome to:

 

......

 

 

 

This [: not found  does NOT come from the hotplug script from the wifi patch - it is also there if I remove this hotplug script completely.

 

So far I could not find out where it comes from...

 

 

 

 

TranslateQuoteReplyEditDelete

 

 

2009-01-01 10:43:34     Re: Wireless LAN Status

Dominik Herwald (GERMANY)

Message: 67276   

 

I checked the Signals with a Scope now - they don't look nice but are within spec.

 

Anyway, I'm close to believe that my test module is faulty (if no one has another idea what could be the reason for this behaviour)...

TranslateQuoteReplyEditDelete

 

 

2009-01-01 11:59:06     Re: Wireless LAN Status

Robin Getz (UNITED STATES)

Message: 67277   

 

Dominik:

 

>they don't look nice but are within spec.

 

It depends on how much they don't look nice...

 

It would be interesting to see if things work while holding the scope probe on the sd_clk signal? If there is high speed noise that your scope is removing - that could be the issue. Many new deep submicron devices don't have the glitch protection that they should have.

 

-Robin

QuoteReplyEditDelete

 

 

2009-01-04 22:13:59     Re: Wireless LAN Status

Cliff Cai (CHINA)

Message: 67341   

 

Hi Dominik,

 

I've just added a new feature in sdh driver for sdio device,and also updated the README.

 

it makes sdh work in 1 bit mode with a dedicated interrupt pin for sdio device.(I guess since DATA2,DATA3 are not used

 

it may ruduce the risk of bad connection.Of course,the feature is not for this intention originally )

 

Cliff

QuoteReplyEditDelete

 

 

2009-01-09 05:26:50     Re: Wireless LAN Status

Dominik Herwald (GERMANY)

Message: 67702   

 

Hi Cliff,

 

sorry for my late response - I've been busy with other things.

 

I tried this recently, but it did not change anything. Messages stay exactly the same.  I even tried limiting the SDIO Clock to 500kHz. Also does not change the error.

 

I already ordered a different Module for testing - will take some time. I will report once I tested it.

 

Best Regards,

Dominik

 

 

TranslateQuoteReplyEditDelete

 

 

2009-02-07 10:42:32     Re: Wireless LAN Status

Dominik Herwald (GERMANY)

Message: 69033   

 

Hi,

 

I just got hands on a different module - and now it works! :-)

 

But also the other Module works now...

This is because this hotplugging script did NOT work for me.

 

Instead I had to do:

 

echo /bin/mdev > /proc/sys/kernel/hotplug

 

To make it work.  I should have tried this earlier...

 

-----

 

One big Problem stays: The SDIO Interface is operating in 1 Bit Mode only.

There is no activity on the Datalines D1, D2 and D3

 

Speed is only around 2.8Mbit/s for TCP in 1m distance from the WLAN AP using

WEP Encryption.

Not that great but OK for a first test. 

I guess it will get better when the SDIO Controller operates in 4 Bit mode.

 

Do I have to set any special option to enable 4 Bit SDIO Mode or is something broken in the driver?

 

Best Regards,

Dominik

 

 

TranslateQuoteReplyEditDelete

 

 

2009-02-07 11:50:05     Re: Wireless LAN Status

Dominik Herwald (GERMANY)

Message: 69035   

 

Ah sorry - OK - found out that the SDIO_IRQ Option disables 4 Bit mode.

 

Anyway - if I disable it, performance stays exactly the same even if all 4 Bits of the SDIO Controller are used...

 

TranslateQuoteReplyEditDelete

 

 

2009-02-08 20:44:09     Re: Wireless LAN Status

Cliff Cai (CHINA)

Message: 69049   

 

Have you enabled:

 

Blackfin Processor Options  --->

 

         BF548 Specific Configuration  --->  

 

                [*] DMA has priority over core for ext. accesses   

 

I think it will improve with this option.

 

 

QuoteReplyEditDelete

 

 

2009-02-09 06:25:47     Re: Wireless LAN Status

Dominik Herwald (GERMANY)

Message: 69080   

 

Yes this option is enabled.

 

Top shows only 3% CPU Load while running iperf in a telnet session, so I don't think the core will block anything too bad.

 

It is also not an SDIO bandwidth problem.  I reduced the SDIO Clock from 20MHz to 2 MHz  (4 Bit Mode) and performance limit is still 3MBit/s.  It first starts to decrease when I further reduce the SDIO Clock to 1 MHz.

 

I think the reason for this problem is, what I see on my scope:

 

EVERY Transfer on the SDIO Bus starts in fixed 4ms frames. This 4ms Frame Interval is independent from the SDIO Clock rate. But with 1 MHz Clock there are no gaps left between individual transfers...

 

Example of what I see on my scope:

0ms - Data Transfer, End after about 1.x ms (depending on SDIO Clock rate), ... then nothing

4ms - Data Transfer, End after about 1ms ... nothing ...

8ms - Data Transfer, End after about 1ms ... nothing ...

12ms - ...

 

 

Is this 4ms Interval required for something or is this a "bug"?

 

 

 

Best regards,

Dominik

 

 

TranslateQuoteReplyEditDelete

 

 

2009-02-09 06:50:17     Re: Wireless LAN Status

Michael Hennerich (GERMANY)

Message: 69113   

 

4ms sounds like kernel ticks (Timer frequency 250 HZ).

 

Something in the driver stack must be using jiffies + 1 ....

 

Just a test (not a fix!) I bet if you use 1000HZ this goes down to 1ms ...

 

-Michael

QuoteReplyEditDelete

 

 

2009-02-09 07:01:07     Re: Wireless LAN Status

Dominik Herwald (GERMANY)

Message: 69114   

 

Yes I've seen this "jiffies" in the Code and already wondered what this is

 

Thanks, I will try it!

 

 

 

 

TranslateQuoteReplyEditDelete

 

 

2009-02-09 07:16:55     Re: Wireless LAN Status

Dominik Herwald (GERMANY)

Message: 69115   

 

Michael,

 

you were right!  I set it to 1000Hz and performance is now very good at 11.2MBit/s!

 

Thanks!

 

 

 

This jiffies is used for example in if_sdio.c in the functions:

 

static int if_sdio_card_to_host(struct if_sdio_card *card)

 

and

 

static void if_sdio_host_to_card_worker(struct work_struct *work)

 

...

 

timeout = jiffies + HZ;

        while (1) {

            status = sdio_readb(card->func, IF_SDIO_STATUS, &ret);

            if (ret)

                goto release;

            if (status & IF_SDIO_IO_RDY)

                break;

            if (time_after(jiffies, timeout)) {

                ret = -ETIMEDOUT;

                goto release;

            }

            mdelay(1);

        }

 

 

 

Is there a standard way to "normalize" this to 1ms?

 

Best regards,

Dominik

TranslateQuoteReplyEditDelete

 

 

2009-02-09 07:25:26     Re: Wireless LAN Status

Michael Hennerich (GERMANY)

Message: 69116   

 

Well - as I said earlier -

 

I don't think this is a fix.

 

jiffies + 1 is  timeout - the loop should normally terminate without the timeout expiering

 

-Michael

 

 

QuoteReplyEditDelete

 

 

2009-02-09 07:31:41     Re: Wireless LAN Status

Michael Hennerich (GERMANY)

Message: 69117   

 

I just noticed the code snipped you posted uses jiffies + HZ which is a 1 Second timeout!

 

So the loop you posted does terminate ...

 

-Michael

QuoteReplyEditDelete

 

 

2009-02-09 07:46:30     Re: Wireless LAN Status

Dominik Herwald (GERMANY)

Message: 69120   

 

OK yes this is only a timeout.

 

Well I have to admit that I am completely new to Kernel Driver programming so please be patient ;-)

 

There are some other places where jiffies is used.  Most of them also timeouts.

 

I will try to track it down but may take a while. Any suggestions are welcome of course.

 

 

TranslateQuoteReplyEditDelete

 

 

2009-02-09 12:50:21     Re: Wireless LAN Status

Dominik Herwald (GERMANY)

Message: 69144   

 

After crawling through all the SDIO/MMC and libertas sources I still did not find the root of the problem. Everything in there seems to be fine  (I may have overlooked something).

 

Maybe it is not even in the SDIO/MMC or libertas sources but somewhere else.

 

Can anyone give me pointers where to search for code that may be related with this Problem?

 

TranslateQuoteReplyEditDelete

 

 

2009-05-18 16:46:42     Re: Wireless LAN Status

Thomas Kurmann (SWITZERLAND)

Message: 74197   

 

Can somebody please confirm that the 88W8385 compact flash wifi chip is working with the CF interface such as used in the CF-IDE-ATA card for the BF-537. I think the developer will likely know this Also do you have the firmware for the device embedded or is this needed seperatly?

 

Thanks a lot

QuoteReplyEditDelete

 

 

2009-05-19 14:42:26     Re: Wireless LAN Status

Robin Getz (UNITED STATES)

Message: 74279   

 

Thomas:

 

New issue - new thread - please don't ask questions on things that are months old.

 

-robin

Attachments

    Outcomes