# [SOLVED] Wireless driver not loading

## fourth

[I'm a linux newbie, but have been in IT infra since the mid 90's]

I recently rebuilt my windows laptop to Gentoo. The Live CD ran Wifi fine, but once I built gentoo I got no wlan0.

Machine is a 6 year old Dell e4300, which is way to close to a modern machine in performance to just junk and start with a new machine. (1.5kg, 2.4ghz dual, 4gb, wireless n, 7200 drive.)

Looking at dmesg I see a message "ASPM doesn't have OS control."

So far I have:

-emerged linux firmware.

-set the kernel to /lib/firmware and specified the iwlwifi-5000-5.ucode 

-played with some 'fallback' setting

-rebooted after each kernel rebuild

-ensured that the Intel 5300's ilwwifi driver is loaded as a module(M) as it's on ext4 (I don't use initrd)

-Played with various ASPM settings attempting to force it off. 

-modprobe'd the device ID and looked up online to ensure the drive is iwlwifi

-possibly other things I've forgotten... 

-note I haven't tried digging through the bios yet to see if I can hard set wifi to a 'performance' type setting. 

I know this must work somehow as the bootcd I started with worked fine, but.. trying to work out what configuration differences might be relevant might be challenging.  :Smile: 

I have come across this ASPM error in many internet threads but in each case someone was doing something different to me, and their solution won't apply. Plus, I don't know if an ASPM error would even prevent the driver from loading. The errors following the ASPM one is just the iwlwifi5000.1.2.3... drivers attempting to load. (I don't quite understand the 5 files yet).

Any advice on where do I start?Last edited by fourth on Fri Oct 23, 2015 10:47 am; edited 1 time in total

----------

## charles17

 *fourth wrote:*   

> So far I have:
> 
> -emerged linux firmware.
> 
> -set the kernel to /lib/firmware and specified the iwlwifi-5000-5.ucode 
> ...

 

You should have either 

- firmware and driver both in the kernel

or

- both as modules.

What if you removed the "External firmware blobs to build into the kernel binary" and "Firmware blobs root directory"?

And, your output of "lspci -kv" and of ifconfig would be helpful for helping you.

----------

## fourth

Relevant section from lspci:

```
0c:00.0 Network controller: Intel Corporation Ultimate N WiFi Link 5300

   Subsystem: Intel Corporation Ultimate N WiFi Link 5300

   Flags: fast devsel, IRQ 17

   Memory at f69fe000 (64-bit, non-prefetchable) [size=8K]

   Capabilities: [c8] Power Management version 3

   Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+

   Capabilities: [e0] Express Endpoint, MSI 00

   Capabilities: [100] Advanced Error Reporting

   Capabilities: [140] Device Serial Number 00-16-ea-ff-ff-c3-63-c4

   Kernel modules: iwlwifi

```

all of ifconfig:

```
e4300 ~ # ifconfig

enp0s25: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.1.5  netmask 255.255.255.0  broadcast 192.168.1.255

        inet6 fe80::221:70ff:feba:565a  prefixlen 64  scopeid 0x20<link>

        ether 00:21:70:ba:56:5a  txqueuelen 1000  (Ethernet)

        RX packets 674  bytes 276869 (270.3 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 770  bytes 150971 (147.4 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

        device interrupt 22  memory 0xf6ae0000-f6b00000  

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

```

From dmesg:

```

[    0.717772] Intel(R) Wireless WiFi driver for Linux

[    0.717773] Copyright(c) 2003- 2014 Intel Corporation

[    0.717889] iwlwifi 0000:0c:00.0: can't disable ASPM; OS doesn't have ASPM control

[    0.718122] iwlwifi 0000:0c:00.0: Direct firmware load for iwlwifi-5000-5.ucode failed with error -2

[    0.718126] iwlwifi 0000:0c:00.0: request for firmware file 'iwlwifi-5000-5.ucode' failed.

[    0.718140] iwlwifi 0000:0c:00.0: Direct firmware load for iwlwifi-5000-4.ucode failed with error -2

[    0.718142] iwlwifi 0000:0c:00.0: request for firmware file 'iwlwifi-5000-4.ucode' failed.

[    0.718155] iwlwifi 0000:0c:00.0: Direct firmware load for iwlwifi-5000-3.ucode failed with error -2

[    0.718157] iwlwifi 0000:0c:00.0: request for firmware file 'iwlwifi-5000-3.ucode' failed.

[    0.718171] iwlwifi 0000:0c:00.0: Direct firmware load for iwlwifi-5000-2.ucode failed with error -2

[    0.718173] iwlwifi 0000:0c:00.0: request for firmware file 'iwlwifi-5000-2.ucode' failed.

[    0.718186] iwlwifi 0000:0c:00.0: Direct firmware load for iwlwifi-5000-1.ucode failed with error -2

[    0.718188] iwlwifi 0000:0c:00.0: request for firmware file 'iwlwifi-5000-1.ucode' failed.

[    0.718190] iwlwifi 0000:0c:00.0: no suitable firmware found!

```

kind thanks.

----------

## charles17

Maybe this older thread could help?

----------

## fourth

The solution is embarrassing. Even as a n00b I should have worked this out... well sometime in the past two weeks..lol

So... here is your punchline... 

When compiling a new kernel... make sure /boot is mounted, otherwise the file just pile up in a directory... 

The driver is loaded, the firmware is loaded... I'm on to wpa_supplicant now... 

I hope I made you smile...

----------

## charles17

 *fourth wrote:*   

> The solution is embarrassing. Even as a n00b I should have worked this out... well sometime in the past two weeks..lol
> 
> So... here is your punchline... 
> 
> When compiling a new kernel... make sure /boot is mounted, otherwise the file just pile up in a directory... 

 

Seems as if still too many wiki articles were missing a link to https://wiki.gentoo.org/wiki/Kernel/Rebuild

----------

## fourth

Curious though... fstab : 

```
e4300 ~ # cat /etc/fstab

/dev/sda2      /boot      ext2      noauto,noatime             1 2

/dev/sda4      /      ext4      rw,noatime,data=ordered     0 1

/dev/sda3      none      swap      sw                0 0

/dev/cdrom      /mnt/cdrom   auto      noauto,ro             0 0

```

But /boot is never mounted. I know there is rarely any reason to have it mounted, but this early in my configuration I'm recompiling the kernel almost daily... I honestly never though it wasn't mounted until that moment.

----------

## charles17

 *fourth wrote:*   

> But /boot is never mounted. I know there is rarely any reason to have it mounted, but this early in my configuration I'm recompiling the kernel almost daily... I honestly never though it wasn't mounted until that moment.

 

Having it not mounted is correct. That's why you have the noauto option in the /dev/sda2 line.

----------

## fourth

Kind thanks.

----------

## muhsinzubeir

Hello,

Sorry to bump into this old thread, could you tell us which kernel version you are using i.e $ uname -a ?

I have the same exact hardware and I have it running but on on old kernel 3.14.58-gentoo-r1. The only reason I am afraid to upgrade as I have tried in the past, the wireless card wont work in the new kernel.Thats why I am curious if its actually working for some users with recent or atleast anything around 4.xx of the kernel.

Many thanks

Muhsin

----------

