MuRata WiFi Module with Marvell 88w8686

Tim Harvey tharvey at irobot.com
Thu May 15 14:59:07 EDT 2008


Claud,

Thanks for your work here!  I've successfully gotten a Zcomax XG-182M
(http://www.zcomax.com/embedded.htm#XG-182M) module based on the 88W8686
working on an i.MX31 platform using the 8.73.7p3 fw using your patches.
I still have a couple of questions.

When I bring up the driver, I see some commands fail:

libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
HOTPLUG: firmware add /usr/lib/hotplug/firmware/sd8686_helper.bin
HOTPLUG: firmware add /usr/lib/hotplug/firmware/sd8686.bin
libertas: 00:19:70:02:12:3c, fw 8.73.7p3, cap 0x00000303
libertas: PREP_CMD: command 0x00a3 failed: 2
libertas: PREP_CMD: command 0x00a3 failed: 2
libertas: eth1: Marvell WLAN 802.11 adapter

The 0x00a3 cmd is CMD_MESH_CONFIG - I assume this is for the 802.11s
like MESH that Cozybits added.  Am I correct in that this support only
exists in the USB firmware and thats why I see the errors when using an
SDIO module?

Regarding the patch you had to make to the Freescale MMC driver
(drivers/mmc/core/mxc_mmc.c) to disable 4-bit SDIO mode - are you
thinking that there is a bug with Freescales SDHC or is there some issue
with the 88W8686 and/or the firmware here?  My understanding is that the
8686 should support 1-bit SDIO, 4-bit SDIO, and SPI - am I wrong about
this?

Regarding the patch you had to make to libertas
(drivers/net/wireless/libertas/if_sdio.c) to force the io chunk size to
be a multiple of the MX31 SDHC's block size - are you thinking that this
is a bug/limitation of the MX31 SDHC?

Are you still getting poor performance in your testing?

On Wed, 2008-05-07 at 02:26 -0400, claud_yu wrote:
> Sorry !! iMX31 must disable 4bit mode with libertas driver.
> 
>     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;
>  +
> 
> 
> --- 08/5/7 (星期三),claud_yu <claud_yu at yahoo.com.tw> 寫道:
> 
> > 寄件者: claud_yu <claud_yu at yahoo.com.tw>
> > 主旨: RE: MuRata WiFi Module with Marvell 88w8686
> > 收件者: "Harvey, Tim" <tharvey at irobot.com>
> > 副本: libertas-dev at lists.infradead.org
> > 日期: 2008 5 7 星期三 下午 2:18
> > 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
> >
> > _______________________________________________
> > libertas-dev mailing list
> > libertas-dev at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/libertas-dev
> 
> 
> 
> _________________________________________________________________________________________________________
> 蚊子吵得整晚睡不著,一直叮我,誰能救救我?
> http://ksk.search.yahoo.net/index.asp?WT.mc_id=023
> 
> 



More information about the libertas-dev mailing list