Which driver: bcmdhd or brcmfmac?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Can someone explain the difference between the bcmdhd driver and the brcmfmac driver that's included in the mainline Linux kernel?  Why would I want to use one over the other?

Also, is it possible to use BCM4343W (such as Murata 1DX) with brcmfmac?  At first glance, this doesn't appear to be possible as it doesn't look to be defined in the Linux mainline - the following is from sdio_ids.h in kernel 4.6.0:

/*

* Vendors and devices.  Sort key: vendor first, device next.

*/

#define SDIO_VENDOR_ID_BROADCOM            0x02d0

#define SDIO_DEVICE_ID_BROADCOM_43143        0xa887

#define SDIO_DEVICE_ID_BROADCOM_43241        0x4324

#define SDIO_DEVICE_ID_BROADCOM_4329        0x4329

#define SDIO_DEVICE_ID_BROADCOM_4330        0x4330

#define SDIO_DEVICE_ID_BROADCOM_4334        0x4334

#define SDIO_DEVICE_ID_BROADCOM_43340        0xa94c

#define SDIO_DEVICE_ID_BROADCOM_43341        0xa94d

#define SDIO_DEVICE_ID_BROADCOM_4335_4339    0x4339

#define SDIO_DEVICE_ID_BROADCOM_43362        0xa962

#define SDIO_DEVICE_ID_BROADCOM_43430        0xa9a6

#define SDIO_DEVICE_ID_BROADCOM_4345        0x4345

#define SDIO_DEVICE_ID_BROADCOM_4354        0x4354

There also doesn't appear to be a corresponding firmware binary available in the "linux-firmware" Yocto recipe that's specific to the 4343W or 43438.

Thanks!

0 Likes
3 Replies
vsubbiah
Level 5
Level 5
10 solutions authored 10 sign-ins First comment on KBA

You can use either bcmdhd or brcmfmac. . The one's the supported well on this forum and by Cypress is bcmdhd.

Here is a quick start for bcmdhd with iMX.

Quick Start with iMX6 Ultralite EVK and Mass Market Modules

Here is a more detailed one which refers to other blogs.

OpenSource release of bcmdhd 141.88

In terms of design the two drivers are pretty similar. bcmdhd is mainstreamed in Android kernel and brcmfmac is in the Linux kernel(@kernel.org)

bcmdhd is designed to work with multiple OS's while brcmfmac was written so that the driver could be accepted into (kernel.org)

Venkat Subbiah

Packet Path(packetp.com)

Anonymous
Not applicable

Hi Venkat,

Thanks for your response.  Do you have any recommendations for BCM4343W?  There's no firmware binary in the Linux mainline kernel for this device.

BTW - my processor choice here is a Xilinx Zynq.  I already have success with Murata Type ZP (4339) and brcmfmac on this platform.

Regards,

Andrew

0 Likes

I would recommend that you use bcmdhd. For this you may need to some work to port it to your Xilinx & Kernel 4.6.0.

I am not sure whether brcmfmac works out of the box for 4343W, but you could try the 4343W firmware from here:

eQuick Start with iMX6 Ultralite EVK and Mass Market Modules

The firmware's from Quick Start are known to work with fmac too for 4339, but I haven't tried 4343W with fmac.

I beleive your original question is answered , please start a different thread if you have nay further questions.

Venkat Subbiah

Packet Path (www.packetp.com)