15

Recently I installed Ubuntu 16.04 on MSI GS63VR laptop with dual boot (with Windows 10). This laptop has Killer 1535 Wi-Fi adapter (with QCA6174 chip). I followed instructions on their official site:

Ubuntu 16.04

The built in drivers should work without any changes, though you may need to update your wireless firmware:

wget http://mirrors.kernel.org/ubuntu/pool/main/l/linux-firmware/linux-firmware_1.162_all.deb
sudo dpkg -i linux-firmware*.deb
sudo modprobe -r ath10k_pci && sudo modprobe ath10k_pci

One remark though - the mentioned file does not exist anymore and thus info is a bit outdated. So I checked the whole list and used the latest available version (1.164) instead.

Even Wi-Fi networks are visible, unfortunately I can't connect to my home Wi-Fi. I checked the password multiple times, it's correct for sure.

The strange thing is that I can connect to my Android access point set on smartphone. Also other devices at home can connect to this Wi-Fi without any problems, and it works fine on Windows 10 on the same laptop from the same distance. So I'm forced to use Android access point as a temporary workaround now.

The router is placed in the hall (mounted on the wall about 1 meter and a half from the floor). The distance is: hall - living room - my room (approximately 8-9 meters). If i come close to the router, I can instantly connect to home Wi-Fi and speed is pretty good. And even inside of my room, If I come to the doorway (about 1 meter and a half away from my working table), I'm able to connect and speed is pretty good. With laptop placed on working table, I can't connect at all or If I'm lucky to connect (happens very very seldom) the network is unusable. If I move laptop to my bed the chance to connect is a bit higher but speed is very very slow so it's also unusable.

Moving router (or myself closer to it) is not an option for me now, also this will solve this problem only locally (for my environment only).

So I think the reason is either the drivers or Ubuntu specific settings, because it's fine on Windows 10 from the same distance with this laptop.

Important note: Before posting this I searched a lot and tried what is suggested in similar questions. None of those advices worked for me.

The relevant output of:

sudo lshw -c network

is:

description: Wireless interface
product: QCA6174 802.11ac Wireless Network Adapter
vendor: Qualcomm Atheros
physical id: 0
bus info: pci@0000:3e:00.0
logical name: wlp62s0
version: 32
serial: **:**:**:**:**:**
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=ath10k_pci driverversion=4.8.0-36-generic firmware=WLAN.RM.2.0-00180-QCARMSWPZ-1 ip=***.***.**.* latency=0 link=yes multicast=yes wireless=IEEE 802.11
resources: irq:132 memory:df200000-df3fffff

The output of:

dmesg | grep ath10k

is:

[    3.086898] ath10k_pci ****:**:**.*: enabling device (0000 -> 0002)
[    3.087198] ath10k_pci ****:**:**.*: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[    3.372179] ath10k_pci ****:**:**.*: Direct firmware load for ath10k/pre-cal-pci-****:**:**.*.bin failed with error -2
[    3.372184] ath10k_pci ****:**:**.*: Direct firmware load for ath10k/cal-pci-****:**:**.*.bin failed with error -2
[    3.372360] ath10k_pci ****:**:**.*: Direct firmware load for ath10k/QCA6174/hw3.0/firmware-5.bin failed with error -2
[    3.372361] ath10k_pci ****:**:**.*: could not fetch firmware file 'ath10k/QCA6174/hw3.0/firmware-5.bin': -2
[    3.373277] ath10k_pci ****:**:**.*: qca6174 hw3.2 target 0x05030000 chip_id 0x00340aff sub 1a56:1535
[    3.373277] ath10k_pci ****:**:**.*: kconfig debug 0 debugfs 1 tracing 1 dfs 0 testmode 0
[    3.373623] ath10k_pci ****:**:**.*: firmware ver WLAN.RM.2.0-00180-QCARMSWPZ-1 api 4 features wowlan,ignore-otp,no-4addr-pad crc32 75dee6c5
[    3.436610] ath10k_pci ****:**:**.*: board_file api 2 bmi_id N/A crc32 8c15898f
[    5.561030] ath10k_pci ****:**:**.*: htt-ver 3.26 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1
[    5.656429] ath10k_pci ****:**:**.* wlp62s0: renamed from wlan0

Here is the log of connection to Android access point:

[  107.007374] wlp62s0: authenticate with **:**:**:**:**:**
[  107.057897] wlp62s0: send auth to **:**:**:**:**:** (try 1/3)
[  107.059728] wlp62s0: authenticated
[  107.061296] wlp62s0: associate with **:**:**:**:**:** (try 1/3)
[  107.064661] wlp62s0: RX AssocResp from **:**:**:**:**:** (capab=0x411 status=0 aid=1)
[  107.067985] wlp62s0: associated
[  107.068042] IPv6: ADDRCONF(NETDEV_CHANGE): wlp62s0: link becomes ready

And here is the log of connection to home Wi-Fi:

[  101.628172] wlp62s0: authenticate with **:**:**:**:**:**
[  101.674946] wlp62s0: send auth to **:**:**:**:**:** (try 1/3)
[  101.679850] wlp62s0: send auth to **:**:**:**:**:** (try 2/3)
[  101.684955] wlp62s0: send auth to **:**:**:**:**:** (try 3/3)
[  101.690259] wlp62s0: authentication with **:**:**:**:**:** timed out
[  102.308700] IPv6: ADDRCONF(NETDEV_UP): wlp62s0: link is not ready

I used:

dmesg | grep wlp62s0

command to retrieve this information.

Some of the advices recommend to replace firmware files from kvalo/ath10k-firmware repo so I decided to give it a try too:

cd ~/programs/
git clone https://github.com/kvalo/ath10k-firmware.git
sudo rm -rf /lib/firmware/ath10k/QCA6174/
sudo cp -r ath10k-firmware/QCA6174 /lib/firmware/ath10k/
cd /lib/firmware/ath10k/QCA6174/hw2.1/
sudo mv firmware-5.bin_SW_RM.1.1.1-00157-QCARMSWPZ-1 firmware-5.bin
cd ../hw3.0
sudo mv firmware-4.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1 firmware-4.bin
sudo modprobe -r ath10k_pci && sudo modprobe ath10k_pci
reboot

Unfortunately this did not help too.

Here is what I tried additionally:

1) I disabled IPv6 using this method. Now these kind of errors - "IPv6: ADDRCONF(NETDEV_UP): wlp62s0: link is not ready" are gone, but authentication is still timing out:

2) I changed power management settings as suggested by Jeremy31 in this answer. Now sometimes the process goes a bit further:

[   76.352810] wlp62s0: authenticate with **:**:**:**:**:**
[   76.400120] wlp62s0: send auth to **:**:**:**:**:** (try 1/3)
[   76.405250] wlp62s0: authenticated
[   76.407644] wlp62s0: associate **:**:**:**:**:** (try 1/3)
[   76.418128] wlp62s0: RX AssocResp from **:**:**:**:**:** (capab=0x431 status=0 aid=2)
[   76.421150] wlp62s0: associated
[  122.364346] wlp62s0: deauthenticating **:**:**:**:**:** by local choice (Reason: 3=DEAUTH_LEAVING)

In other cases I get timeout like in Update 1.

3) Changed router settings to use WPA2 encryption only. Experimented with other settings like mode, channel, channel bandwidth. Tried to manually set connection properties (address, network, gateway and DNS) as suggested by provider.

4) Set wireless regulatory domain to my country code (KZ, stands for Kazakhstan).

Log contents after applying that:

[    5.958257] ath: EEPROM regdomain: 0x6c
[    5.958258] ath: EEPROM indicates we should expect a direct regpair map
[    5.958259] ath: Country alpha2 being used: 00
[    5.958259] ath: Regpair used: 0x6c
[    5.963073] ath10k_pci 0000:3e:00.0 wlp62s0: renamed from wlan0

5) Tried to change skip_otp option:

echo "options ath10k_pci skip_otp=y"  >  /etc/modprobe.d/ath10k.conf

This did not help and additionally gives this line in the log:

[    3.381182] ath10k_pci: unknown parameter 'skip_otp' ignored

6) Tried to use other firmware versions, 1.157.9 for example.

Also I asked the same question on Ubuntu Forums, but still no success. This is the biggest issue for me now because I can't work normally without good network connection.

Any help and advices is appreciated. If you need more info, please let me know.

arogachev
  • 155
  • 2
    Since you can connect to the Android hotspot, the wireless seems to be working. I suspect it's a problem at the router, not your computer. Do you, perhaps, have MAC filtering active on the WiFi router, and didn't add the MAC of the laptop too it? Or, have you exhausted the number of DHCP addresses set in the router's set up. Either could cause the router to not allow the connection. The brief time you could connect might have been while some other device on the network was not connected, and that opened up an address for the laptop, but in the testing you lost it to the other device again. –  Apr 16 '17 at 06:18
  • @GypsySpellweaver Thanks for your suggestion but there are no such limitations in router's settings. – arogachev Apr 16 '17 at 07:42
  • 1
    Is the router capable of wireless N or AC? Is it using WEP or TKIP encryption? – Jeremy31 Apr 16 '17 at 10:02
  • @Jeremy31 The protocol is 802.11n, security type is WPA2 Personal, WPA encryption mode is AES (it's possible to switch it to TKIP in router settings). – arogachev Apr 16 '17 at 10:48
  • 1
    See my answer here and see if it helps – Jeremy31 Apr 16 '17 at 11:38
  • @Jeremy31 Thanks, I tried that. Now I get "deauthenticating ... by local choice (Reason: 3=DEAUTH_LEAVING)" (see Update 2 in initial question for more details). – arogachev Apr 16 '17 at 17:21
  • 2
    Your post on UF shows that WPA and WPA2 are enabled on the router, can you disable WPA and leave just WPA2 encryption, also try moving closer to the access point – Jeremy31 Apr 16 '17 at 20:07
  • Similar story here with GS73VR with an exception that I sit closer to a router. Having my laptop situated at ~4m from router it connects to wifi stably but the speed is low - like 1-2 Mbs in Ubuntu (16.04 with firmware 1.167) vs ~25Mbs in Windows 10 in exactly the same location. Moving a bit farther (4.5-5m) makes wifi connection very unstable and the speed drops even more. Did you manage to find some working solution to improve all this situation with Killer 1535 in Ubuntu ? It looks like I tried already all the suggestions I could find. – trushkevich Aug 04 '17 at 21:20
  • Similar story here with Alienware 17R3 with an exception it sits 2-3 meters from router in line of sight. Speed is 6 Mbps. Not a concern as Killer Ethernet is used: Ethernet controller: Qualcomm Atheros Killer E2400 Gigabit Ethernet Controller (rev 10). The WiFi card is one revision newer: 3c:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32) – WinEunuuchs2Unix Jan 14 '18 at 03:51
  • I noticed you "unaccepted" my answer. I'm not sure why but I've revised it today. – WinEunuuchs2Unix May 12 '18 at 23:09

3 Answers3

2

All though there were bugs with QCA6174 back when this question was posted they have been fixed. Granted new ones may still occur. To fix these old bugs use:

sudo apt update
sudo apt upgrade

New installations will not have the old bugs listed above and will have no need to do anything to fix the old bugs.

Contrary to your link on Network Manager Power Saving I have my card setup the opposite way:

$ cat /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
[connection]
wifi.powersave = 3
# Slow sleep fix: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1670041
#wifi.powersave = 2
0

Have you tried with the .deb that was proposed on https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1436940/comments/153 ?

http://people.canonical.com/~sforshee/lp1436940/linux-firmware_1.157+lp1436940v201605310852_all.deb

It looks like it worked for others with the same card. Alternatively the GitHub link for the project seems to be: https://github.com/kvalo/ath10k-firmware

karel
  • 114,770
Tux
  • 101
  • Github: Alternatively the link for the project seems to be https://github.com/kvalo/ath10k-firmware – Tux May 07 '17 at 18:14
  • Thanks for trying to help. I tried both .deb from comment and using latest QCA6174 folder from kvalo/ath10k-firmware. Unfortunately still can't connect from this distance. – arogachev May 13 '17 at 07:17
0

Your output from dmesg indicates:

could not fetch firmware file 'ath10k/QCA6174/hw3.0/firmware-5.bin'

However your attempt to resolve this with the kvalo firmware places the firmware-5.bin file in /lib/firmware/ath10k/QCA6174/hw2.1/ rather than ..../ath10k/QCA6174/hw3.0/ where it's expecting to find it. Everything beyond that is likely superfluous as the requested firmware isn't found.

Elder Geek
  • 36,023
  • 25
  • 98
  • 183