我升级到现在的ubuntu18.04 机器硬件未变,也都还是用的这一套方法来安装wifi 驱动。
最近发现个问题,找到该僵尸帖。。。。。
我是来记录问题的 。。。
ubuntu18.04 新安装后,发现还是要照这老贴
viewtopic.php?f=116&t=462588&p=3097620#p3114511
弄一下rtl8723be 的wifi驱动。目前已知发现个现象:
比如当前内核 4.15.0-23-generic 在此内核安装完rtl8723be 的wifi驱动 正常使用后,内核apt upgrade升级到了 4.15.0-24-generic 发现 重启系统后 发现wifi以往配置又一直提示无法正常连接wifi了。我只能再安装下rtl8723be 的wifi驱动。
然后 我想了想rtl8723be 的wifi驱动,是不是没有M 动态加载到内核。于是我检查了下,rtl8723be的驱动 是否有M到内核中。
cmd@TR:/usr/src/linux-headers-4.15.0-24-generic$ cd ~
cmd@TR:~$ uname -r
4.15.0-24-generic
cmd@TR:~$ cd /usr/src/linux-headers-4.15.0-24-generic
cmd@TR:/usr/src/linux-headers-4.15.0-24-generic$ sudo make menuconfig
还是和老帖疑问一样:
1 为啥进入的是 24的目录执行的menuconfig 为啥却又是18的config配置?
2 为啥看到是已经M rtl8723be 的wifi驱动 了,18.04 升级内核 为和新内核会失效 rtl8723be 的wifi驱动 必须再重装一次?
目前该现象,我重现了两次 分别是22升级到23 重新安装过一次,前天23升级到24 今天重启进入系统后发现wifi又无法自动连接,确认wifi是正常的后,
重启两次系统后,问题依旧,又重新安装了下驱动才正常连接wifi。 所以怀疑 没有M到内核驱动 结果去查又带M标记。。。。。
那么为啥带M标记的 每次升级不会自动续给编译到下一个内核? 补充 我只是安装驱动 upgrade升级的内核 实际一直没有真正的
下载内核源码 编译过自己的驱动 也就是类似这种步骤
https://blog.csdn.net/tang152453/articl ... s/41170399
问下吧友 是否有类似升级内核 wifi驱动要重新安装的现象? 若要以后升级内核自动把自主安装的wifi驱动自动升级编译到新内核 正常的步骤是什么?
18.04 升级内核后,wifi驱动rtl8723be需要重新安装现象。
- Archer123
- 帖子: 146
- 注册时间: 2008-05-18 10:16
18.04 升级内核后,wifi驱动rtl8723be需要重新安装现象。
上次由 Archer123 在 2018-09-11 16:36,总共编辑 1 次。
- astolia
- 论坛版主
- 帖子: 6447
- 注册时间: 2008-09-18 13:11
Re: 18.04 升级内核后,wifi驱动需要重新安装现象。
2008年就注册了账号,10年过去了连一些最基本的概念都没弄清楚。
1、4.15.18是官方内核的版本编号,4.15.0-24是ubuntu对自家内核版本编号。这是不同的编号体系,不存在一一对应的关系。这只是说明了ubuntu的4.15.0-24内核是基于官方4.15.18内核修改而来的。
2、M只代表编译成了模块,并不意味着这个模块就会被加载,看模块的加载情况用lsmod。还有,这个列出来的是内核自带的驱动,不是你自己编译安装的。再有,不管是自带的还是自己编译的驱动都会被放到 /lib/modules/内核版本号/ 下面,内核也只认对应版本号目录下的文件。换内核后,目录就不一样了,对其他内核而言就找不到你编译的驱动。这种情况一般都用dkms或者dpkg的内核安装钩子来自动重新编译
1、4.15.18是官方内核的版本编号,4.15.0-24是ubuntu对自家内核版本编号。这是不同的编号体系,不存在一一对应的关系。这只是说明了ubuntu的4.15.0-24内核是基于官方4.15.18内核修改而来的。
2、M只代表编译成了模块,并不意味着这个模块就会被加载,看模块的加载情况用lsmod。还有,这个列出来的是内核自带的驱动,不是你自己编译安装的。再有,不管是自带的还是自己编译的驱动都会被放到 /lib/modules/内核版本号/ 下面,内核也只认对应版本号目录下的文件。换内核后,目录就不一样了,对其他内核而言就找不到你编译的驱动。这种情况一般都用dkms或者dpkg的内核安装钩子来自动重新编译
- Archer123
- 帖子: 146
- 注册时间: 2008-05-18 10:16
Re: 18.04 升级内核后,wifi驱动需要重新安装现象。
astolia 写了: ↑2018-07-04 17:26 2008年就注册了账号,10年过去了连一些最基本的概念都没弄清楚。
1、4.15.18是官方内核的版本编号,4.15.0-24是ubuntu对自家内核版本编号。这是不同的编号体系,不存在一一对应的关系。这只是说明了ubuntu的4.15.0-24内核是基于官方4.15.18内核修改而来的。
2、M只代表编译成了模块,并不意味着这个模块就会被加载,看模块的加载情况用lsmod。还有,这个列出来的是内核自带的驱动,不是你自己编译安装的。再有,不管是自带的还是自己编译的驱动都会被放到 /lib/modules/内核版本号/ 下面,内核也只认对应版本号目录下的文件。换内核后,目录就不一样了,对其他内核而言就找不到你编译的驱动。这种情况一般都用dkms或者dpkg的内核安装钩子来自动重新编译
让大神见笑了,大神莫恨铁啊 轻喷。。。
我只是这个环境的 应用层或者环境使用者,只要桌面环境稳定满足我工作需求即可,所以没有特别的强性目标需求,去研究恨清楚 这种动态编译的原理。
只是遇到问题,搜一下解决一下,不想在这种问题多耗费时间。当然,能记住或经验 多少有一些,但不是对ubuntu 或linux的全面 尤其这种内核编译问题。
我记得以前14.04 就是安装过一次wifi驱动 然后每次upgrade 有内核就自动升级的, 也没遇到过wifi还要重新升级后再安装的现象的。
我的问题重点 是这个疑惑。
- astolia
- 论坛版主
- 帖子: 6447
- 注册时间: 2008-09-18 13:11
Re: 18.04 升级内核后,wifi驱动需要重新安装现象。
原因我倒是基本知道,但既然你有这种“只是使用者”的心态,那估计也不想听。
反正目前而言,你只能在升级后重新编译一遍,不管你是手动还是用dkms等工具自动处理。
等一阵子说不定升级后就不需要重新编译了,你也能开开心心当个使用者,就把这次的事件当成内核暂时抽风就过去了
反正目前而言,你只能在升级后重新编译一遍,不管你是手动还是用dkms等工具自动处理。
等一阵子说不定升级后就不需要重新编译了,你也能开开心心当个使用者,就把这次的事件当成内核暂时抽风就过去了
-
- 帖子: 33
- 注册时间: 2018-06-09 17:47
Re: 18.04 升级内核后,wifi驱动需要重新安装现象。
版主,那个笔记本触摸板有安装驱动教程吗,我电脑是i7-8750h的,搜了一下找不到有合适驱动支持
- Archer123
- 帖子: 146
- 注册时间: 2008-05-18 10:16
-
- 帖子: 33
- 注册时间: 2018-06-09 17:47
Re: 18.04 升级内核后,wifi驱动需要重新安装现象。
我尝试升级到4.17内核,发现还是不行,如果升级4.18内核我怕对自已安装的编程环境又影响,所以又不敢乱试。
然后在这里看到相关的touch驱动关键字的包,能看出哪个才是支持触摸板的包吗
https://packages.ubuntu.com/bionic/xser ... multitouch
然后在这里看到相关的touch驱动关键字的包,能看出哪个才是支持触摸板的包吗
https://packages.ubuntu.com/bionic/xser ... multitouch
- Archer123
- 帖子: 146
- 注册时间: 2008-05-18 10:16
Re: 18.04 升级内核后,wifi驱动需要重新安装现象。
Archer123 写了: ↑2018-07-05 9:26astolia 写了: ↑2018-07-04 17:26 2008年就注册了账号,10年过去了连一些最基本的概念都没弄清楚。
1、4.15.18是官方内核的版本编号,4.15.0-24是ubuntu对自家内核版本编号。这是不同的编号体系,不存在一一对应的关系。这只是说明了ubuntu的4.15.0-24内核是基于官方4.15.18内核修改而来的。
2、M只代表编译成了模块,并不意味着这个模块就会被加载,看模块的加载情况用lsmod。还有,这个列出来的是内核自带的驱动,不是你自己编译安装的。再有,不管是自带的还是自己编译的驱动都会被放到 /lib/modules/内核版本号/ 下面,内核也只认对应版本号目录下的文件。换内核后,目录就不一样了,对其他内核而言就找不到你编译的驱动。这种情况一般都用dkms或者dpkg的内核安装钩子来自动重新编译
让大神见笑了,大神莫恨铁啊 轻喷。。。
我只是这个环境的 应用层或者环境使用者,只要桌面环境稳定满足我工作需求即可,所以没有特别的强性目标需求,去研究恨清楚 这种动态编译的原理。
只是遇到问题,搜一下解决一下,不想在这种问题多耗费时间。当然,能记住或经验 多少有一些,但不是对ubuntu 或linux的全面 尤其这种内核编译问题。
我记得以前14.04 就是安装过一次wifi驱动 然后每次upgrade 有内核就自动升级的, 也没遇到过wifi还要重新升级后再安装的现象的。
我的问题重点 是这个疑惑。
好吧 还是 自己的坑自己填吧.
以下ubuntu 18.04.1 还未尝试 ,只是找了下方案 了解了下dkms
https://blog.csdn.net/hjwsm1989/article ... s/52694416
ubuntu18.04 正确安装rtl8723be驱动步骤:
1 先安装好需要编译的东西
sudo apt-get install linux-headers-generic linux-headers-$(uname -r) gcc g++ build-essential git dkms
2 cd切换到需要放rtlwifi_new 到目录下 ,再执行
git clone http://github.com/lwfinger/rtlwifi_new.git
3 先停止网路
sudo service network-manager stop
如果不是首次 在第3步 后执行 删除卸载老的无线网卡驱动
$ sudo modprobe -rfv rtl8723be
4 cd 到 rtlwifi_new 目录下
sudo make
sudo make install
sudo modprobe -v rtl8723be fwlps=0 ips=0
5 sudo reboot 重启
6 确认是否关闭 fwlps=N ips=N
systool -v -m rtl8723be
这样首次安装rtl8723be 驱动 就完成了。
如果查看 fwlps=Y ips=Y 的话,就 echo "options rtl8723be ips=0 fwlps=0" | sudo tee /etc/modprobe.d/rtl8723be.conf
然后 看了下这个驱动
https://github.com/wheelcomplex/rtl8812au-ubuntu-18.04
里边提到了 "Automatically rebuilds and installs on kernel updates" 既是 如何每次更新升级内核自动安装驱动
DKMS
Automatically rebuilds and installs on kernel updates. DKMS is in official sources of Ubuntu, for installation do:
$ sudo apt-get install build-essential dkms
The driver source mus be copied to /usr/src/8812au-4.2.2
Then add it to DKMS:
$ sudo dkms add -m 8812au -v 4.2.2
$ sudo dkms build -m 8812au -v 4.2.2
$ sudo dkms install -m 8812au -v 4.2.2
Check with:
$ sudo dkms status
Eventually remove from DKMS with:
$ sudo dkms remove -m 8812au -v 4.2.2 --all
仿照这个,我的方案大致是这样,我还未实验:
我们去除已安装rtl8723be驱动的时候,发现 有以下被卸载
$ sudo modprobe -rfv rtl8723be
rmmod rtl8723be
rmmod rtl_pci
rmmod rtl8723_common
rmmod btcoexist
rmmod rtlwifi
rmmod mac80211
rmmod cfg80211
同理当我们新安装rtl8723be驱动,发现有以下被安装:
cmd@TR:~/Git/rtlwifi_new$ sudo modprobe -v rtl8723be fwlps=0 ips=0
insmod /lib/modules/4.15.0-34-generic/kernel/net/wireless/cfg80211.ko
insmod /lib/modules/4.15.0-34-generic/kernel/net/mac80211/mac80211.ko
insmod /lib/modules/4.15.0-34-generic/kernel/drivers/net/wireless/realtek/rtlwifi/rtlwifi.ko
insmod /lib/modules/4.15.0-34-generic/kernel/drivers/net/wireless/realtek/rtlwifi/rtl_pci.ko
insmod /lib/modules/4.15.0-34-generic/kernel/drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common.ko
insmod /lib/modules/4.15.0-34-generic/kernel/drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist.ko
insmod /lib/modules/4.15.0-34-generic/kernel/drivers/net/wireless/realtek/rtlwifi/rtl8723be/rtl8723be.ko ips=0 fwlps=0 fwlps=0 ips=0
于是,我们是否需要这样......
The driver source must be copied to /usr/src/rtlwifi_new
Then add it to DKMS:
$ sudo dkms add -m rtl8723be rtl_pci rtl8723_common btcoexist rtlwifi mac80211 cfg80211
$ sudo dkms build -m rtl8723be rtl_pci rtl8723_common btcoexist rtlwifi mac80211 cfg80211
$ sudo dkms install -m rtl8723be rtl_pci rtl8723_common btcoexist rtlwifi mac80211 cfg80211
Check with:
$ sudo dkms status
Eventually remove from DKMS with:
$ sudo dkms remove -m rtl8723be rtl_pci rtl8723_common btcoexist rtlwifi mac80211 cfg80211 –all
这样就不用每次升级内核,都需要reinstall wifi deiver了.
- Archer123
- 帖子: 146
- 注册时间: 2008-05-18 10:16
Re: 18.04 升级内核后,wifi驱动需要重新安装现象。
我们可以这样解决 rtl8723be驱动 利用dkms自动更新和升级内核 都不需要reinstall wifi driver.
1 git clone -b extended https://github.com/lwfinger/rtlwifi_new.git
2 sudo cp -R rtlwifi_new/ /usr/src/
3 cmd@TR:/usr/src$ sudo dkms add ./rtlwifi_new
Creating symlink /var/lib/dkms/rtlwifi-new/0.6/source ->
/usr/src/rtlwifi-new-0.6
DKMS: add completed.
4 cmd@TR:/usr/src$ sudo dkms install rtlwifi-new/0.6
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area....(bad exit status: 2)
make -j8 KERNELRELEASE=4.15.0-34-generic -C /lib/modules/4.15.0-34-generic/build M=/var/lib/dkms/rtlwifi-new/0.6/build..............
cleaning build area...(bad exit status: 2)
DKMS: build completed.
rtl_pci.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl_usb.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtlwifi.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
btcoexist.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
halmac.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
phydm_mod.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8188ee.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8192c-common.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8192ce.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8192cu.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8192de.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8192ee.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8192se.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8723ae.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8723be.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8723de.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8723-common.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8821ae.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8822be.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
depmod...
DKMS: install completed.
5 cmd@TR:/usr/src$ sudo cp /usr/src/rtlwifi-new-0.6/firmware/rtlwifi/* /lib/firmware/rtlwifi/
6 sudo depmod -a
7 echo "options rtl8723be ips=0 fwlps=0" | sudo tee /etc/modprobe.d/rtl8723be.conf
8 sudo modprobe -v rtl8723be fwlps=0 ips=0
1 git clone -b extended https://github.com/lwfinger/rtlwifi_new.git
2 sudo cp -R rtlwifi_new/ /usr/src/
3 cmd@TR:/usr/src$ sudo dkms add ./rtlwifi_new
Creating symlink /var/lib/dkms/rtlwifi-new/0.6/source ->
/usr/src/rtlwifi-new-0.6
DKMS: add completed.
4 cmd@TR:/usr/src$ sudo dkms install rtlwifi-new/0.6
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area....(bad exit status: 2)
make -j8 KERNELRELEASE=4.15.0-34-generic -C /lib/modules/4.15.0-34-generic/build M=/var/lib/dkms/rtlwifi-new/0.6/build..............
cleaning build area...(bad exit status: 2)
DKMS: build completed.
rtl_pci.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl_usb.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtlwifi.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
btcoexist.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
halmac.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
phydm_mod.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8188ee.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8192c-common.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8192ce.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8192cu.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8192de.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8192ee.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8192se.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8723ae.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8723be.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8723de.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8723-common.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8821ae.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
rtl8822be.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/4.15.0-34-generic/updates/dkms/
depmod...
DKMS: install completed.
5 cmd@TR:/usr/src$ sudo cp /usr/src/rtlwifi-new-0.6/firmware/rtlwifi/* /lib/firmware/rtlwifi/
6 sudo depmod -a
7 echo "options rtl8723be ips=0 fwlps=0" | sudo tee /etc/modprobe.d/rtl8723be.conf
8 sudo modprobe -v rtl8723be fwlps=0 ips=0