未找到 Wifi 适配器,然后修复,现在又丢失了,相同的解决方案不起作用:执行格式错误

未找到 Wifi 适配器,然后修复,现在又丢失了,相同的解决方案不起作用:执行格式错误

我正在使用我的新 HP 笔记本电脑,其中全新安装了 Ubuntu 18.04,名为 Bionic Beaver。由于未检测到 wifi 适配器,因此我按照本文中的步骤操作:http://ubuntuhandbook.org/index.php/2018/08/no-wifi-adapter-found-hp-laptops-ubuntu-18-04/

之后一切正常。步骤如下:

git clone https://github.com/lwfinger/rtlwifi_new.git

cd rtlwifi_new/ && git checkout origin/extended -b extended

sudo apt-get install linux-headers-generic build-essential git

sudo make install

sudo modprobe -r rtl8723de

sudo modprobe rtl8723de

成功了!它很弱,但使用以下命令它变得更强了:

sudo modprobe -r rtl8723de && sleep 5 && sudo modprobe rtl8723de ant_sel=2

我很高兴,后来我关掉了电脑。今天,我启动了它,但还是没有检测到 wifi 适配器。我仍然有 git 存储库和扩展分支,所以我再次运行了命令,我想我必须编写一个脚本在每次启动时运行。

但运行该sudo modprobe rtl8723de命令会出现以下错误:

modprobe: ERROR: could not insert 'rtl8723de': Exec format error

根据中的评论此主题,没有得到最终答案,我尝试了“sudo make uninstall” Pilot6 的评论

但是它没有检测到wifi,当我重新安装时,情况还是一样。

为什么我的修复没有“成功”?我该如何“重置”或让它再次工作?


根据评论指示,运行结果如下make

make -C /lib/modules/4.18.0-16-generic/build M=/home/alex/rtlwifi_new modules make[1]: Entering directory '/usr/src/linux-headers-4.18.0-16-generic' Building modules, stage 2. MODPOST 19 modules make[1]: Leaving directory '/usr/src/linux-headers-4.18.0-16-generic'

分离这些命令对输出没有影响sudo modprobe rtl8723de


再次按照指示:

结果:dpkg -l * 4.18 * | grep ii

ii linux-headers-4.18.0-15 4.18.0-15.16~18.04.1 all Header files related to Linux kernel version 4.18.0 ii linux-headers-4.18.0-15-generic 4.18.0-15.16~18.04.1 amd64 Linux kernel headers for version 4.18.0 on 64 bit x86 SMP ii linux-headers-4.18.0-16 4.18.0-16.17~18.04.1 all Header files related to Linux kernel version 4.18.0 ii linux-headers-4.18.0-16-generic 4.18.0-16.17~18.04.1 amd64 Linux kernel headers for version 4.18.0 on 64 bit x86 SMP ii linux-image-4.18.0-15-generic 4.18.0-15.16~18.04.1 amd64 Signed kernel image generic ii linux-image-4.18.0-16-generic 4.18.0-16.17~18.04.1 amd64 Signed kernel image generic ii linux-modules-4.18.0-15-generic 4.18.0-15.16~18.04.1 amd64 Linux kernel extra modules for version 4.18.0 on 64 bit x86 SMP ii linux-modules-4.18.0-16-generic 4.18.0-16.17~18.04.1 amd64 Linux kernel extra modules for version 4.18.0 on 64 bit x86 SMP ii linux-modules-extra-4.18.0-15-generic 4.18.0-15.16~18.04.1 amd64 Linux kernel extra modules for version 4.18.0 on 64 bit x86 SMP ii linux-modules-extra-4.18.0-16-generic 4.18.0-16.17~18.04.1 amd64 Linux kernel extra modules for version 4.18.0 on 64 bit x86 SMP

结果:modinfo rtl8723de | grep ver

filename: /lib/modules/4.18.0-16-generic/kernel/drivers/net/wireless/realtek/rtlwifi/rtl8723de/rtl8723de.ko srcversion: 37BE84E7F4EC43A12099BF7 vermagic: 4.18.0-15-generic SMP mod_unload


这是 DKMS 的 Make 日志文件:

DKMS make.log for rtlwifi_new-0.6 for kernel 4.18.0-16-generic (x86_64) vie mar 15 19:36:12 -05 2019 make: Entering directory '/usr/src/linux-headers-4.18.0-16-generic' scripts/Makefile.build:45: /var/lib/dkms/rtlwifi-new/0.6/build/Makefile: No such file or directory make[1]: *** No rule to make target '/var/lib/dkms/rtlwifi-new/0.6/build/Makefile'. Stop. Makefile:1534: recipe for target '_module_/var/lib/dkms/rtlwifi-new/0.6/build' failed make: *** [_module_/var/lib/dkms/rtlwifi-new/0.6/build] Error 2 make: Leaving directory '/usr/src/linux-headers-4.18.0-16-generic'

答案1

为了解决当前的问题,我们将这样做...

make clean                        # clean up leftovers
make                              # compile the software
sudo make install                 # install the software
sudo modprobe -r rtl8723de        # unload the driver
sudo modprobe rtl8723de ant_sel=2 # reload the driver with options

成功了。但是,如果这样做,每次通过 更新内核时您都需要重新执行此操作Software Updates。嘘。


让我们重复一些步骤,并使用陣容,并使其在内核更新时自我重建。

首先,返回terminal到之前的目录,并卸载当前正在工作的驱动程序......

cd ~/rtl8723de         # change directory
sudo modinfo rtl8723de # see the installed driver
sudo make uninstall    # uninstall the driver
sudo modinfo rtl8723de # make sure it's gone
cd                     # change to ~ directory

现在我们安装使用陣容...使用解压的文件夹或git clone文件夹...

如果以下任何步骤失败,则停止并汇报。

sudo apt install dkms build-essential     # already done
cd ~/rtlwifi_new                          # enter the directory
sudo make clean                           # clean up from prior "make"
cd                                        # go to ~ directory
sudo cp -a ~/rtlwifi_new /usr/src/rtlwifi-new-0.6    # copy to /usr/src
sudo dkms add rtlwifi-new/0.6             # add the software to dkms
sudo dkms build rtlwifi-new/0.6           # build the software
sudo dkms install rtlwifi-new/0.6         # install the software
dkms status                               # review the status

更新#1:

由于一些命名问题,我们必须在继续之前进行一些清理。首先执行这些命令,然后返回并执行我的原始(修改后的)陣容安装说明,如上所示。请特别注意连字符与下划线。

如果以下任何步骤失败,则停止并汇报。

dkms status # note the name of the rtlwifi driver... probably rtlwifi_new
sudo dkms remove rtlwifi_new/0.6 --all # remove from dkms
sudo rm -r /usr/src/rtlwifi_new-0.6 # delete directory
ls -al /var/lib/dkms # make sure there are no rtlwifi directories left

更新 #2:

一旦我们得到陣容驱动程序正确安装后,我们需要创建一个配置文件来选择正确的无线天线。

sudo -H gedit /etc/modprobe.d/rtl8723de.conf

输入以下行...

options rtl8723de ant_sel=2

保存文件并退出 gedit

重新启动并检查无线操作

更新 #3:

成功!

相关内容