zoukankan      html  css  js  c++  java
  • MSM8953中Android内核添加AX88772C以太网驱动

    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以太网驱动的过程。

  • 相关阅读:
    linux中systemctl详细理解及常用命令
    Hadoop中的java基本类型的序列化封装类
    理解javaBean
    hadoop之mr框架的源码理解注意点
    python生日贺卡制作以及细节问题的解决最后把python项目发布为exe可执行程序过程
    Hadoop MapReduce执行过程详解(带hadoop例子)
    为什么hadoop中用到的序列化不是java的serilaziable接口去序列化而是使用Writable序列化框架
    Java代码如何关联Hadoop源码
    关于版本控制
    GIT和SVN之间的五个基本区别
  • 原文地址:https://www.cnblogs.com/Cqlismy/p/12198478.html
Copyright © 2011-2022 走看看