我最近从 LTS 18.04 升级到 ubuntu 19.04,无法连接到家里的 wifi。
swarna@swarna-Lenovo-Ideapad-Flex-15:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 19.04
Release: 19.04
Codename: disco
我正在使用英特尔无线 7260:
swarna@swarna-Lenovo-Ideapad-Flex-15:~$ sudo lshw -class network
[sudo] password for swarna:
*-network
description: Ethernet interface
product: RTL810xE PCI Express Fast Ethernet controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:01:00.0
logical name: enp1s0
version: 08
serial: 08:9e:01:ec:56:91
size: 10Mbit/s
capacity: 100Mbit/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 duplex=half firmware=rtl8106e-2_0.0.1 04/23/13 latency=0 link=no multicast=yes port=MII speed=10Mbit/s
resources: irq:16 ioport:3000(size=256) memory:b0504000-b0504fff memory:b0500000-b0503fff
*-network
description: Wireless interface
product: Wireless 7260
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:02:00.0
logical name: wlp2s0
version: 73
serial: 0c:8b:fd:6f:5b:a8
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi driverversion=5.0.0-21-generic firmware=17.3216344376.0 ip=192.168.225.78 latency=0 link=yes multicast=yes wireless=IEEE 802.11
resources: irq:46 memory:b0400000-b0401fff
我感觉问题是由于crda,由于Process '/sbin/crda' failed with exit code 255.
日志中的错误,将IND添加到REGDOMAIN中:
swarna@swarna-Lenovo-Ideapad-Flex-15:~$ cat /etc/default/crda
# Set REGDOMAIN to a ISO/IEC 3166-1 alpha2 country code so that iw(8) may set
# the initial regulatory domain setting for IEEE 802.11 devices which operate
# on this system.
#
# Governments assert the right to regulate usage of radio spectrum within
# their respective territories so make sure you select a ISO/IEC 3166-1 alpha2
# country code suitable for your location or you may infringe on local
# legislature. See `/usr/share/zoneinfo/zone.tab' for a table of timezone
# descriptions containing ISO/IEC 3166-1 alpha2 country codes.
REGDOMAIN=IND
并重启系统。但仍然出现:
swarna@swarna-Lenovo-Ideapad-Flex-15:~$ crda
COUNTRY environment variable not set.
我还更改了 setregdomain 以将 IND 也作为 REGDOMAIN
swarna@swarna-Lenovo-Ideapad-Flex-15:/lib/crda$ cat setregdomain
#!/bin/sh
set -e
REGDOMAIN=IND
CRDA_CONF=/etc/default/crda
[ -r "$CRDA_CONF" ] && . "$CRDA_CONF"
[ -z "$REGDOMAIN" ] && exit 0
exec /sbin/iw reg set "$REGDOMAIN"
并重新启动。
还是一样 -
swarna@swarna-Lenovo-Ideapad-Flex-15:~$ crda
COUNTRY environment variable not set.
我也尝试了以下方法(在阅读了互联网上各种建议之后),但没有任何效果:
sudo service network-manager restart; reboot
sudo modprobe iwlwifi 11n_disable=1; reboot
sudo rmmod iwlmvm iwlwifi; reboot
我可以连接到其他 Wi-Fi,没有任何变化。我的系统上有双启动,Windows 可以很好地连接到我的家庭 Wi-Fi。
此外,我不确定 crda 问题是否只是一个转移注意力的花招,是否还有其他问题需要解决。
此后我无法继续。有人能告诉我我可能做错了什么并帮助我解决问题吗?如果需要附加任何其他信息,请告诉我。
发表答案,以下是日志:
我已修改 /etc/default/crda 以REGDOMAIN=IN
按照建议保存:
swarna@swarna-Lenovo-Ideapad-Flex-15:/var/log$ cat /etc/default/crda
# Set REGDOMAIN to a ISO/IEC 3166-1 alpha2 country code so that iw(8) may set
# the initial regulatory domain setting for IEEE 802.11 devices which operate
# on this system.
#
# Governments assert the right to regulate usage of radio spectrum within
# their respective territories so make sure you select a ISO/IEC 3166-1 alpha2
# country code suitable for your location or you may infringe on local
# legislature. See `/usr/share/zoneinfo/zone.tab' for a table of timezone
# descriptions containing ISO/IEC 3166-1 alpha2 country codes.
REGDOMAIN=IN
我还从 /lib/crda/setregdomain 中删除了我的更改:
#!/bin/sh
set -e
REGDOMAIN=
CRDA_CONF=/etc/default/crda
[ -r "$CRDA_CONF" ] && . "$CRDA_CONF"
[ -z "$REGDOMAIN" ] && exit 0
exec /sbin/iw reg set "$REGDOMAIN"
现在我明白了
swarna@swarna-Lenovo-Ideapad-Flex-15:~$ iw reg get
global
country IN: DFS-UNSET
(2402 - 2482 @ 40), (N/A, 20), (N/A)
(5150 - 5350 @ 160), (N/A, 23), (N/A)
(5725 - 5875 @ 80), (N/A, 23), (N/A)
但:
swarna@swarna-Lenovo-Ideapad-Flex-15:~$ crda
COUNTRY environment variable not set.
我也尝试连接到另一个 wifi,在这种情况下我没有看到 crda 错误,并且连接成功。
swarna@swarna-Lenovo-Ideapad-Flex-15:~$ nmcli device wifi list
IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY
* Lakme Infra 1 270 Mbit/s 87 ▂▄▆█ WPA1 WPA2
JioFi4_0413B0 Infra 6 65 Mbit/s 52 ▂▄__ WPA2
IvanDominic Infra 3 135 Mbit/s 19 ▂___ WPA1 WPA2
Abhi2316@kbroadband Infra 1 270 Mbit/s 9 ▂___ WPA2
答案1
虽然我怀疑 crda 不是整个问题,但我建议我们先解决它并检查日志是否有任何改进。
您上面引用的文件部分内容如下:
将 REGDOMAIN 设置为 ISO/IEC 3166-1 alpha2 国家/地区代码
如果你搜索 ISO/IEC 3166-1 alpha2,最先找到的结果之一是:https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2我们看到国家代码都是两个字母,而不是三个字母。我怀疑你想要 IN。
当然,如果不是印度,请替换您的国家代码。永久设置它:
sudo nano /etc/default/crda
将最后一行改为:
REGDOMAIN=IN
仔细校对,保存(Ctrl+o 然后按 Enter)并关闭(Ctrl+x)文本编辑器。重新启动。
有改善吗?如果没有,请发布上述日志消息。
编辑:首先,检查路由器中的设置。首选 WPA2-AES;而不是任何 WPA 和 WPA2 混合模式,当然也不是 TKIP。其次,如果您的路由器支持 N 速度,那么在 2.4 GHz 频段使用 20 MHz 的信道宽度(而不是自动 20/40 MHz)可能会获得更好的连接性,尽管它可能会影响 N 速度。我建议使用固定信道(1、6 或 11),而不是自动信道选择。此外,请确保路由器未设置为仅使用 N 速度;首选自动 B、G 和 N。进行这些更改后,重新启动路由器。
如果这些更改没有帮助,请尝试:
sudo modprobe -r iwlwifi
sudo modprobe iwlwifi 11n_disable=8
如果有帮助,请使其永久生效:
sudo -i
echo "options iwlwifi 11n_disable=8" >> /etc/modprobe.d/iwlwifi.conf
exit