# wlan0 does not start on boot and not available for user

## ShanaXXII

```
lspci | grep Network

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

```

It was working fine a few days ago, but today when I started up my laptop, my wireless did not start up :/

It gave this error on boot:

```
*Bringing up interface wlan0

* ERROR: interface wlan0 does not exist

* Ensure that you have loaded the correct kernel module for your hardware

* ERROR: net.wlan0 failed to start
```

after boot, I would log in as user and do $ ifconfig -a

```
enp4s0: flags=4098<BROADCAST,MULTICAST>  mtu 1500

        ether b8:ac:6f:6d:c6:25  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

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 0  (Local Loopback)

        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

sit0: flags=128<NOARP>  mtu 1480

        sit  txqueuelen 0  (IPv6-in-IPv4)

        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
```

However when I become root --> $ su and do # ifconfig -a it would give me my wlan0

```
enp4s0: flags=4098<BROADCAST,MULTICAST>  mtu 1500

        ether b8:ac:6f:6d:c6:25  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

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 0  (Local Loopback)

        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

sit0: flags=128<NOARP>  mtu 1480

        sit  txqueuelen 0  (IPv6-in-IPv4)

        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

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

        ether 78:e4:00:43:d3:5e  txqueuelen 1000  (Ethernet)

        RX packets 811  bytes 309284 (302.0 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 601  bytes 166346 (162.4 KiB)

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

and I'm able to start it as root. How can I get it to start from boot/user like it was before?

----------

## Fitzcarraldo

Any error messages in the output of dmesg or in /var/log/messages?

Have you by any chance recently upgraded to udev-217 or eudev-2.1.1?

----------

## ShanaXXII

 *Fitzcarraldo wrote:*   

> Any error messages in the output of dmesg or in /var/log/messages?
> 
> Have you by any chance recently upgraded to udev-217 or eudev-2.1.1?

 

There is not /var/log/messages

Dmesg doesn't seem to have anything wrong.

I did switch from udev to eudev recently, then I switched back because some of my scripts

were giving me segmentation errors.

:/

----------

## ShanaXXII

It seems that my wireless interface is not appearing right on boot.

it appears about 10 secs after so the init script gives an error.

----------

## Fitzcarraldo

Which driver are you using? broadcom-sta (wl module)? If you are, I noticed the following thread regarding problems with that driver in kernels 3.15 and above, which might be of help to you: Solution for no wireless broadcom-sta wl for 3.15 and above.

----------

## ShanaXXII

 *Fitzcarraldo wrote:*   

> Which driver are you using? broadcom-sta (wl module)? If you are, I noticed the following thread regarding problems with that driver in kernels 3.15 and above, which might be of help to you: Solution for no wireless broadcom-sta wl for 3.15 and above.

 

I am using the b43fw-cutter

----------

## ShadowOne333

I am also having the same issue with my wireless.

Same driver and everything.

My card info:

```
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
```

When I restart/reboot the computer, net.wlan0 does not start at boot.

However... When I get to the graphical environment, "ifconfig wlan0 up" brings up wlan0 without issues.

And "/etc/init.d/net.wlan0 start" initiializes wpa_supplicant without any errors at all.

The problem is at boot, the card is not initialized at boot, only when I get into the graphical environment I can get it working.

What could be the issue here?

----------

## charles17

 *ShanaXXII wrote:*   

> There is not /var/log/messages
> 
> Dmesg doesn't seem to have anything wrong.

 

Is there any output from dmesg for your device's bus number (Bus number is left column of lspci output)? For mine I get: *Quote:*   

> $ dmesg | grep 08:00.0

  *Quote:*   

> [    0.151412] pci 0000:08:00.0: [8086:4222] type 00 class 0x028000
> 
> [    0.151463] pci 0000:08:00.0: reg 0x10: [mem 0xe8000000-0xe8000fff]
> 
> [    0.151803] pci 0000:08:00.0: PME# supported from D0 D3hot D3cold
> ...

 

 *ShadowOne333 wrote:*   

> The problem is at boot, the card is not initialized at boot, only when I get into the graphical environment I can get it working.

 What is the graphical environment you are using?

----------

## ShadowOne333

 *charles17 wrote:*   

> What is the graphical environment you are using?

 

GNOME 3.12.2 at the moment with Linux Gentoo 3.16.5.

I use WPA GUI as my wireless manager.

```
emerge --info

Portage 2.2.8-r2 (default/linux/x86/13.0/desktop/gnome/systemd, gcc-4.8.3, glibc-2.19-r1, 3.16.5-gentoo i686)

=================================================================

System uname: Linux-3.16.5-gentoo-i686-Intel-R-_Core-TM-2_Duo_CPU_T5670_@_1.80GHz-with-gentoo-2.2

KiB Mem:     3097736 total,    158772 free

KiB Swap:     524284 total,    504360 free

Timestamp of tree: Thu, 13 Nov 2014 18:00:01 +0000

ld GNU ld (Gentoo 2.24 p1.4) 2.24

app-shells/bash:          4.2_p53

dev-lang/perl:            5.18.2-r2::x-portage

dev-lang/python:          2.7.7, 3.2.5-r6, 3.3.5-r1, 3.4.1

dev-util/cmake:           2.8.12.2-r1

dev-util/pkgconfig:       0.28-r1

sys-apps/baselayout:      2.2

sys-apps/openrc:          0.12.4

sys-apps/sandbox:         2.6-r1

sys-devel/autoconf:       2.13, 2.69

sys-devel/automake:       1.10.3, 1.11.6::x-portage, 1.12.6, 1.13.4

sys-devel/binutils:       2.24-r3

sys-devel/gcc:            4.5.4, 4.8.3

sys-devel/gcc-config:     1.7.3

sys-devel/libtool:        2.4.2-r1

sys-devel/make:           4.0-r1

sys-kernel/linux-headers: 3.13 (virtual/os-headers)

sys-libs/glibc:           2.19-r1

Repositories: gentoo x-portage

ACCEPT_KEYWORDS="x86"

ACCEPT_LICENSE="* -@EULA"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-march=prescott -O2 -fomit-frame-pointer -pipe"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"

CXXFLAGS="-march=prescott -O2 -fomit-frame-pointer -pipe"

DISTDIR="/usr/portage/distfiles"

FCFLAGS="-O2 -march=i686 -pipe"

FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"

FFLAGS="-O2 -march=i686 -pipe"

GENTOO_MIRRORS="http://distfiles.gentoo.org"

LANG="en_US.utf8"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/portage"

USE="X a52 aac acl acpi alsa berkdb bluetooth branding bzip2 cairo cdda cdr cli colord cracklib crypt cups cxx dbus dri dts dvd dvdr eds emboss encode evo exif fam firefox flac fortran gdbm gif glamor gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk iconv ieee1394 introspection ipv6 jpeg lcms ldap libnotify libsecret mad mng modules mp3 mp4 mpeg nautilus ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt3support readline sdl session socialweb spell ssl startup-notification svg systemd tcpd tiff truetype udev udisks unicode upower usb v4l v4l2 vorbis wxwidgets x264 x86 xcb xml xv xvid zlib" ABI_X86="32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="synaptics keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
```

----------

## charles17

dmesg?

----------

## ShadowOne333

 *charles17 wrote:*   

> dmesg?

 

dmesg doesn't show up any error related to net.wlan0.

It all shows up normally.

Like I say, when I go into the graphical environment, the net.wlan0 starts up normally, so dmesg doesn't give me any error output regarding wlan0.

----------

## Fitzcarraldo

By any chance could this be the tg3 module conflict that some people experience (see, e.g., No network, tg3 driver [SOLVED])? If it is, you could create the Bash script /etc/local.d/broadcom.start (applies to both OpenRC and systemd) containing the following:

```
#!/bin/bash

rmmod tg3

modprobe broadcom # Or whatever the module is.

modprobe tg3
```

Make it executable:

```
# chmod +x /etc/local.d/broadcom.start
```

Reboot and check if the wireless module is running:

```
# lsmod
```

----------

## ShadowOne333

 *Fitzcarraldo wrote:*   

> By any chance could this be the tg3 module conflict that some people experience (see, e.g., No network, tg3 driver [SOLVED])? If it is, you could create the Bash script /etc/local.d/broadcom.start (applies to both OpenRC and systemd) containing the following:
> 
> ```
> #!/bin/bash
> 
> ...

 

I cannot remove the tg3 module:

```
rmmod tg3

rmmod: ERROR: Module tg3 is builtin.

```

----------

## charles17

 *ShadowOne333 wrote:*   

> Like I say, when I go into the graphical environment, the net.wlan0 starts up normally, so dmesg doesn't give me any error output regarding wlan0.

 Forget about wlan0.  What about checking dmesg for the bus number of that device as my proposal before?

----------

