zoukankan      html  css  js  c++  java
  • 移植usb wifi 驱动

    porting wifi主要分为两个部分,源码的修改 和 配置文件的修改其中配置文件的修改包括 源码 未编译时 配置文件的修改 和 源码编译后 的配置文件修改,下面就这两部分分析:

    android 未编译时的 配置文件修改和源码修改
    1、

    /build/target/board/generic/ BoardConfig.mk

    确定是否存在HAVE_CUSTOM_WIFI_DRIVER_2 := true ,如果没有则添加该选项;

    /android-eclair/external/wpa_supplicant/.config.h
    确定.config.h中,是否存在以下3个选项
    CONFIG_WIRELESS_EXTENSION=y
    CONFIG_CTRL_IFACE=y
    CONFIG_DRIVER_WEXT=y


    以上是支持wifi驱动的选项!

    2、修改的源码文件


    2.1/android-cupcake/system/wlan/ti/sta_dk_4_0_4_32/CUDK/tiwlan_loader/tiwlan_loader.c

    这个文件修改的tiwlan_loader服务,这个服务在android1.5中需要返回成功,表示加载wifi的固件到
    eeprom中成功,而实际内核在加载wifi驱动的时候,同时加载了固件(即提供的bin文件)。

    但是在android2.0中,这个服务不是必须的!

    2.2/android-cupcake/hardware/libhardware_legacy/wifi/wifi.c
    这个是porting wifi驱动的 最重要的文件,其中包括 驱动加载, 连接wpa_supplicant服务 都是在wifi.c中完成。所以要修改 驱动加载的网络接口名 和 相关的 宏
    2.3/android-cupcake/frameworks/base/wifi/java/android/net/wifi/
    这个目录下是wifi中相关的java代码,其中修改的WifiStateTracker.java,这个主要修改dhcp时,获取动态ip地址的网络接口名
    2.4 external/wpa_supplicant/ctrl_iface_unix.c
    这个主要 修改wpa_supplica
    nt连接时的 权限,wpa_supplicant服务启动的时候 客户端 和 服务端 通过unix socket通信,JAVA UI 界面是通过此socket文件与驱动联系,此服务生成的socket 在/data/system/wpa_supplicant/目录下,如果涉及到权限问题,则需要修改 external/wpa_supplicant/ctrl_iface_unix.c中相关的目录的权限

    2.5 frameworks/base/services/java/com/android/server/WifiService.java 这个在android1.5中,上传到BSSID,ISSID,java代码无法识别。在android2.0中无需修改。


    android 编译后 的相关配置文件的修改

    3.1/system/etc/wifi/wpa_supplicant.conf看目录下是否存在该文件,如果不存在,则添加;并且添加wpa_supplicant服务socket的服务接口,如下所示:
    ctrl_interface=/data/system/wpa_supplicant//默认的mlan0无线网络接口的目录
    update_config=1 //这个可能是更新的配置,但不确认。


    3.2/system/etc/dhcpcd/dhcpcd.conf看是否存在改文件,不存在则添加,并且修改无线网络接口的网络名字,如android默认的是tiwlan0 ,而我的无线网络接口是mlan0,则把interface 后面的接口改成mlan0


    3.3 init.rc
    service  wpa_supplicant   /system/bin/wpa_supplicant   -imlan0 -c/system/etc/wifi/wpa_supplicant.conf
         disable
         oneshot
    service dhcpcd /system/bin/dhcpcd -d -f /system/etc/dhcpcd/dhcpcd.conf mlan0
      disable
      oneshot
    以上是添加在wifi的服务。

    mkdir /data/misc/wifi  0777 wifi wifi
    mkdir /data/misc/wifi/sockets 0777 wifi wifi
    mkdir /data/system/wpa_supplicant 0777 wifi wifi
    mkdir /data/misc/dhcp 0777 dhcp dhcp
    chown dhcp dhcp /data/misc/dhcp
    新建以上的目录。

    如果你不的平台不出稀奇古怪的问题的话,现在你已经可以ping通你想用的ip地址咯!


  • 相关阅读:
    mysql索引
    springboot mybatis 后台框架平台 shiro 权限 集成代码生成器
    java 企业网站源码模版 有前后台 springmvc SSM 生成静态化
    java springMVC SSM 操作日志 4级别联动 文件管理 头像编辑 shiro redis
    activiti工作流的web流程设计器整合视频教程 SSM和独立部署
    .Net Core中的ObjectPool
    文件操作、流相关类梳理
    .Net Core中的配置文件源码解析
    .Net Core中依赖注入服务使用总结
    消息中间件RabbitMQ(一)
  • 原文地址:https://www.cnblogs.com/liulaolaiu/p/11745038.html
Copyright © 2011-2022 走看看