2022-01-29

HI3556V200配置RTL8189FS

參考文檔:海思官方提供的《WIFI使用指南》,其他文檔和網(wǎng)站

之前先檢查下WiFi的引腳是否連接好了,這里由于我之前模組沒焊好,導致之后管腳復用一直不成功。

第一步:將廠商提供的WIFI驅(qū)動文件夾放在SDK的下任意比較方便的位置

這里放置在/osdrv/opensource/下

第二步:配置內(nèi)核

進入內(nèi)核目錄:make ARCH=arm CROSS_COMPILE=arm-himix100-linux- menuconfig

配置 CFG80211 :

配置 GPIO :

最后還要修改下:.config里面的?CONFIG_RFKILL,要不然在后面出現(xiàn)如下圖的提示:rfkill: Cannot open RFKILL control device

710:

CONFIG_RFKILL=y711;

CONFIG_RFKILL_INPUT=y712;

CONFIG_RFKILL_GPIO=y;

SDIO中斷配置:

/osdrv/opensource/kernel/linux-4.9.y/arch/arm/boot/dts下的hi3556v200.dtsi文件中,找到mmc2,加入如圖所示的cap-sdio-irq;

配置 BOOT

有兩種方法:

第一種:這里查看原理圖和通過 Hi3556V200_PINOUT_CN.xlsx 的描述,配置在?osdrv/tools/pc/uboot_tools?目錄下的 Hi3556V200-DMEB-DDR3_1800M_16bit_128MB-A7_900M-SYSBUS_300M.xlsm 文件,將SDIO1的各個IO復用為sdio1的功能。

第二種方法:不用修改表格在,直接修改代碼/reference/samplecam/modules/init/amp/liteos/src/hi_product_init_hi3559v200.c?中,大約在380行添加如下的代碼

staticvoidsdio1_wifi_pin_mux()

{

himm(0x112f0008,0x681);

himm(0x112f000c,0x581);

himm(0x112f0010,0x581);

himm(0x112f0014,0x581);

himm(0x112f0018,0x581);

himm(0x114F001C,0x581);

}

并在下面的函數(shù)中調(diào)用

配置修改完成后重新編一下kernel:make ARCH=arm CROSS_COMPILE=arm-himix100-linux- uImage

第三步:編譯WIFI驅(qū)動

進入驅(qū)動放置的同級目錄下執(zhí)行:

1.make ARCH=arm CROSS_COMPILE=arm-himix100-linux-clean2.make-C rtl8189FS/ARCH=arm CROSS_COMPILE=arm-himix100-linux-KSRC=/home/*****/usbcam_hi3556v200_imx335/osdrv/opensource/kernel/linux-4.9.y/

PS:這個KSRC為kernel的絕對路徑

編譯完成后可以看到rtl8189FS目錄下生成了rtl8192eu.ko文件。

第四步:編譯WIFI工具

根據(jù)官方文檔進行下載并編譯等操作

PS:找一些老版本安裝,要不然安裝出來的wpa_supplicant太大,最后flash放不下

編譯完成后將其中有用的文件放到一個文件下

第五步:WIFI測試

首先將需要的工具文件打包到板子目錄下,就直接在SDK下?\reference\samplecam\rootfs?目錄下的Makefile 文件中修改

注意這幾文件都需要

PS: 另外連接AP時還需要udhcpc 這個文件,先到根文件系統(tǒng)下的sbin目錄下看看有沒有,如果沒有就去busybox里面配置編譯下,將生成的udhcpc放到單板目錄下(如上圖)。

第六步:連接AP

進入開發(fā)板后,先到WiFi驅(qū)動模塊目錄下安裝模塊

insmod rtl8192eu.ko

接著創(chuàng)建軟鏈接

ln -s libnl.so.1.1 libnl.so.1

打開WiFi:

ifconfig wlan0 up

使用wpa_passphrase配置wifi并加密密碼

./wpa_passphrase wifi名 密碼 >> /etc/wpa_supplicant.conf

啟動 wpa_supplicant 進程

./wpa_supplicant -i wlan0 -D nl80211 -c /etc/wpa_supplicant.conf -B

自動獲取IP地址

udhcpc -i wlan0

PS:這里可以提前在外面設(shè)置好配置文件wpa_supplicant.conf,參考網(wǎng)上的,在里面配置如下:

ctrl_interface=/var/run/wpa_supplicantnetwork={ssid="iPhone"#psk="123456789"psk=4533d2b21868ec5e40c7a89e5fabff4ccbe17804bfce566cf1c26074ebf77591}

這樣就剩了wpa_passphrase這一步了,或者還可以通過wpa_cli來掃描熱點進行配置,具體步驟在官方文檔中很詳細。

最后ifconfig看下分配的ip和網(wǎng)關(guān)之類的

顯示分配成功和ping以下網(wǎng)關(guān)和外網(wǎng)看是否成功

版權(quán)聲明:本文為makejiec原創(chuàng)文章,遵循?CC 4.0 BY-SA?版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/makejiec/article/details/107214733

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容