# Lenovo V570 + Intel(R) Centrino(R) Wireless-N + WiMAX 6150 B

## wjholden

I had a pretty bad time getting my wireless card working with my new laptop.  I finally found in dmesg where I was having an error about a missing .ucode file:

```
Jun  7 21:46:54 localhost kernel: [    7.158298] iwlwifi 0000:02:00.0: request for firmware file 'iwlwifi-6050-5.ucode' failed.

Jun  7 21:46:54 localhost kernel: [    7.159146] iwlwifi 0000:02:00.0: request for firmware file 'iwlwifi-6050-4.ucode' failed.

Jun  7 21:46:54 localhost kernel: [    7.159149] iwlwifi 0000:02:00.0: no suitable firmware found!

Jun  7 21:46:54 localhost kernel: [    7.159416] iwlwifi 0000:02:00.0: PCI INT A disabled
```

But I could see it was detecting the hardware just fine:

```
Jun  7 21:46:54 localhost kernel: [    0.587016] Intel(R) Wireless WiFi Link AGN driver for Linux, in-tree:

Jun  7 21:46:54 localhost kernel: [    0.587106] Copyright(c) 2003-2011 Intel Corporation

Jun  7 21:46:54 localhost kernel: [    0.587202] iwlwifi 0000:02:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17

Jun  7 21:46:54 localhost kernel: [    0.587285] iwlwifi 0000:02:00.0: setting latency timer to 64

Jun  7 21:46:54 localhost kernel: [    0.587301] iwlwifi 0000:02:00.0: pci_resource_len = 0x00002000

Jun  7 21:46:54 localhost kernel: [    0.587376] iwlwifi 0000:02:00.0: pci_resource_base = ffffc90000c74000

Jun  7 21:46:54 localhost kernel: [    0.587451] iwlwifi 0000:02:00.0: HW Revision ID = 0x67

Jun  7 21:46:54 localhost kernel: [    0.587607] iwlwifi 0000:02:00.0: irq 41 for MSI/MSI-X

Jun  7 21:46:54 localhost kernel: [    0.587647] iwlwifi 0000:02:00.0: Detected Intel(R) Centrino(R) Wireless-N + WiMAX 6150 BGN, REV=0x84

Jun  7 21:46:54 localhost kernel: [    0.587811] iwlwifi 0000:02:00.0: L1 Enabled; Disabling L0S

Jun  7 21:46:54 localhost kernel: [    0.598552] iwlwifi 0000:02:00.0: device EEPROM VER=0x557, CALIB=0x6

Jun  7 21:46:54 localhost kernel: [    0.598628] iwlwifi 0000:02:00.0: Device SKU: 0X150

Jun  7 21:46:54 localhost kernel: [    0.598700] iwlwifi 0000:02:00.0: Valid Tx ant: 0X1, Valid Rx ant: 0X3

Jun  7 21:46:54 localhost kernel: [    0.598784] iwlwifi 0000:02:00.0: Tunable channels: 13 802.11bg, 0 802.11a channels

Jun  7 21:46:54 localhost kernel: [    0.599015] iwl4965: Intel(R) Wireless WiFi 4965 driver for Linux, in-tree:

Jun  7 21:46:54 localhost kernel: [    0.599117] iwl4965: Copyright(c) 2003-2011 Intel Corporation

Jun  7 21:46:54 localhost kernel: [    0.599228] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, in-tree:s

Jun  7 21:46:54 localhost kernel: [    0.599333] iwl3945: Copyright(c) 2003-2011 Intel Corporation
```

So all you need to do is emerge net-wireless/iwl6050-ucode. The only thing I had changed in /etc/ is add this to /etc/conf.d/net

```
modules=( "iwconfig" "wpa_supplicant" )
```

Then I followed the Wiki for NetworkManager with success.

Looking at my dmesg I now realize I have a lot of stuff turned on that I don't need.  You'll only need to have IWLWIFI compiled into your kernel or available as a module.

```
  │ Symbol: IWLWIFI [=y]                                                                                                                                           │  

  │ Type  : tristate                                                                                                                                               │  

  │ Prompt: Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi)                                                                          │  

  │   Defined at drivers/net/wireless/iwlwifi/Kconfig:1                                                                                                            │  

  │   Depends on: NETDEVICES [=y] && WLAN [=y] && PCI [=y] && MAC80211 [=y]                                                                                        │  

  │   Location:                                                                                                                                                    │  

  │     -> Device Drivers                                                                                                                                          │  

  │       -> Network device support (NETDEVICES [=y])                                                                                                              │  

  │         -> Wireless LAN (WLAN [=y])                                                                                                                            │  

  │   Selects: FW_LOADER [=y] && NEW_LEDS [=y] && LEDS_CLASS [=y] && LEDS_TRIGGERS [=y] && MAC80211_LEDS [=y]
```

...and of course, now that I'm finished writing all of this, I find a wifi page with more detail, damnit. Happy hunting!

----------

## wjholden

Follow-up: if you emerge net-wireless/iwl6050-ucode like I did then your driver will not survive a kernel upgrade. You will have much better luck with sys-kernel/linux-firmware.

----------

## wjholden

Ok, got another update. I had even more trouble with this after upgrading to Systemd and resorted to compiling the firmware directly into my kernel, as suggested in a similar f.g.o. post: https://forums.gentoo.org/viewtopic-t-955322-start-0.html

```
CONFIG_EXTRA_FIRMWARE="iwlwifi-6050-5.ucode"

CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
```

----------

