暗影精灵3
1. 登录界面输入密码后进入桌面但是一直载入中
进入桌面后亮度会变亮很多但是 dock 刷不出来. 应该是由于显卡驱动的原因。
解决方法
- 下载对应的显卡驱动
https://www.geforce.cn/drivers
- 开机进入系统选择菜单选择 Deepin 系统然后按 e 编辑 grub
- 将 "splash quiet" 修改成 "nomodeset nouveau.noaccel=1"
- 按 F10 启动系统
- 禁止 nouveau 模块
sudo echo "balcklist nouveau options nouveau modeset=0" > /etc/modprobe.conf/blacklist-nouveau.conf sudo update-initramfs -u
-
如果没有效果,可以直接将 nouveau 模块删除或备份
-
sudo mv /lib/modules/4.15.0-21deepin-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko /lib/modules/4.15.0-21deepin-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko.org sudo update-initramfs -u
- 安装 NVIDIA 驱动
-
sudo service lightdm stop sudo . NVIDIA-linux-x86_64-390.77.run sudo service lightdm start
重启系统
Note: 开机后会黑屏几秒,然后就可以正常使用了
2. 无线模块加载不了
系统起来后无线网卡起不来,扫描不到网络,但是无线网卡是有识别出来的。使用 ifconfig -a 命令可以看到 wlo1 的接口。
kernel version: 4.15.0-21deepin-generic
解决方法
1. 按照网上的方法下载开源的 rtlWiFi 驱动
sudo apt update
sudo apt install git
git clone https://github.com/rtlwifi-linux/rtlwifi-next
cd rtlwifi-next
make
sudo make install
sudo modprobe rtl8822be
但是在执行 make 命令进行编译时会报错,以下是报错的 log
➜ rtlwifi-next git:(master) make
make -C /lib/modules/4.15.0-21deepin-generic/build M=/home/lbo/tools/rtlwifi-next modules
make[1]: Entering directory '/usr/src/linux-headers-4.15.0-21deepin-generic'
CC [M] /home/lbo/tools/rtlwifi-next/base.o
/home/lbo/tools/rtlwifi-next/base.c: In function ‘_rtl_init_deferred_work’:
/home/lbo/tools/rtlwifi-next/base.c:460:2: ERROR: implicit declaration of function ‘setup_timer’; did you mean ‘sk_stop_timer’? [-Werror=implicit-function-declaration]
setup_timer(&rtlpriv->works.watchdog_timer,
^~~~~~~~~~~
sk_stop_timer
cc1: some warnings being treated as errors
scripts/makefile.build:332: recipe for target '/home/lbo/tools/rtlwifi-next/base.o' failed
make[2]: *** [/home/lbo/tools/rtlwifi-next/base.o] Error 1
Makefile:1552: recipe for target '_module_/home/lbo/tools/rtlwifi-next' failed
make[1]: *** [_module_/home/lbo/tools/rtlwifi-next] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-21deepin-generic'
Makefile:100: recipe for target 'all' failed
make: *** [all] Error 2
这错误可以先不管, 4.15 的 kernel 已经支持 rtl8822be 了, 所以我们并不需要进行编译。
可以使用 lsmod | grep 8822be 可以检查系统是否已经加载 rtl8822be 的模块(r8822be)。如果没有执行 sudo modprobe r8822be 命令加载该模块。加载不上的话就可能需要重新编译了。
2. 模块加载上以后执行 dmesg | grep 8822be 命令查看 rtl8822be 的错误信息。
[ 7654.114942] r8822be: module is from the staging directory, the quality is unknown, you have been warned.
[ 7654.133190] r8822be: Using firmware rtlwifi/rtl8822befw.bin
[ 7654.133482] r8822be 0000:3c:00.0: Direct firmware load for rtlwifi/rtl8822befw.bin failed with error -2
[ 7654.133483] r8822be: Selected firmware is not available
[ 7654.134357] r8822be: rtlwifi: wireless switch is on
[ 7654.135845] r8822be 0000:3c:00.0 wlo1: renamed from wlan0
[ 7654.166890] r8822be: halmac_init_hal failed
[ 7654.169089] r8822be: halmac_init_hal failed
[ 7654.169340] r8822be: halmac_init_hal failed
[ 7664.766699] r8822be: halmac_init_hal failed
[ 7664.766918] r8822be: halmac_init_hal failed
主要问题: [ 7654.133482] r8822be 0000:3c:00.0: Direct firmware load for rtlwifi/rtl8822befw.bin failed with error -2
rtlwifi/rtl8822befw.bin 这个文件是不存在的,我们需要将下载的开源驱动中的 rtl8822befw.bin 复制过去。
3. 复制 rtl8822befw.bin
sudo cp rtlwifi-next/firmware/rtlwifi/rtl8822befw.bin /lib/firmware/rtlwifi/
4. 重新加载模块
sudo modprobe -r r8822be
sudo modprobe r8822be
到这里,我们的无线驱动就能正常加载了。扫描连接都没问题。
5. 如果无线仍然起不来的话,再次使用 dmesg | grep 8822be 命令查看相关的 log, 如果只有 r8822be: halmac_init_hal failed 的错误信息的话可以尝试以下步骤。
6. 使用 grep -r "" /sys/module/r8822be/parameters/ 命令查看加载 rtl8822be 模块的参数
grep -r "" /sys/module/r8822be/parameters/
/sys/module/r8822be/parameters/dma64:N
/sys/module/r8822be/parameters/swlps:N
/sys/module/r8822be/parameters/debug_mask:0
/sys/module/r8822be/parameters/swenc:N
/sys/module/r8822be/parameters/msi:Y
/sys/module/r8822be/parameters/ips:Y
/sys/module/r8822be/parameters/debug_level:0
/sys/module/r8822be/parameters/aspm:1
/sys/module/r8822be/parameters/disable_watchdog:N
/sys/module/r8822be/parameters/fwlps:Y
7. 如果 aspm 为 1 ,将 aspm 指定为 0 重新加载模块,原先是 0 的话就改成 1 重新加载。
sudo modprobe -r r8822be
sudo modprobe r8822be aspm=0
8. 检查无线是否可用,如果可以的话将刚才的加载参数写入配置文件。
sudo echo "options r8822be aspm=0" > /etc/modprobe.d/rtl8822be.conf
使用 aspm=0 还是 aspm=1 得看哪种可以使无线正常工作
9. 重启测试一下
ASPM bug: http://driverdev-devel.linuxdriverproject.narkive.com/c0aEIOTV/bug-staging-r8822be-rtl8822be-can-t-find-any-wireless-ap
风扇好像不转啊!!!!