# "wlan0 up/start" not working after @world update.

## ShadowOne333

Good day community.

I have finally updated everything related to my system from a 2 year old portage tree.

Everything went quite well, until I rebooted the system and saw that WiFi was not working anymore.

Whenever I try to bring up wlan0, this is what I get:

```
ifconfig wlan0 up

SIOCSIFFLAGS: No such file or directory
```

Here is the dmesg output:

```
dmesg -c

[13390.048185] b43-phy0 ERROR: Firmware file "b43/ucode15.fw" not found

[13390.048190] b43-phy0 ERROR: Firmware file "b43-open/ucode15.fw" not found

[13390.048195] b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website.
```

My lspci output for that specific device (yeah it is a broadcom):

```
06:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)

   Subsystem: Dell Wireless 1395 WLAN Mini-Card

   Kernel driver in use: b43-pci-bridge

   Kernel modules: wl
```

And the conf.d/net:

```
# This blank configuration will automatically use DHCP for any net.*

# scripts in /etc/init.d.  To create a more complete configuration,

# please review /usr/share/doc/openrc*/net.example* and save your configuration

# in /etc/conf.d/net (this file :]!).

config_wlan0=( "dhcp" )

modules="wpa_supplicant"

wpa_supplicant_eth0="-Dmadwifi"

wpa_supplicant_wlan0="-Dwext"

# The network scripts are now part of net-misc/netifrc

# In order to avoid sys-apps/openrc-0.12.4 from removing this file, this commen$

# added; you can safely remove this comment.  Please see

# /usr/share/doc/netifrc*/README* for more information.
```

The same happens when trying to start wlan0:

```
/etc/init.d/net.wlan0 start

 * Bringing up interface wlan0

 *   Starting wpa_supplicant on wlan0 ...

Successfully initialized wpa_supplicant

Could not set interface wlan0 flags (UP): No such file or directory

WEXT: Could not set interface 'wlan0' UP

wlan0: Failed to initialize driver interface

 *   start-stop-daemon: failed to start `/usr/sbin/wpa_supplicant'        [ !! ]

 * ERROR: net.wlan0 failed to start

```

I am well aware that the firmware files are not being loaded, which is the problem here.

Although, I recall doing this exact solution from here:

http://wireless.kernel.org/en/users/Drivers/b43#other_distros

To get it working the first time around.

Now I try to apply the same thing, download the tar, extract it and then move it to /lib/firmware.

I have the b43 folder there with the ucode15.fw file, but it STILL doesn't load it. Here's is an image of the file inside the path mentioned in the b43 website:

http://tinypic.com/r/2vl1ees/8

What can I do from there?

I already tried several other cases which do "almost" the same (wget, extract, move), but I still can't get it working with ifconfig up.

Is there some step I am missing to reload the firmware or make it know where it is exactly?

----------

## NeddySeagoon

ShadowOne333,

Some wild guesses.  

You have a new udev, whch no longer does any firmware loading but have not enabled fimware loading in the kernel.

The files 

```
[13390.048185] b43-phy0 ERROR: Firmware file "b43/ucode15.fw" not found

[13390.048190] b43-phy0 ERROR: Firmware file "b43-open/ucode15.fw" not found 
```

need to be present in /lib/firmware

wlan0 has been renamed by udev ... but with missing fimware, it may just be missing entirely.

----------

## ShadowOne333

 *NeddySeagoon wrote:*   

> You have a new udev, whch no longer does any firmware loading but have not enabled fimware loading in the kernel.

 

I did read something about it, that older udevs used to load firmware, but with newer ones that's not present anymore.

Exactly what version of udev changed that? Last one I had was udev-171 and that was working fine with b43.

Also, I think it is worth nothing that I don't have sys-fs/udev merged in the system, I have systemd.

 *Quote:*   

> The files 
> 
> ```
> [13390.048185] b43-phy0 ERROR: Firmware file "b43/ucode15.fw" not found
> 
> ...

 

I do have the files in /lib/firmware.

Actually, I included a link to an image that shows the exact path of the b43 folder with the ucode15.fw file in it.

Here:

http://tinypic.com/r/2vl1ees/8

 *Quote:*   

> wlan0 has been renamed by udev ... but with missing fimware, it may just be missing entirely.

 

Renamed?

How exactly?

If I do ifconfig or iwconfig, I still get wlan0 showing up:

```
ifconfig -a

wlan0: flags=4098<BROADCAST,MULTICAST>  mtu 1500

        ether 00:24:2b:d6:8c:99  txqueuelen 1000  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
```

```
iwconfig

lo        no wireless extensions.

sit0      no wireless extensions.

wlan0     IEEE 802.11bg  ESSID:off/any  

          Mode:Managed  Access Point: Not-Associated   Tx-Power=0 dBm   

          Retry  long limit:7   RTS thr:off   Fragment thr:off

          Encryption key:off

          Power Management:on

          

eth0      no wireless extensions.
```

----------

## NeddySeagoon

ShadowOne333,

I can't support systemd, as I don't use it.

udev is a part of systemd, so you still have the udev code.

Your fimware install looks OK.  Did you check your kernel?

----------

## ShadowOne333

 *NeddySeagoon wrote:*   

> ShadowOne333,
> 
> I can't support systemd, as I don't use it.
> 
> udev is a part of systemd, so you still have the udev code.
> ...

 

Yep I did.

The kernel still has the same Device Drivers and modules installed I had before I updated my system.

Which is the Broadcomm 43XX driver (b43-pci-bridge is driver the kernel had in use before the update, and it still appears as that one).

I removed those same drivers from the kernel, make, make install, and then enabled them again and ran make, make install once more to be sure.

But no luck, that ucode15.fw is still showed as not found.

----------

## NeddySeagoon

ShadowOne333,

```
$ grep FW_LOAD /usr/src/linux/.config

CONFIG_FW_LOADER=y
```

You need that in your kernel now.

----------

## ShadowOne333

@NeedySeagon:

I ran that exact command and got the same output as you do.

I copied the b43 folder to every damn firmware folder in the PC and I still can't get anything. XD

It still says that ucode15.fw is not found. o.O

----------

## mahnmut

 *ShadowOne333 wrote:*   

> @NeedySeagon:
> 
> I ran that exact command and got the same output as you do.
> 
> I copied the b43 folder to every damn firmware folder in the PC and I still can't get anything. XD
> ...

 

Did you find a solution ?

I had the same problem.

Everything similar.

Firmware present, b43 enabled in kernel.

But unable to load it and to have a working wifi.

----------

## fear0fSociety

 *ShadowOne333 wrote:*   

> 
> 
> ```
> [13390.048185] b43-phy0 ERROR: Firmware file "b43/ucode15.fw" not found 
> 
> ...

 

```
~ $ equery l sys-firmware/b43-firmware

[IP-] [  ] sys-firmware/b43-firmware-6.30.163.46:b43

```

```
~ $ cat /usr/src/linux/.config | grep CONFIG_EXTRA_FIRMWARE

CONFIG_EXTRA_FIRMWARE="b43/ucode15.fw b43/lp0initvals15.fw b43/lp0bsinitvals15.fw"

CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
```

working

----------

## MidnightCheese

I solved this by recompiling the kernel with the broadcom drivers as modules, and making sure I had emerged b43-firmware. This post helped: https://forums.gentoo.org/viewtopic-t-1055210-highlight-b43phy0+error.html

----------

