Atlas 200I Pro WIFI适配
WIFI适配流程主要为:获取WIFI驱动源码包、根据驱动手册修改WIFI驱动源码、编译生成驱动、插入驱动、调测使用。本文以RTL8822CE为例说明适配过程。
前提条件
一台带网络端口且操作系统为Ubuntu 22.04的x86 Linux服务器。
Linux服务器已安装python、make、gcc、unzip、pigz、bison、flex、libncurses-dev、squashfs-tools、bc、device-tree-compiler、libssl-dev、cmake、rpm2cpio与交叉编译工具链。
用户可以通过如下命令进行安装上述依赖。
apt-get install -y python3 make gcc unzip pigz bison flex libncurses-dev squashfs-tools bc device-tree-compiler libssl-dev cmake rpm2cpio
1 获取WIFI驱动源码
WIFI驱动源码包由厂家提供,将提供的源码包上传至服务器。
2 根据驱动手册修改WIFI驱动源码
2.1 服务器上已下载Atlas200I Pro的源码包。

2.2 查看rtl8822ce WIFI驱动手册,将WIFI驱动源码文件夹复制到310P源码包文件夹下,并重命名为rtl8822ce。

2.3 进入rtl8822ce文件下,根据手册修改Makefile内容如下:


增加对应CONFIG_PLATFORM_NEW的信息,其中ARCH为目标架构,CROSS_COMPILE是指定交叉编译工具链的路径,KSRC是内核源码目录,根据环境上的实际路径填写。
2.4 在Atlas200I Pro源码路径下,执行bash build.sh kernel编译内核,过程中会弹出内核配置主界面,直接exit退出,保持默认设置。

3 编译生成驱动
3.1 进入rtl8822ce文件下,执行make进行驱动编译,编译完成后,在当前目录下会生成名为88x2ce.ko的驱动。


4 插入驱动
4.1 将生成的88x2ce.ko上传至Atlas200I Pro设备,执行insmod命令插入驱动。

若插入驱动时报错 insmod: ERROR: could not insert module 88x2ce.ko: Unknown symbol in module,表示该驱动需要依赖其他驱动才能正常插入,执行dmesg | grep 88x2,找到依赖的驱动并优先插入,以此为例,直到插入88x2ce.ko无报错。
4.2 验证WiFi设备是否已加载。
执行nmcli device,若回显中含有TYPE为wifi的的设备,且显示disconnected,说明WiFi设备已成功加载。

5 调测使用
调测使用环节主要为用户自定义,根据实际业务情况进行调测,不多做说明。
6 相关资料参考
https://www.hiascend.com/forum/thread-0260121075301055016-1-1.html
https://developer.huawei.com/home/forum/ascend/thread-0262138117869264044-1-1.html
https://3ms.huawei.com/km/blogs/details/14879495?l=zh-cn
Atlas 200I Pro WIFI适配
WIFI适配流程主要为:获取WIFI驱动源码包、根据驱动手册修改WIFI驱动源码、编译生成驱动、插入驱动、调测使用。本文以RTL8822CE为例说明适配过程。
前提条件
一台带网络端口且操作系统为Ubuntu 22.04的x86 Linux服务器。
Linux服务器已安装python、make、gcc、unzip、pigz、bison、flex、libncurses-dev、squashfs-tools、bc、device-tree-compiler、libssl-dev、cmake、rpm2cpio与交叉编译工具链。
用户可以通过如下命令进行安装上述依赖。
apt-get install -y python3 make gcc unzip pigz bison flex libncurses-dev squashfs-tools bc device-tree-compiler libssl-dev cmake rpm2cpio
1 获取WIFI驱动源码
WIFI驱动源码包由厂家提供,将提供的源码包上传至服务器。
2 根据驱动手册修改WIFI驱动源码
2.1 服务器上已下载Atlas200I Pro的源码包。
2.2 查看rtl8822ce WIFI驱动手册,将WIFI驱动源码文件夹复制到310P源码包文件夹下,并重命名为rtl8822ce。
2.3 进入rtl8822ce文件下,根据手册修改Makefile内容如下:
增加对应CONFIG_PLATFORM_NEW的信息,其中ARCH为目标架构,CROSS_COMPILE是指定交叉编译工具链的路径,KSRC是内核源码目录,根据环境上的实际路径填写。
2.4 在Atlas200I Pro源码路径下,执行bash build.sh kernel编译内核,过程中会弹出内核配置主界面,直接exit退出,保持默认设置。
3 编译生成驱动
3.1 进入rtl8822ce文件下,执行make进行驱动编译,编译完成后,在当前目录下会生成名为88x2ce.ko的驱动。
4 插入驱动
4.1 将生成的88x2ce.ko上传至Atlas200I Pro设备,执行insmod命令插入驱动。
若插入驱动时报错 insmod: ERROR: could not insert module 88x2ce.ko: Unknown symbol in module,表示该驱动需要依赖其他驱动才能正常插入,执行dmesg | grep 88x2,找到依赖的驱动并优先插入,以此为例,直到插入88x2ce.ko无报错。
4.2 验证WiFi设备是否已加载。
执行nmcli device,若回显中含有TYPE为wifi的的设备,且显示disconnected,说明WiFi设备已成功加载。
5 调测使用
调测使用环节主要为用户自定义,根据实际业务情况进行调测,不多做说明。
6 相关资料参考
https://www.hiascend.com/forum/thread-0260121075301055016-1-1.html
https://developer.huawei.com/home/forum/ascend/thread-0262138117869264044-1-1.html
https://3ms.huawei.com/km/blogs/details/14879495?l=zh-cn