日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

wifi无线网卡移植到andorid

發(fā)布時間:2025/4/5 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 wifi无线网卡移植到andorid 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

不久前移植過ranlink公司的wifi無線網(wǎng)卡,發(fā)現(xiàn)網(wǎng)上的一些文檔不完整或者對一些碰到的問題沒有說明,在此詳細說明一,本人將其移植到android系統(tǒng)上碰到了不少的問題,修改了驅(qū)動及框架代碼,費了兩周多的時間才完全搞好。


一. ? Android平臺Wifi的基本代碼路徑

1.???????Wpa_supplicant源碼部分

external/wpa_supplicant_6/

生成庫libwpa_client.so和守護進程wpa_supplicant

2.???????Wifi的HAL層代碼

位于hardware/libhardware_legary/wifi/

3.???????Wifi的JNI部分

位于frameworks/base/core/jni/android_net_wifi_Wifi.cpp

4.???????JAVA部分

位于frameworks/base/services/java/com/android/server/
????????frameworks/base/wifi/java/android/net/wifi/

5.???????wifi設置部分

位于packages/apps/Settings/src/com/android/settings/wifi/


二. ?linux內(nèi)核配置

在原有android內(nèi)核支持情況下,增加wifi內(nèi)核配置,具體配置如下:

1.???????Networkingsupport? --->Wireless下增加802.11 協(xié)議棧的支持


2.???????USB 支持WIFI的配置

USB 支持WIFI 的配置選項位于Device Drivers>USB support 配置菜單下USB Wireless

Device Management support。


3.???????用戶空間的mdev 和firmware 支持配置

進入DeviceDriver > Generic Driver Options 配置菜單,按照下圖所示配置用戶空間

的mdev 和firmware支持。


4.???????WIFI 設備支持配置

DeviceDrivers? ---> Network devicesupport? ---> Wireless LAN? ---> Ralink driver support--->Ralinkrt2800 (USB) support (EXPERIMENTAL) --->rt2800usb - Include support forrt30xx (USB) devices

以及Wireless LAN 目錄里IEEE 802.11 for Host AP (Prism2/2.5/3 andWEP/TKIP/CCMP)都選擇上,目的是打開CONFIG_WIRELESS_EXT=y?CONFIG_WEXT_PRIV=y

三. 驅(qū)動配置與編譯

1.???????修改驅(qū)動SDK包中的配置文件

1.1???修改env.mk,將RT28xx_DIR 設為當前目錄,RT28xx_DIR = $(shell pwd)。

1.2???修改makefile中對應的kernel與交叉編譯器路徑

1.3???修改os/linux目錄下config.mk中gcc 與 ld變量

1.4???打開os/linux目錄下config.mk中HAS_WPA_SUPPLICANT與HAS_NATIVE_WPA_SUPPLICANT_SUPPORT宏

2.???????修改驅(qū)動SDK包中的驅(qū)動源碼

2.1???將rt_linux.h中的RTUSB_URB_ALLOC_BUFFER與RTUSB_URB_FREE_BUFFER宏修改,定義如下

#define RTUSB_URB_ALLOC_BUFFER(pUsb_Dev,BufSize, pDma_addr)???? usb_alloc_coherent(pUsb_Dev,BufSize, GFP_ATOMIC, pDma_addr)

#defineRTUSB_URB_FREE_BUFFER(pUsb_Dev, BufSize, pTransferBuf, Dma_addr)?????? usb_free_coherent(pUsb_Dev, BufSize,pTransferBuf, Dma_addr)

2.2???修改rt_main_dev.c,直接將MainVirtualIF_close函數(shù)放空,return? 0,解決不能反復關閉wifi問題。

2.3???修改rt_linux.c里RtmpOSNetDevAttach函數(shù)里增加devname賦值。strcpy( pNetDev->name, "mlan0");注:(此處所用的名字要與上層使用的節(jié)點名保持一致,在此說明一下上層主要有這幾處用到節(jié)點名:

1,\frameworks\base\wifi\java\android\net\wifiWifiStateTracker.java

2,init.rc啟動wpa_supplicant守護進程里面與啟動dhcpcd服務

3,dhcpcd服務配置文件,dhcpcd.conf里面

4,init.rc設置setprop wifi.interface "mlan0")

3.???????編譯方法

Source env.mk;make;即可,驅(qū)動是在的路徑為os/linux下的rt3070sta.ko。

此處所用的驅(qū)動名字應與HAL層wifi.c所指定驅(qū)動名保持一致


四. Wap_supplicant相關配置

3.1???Wpa_supplicant.conf配置文件的修改

ctrl_interface=DIR=/data/system/wpa_supplicantGROUP=wifi #這個路徑在wifi.c中用到

3.2???整個環(huán)境必須要讓wext類型相關代碼進行編譯。也就是要打開wext相關的宏CONFIG_DRIVER_WEXT。??即在device/hisi/Hi3716C/BoardConfig.mk中添加:
????? BOARD_HAVE_WIFI := true
????? BOARD_WPA_SUPPLICANT_DRIVER := WEXT

該配置的作用是使external/wpa_supplicant/Android.mk設置WPA_BUILD_SUPPLICANT為true。

3.3???在init.rc里面增加啟動wpa_supplicant守護進程及dhcpcd進程

3.4???在init.rc里面增加wifi相關文件的權限設定,設置如下:

chmod 0771 /system/etc/wifi

????? chmod 0660/system/etc/wifi/wpa_supplicant.conf

????? chown wifiwifi /system/etc/wifi/wpa_supplicant.conf #wifi的原始配置文件

?????

????? #wpa_supplicantsocket

????? mkdir/data/system/wpa_supplicant 0770 wifi wifi

????? chmod 0771/data/system/wpa_supplicant? #放置wifiinterface的地方

????? mkdir/data/misc/wifi 0770 wifi wifi

???

????? chmod 0771/data/misc/wifi

chmod 0660 /data/misc/wifi/wpa_supplicant.conf? #wifi的配置文件,將由wpa_supplicant根據(jù)實際配置寫入該文件

????? chown wifiwifi /data/misc/wifi

????? chown wifiwifi /data/misc/wifi/wpa_supplicant.conf

????? mkdir/data/misc/wifi/sockets 0770 wifi wifi? #與上層通過socket通信的路徑

?????

????? cp/system/etc/wifi/wpa_supplicant.conf /data/misc/wifi/

?????

????? mkdir/data/misc/dhcp 0777 dhcp dhcp

????? chown dhcpdhcp /data/misc/dhcp

?????

????? # Preparefor wifi

??? setpropwifi.interface "mlan0"

??? ????? setprop wlan.driver.status "ok"

3.5???啟動wpa_supplicant守護進程與dhcpcd服務

在init.rc里面添加wpa_supplicant啟動:

service wpa_supplicant/system/bin/logwrapper /system/bin/wpa_supplicant \

???-Dwext -imlan0 -c/data/misc/wifi/wpa_supplicant.conf -dd

????? ?????? user root

????? ?????? group system wifi inet

????? ?????? socket wpa_mlan0 dgram 660 wifi wifi

????? ?????? disable

?????? ?????? ?????? oneshot

?????? 在init.rc里面添加dhcpcd啟動:

service dhcpcd /system/bin/logwrapper/system/bin/dhcpcd -d -B wlan0
???????? disabled
???????? oneshot

3.6???在init.godbox.rc里增加dns設置

Setprop net.dns1 192.168.10.247

Setprop net.dns2 192.168.10.248

?

五. wifi移植所需在android系統(tǒng)添加的一些文件

4.1???添加wifi的wpa_supplicant.conf配置文件

放置目錄與hardware/libhardware_legacy/wifi/wifi.c中的目錄保持一致

4.2???添加驅(qū)動的配置文件

在system/etc/Wireless/RT2870STA目錄放置配置文件RT2870STA.dat,與rt_linux.h中配置文件的路徑保持一致。

4.3???添加dhcpcd啟動配置文件

設置/system/etc/dhcpcd/dhcpcd.conf的配置為:
????? interface mlan0
????? option subnet_mask, routers,domain_name_servers?

七. 其它平臺移植記錄

6.1????內(nèi)核

內(nèi)核的修改如上述第二大點內(nèi)核配置

6.2????Wpa_supplicant

將wpa_supplicant_6編譯打開

Wpa_supplicant 主要是在device/hisi/Hi3716C/BoardConfig.mk中添加:
????? BOARD_HAVE_WIFI := true
????? BOARD_WPA_SUPPLICANT_DRIVER := WEXT

???????? 以及在wpa_supplicant_6 里面的.config增加ANDROID=y

總結(jié)

以上是生活随笔為你收集整理的wifi无线网卡移植到andorid的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品久久久久久一区二区三区 | 国产精品视频免费播放 | v天堂在线| 自拍偷拍国产视频 | 国产主播av在线 | 69视频在线观看免费 | 四虎视频国产精品免费入口 | 久久99免费 | 日韩123区 | 亚洲三级网 | 在线aa| 精品久久人妻av中文字幕 | 久久r精品 | 国产aⅴ激情无码久久久无码 | 无码精品国产一区二区三区免费 | 青草青在线 | 国产suv精品一区二区四 | 日日天天| 在线色综合 | 中文字幕av一区二区三区谷原希美 | 婷婷调教口舌奴ⅴk | 超碰自拍 | 国产情侣小视频 | 国产亚洲成av人片在线观看桃 | 国产美女福利 | 国产精品自拍一区 | 免费一级黄色大片 | 精品丰满少妇一区二区三区 | 亚洲国产日韩一区无码精品久久久 | 成人激情视频在线 | 91免费版在线看 | 日韩成人三级 | 蜜桃色999| 中出视频在线观看 | 无套内谢的新婚少妇国语播放 | 国产chinesehd精品 | 影音先锋黑人 | 午夜久久久久久久久久 | 视频一区在线播放 | 三级无遮挡 | 女同动漫免费观看高清完整版在线观看 | 18av视频| 久久精品欧美一区二区三区不卡 | 丰满人妻一区二区三区大胸 | 国产一区在线视频 | 亚洲免费av片 | japansexxxxhd医生| 熟女一区二区三区视频 | 色婷婷综合成人av | 一道本不卡视频 | 日本免费一区二区三区 | 波多野吉衣av在线 | 免费一级片视频 | 手机av资源 | 成年人免费看毛片 | 亚洲AV无码阿娇国产精品 | 天天看天天摸 | 亚洲香蕉中文网 | 国产做爰xxxⅹ久久久精华液 | 久久系列| h片在线| 无码国产精品久久一区免费 | 日本国产欧美 | 浪荡奴双性跪着伺候 | 国产永久免费视频 | 第一色影院 | 欧美美女性生活视频 | 亚洲精品福利在线 | 日本乱子伦 | videos麻豆 | 黄色免费视频网站 | 99cao| 日韩污污 | 性色av一区二区三区免费 | 正在播放一区二区 | 天天干,天天操 | 777视频在线观看 | 国产在线网 | 青青在线精品 | 欧美午夜精品理论片a级按摩 | 亚洲成人中文字幕 | 夜色网 | 精品国自产拍在线观看 | 十八禁视频网站在线观看 | 少妇天堂网 | 久草视频在线免费看 | 蜜桃视频久久一区免费观看入口 | 中文字幕免 | av大片网| 日韩无遮挡 | 久久aaa| 在线一区二区三区视频 | 国内自拍视频在线观看 | 新久草视频 | 色综合天天综合 | 又黄又色又爽的视频 | 久久激情五月 | 蜜臀在线播放 | 无毒黄色网址 |