# Kernel options for BCM4312?

## The_Great_Sephiroth

I have a laptop I am working on installing Gentoo on, but have a strange case. I can see the wireless NIC in lspci, but not in the interfaces list. I built the options for it into my kernel and installed "linux-firmware", but it is not coming up. I assumed I only needed the firmware and the kernel options. The live CD uses b43-pci-bridge according to lspci -nnk outside the chroot. What am I missing?

----------

## Jaglover

You need firmware in kernel, too, if you built the driver into kernel.

----------

## NeddySeagoon

The_Great_Sephiroth,

Or to expand on what Jaglover said ...

With the module built into the kernel, it cannot load fimware from /lib/firmware as root is not mounted when it tries. That fails.

With the module as a module and fimware in the kernel, the firmware has already been discarded when the module loads.  That fails too.

Both the module and firmware in the same place work.  

However, WiFi often needs fine tuninig winh module parameters, so until you know if you need module parameters and what they are, the module and /lib/firmware approach is advised.

You can pass parameters to built in modules on the kernel command line but its a reboot to change them.  modprobe - r followed by modprobe <modname> <p1=x> <p2=y> etc, is much faster.

----------

## Jaglover

You should get into habit checking dmesg. Answers are usually there.

----------

## The_Great_Sephiroth

I did not realize that firmware had to be in-kernel if the driver was. I know how to do that since I had to do it for my bosses laptop, which he absolutely loves again! I'll rebuild on the live CD and try again. Thank you so much! Merry Christmas to you both, you have both been a great help since I started tinkering with Gentoo. I hope you both have a good one!

----------

## Jaglover

You are welcome and Merry Christmas to you!

----------

## The_Great_Sephiroth

Is there a way in the future to prevent a thousand builds for firmware? It said it needed b43/ucode15.fw, so I rebuilt and added it. Booted in and this time it moaned about lp0initvals15.fw! What next? Is there a way to get a listing of what it needs so I can fix it right the first time?

----------

## ShanaXXII

 *The_Great_Sephiroth wrote:*   

> Is there a way in the future to prevent a thousand builds for firmware? It said it needed b43/ucode15.fw, so I rebuilt and added it. Booted in and this time it moaned about lp0initvals15.fw! What next? Is there a way to get a listing of what it needs so I can fix it right the first time?

 

If you are talking about the linux-firmware package, 

You can compile it with the savedconfig flag.

Then go into /etc/portage/savedconfig/<package category>/<package>/ and edit its config file. Then recompile it and it will only compile the uncommented firmware

----------

## NeddySeagoon

The_Great_Sephiroth,

Happy Christmas to you too. 

You could read the driver sources to see what firmware int tries to load.  That may be non trivial, as its probably device dependent and one kernel module my drive many different devices.

Google may know.

----------

## The_Great_Sephiroth

I finally got it. It loads four firmware files. One of the MANY reasons I don't buy cheap laptops. Most cheap ones have Broadcom in them. My Latitudes all have Atheros or Intel in them.

Anyway, thanks for the tips. I will put them to use the next time I have a stupid Broadcom card in a system. The system is almost done building now and I am happy with it, so I know my buddy will be too.

----------

