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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

第五季1:AP模式USB-WIFI网卡移植与测试

發布時間:2023/12/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第五季1:AP模式USB-WIFI网卡移植与测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以下內容源于朱有鵬課程,如有侵權,請告知刪除。


1、WIFI接口

  • WIFI模塊與SoC的接口有多種,如SDIO、USB、串口(低帶寬)等。

2、AP、STA

  • AP(Access Poin,接入點t),一般指(有線或者無線的)路由器。
  • STA(Station,站點),指的是連接到路由器的終端設備,比如手機筆記本等等。

3、USB-WIFI網卡選作AP模式、STA模式

  • USB-WIFI的模式選項,就是讓你選擇,你這(擁有USB-WIFI模塊的)設備,是作為站點還是作為接入點。如果它作為站點,那么它聯網的時候就會去尋找一個接入點來接入網絡。如果是作為接入點,那么局域網中其他設備在聯網的時候會接入它。

4、移植起點

(1)前置課程《USB-WIFI網卡在x210板子上的移植》

  • 此課程見https://blog.csdn.net/oqqHuTu12345678/article/details/78945699
  • 此課程中USB-WIFI網卡僅作station模式,它接入房間里的無線路由器來上網。

(2)USB WIFI網卡官方提供的驅動

(3)基于海思SDK中已經編譯過的內核源碼樹來編譯驅動

  • 因為板載系統的內核和用來編譯驅動的內核源碼樹必須對應一致,這樣編譯出來的驅動才能在板載系統上安裝與工作。

5、本課程內容

  • HI3518E+WIFI做AP,PC做STA,實現局域網內ortp視頻傳輸
  • HI2518E+WIFI做STA,PC做STA,外部路由器做AP,實現局域網內ortp視頻傳
  • HI2518E+WIFI做STA,PC做STA,外部路由器做AP,實現全程無線調試(不用有線網卡)

6、USB-WIFI驅動源碼

  • 網盤資源【提取碼: p3e7】
  • 將Makefile替換掉壓縮包里的Makefile。

7、假設的IP地址

無線有線
windows192.168.0.30192.168.1.20
開發板192.168.0.100?192.168.1.10
ubuntu192.168.0.50192.168.1.141

? ??

一、AP模式USB-WIFI網卡移植與測試

1、在虛擬機中合適目錄解壓

2、修改移植工作很簡單

(1)在include/rtmp_def.h中1627行左右,修改網絡名始終為:wlan。

  • 但其實不改也行,只是將來網絡名字不叫wlan而是叫ra。

(2)將提供的Makefile替換掉原來的Makefile;

  • 注意路徑問題,如果你自己的內核源碼樹的路徑不是所提供的Makefile中規定的,則需要將所提供的Makefile里的內核源碼樹的路徑修改下。

(3)此時執行make時報錯(注意分析錯誤的過程,挺受啟發的)。

  • 需要在./os/linux/config.mk中添加EXTRA_FLAGS;(即添加1044~1046所示的內容)

  • 報錯原因是找不到某些頭文件,但實際上在include目錄中有這些頭文件,為何還是找不到呢?在Make文件中有下面一句,即包含配置文件config.mk,進入到config.mk文件中查看,發現是flag的問題。因此要添加。

(4)執行make時依然出錯,原因是缺少autoconf.h文件。

  • 海思SDK直接解壓后得到的kernel中并沒有包含此文件,因為(猜想的)在執行make distclean時刪除了此文件。解決方法是重新單獨編譯kernel,可以獲得此文件。
  • 解釋見https://www.cnblogs.com/Suzkfly/p/11763948.html

(5)修改Makefile。

  • 因為Makefile文件規定將得到xx.ko文件放在/tftpboot中,但我們想用NFS將驅動拷貝到板載系統,因此修改Makefile,使其將生成的ko文件放到/root/all_qianrushi/rootfs/hisrootfs中。

(6)執行make。

  • 生成的驅動是./os/linux/*.o所示的文件(主要mt7601Uap.ko文件)。
  • /root/all_qianrushi/rootfs/hisrootfs中也有一份(即mt7601Uap.ko)。

3、部署USB-WIFI驅動使之工作為AP

(1)確認模塊被識別。

  • 先lsusb,然后插入USB WIFI模塊,再lsusb,確認模塊被識別了

(2)在開發板中部署 /etc/Wireless/RT2870AP/RT2870AP.dat,并修改以下幾個配置。

此配置文件在虛擬機的源碼中,將之拷貝到板載目錄/etc/Wireless/RT2870AP/(板載系統無此目錄而需要自己創建)并作修改。

  • SSID=WIFI_XJH(此名字是在pc機上看到的wifi名字)?
  • AuthMode=WPA2PSK(加密方式)
  • EncrypType=TKIP;AES
  • WPAPSK=123456789(這個是密碼)

(3)insmod mt7601Uap.ko安裝USB WIFI驅動模塊

(4)ifconfig -a看是否有wlan0

  • 如果只ifconfig命令,只能看到打開狀態下的網卡。所以用ifconfig -a

(5)ifconfig wlan0 up, ifconfig wlan0 192.168.0.100來啟動wlan0并設置其IP。

(6)ifconfig查看,確認wlan0工作正常

(7)用PC或手機的WIFI搜索是否有一個名為:MT7601AP_WPA的網絡了,有了就成功了

(8)給PC強制分配靜態IP

設置無線網卡的IP為:192.168.0.30

設置有線網卡的IP為:192.168.1.20

4、測試用例準備

(1)在ORTP版本的sample中,在/common/sample_common_venc.c中,修改LOCAL_HOST_IP為192.168.0.30

(2)在sample/venc/下執行make clean,再執行make,得到sample_venc。

這步居然出現了問題,折騰大半天死活得不到sample_venc文件。

1)首先make clean和make的時候,出現一個提示說缺少文件。

ls: cannot access ‘./hiwork/osdrvhi3518e.C01’: No such file or directory

由于編譯得不到sample_venc文件,我以為是缺少該文件導致的。復制粘貼上網查詢,有人說不影響編譯結果的,的確如此,但得不到我需要的sample_venc文件,只得到sample_venc.o文件。

與我一樣有強迫癥的網友提供了方法:https://blog.csdn.net/PecoHe/article/details/89528018,即修改mpp目錄下的那個Makefile.param,如圖注釋掉部分代碼。

2)經過上面步驟后,執行make clean 和make時不再提示缺少文件,而且也得到了想要的文件。但將其放在板載系統上運行時出現下面圖片所示的錯誤。

根據提示是初始化失敗了。為何會失敗呢?我只是在sample_venc.c 修改了通道數目為1,然后在common/sample_common_venc.c中修改了主機IP,而之前的RTP傳輸視頻實驗是成功的,對比之下,這次只是修改了主機IP,為何就出錯了呢?我回到之前的實驗,發現自己缺失一個步驟,這個步驟在之前的RTP傳輸視頻實驗中我做過了,因此之前的實驗可以成功,但是因為我曾經重新執行過./sdk.cleanup和./sdk.unpack,所以那步驟的修改丟失了,而這次我修改了其他內容而唯獨忘記這個步驟,因此出錯。步驟是:由sample目錄下的readme的第三點可知,需要對sample目錄下的Makefile.param進行修改。如圖箭頭所示。

這兩個參數的值會影響其他參數,從而影響結果。

這番折騰花費我蠻多時間的,只因為缺失一個修改步驟,得到教訓:做實驗時,如果沒有沿用之前的設置,而是新建立項目內容時,要注意新舊文件內容對比,注意步驟是否完成。

(3)復制得到的sample_venc到/root/all_qianrushi/rootfs/hisrootfs。

5、測試實驗

(1)開發板端:cp /mnt/sample_venc /home/,然后cd /home

  • 拔掉網線后不能再通過/mnt訪問虛擬機的內容,所以要將用到的文件拷貝到板載系統中。

(2)拔掉網線

  • 證明是無線傳輸

(3)PC端WIFI連接WIFI-XJH,輸入密碼123456789

(4)PC端設置無線網絡的靜態IP地址為:192.168.0.30

(5)PC端cmd去ping 192.168.0.100,或者反過來開發板端ping PC的無線IP

  • 開發板ping PC端的時候,記得關掉PC端的防火墻(在cmd輸入control選擇關閉),否則ping不通的。

(6)開發板端執行 ./sample_venc

(7)PC端打開VLC,使用第3季中的sdp配置,注意修改c=IN IP4 192.168.0.100,就能播放了。

總結

以上是生活随笔為你收集整理的第五季1:AP模式USB-WIFI网卡移植与测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。