MuRata WiFi Module with Marvell 88w8686
claud_yu
claud_yu at yahoo.com.tw
Wed May 7 02:18:18 EDT 2008
Following are the details of modification for iMX31.
1. Back port libertas from 2.6.24 to 2.6.22.
2. iMX31 BSP(2.6.22) have SDIO functionality which back port from 2.6.24 or ...
You can download the code from http://www.bitshrine.org/gpp/ or download newest BSP from freescale website.
3. patch for if_sdio.c. The modification force the IO be multiple of block size.
--------------------
* goes suicidal.
*/
chunk = size;
- if ((chunk > card->func->cur_blksize) || (chunk > 512)) {
+ //if ((chunk > card->func->cur_blksize) || (chunk > 512)) {
chunk = (chunk + card->func->cur_blksize - 1) /
card->func->cur_blksize * card->func->cur_blksize;
- }
+ //}
+
ret = sdio_readsb(card->func, card->buffer, card->ioport, chunk);
if (ret)
goto out;
* goes suicidal.
*/
chunk = size;
- if ((chunk > card->func->cur_blksize) || (chunk > 512)) {
+ //if ((chunk > card->func->cur_blksize) || (chunk > 512)) {
chunk = (chunk + card->func->cur_blksize - 1) /
card->func->cur_blksize * card->func->cur_blksize;
- }
+ //}
+
ret = sdio_readsb(card->func, card->buffer, card->ioport, chunk);
if (ret)
goto out;
--------------------
4. Patch for iMX31 MMC driver mxc_mmc.c .
-------------------
@@ -1146,7 +1146,15 @@
mmc->ocr_avail |= MMC_VDD_31_32;
mmc->max_phys_segs = NR_SG;
- mmc->caps = MMC_CAP_4_BIT_DATA ;
+ mmc->max_hw_segs = NR_SG;
+
+ mmc->caps = MMC_CAP_4_BIT_DATA;
+
+ mmc->max_blk_size = (1<<11);
+ mmc->max_blk_count = (1<<16);
+ mmc->max_req_size = PAGE_SIZE;
+ mmc->max_seg_size = PAGE_SIZE;
+
------------------
Claud Yu
--- 08/5/7 (星期三),Harvey, Tim <tharvey at irobot.com> 寫道:
> 寄件者: Harvey, Tim <tharvey at irobot.com>
> 主旨: RE: MuRata WiFi Module with Marvell 88w8686
> 收件者: "claud_yu" <claud_yu at yahoo.com.tw>
> 日期: 2008 5 7 星期三 上午 8:49
> Claud,
>
> Can you give me a list of what you had to do to get the
> Libertas to talk to the i.MX31's SDHC? I'm
> guessing something like:
> - port libertas driver down to 2.6.22 (or use
> wireless-compat package)
> - port 2.6.24 SDIO layer down to 2.6.22?
> Or
> - port Freescale i.MX31 MMC driver to be compatible with
> what libertas/if_sdio.c needs?
>
> Any patches you made to the Freescale LTIB (or other) BSP
> would gladly be appreciated.
>
> Thanks,
>
> Tim
>
> > -----Original Message-----
> > From: claud_yu [mailto:claud_yu at yahoo.com.tw]
> > Sent: Monday, April 14, 2008 7:07 PM
> > To: Harvey, Tim
> > Subject: RE: MuRata WiFi Module with Marvell 88w8686
> >
> > Hi ,
> >
> > The module had no any response after I insert it into
> > x86 notebook with SDIO interface( IBM X60).Maybe some
> > hardware damage occur during experiment.
> > The EVM could use external antenna or chip antenna.
> > Our Murata use chip antenna and Wi2Wi EVM use external
>
> > antenna. You must check the Wi2Wi EVM spec.
> >
> > Claud Yu
> >
> > --- "Harvey, Tim" <tharvey at irobot.com>
> 說:
> >
> > > Claud,
> > >
> > > Thanks for the info! What was the reason you
> returned the muRata
> > > module? Do either the muRata or Wi2Wi modules
> allow for an
> > external
> > > antenna?
> > >
> > > Tim
> > >
> > > > -----Original Message-----
> > > > From: claud_yu
> [mailto:claud_yu at yahoo.com.tw]
> > > > Sent: Monday, April 14, 2008 2:13 AM
> > > > To: Harvey, Tim;
> libertas-dev at lists.infradead.org
> > > > Subject: Re: MuRata WiFi Module with Marvell
> > > 88w8686
> > > >
> > > > Hi ,
> > > >
> > > > Currently I use wi2wi W2SW0001, I send
> Murata
> > > module back. I
> > > > still try to port the libertas driver to
> mx31.
> > > > Wi2Wi provide a SD card development card on
> wi2wi
> > > website. I
> > > > also try another 88w8686 driver from project
> > > moblin
> > > > (http://www.moblin.org/). The driver should
> based
> > > on marvell
> > > > SDIO driver. But the driver still have some
> > > problem while
> > > > firmware download.
> > > >
> > > > Claud Yu
> > > > --- "Harvey, Timothy"
> <tharvey at irobot.com> 挲ㄩ
> > > >
> > > > > Claud,
> > > > >
> > > > > I'm investigating using an 88W8686
> based module
> > > on an
> > > > i.MX31 as well.
> > > > > Currently I'm still looking for
> what modules are
> > > available.
> > > > Did you
> > > > > investigate others? I know of the
> following:
> > > > > - Zcomax XG-182M (~$30/ea vol)
> > > > > - Embedded Works EWWMGMR05-SDIO (?/ea
> vol)
> > > > >
> > > > > Do you know what SyChip's volume
> pricing is on
> > > the module
> > > > your using?
> > > > >
> > > > > What kernel version are you using
> (2.6.22.6 from
> > >
> > > > IMX31ADS?)? What dev
> > > > > kit are you using?
> > > > >
> > > > > I imagine you need to get the
> i.MX31's SDIO host
> > > controller to
> > > > > interface with the libertas driver -
> how is that
> > > process going?
> > > > >
> > > > > Thanks for any info,
> > > > >
> > > > > Tim
> > > > >
> > > > > > Hi !!
> > > > > >
> > > > > > It's my first time to this
> mail-list. I have a
> > > > > driver
> > > > > > initialize problem with our
> platform with
> > > Marvell 88w8686. Our
> > > > > > platform is Freescale iMX31 and
> use
> > > > > SDIO
> > > > > > connect to WiFi module with
> Marvell 88w8686.
> > > The module
> > > > is made by
> > > > > > MuRata. The SD interface work
> > > > > with
> > > > > > SD/SDHC/MMC memory card. And I
> try to port
> > > > > libertas
> > > > > > driver from linux kernel 2.6.24.
> First is
> > > identification problem.
> > > > > > The libertas driver use SD
> > > > > CIS
> > > > > > to identify which type of wifi
> chip ( 88w8686
> > > or 88w8385). But
> > > > > > Murata module CIS information show
> > > > > CIS
> > > > > > data below.
> > > > > >
> > > > >
> > > >
> > >
> >
> --------------------------------------------------------------------
> > > > > > : TPLMID_MANF = 0x02df
> > > > > >
> > > > > > : TPLMID_CARD = 0x9103
> > > > > >
> > > > > > : TPLFID_FUNCTION = 0x0c
> > > > > >
> > > > > > : TPLFE_FN0_BLK_SIZE = 256
> > > > > >
> > > > > > : max speed = 25000 kbps
> > > > > >
> > > > > > : TPLFID_FUNCTION = 0x0c
> > > > > >
> > > > > > : TPLFE_FUNCTION_INFO = 0x01
> > > > > >
> > > > > > : TPLFE_STD_IO_REV = 0x10
> > > > > >
> > > > > > : TPLFE_CARD_PSN = 0x00000000
> > > > > >
> > > > > > : TPLFE_CSA_SIZE = 0x00000000
> > > > > >
> > > > > > : TPLFE_CSA_PROPERTY = 0x00
> > > > > >
> > > > > > : TPLFE_MAX_BLK_SIZE = 256
> > > > > >
> > > > > > : TPLFE_OCR = 0x00000000
> > > > > >
> > > > > > : operating current (min/avg/max)
> = 0/0/0 mA
> > > > > >
> > > > > > : standby current (min/avg/max) =
> 0/0/0 mA
> > > > > >
> > > > > > : minimum data bandwidth = 0
> KB/sec
> > > > > >
> > > > > > : optimum data bandwidth = 0
> KB/sec
> > > > > >
> > > > >
> > > >
> > >
> >
> --------------------------------------------------------------------
> > > > > > And the content didn't contain
> keyword to
> > > identify
> > > > > the
> > > > > > type of wifi chip ( "802.11
> SDIO ID: %x" or
> > > "ID:
> > > > > %x"
> > > > > > from if_sdio.c). I try to force
> the driver to
> > > > > identify
> > > > > > the module as 88w8686 with set the
> varible
> > > mode=
> > > > > 0xb.
> > > > > > And I download Marvell 88w8686
> sdio driver
> > > 8.73.7
> > > > > and
> > > > > > 9.70.3. And get from firmware and
> helper
> > > binary
> > > > > code
> > > > > > from Marvell driver. After the
> SDIO module
> > > > > insertion ,
> > > > > > the kernel show libertas debug
> message below
> > > > > (enable
> > > > > > DEBUG in driver and configure udev
> and
> > > firmware agent).
> > > > > >
> > > > >
> > > >
> > >
> >
> --------------------------------------------------------------------
> > > > > >
> > > > > > mmc0: new SDIO card at address
> 0001
> > > > > >
> > > > > > libertas enter:
> if_sdio_probe():865
> > > > > >
> > > > > > libertas thread: class = 0x7,
> vendor = 0x2DF,
> > > > > device =
> > > > > > 0x9103, model = 0xB, ioport =
> 0x10000
> > > > > >
> > > > > > libertas enter:
> if_sdio_prog_firmware():662
> > > > > >
> > > > > > libertas enter:
> if_sdio_prog_helper():416
> > > > > >
> > > > > > libertas thread: waiting for
> helper to boot...
> > > > > >
> > > > > > libertas leave:
> if_sdio_prog_helper():516, ret
> > > 0
> > > > > >
> > > > > > libertas enter:
> if_sdio_prog_real():532
> > > > > >
> > > > > > libertas thread: firmware helper
> signalled
> > > error
> > > > > >
> > > > > > libertas: failed to load firmware
> > > > > >
> > > > > > libertas leave:
> if_sdio_prog_real():652, ret
> > > -5
> > > > > >
> > > > > > libertas leave:
> if_sdio_prog_firmware():688,
> > > ret
> > > > > -5
> > > > > >
> > > > > > libertas leave:
> if_sdio_probe():985, ret -5
> > > > > >
> > > > > > libertas_sdio: probe of
> mmc0:0001:1 failed
> > > with
> > > > > error
> > > > > > -5
> > > > > >
> > > > > > / #
> > > > > >
> > > > >
> > > >
> > >
> >
> --------------------------------------------------------------------
> > > > > >
> > > > > > The message show the helper
> download success
> > > and
> > >
> > === message truncated ===
> >
> >
> >
> >
> >
> ______________________________________________________________
> > ________________________________________
> >
> 付費才容量無上限?Yahoo!奇摩電子信箱2.0免費給你,信件永遠不必刪!
>
> > http://tw.mg0.mail.yahoo.com/dc/landing
> >
>
>
>
> IMPORTANT NOTICE: iRobot's Burlington, MA headquarters
> has moved to 8 Crosby Drive, Bedford, MA 01730.
_________________________________________________________________________________________________________
蚊子吵得整晚睡不著,一直叮我,誰能救救我? http://ksk.search.yahoo.net/index.asp?WT.mc_id=023
More information about the libertas-dev
mailing list