I am using openSUSE Tumbleweed. I've bought a new PCI-E Wireless card, that supports 5G WiFi (Intel 5100 AGN). It doesn't show up in lspci  and even if I take old adapter out it still cannot see my new one. I have tried switching it off and on again in BIOS, but nothing helps. The driver must be installed according to firmware folder/lib/firmware/iwlwifi-100-5.ucode/lib/firmware/iwlwifi-1000-3.ucode/lib/firmware/iwlwifi-1000-5.ucode/lib/firmware/iwlwifi-105-6.ucode/lib/firmware/iwlwifi-135-6.ucode/lib/firmware/iwlwifi-2000-6.ucode/lib/firmware/iwlwifi-2030-6.ucode/lib/firmware/iwlwifi-3160-10.ucode/lib/firmware/iwlwifi-3160-12.ucode/lib/firmware/iwlwifi-3160-13.ucode/lib/firmware/iwlwifi-3160-16.ucode/lib/firmware/iwlwifi-3160-7.ucode/lib/firmware/iwlwifi-3160-8.ucode/lib/firmware/iwlwifi-3160-9.ucode/lib/firmware/iwlwifi-3945-2.ucode/lib/firmware/iwlwifi-4965-2.ucode/lib/firmware/iwlwifi-5000-1.ucode/lib/firmware/iwlwifi-5000-2.ucode/lib/firmware/iwlwifi-5000-5.ucode/lib/firmware/iwlwifi-5150-2.ucode/lib/firmware/iwlwifi-6000-4.ucode/lib/firmware/iwlwifi-6000g2a-5.ucode/lib/firmware/iwlwifi-6000g2a-6.ucode/lib/firmware/iwlwifi-6000g2b-5.ucode/lib/firmware/iwlwifi-6000g2b-6.ucode/lib/firmware/iwlwifi-6050-4.ucode/lib/firmware/iwlwifi-6050-5.ucode/lib/firmware/iwlwifi-7260-10.ucode/lib/firmware/iwlwifi-7260-12.ucode/lib/firmware/iwlwifi-7260-13.ucode/lib/firmware/iwlwifi-7260-16.ucode/lib/firmware/iwlwifi-7260-7.ucode/lib/firmware/iwlwifi-7260-8.ucode/lib/firmware/iwlwifi-7260-9.ucode/lib/firmware/iwlwifi-7265-10.ucode/lib/firmware/iwlwifi-7265-12.ucode/lib/firmware/iwlwifi-7265-13.ucode/lib/firmware/iwlwifi-7265-16.ucode/lib/firmware/iwlwifi-7265-8.ucode                                                           /lib/firmware/iwlwifi-7265-9.ucode                                                           /lib/firmware/iwlwifi-7265D-10.ucode                                                         /lib/firmware/iwlwifi-7265D-12.ucode                                                         /lib/firmware/iwlwifi-7265D-13.ucode                                                         /lib/firmware/iwlwifi-7265D-16.ucode                                                         /lib/firmware/iwlwifi-8000C-13.ucode                                                         /lib/firmware/iwlwifi-8000C-16.ucodeDMESG:rextuz@linux-c84g:~$ dmesg | grep Firmware[    0.358267] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored[    0.401370] acpi PNP0A08:00: [Firmware Info]: MMCONFIG for domain 0000 [bus 00-3f] only partially covers this bridgerextuz@linux-c84g:~$ dmesg | grep firmware[    5.713117] psmouse serio2: trackpoint: IBM TrackPoint firmware: 0x0e, buttons: 3/3[    7.639514] iwlwifi 0000:03:00.0: loaded firmware version 39.31.5.1 build 35138 op_mode iwldvm[ 5123.606856] usb 2-1.2: device firmware changed[12107.630137] usb 2-1.2: device firmware changed[12111.314260] usb 2-1.2: device firmware changedrextuz@linux-c84g:~$ dmesg | grep Wireless[    7.622057] Intel(R) Wireless WiFi driver for Linux[    7.659264] iwlwifi 0000:03:00.0: Detected Intel(R) Centrino(R) Wireless-N 1000 BGN, REV=0x6Clspci and lshwlinux-c84g:/home/rextuz # lspci -vnn | grep -i net                           00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit Network Connection [8086:1502] (rev 04)03:00.0 Network controller [0280]: Intel Corporation Centrino Wireless-N 1000 [Condor Peak] [8086:0084]linux-c84g:/home/rextuz # lshw -C network*-network                                                                                     description: Ethernet interface   product: 82579LM Gigabit Network Connection   vendor: Intel Corporation   physical id: 19   bus info: pci@0000:00:19.0   logical name: enp0s25   version: 04   serial: f0:de:f1:6f:61:8d   capacity: 1Gbit/s   width: 32 bits   clock: 33MHz   capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation   configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k firmware=0.13-3 latency=0 link=no multicast=yes port=twisted pair   resources: irq:29 memory:f2500000-f251ffff memory:f252b000-f252bfff ioport:5080(size=32)*-network DISABLED   description: Wireless interface   product: Centrino Wireless-N 1000 [Condor Peak]   vendor: Intel Corporation   physical id: 0   bus info: pci@0000:03:00.0   logical name: wlp3s0   version: 00   serial: 8c:a9:82:be:c0:9e   width: 64 bits   clock: 33MHz   capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless   configuration: broadcast=yes driver=iwlwifi driverversion=4.5.0-2-default firmware=39.31.5.1 build 35138 latency=0 link=no multicast=yes wireless=IEEE 802.11bgn   resources: irq:28 memory:f2400000-f2401fff*-network   description: Ethernet interface   physical id: 2   logical name: enp0s29u1u2   serial: c6:bc:a4:94:d0:53   capabilities: ethernet physical   configuration: broadcast=yes driver=rndis_host driverversion=22-Aug-2005 firmware=RNDIS device ip=192.168.42.209 link=yes multicast=yesHow do I make the kernel to use my new adapter instead or together with the old one?
Change Wireless adapter driver in Linux
kernel;wifi;drivers;opensuse
Your laptop has a BIOS whitelist and the Intel 5100 is not on itI would recommend calling Lenovo and ordering an Intel wifi card with 5 Ghz from them that will work with the X220 as the option to update the BIOS with a version that eliminates the whitelist might render the laptop useless.I found the maintenance manual for the X220 and the Centrino Wireless-N 1000 must have been the card it was made with and it is on the list in the maintenance manual, so that is why it worksSee http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/0a60739.pdf on page 114 and 115 it shows the wifi cards that work.  The Intel 6205 and 6300 are both listed but the 6300 may require 3 antennas.  I still recommend ordering from Lenovo as the whitelist might be looking for one variation of the card and one bought from ebay might still not work