# Is it possible to use the Broadcom BCM4313?



## shokry (Sep 25, 2011)

I have a laptop with the broadcom bcm4313 wifi card and I really want to install FreeBSD (8.2 or 9.0 as I see a bunch of improvements in 9.0) on this laptop but from what I've read so far it's not supported and isn't going to work, Are there any workarounds to make it work, or if there's a driver for it already how can I install it?


----------



## jb_fvwm2 (Sep 26, 2011)

I've one with the same or a similar chip; I read online how to replace it with an intel (laptop disassembly); tried and failed ndisgen'ing the driver (still newbie); settled on an edimax ew-7318usg, an inexpensive usb wifi dongle. (Huge antenna on it, maybe you'd prefer that for the improved range (theoretically) )


----------



## redw0lfx (Sep 26, 2011)

I been trying to get FreeBSD on my HP Mini 210 which also has a broadcom BCM4313 chip.  From what I read so far (and tried), the existing bwn and bwi drivers don't work with this card.  I tried to use ndiswrapper as all, but couldn't find any Windows XP drivers for the card either.

I have gotten the card to work under Linux using the driver from Broadcom, Broadcom-STA, but that driver hasn't been ported over to FreeBSD yet.


----------



## shokry (Sep 26, 2011)

Yes, this card worked perfectly out of the box with newer linux distros with that driver .
Well, I think I'll have to wait until it's ported to FreeBSD (or until I change the laptop ).

Anyone else want to share experience with that chip?


----------



## b7j0c (Sep 26, 2011)

For the time being its probably just safe to avoid buying hardware that uses Broadcom NICs unless you have specific and clear reports of a specific chipset working, and I mean without NDIS.

Intel and Atheros NICs *tend* to have better support, but with regards to Intel specifically, you also have to keep an eye on Sandy Bridge support, which is still not quite there.


----------



## nox@ (Jul 7, 2012)

*Use ndisulator aka Project Evil*

There's a link to a Windows XP driver that can be used for this nic with ndis(4) on FreeBSD/PCBSD >= 9.0 in the PCBSD wiki: http://wiki.pcbsd.org/index.php/Wireless_Testing.  If you are on amd64 like me you may get a panic "Unregistered use of FPU in kernel", the fix for that is in gnats: http://www.freebsd.org/cgi/query-pr.cgi?pr=165622.

PS: Assuming you have kernel sources installed and the patch from that ticket applies to 9.0 too (I only tested head) you can just rebuild and install ndis.ko instead of rebuilding the entire kernel:
`# cd /usr/src/sys/modules/ndis && make && make install`

HTH, 
  Juergen


----------



## niflheim (Aug 3, 2012)

nox@ said:
			
		

> There's a link to a Windows XP driver that can be used for this nic with ndis(4) on FreeBSD/PCBSD >= 9.0 in the PCBSD wiki: http://wiki.pcbsd.org/index.php/Wireless_Testing.  If you are on amd64 like me you may get a panic "Unregistered use of FPU in kernel", the fix for that is in gnats: http://www.freebsd.org/cgi/query-pr.cgi?pr=165622.
> 
> PS: Assuming you have kernel sources installed and the patch from that ticket applies to 9.0 too (I only tested head) you can just rebuild and install ndis.ko instead of rebuilding the entire kernel:
> `# cd /usr/src/sys/modules/ndis && make && make install`
> ...



I just got my Broadcom BCM4313 up and running yesterday by checking out that PC-BSD Wiki!

I just downloaded the drivers on my Windows computer, extracted the driver files, and transferred the necessary ones (bcmwl5.inf, bcmwl564.sys, bcm43xx64.cat and bcmwlcoi64.dll, since I am running amd64) over to my FreeBSD machine using a USB memory stick.

I then had to convert the files to FreeBSD kernel modules by using ndisgen, however, since one of the driver files was encoded in UTF-8 ndisgen required converters/libiconv, so that had to be installed first:`# cd /usr/ports/converters/libiconv && make install clean`All I had to do next was to run ndisgen and follow the instructions. I should mention that, for some reason, I had to run ndisgen from another directory than the driver files were located in, otherwise ndisgen failed to build the kernel modules.

Once ndisgen had finished I ended up with three .KO files, which I placed in the /boot/modules directory. I was unable to load these files using /boot/loader.conf, so I ended up making a /etc/rc.d script which can be found here. Save the script to /etc/rc.d/bcm4313 and run:`# chmod a-w+rx /etc/rc.d/bcm4313`

Done!


----------



## DwBSD (Aug 14, 2012)

Did not have a native driver for use as in linux using the wl driver?
I would not want to use the windows driver, in fact I tried it once and does not work, epseremos we can give a better answer. regards


----------



## jb_fvwm2 (Aug 14, 2012)

Since my post above, I got the chip in the laptop working and removed the edimax (not on purpose; the latter was due to a battery that needed replacing.) I believe threads in this forum detail how to install the driver from ports... and even the bios settings that may work best with it.


----------



## fbsduser (Jul 19, 2013)

jb_fvwm2 said:
			
		

> Since my post above, I got the chip in the laptop working and removed the edimax (not on purpose; the latter was due to a battery that needed replacing.) I believe threads in this forum detail how to install the driver from ports... and even the bios settings that may work best with it.



Hi. Can you please post the exact chipset of your WiFi (use a Linux Live USB/CD and at the terminal type both `sudo lsusb` and `sudo lspci | grep "Network"` and post both outputs in "CODE" tags) and the threads you used to set it up, please?

TIA.


----------



## jb_fvwm2 (Jul 19, 2013)

The model I posted is supported by the  rum  FreeBSD driver; its chipset is probably one of those at the man page for that driver; I've not time to detail either the native laptop nor the dongle setup, they were quite long ago and took a lot of time; short version -- sorry to be not of any more help here.


----------



## fbsduser (Jul 19, 2013)

jb_fvwm2 said:
			
		

> The model I posted is supported by the  rum  FreeBSD driver; its chipset is probably one of those at the man page for that driver; I've not time to detail either the native laptop nor the dongle setup, they were quite long ago and took a lot of time; short version -- sorry to be not of any more help here.


Your Edimax WiFi dongle is a Ralink chip. The one I was referring to is the laptop's native (the Broadcom internal WiFi) chip which you claim you got working, hence why I was talking about using a Linux LiveCD (it detects the internal WiFi OOTB) and typing lspci (that shows the internal PCI/PCIe hardware in the laptop).


----------



## wblock@ (Jul 19, 2013)

In FreeBSD, pciconf(8) shows the same information.  `pciconf -lv` is usually enough.

usbconfig(8) can be used to show vendor and device IDs for USB devices.


----------

