MSM8953中Android内核添加AX88772C以太网驱动

时间:2024-02-22 07:02:18

1、前言

AX88772C是一款USB转以太网控制芯片,并且支持Microsoft AOAC(Always On Always Connected),可为各类应用增加低价、小封装、高效能、高集成度和即插即用的快速以太网联网特性,适用于电脑、游戏机、智能家电及任何具体标准USB端口的嵌入式系统,本文将简单介绍如何在MSM8953平台的Android系统内核中添加AX88772C以太网驱动。

 

2、添加AX88772C驱动

关于AX88772C这款USB转以太网芯片的更多详情资料,可以直接到亚信电子的官网上查看,驱动也是在官网上下载,链接如下:

https://www.asix.com.tw/cs/index.php

要下载的AX88772C驱动如下所示:

将驱动下载完成后,对压缩的文件夹进行解压缩,我们需要添加到内核的文件如下所示:

接下来,开始将AX88772C的驱动文件添加到Android内核中:

首先,进入到要添加的驱动目录下:

$ cd msm8953_9.0/kernel/msm-4.9/drivers/net/usb/

新创建放入AX88772C驱动的目录,并将上面圈出的驱动文件放入:

$ mkdir test_asix

将asix.c、asix.h、axusbnet.c和axusbnet.h放入新创建的test_asix目录后,进入到该目录,并新创建Makefile和Kconfig文件:

$ cd test_asix
$ touch Makefile
$ vim Makefile

新创建的Makefile如下,表示编译AX88772C驱动:

继续在该目录下创建Kconfig文件:

$ cd test_asix
$ touch Kconfig

新创建的Kconfig文件内容如下所示:

接下来,返回上一层目录下,将我们要添加的驱动目录的路径添加进去:

$ cd msm8953_9.0/kernel/msm-4.9/drivers/net/usb/
$ vim Makefile
$ vim Kconfig

修改该目录下的Makefile文件,如下:

修改该目录下的Kconfig文件,如下:

接下来,修改Kernel的defconfig文件,将CONFIG_TEST_NET_AX8817X设置成y,表示内核在编译的时候,将AX88772C驱动编译到内核中,修改命令如下:

$ cd msm8953_9.0/kernel/msm-4.9/arch/arm64/configs
$ vim msm8953-perf_defconfig

需要添加的内容如下所示:

defconfig文件修改完成后,回到Android源码根目录,重新编译内核,并检查对应的AX88772C驱动是否已经进行编译:

$ cd msm8953_9.0
$ make installclean -j24
$ make bootimage -j24

编译完成后,进入到目标文件生成的目录,检查驱动是否被编译进入内核中:

$ cd msm8953_9.0/out/target/product/msm8953_64/obj/KERNEL_OBJ/drivers/net/usb/
$ ls -al

结果显示如下,表示新添加的驱动已经被成功编译了:

接下来,使用fastboot命令对msm8953平台的boot.img镜像进行更新,开机后,在串口处查看输出log,检查AX88772C是否进行了设备与驱动的匹配,例如,输出如下即可:

# dmesg | grep "eth0"
# ifconfig eth0

如下:

 

3、小结

本文简单介绍了在MSM8953平台的Android系统内核中添加AX88772C以太网驱动的过程。