虚拟化容器,大数据,DBA,中间件,监控。

openeuler2403系统安装ukui使用intel AX210驱动蓝牙与WiFI

21 05月
作者:admin|分类:系统运维|标签:openeuler

openeuler2403系统安装ukui使用intel AX210驱动蓝牙与WiFI



一,安装UKUI图形界面与VNC


在 openEuler 2403 上配置 VNC 服务,主要分为安装依赖和配置服务两大步骤。核心是安装 tigervnc-server,并以你想要登录的普通用户身份来配置运行它。


安装准备

在配置 VNC 之前,请确保系统已具备图形界面并安装好了 VNC 服务器软件包。


安装桌面环境(如 GNOME 或 UKUI)

如果你的 openEuler 是最小化安装,需要先安装一个图形界面。

# sudo dnf install ukui -y


安装 TigerVNC 服务端

sudo dnf install tigervnc-server -y


安装 tigervnc-server 包即可,它已经包含了所需的核心组件。


在 openEuler 2403 中给 UKUI 桌面环境配置 VNC 时,最常见的黑屏问题,几乎都是因为 ~/.vnc/xstartup 这个配置文件没有正确启动 UKUI 会话。

核心步骤:正确配置 xstartup 文件

这个问题的根源在于,VNC 服务启动时默认运行的是一个极其精简的 xstartup 脚本,它并没有告诉系统要启动完整的 UKUI 桌面环境。我们需要手动修改这个文件,让它来唤醒 UKUI。


请按以下步骤操作:

登录并进入个人目录:请用你准备用来运行 VNC 服务的那个“普通用户”账号登录系统。

备份并编辑 xstartup:

mv ~/.vnc/xstartup ~/.vnc/xstartup.bak


备份好原文件后,我们用编辑器创建一个全新的 xstartup 文件,并写入正确的配置。


vi ~/.vnc/xstartup

请将下面的内容完整地复制进去:

#!/bin/sh

# 1. 清除冲突的环境变量

unset SESSION_MANAGER

unset DBUS_SESSION_BUS_ADDRESS

# 2. 设置 UKUI 所必需的环境变量

export XDG_RUNTIME_DIR=/tmp/runtime-$USER

export XDG_CURRENT_DESKTOP=UKUI

# 3. 启动 D-Bus 会话

if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then

    eval $(dbus-launch --sh-syntax)

    export DBUS_SESSION_BUS_ADDRESS

fi

# 4. 设置美观的灰蓝色背景

xsetroot -solid "#5A6E7A"

# 5. 启动 UKUI 桌面环境

exec ukui-session



对复制粘贴的内容稍作解释:

第 1 部分:清除可能导致问题的变量,让 UKUI 在干净的环境里启动。

第 2 部分:明确告诉系统,我们要启动的是 UKUI 桌面。

第 3 部分:启动 UKUI 依赖的 D-Bus 通信服务。

第 4 部分:设置桌面的背景色,方便判断 UKUI 是否已加载。等一切正常后,你就可以随意更换背景了。

第 5 部分:这是最核心的一步,exec ukui-session 命令会正式启动整个 UKUI 桌面环境。


赋予文件可执行权限:配置文件创建好了,系统还必须知道它可以运行。这一步至关重要,没有权限文件就无法执行。

chmod +x ~/.vnc/xstartup


启动与连接

修改好配置后,就可以启动或重启 VNC 服务了。

停止当前会话:如果 VNC 服务正在运行,需要先把它停下来。

vncserver -kill :1


启动新会话:

vncserver :1 -geometry 1920x1080 -depth 24


参数说明:

:1:表示这是 VNC 服务的第一个桌面,它对应的端口号是 5901。

-geometry 1920x1080:设置远程桌面的分辨率,你可以按自己的需求修改。

-depth 24:设置颜色的深度为 24 位,以获得更好的显示效果。


防火墙放行端口:


sudo firewall-cmd --add-port=5901/tcp --permanent

sudo firewall-cmd --reload


使用客户端连接:现在,你可以用 VNC 客户端(比如 RealVNC 或 TigerVNC),连接到 你的服务器IP地址:1(比如 192.168.1.100:1)并输入密码,应该就能成功看到 UKUI 的桌面了。



二,Intel AX210 WiFI驱动安装


1,查看是否认出设备,明显已找到AX210

# lspci | grep -i network |grep AX210


05:00.0 Network controller: Intel Corporation Wi-Fi 6 AX210/AX211/AX411 160MHz (rev 1a)


在 openEuler 2403 上安装 UKUI 后,Intel AX210 网卡无法驱动,很可能只是缺少了对应的固件包。别担心,我们按下面的步骤来排查,很可能就解决了。


第一步:确认内核基础

openEuler 2403 基于 Linux 6.6 内核,此版本内置的 iwlwifi 驱动完全支持 AX210。我们先用 uname -r 命令确认一下内核版本,只要看到 6.x.x 就满足要求了。


第二步:检查固件与驱动

这很可能就是问题所在。依次执行以下命令来确认:

查看网卡是否被识别:执行 lspci | grep -i network。

正常输出:会看到类似 Intel Corporation Wi-Fi 6 AX210... 的信息,说明硬件已被系统检测到。

如果没有输出:请检查网卡是否正确安装,或在 BIOS/UEFI 中是否被禁用。


检查内核模块是否加载:执行 lsmod | grep iwlwifi。

正常输出:如果返回了包含 iwlwifi 的条目,说明核心驱动已加载。

如果没有输出:尝试手动加载驱动 sudo modprobe iwlwifi 并再次检查。


定位根本原因:执行 dmesg | grep -i iwlwifi 查看内核日志,这是最关键的一步。

...no suitable firmware found!:缺少固件,这是最常见的问题。

...Failed to start RT ucode...:固件加载失败,同样需要更新固件包。

...Timeout waiting for PNVM load...:PNVM 文件加载超时,这是一个已知的兼容性问题,我们会在后文提供解决方法。

...required key not available:安全启动阻止。如果系统启用了 Secure Boot(安全启动),它可能会拒绝加载未签名的驱动模块,导致网卡无法工作。


查找错误信息:会看到具体的失败原因,例如:


第三步:对症下药,解决问题

根据第二步发现的错误类型,选择对应的修复方法。

错误:“No suitable firmware found!” 或 “Failed to start RT ucode...”

这表明缺少正确的固件包,也是最常见的问题。你需要为系统安装正确的驱动和固件。openEuler 使用 dnf 作为软件包管理器:


安装固件包:

sudo dnf updates

sudo dnf install linux-firmware-iwlwifi

注意:请先确认 linux-firmware-iwlwifi 是否为 openEuler 仓库中确切的软件包名,你可以用 dnf search iwlwifi 来搜索。

如果包名不符,请手动更新:

如果包管理器无法安装,可以尝试从 Linux 固件仓库手动下载最新的固件文件:


# 克隆整个固件仓库(文件较大,可选择下载)

git clone  


# 或只下载AX210所需的特定固件# 你需要根据 dmesg 错误中提示的具体 .ucode 版本号来下载

sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/iwlwifi-ty-a0-gf-a0-<版本号>.ucode -P /lib/firmware/

请将 <版本号> 替换为 dmesg 日志中提示缺失的文件名(例如 66, 77, 89 等)。。完成后重启系统。


我这里安装 linux-iwlwifi-firemwar后,加载模块发现报错:

    sudo modprobe -r iwlwifi

    sudo modprobe iwlwifi


查看日志有报错:


[root@euler88 opt]#  dmesg | grep -i iwlwifi


[   12.364052] iwlwifi 0000:05:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-60.ucode failed with error -2


[   12.364122] iwlwifi 0000:05:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-59.ucode failed with error -2


[   12.364126] iwlwifi 0000:05:00.0: no suitable firmware found!


[   12.364128] iwlwifi 0000:05:00.0: minimum version required: iwlwifi-ty-a0-gf-a0-59


[   12.364131] iwlwifi 0000:05:00.0: maximum version supported: iwlwifi-ty-a0-gf-a0-83


[   12.364133] iwlwifi 0000:05:00.0: check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git



查看都是空连接,实际 文件不存在。


[root@euler88 opt]# ls /lib/firmware/iwlwifi-ty-a0-gf-a0-* -al


lrwxrwxrwx. 1 root root 42  3月11日 12:27 /lib/firmware/iwlwifi-ty-a0-gf-a0-59.ucode -> intel/iwlwifi/iwlwifi-ty-a0-gf-a0-59.ucode


lrwxrwxrwx. 1 root root 42  3月11日 12:27 /lib/firmware/iwlwifi-ty-a0-gf-a0-66.ucode -> intel/iwlwifi/iwlwifi-ty-a0-gf-a0-66.ucode


lrwxrwxrwx. 1 root root 42  3月11日 12:27 /lib/firmware/iwlwifi-ty-a0-gf-a0-72.ucode -> intel/iwlwifi/iwlwifi-ty-a0-gf-a0-72.ucode


lrwxrwxrwx. 1 root root 42  3月11日 12:27 /lib/firmware/iwlwifi-ty-a0-gf-a0-73.ucode -> intel/iwlwifi/iwlwifi-ty-a0-gf-a0-73.ucode


lrwxrwxrwx. 1 root root 42  3月11日 12:27 /lib/firmware/iwlwifi-ty-a0-gf-a0-74.ucode -> intel/iwlwifi/iwlwifi-ty-a0-gf-a0-74.ucode



根据日志提示 最大是83,最小是59 ,按要求下载。


 wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/intel/iwlwifi/iwlwifi-ty-a0-gf-a0.pnvm


 wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/intel/iwlwifi/iwlwifi-ty-a0-gf-a0-89.ucode


  wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/intel/iwlwifi/iwlwifi-ty-a0-gf-a0-59.ucode


  wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/intel/iwlwifi/iwlwifi-ty-a0-gf-a0-83.ucode


  cp iwlwifi-ty-a0-gf-a0* //usr/lib/firmware/intel/iwlwifi/ -a



我这里也下载了 pnvm文件,是因为日志有发现 PNVM 丢失,所以也要下载。


  573.587994] iwlwifi 0000:05:00.0: Start IWL Error Log Dump:


[  573.587996] iwlwifi 0000:05:00.0: Transport status: 0x0000004A, valid: 7


[  573.588000] iwlwifi 0000:05:00.0: PNVM data is missing, please install iwlwifi-ty-a0-gf-a0.pnvm



三,最后验证WIFI

彻底卸载所有 iwlwifi 相关模块

因为 iwlwifi 被其他模块(如 iwlmvm)占用,我们需要按依赖顺序移除:


# 先检查有哪些 iwl 模块在用

lsmod | grep iwl

通常你会看到 iwlmvm、iwlwifi 和 iwlmei 等。按以下顺序卸载(如果某个模块不存在会报错,忽略即可):



modprobe -r iwlmvm

modprobe -r iwlmei

modprobe -r iwlwifi

最后确认模块已完全卸载:


lsmod | grep iwl


# 应该没有任何输出


重新加载驱动

modprobe iwlwifi


验证网卡是否正常工作

dmesg | grep iwlwifi | tail -20


ip a show


如果成功,你会看到类似这样的日志:


iwlwifi 0000:05:00.0: loaded firmware version 83...

iwlwifi 0000:05:00.0: Detected Intel(R) Wi-Fi 6 AX210...

并且 ip a 中会出现一个无线网卡接口(如 wlp5s0)。


为什么刚才 “Module in use”

iwlwifi 是底层硬件驱动,上层的 iwlmvm(MAC 层管理模块)会依赖它。如果 iwlmvm 已经加载,直接卸载 iwlwifi 就会报 “in use”。

所以要先卸载 iwlmvm,再卸载 iwlwifi。



浏览7 评论0
返回
目录
返回
首页
MySQL8表中有大量重复数据去重后保存到新表方案