First let me just say I didn't just come on here and post without reading through hours of "solutions" on multiple forums. I tried to get the answer to this and I want to know if it is more of a lost cause or if I missed something. I just bought a Lenovo Ideapad Y700 15ACZ. In windows 10 everything is great but when I try to use any linux distro, right now on kali linux 2016 rolling, I cannot get wifi to work. At startup it states hardware is disabled. I learned that essentially linux thinks there is an actual switch but in fact there isn't so I tried blacklisting ideapad_laptop. This allows me to connect to the internet but after about 5 minutes I have no internet access BUT it shows still connected to my wireless network. Here are a couple things that might help:

====Kernel====
4.3.0-kali1-amd64

====rfkill list====
3: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
4: hci0: Bluetooth
Soft blocked: yes
Hard blocked: no


====iwconfig wlan0====
wlan0 IEEE 802.11abgn ESSID:"VILLANET"
Mode:Managed Frequency:2.427 GHz Access Point: 84:61:A0:B3:C60
Bit Rate=72.2 Mb/s Tx-Power=20 dBm
Retry short limit:7 RTS thr=2347 B Fragment thrff
Encryption keyff
Power Managementff
Link Quality=70/70 Signal level=-36 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:64 Missed beacon:0

====ifconfig wlan0====
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.135 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 2602:306:3039:7470:4ae2:44ff:fe82:59df prefixlen 64 scopeid 0x0<global>
inet6 2602:306:3039:7470:6944:7bc8:4b23:bf37 prefixlen 64 scopeid 0x0<global>
inet6 2602:306:3039:7470::b prefixlen 128 scopeid 0x0<global>
inet6 fe80::4ae2:44ff:fe82:59df prefixlen 64 scopeid 0x20<link>
ether 48:e2:44:82:59:df txqueuelen 1000 (Ethernet)
RX packets 65630 bytes 80932910 (77.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 34023 bytes 3850390 (3.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

====route -n====
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.254 0.0.0.0 UG 600 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 wlan0

====ping -c4 192.168.1.254====
PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.
From 192.168.1.135 icmp_seq=1 Destination Host Unreachable
From 192.168.1.135 icmp_seq=2 Destination Host Unreachable
From 192.168.1.135 icmp_seq=3 Destination Host Unreachable
From 192.168.1.135 icmp_seq=4 Destination Host Unreachable


====ping -c4 google.com====
ping: unknown host google.com