Pin*_*e B 2 wireless lenovo networking 18.04
在尝试在联想 Yoga C930 上全新安装的 ubuntu 18.04 中诊断慢/弱 wifi 连接时,我发现了以下答案
该解决方案似乎很简单,它与我在相关类似问题中采用的解决方案有关
对“Lenovo 18.04 No Wifi Adapter Found”的后续问题
我发现重新启动我的系统使我的无线连接工作得更快,就像第一个参考问题中的 OP 一样,我对双启动 Windows 10 平台上的信号强度没有问题。我想将此解决方案应用于我的机器,但我不知道它是否适用于不同的硬件或如何适应它。因此,我提出了一个澄清问题:
modprobe在代码中做什么
sudo modprobe -v rtl8723be ant_sel=2
Run Code Online (Sandbox Code Playgroud)
以及如何调整它以适合我的系统和我的问题?
根据要求,结果lspci -nnk | grep 0280 -A3:
6b:00.0 Network controller [0280]: Intel Corporation Wireless-AC 9260 [8086:2526] (rev 29)
Subsystem: Intel Corporation Device [8086:0014]
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
毫无疑问,该命令之前是:
sudo modprobe -r rtl8723be
Run Code Online (Sandbox Code Playgroud)
这具有删除 (-r) 可能使用其默认参数加载的模块的效果。
许多驱动程序,尤其是无线驱动程序,具有可以在加载驱动程序时操作的参数;也就是说,modprobed。您可以使用以下命令查看可用参数:
modinfo rtl8723be
Run Code Online (Sandbox Code Playgroud)
我们看到以下参数:
parm: swenc:Set to 1 for software crypto (default 0) (bool)
parm: ips:Set to 0 to not use link power save (default 1) (bool)
parm: swlps:Set to 1 to use SW control power save (default 0)( bool)
parm: fwlps:Set to 1 to use FW control power save (default 1)( bool)
parm: msi:Set to 1 to use MSI interrupts mode (default 0) (bool)
parm: aspm:Set to 1 to enable ASPM (default 1) (int)
parm: debug_level:Set debug level (0-5) (default 0) (int)
parm: debug_mask:Set debug mask (default 0) (ullong)
parm: disable_watchdog:Set to 1 to disable the watchdog (default 0) (bool)
parm: ant_sel:Set to 1 or 2 to force antenna number (default 0) (int)
Run Code Online (Sandbox Code Playgroud)
这里特别有趣的是 ant_sel;也就是说,能够优先于天线 0 选择天线 1 或天线 2,我相信这意味着自动选择正确的天线。但是,rtl8723be 驱动程序和硬件组合目前还不能自动选择。通常需要测试并确定提供最强连接的天线。
如果您希望使参数永久化,请创建一个文件,告诉系统在加载模块时始终使用所选参数。从终端:
sudo -i
echo "options rtl8723be ant_sel=2" > /etc/modprobe.d/rtl8723be.conf
exit
Run Code Online (Sandbox Code Playgroud)
编辑:正如我们从您的lspci 中看到的,您的无线驱动程序是iwlwifi。您使用的是 Intel 无线设备,而不是 Realtek。您为 rtl8723be 设置的任何驱动程序参数都将无效,因为您的系统上没有 Realtek 设备来加载驱动程序和应用参数。
创建 rtl8723be.conf 文件没有坏处;然而,它也没有任何帮助。如果要删除不需要的文件,请打开终端并执行以下操作:
sudo rm /etc/modprobe.d/rtl8723be.conf
Run Code Online (Sandbox Code Playgroud)
对于 Ubuntu 的新用户来说,阅读有关解决无线问题的论坛帖子然后盲目地将其应用于他们的系统是相当普遍的。当没有改善时,他们通常会感到失望。虽然将 .conf 文件应用到您的系统以获取您的系统甚至不使用的无线驱动程序并不危险,但如果您不知道您拥有的是什么驱动程序,这将是徒劳的。我敦促所有 Ubuntu 用户在对系统应用任何修复之前确定他们拥有什么无线驱动程序。您可以使用终端命令执行此操作:
lspci -nnk | grep 0280 -A3
Run Code Online (Sandbox Code Playgroud)
例如,在确定您使用的是iwlwifi驱动程序后,如果您遇到困难,请仅搜索适用于iwlwifi 的答案,例如“慢速无线” iwlwifi 或“连接断开” iwlwifi。
然后我再次运行 modinfo,但 ant_sel 的行似乎没有改变;
它永远不会改变。它报告可用的内容。将会改变的是/sys/module/rtl8723be/parameters/ant_sel。它报告实际应用了什么。
如果您的无线设备有问题,我建议您提出一个新问题,并告诉我们您的英特尔 9260 无线设备面临什么问题。
从这里
正如rtl8723be-options提到的,将选项粘贴到
/etc/modprobe.d/rtl8723be.conf
options rtl8723be ant_sel=2
Run Code Online (Sandbox Code Playgroud)
其中,ant_sel 可以为默认的 0、1 和 2,分别为 AUX 和 MAIN 天线位置。注意:一旦 ant_sel 更改,您必须进行冷重启。应关闭电源以确保固件正在使用新值
用ant_sel=0,1,2做三个实验后,可以把最好的一个写到rtl8723be.conf中。
检查选项modinfo:
sudo modinfo rtl8723be | grep ant_sel
parm: ant_sel:Set to 1 or 2 to force antenna number (default 0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
354 次 |
| 最近记录: |