Android5.1.1-高通msm8916平台添加Etehrnet。(驱动+上层framworks)

内核+驱动部分

1.驱动移植

官网下载驱动点击打开链接 。对应型号AX88772B。

(1).解压驱动至kernel/driver/net/usb/下并且修改名字为AX88772X.修改目录AX88772X底下的Makefile.如下:

obj-(CONFIG_USB_NET_AX88772X) += asix.o

(2).修改kernel/driver/net/usb/底下的Makefile添加:

obj-(CONFIG_USB_NET_AX88772X) += AX88772X/

(3).修改kernel/driver/net/usb/底下的Kconfig.

config USB_NET_AX88772X
        tristate "ASIX AX88772X Based USB 2.0 Ethernet Adapters"
        depend on USB_USBNET
        select CRC32
        select PHYLIB
        default y
        help

(4).kernel/arch/arm64/config/msm_slm755_config添加:

CONFIG_USB_NET_AX88772X=y
CONFIG_USB_USBNET=y

注意:在高通平台中,需要包含usbnet.c文件。否则网卡与驱动无法匹配。

2.kernel层测试

    当内核编译完成后,烧录开机。开机加载时可以看到:

[    3.243481] usbcore: registered new interface driver asix

(1).通过USB-OTG插入AX88772B后,网卡指示灯开始闪烁。此时表示网卡已通电,OTG运行正常。运行命令查看网卡是否被识别。识别成功如下:

shell@msm8916_64_slm755_meig_02:/ # netcfg
sit0     DOWN                                   0.0.0.0/0   0x00000080 00:00:00:00:00:00
p2p0     UP                                     0.0.0.0/0   0x00001003 6a:9c:5e:ff:ac:86
eth0     DOWN                                   0.0.0.0/0   0x00001002 00:90:9e:9a:a6:73
lo       UP                                   127.0.0.1/8   0x00000049 00:00:00:00:00:00
wlan0    UP                                     0.0.0.0/0   0x00001003 68:9c:5e:ff:ac:86
dummy0   DOWN                                   0.0.0.0/0   0x00000082 56:70:f0:35:43:9b

(2)启动网卡,配置DHCP服务。

shell@msm8916_64_slm755_meig_02:/ # netcfg eth0 dhcp                           
shell@msm8916_64_slm755_meig_02:/ # [  346.130313] eth0: ax88772b - Link status is: 0
shell@msm8916_64_slm755_meig_02:/ # [  346.258322] eth0: ax88772b - Link status is: 1

通过命令查看以太网地址信息。

shell@msm8916_64_slm755_meig_02:/ # netcfg
sit0     DOWN                                   0.0.0.0/0   0x00000080 00:00:00:00:00:00
p2p0     UP                                     0.0.0.0/0   0x00001003 6a:9c:5e:ff:ac:86
eth0     UP                              192.168.10.149/24  0x00001043 00:90:9e:9a:a6:73
lo       UP                                   127.0.0.1/8   0x00000049 00:00:00:00:00:00
wlan0    UP                                     0.0.0.0/0   0x00001003 68:9c:5e:ff:ac:86
dummy0   DOWN                                   0.0.0.0/0   0x00000082 56:70:f0:35:43:9b

以太网kernel层已配置完成。(通过Ping检查是否网络正常)

framworks部分:

1.添加启动服务。

在init.qcom.rc中添加dhcp服务。

service dhcpcd_eth0 /system/bin/dhcpcd -ABDHKLd
    class late_start
    disabled
    oneshot

2.启动安卓services:

文件:frameworks/base/services/java/com/android/server/SystemServer.java

在mSystemServiceManager.startService(WIFI_SERVICE_CLASS);之后添加:

mSystemServiceManager.startService(ETHERNET_SERVICE_CLASS);//add by Sun

3.测试上层是否识别到以太网

运行命令:getprop|grep eth0

[dhcp.eth0.result]: [ok]
[dhcp.eth0.ipaddress]: [192.168.10.149]
则软件上层已经链接以太网。

注意:该服务包含了配置了以太网的开启以及DHCP.如果出现设备被识别,网卡指示灯闪烁,却没有驱动匹配的过程,则是该服务没开启。可以像上述一样手动netcfg eth0 dhcp开启。


到此为止,如果插入网卡,可以实现自动识别。且自动配置地址等。但无法手动配置IP地址等信息。如果要添加该部分设置参考博客:

http://blog.csdn.net/hclydao/article/details/50972932









  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值