1. 程式人生 > >rtl8188eus usb wifi 連線ssid的移植

rtl8188eus usb wifi 連線ssid的移植

1、 核心配置

硬體上將USB的ID引腳接地

核心將DM365的USB配置成USB HOST工作模式

[*] USB_SUPPORT --->

<*>Inventra Highspeed Dual Role Controller (TI,ADI,...)

        *****Platform Glue Layer

<*>      Davinci

            Driver Mode  (USB Host)   ---->

配置DM368開啟wifi的配置項

網路協議配置開啟80211相關協議

[*] Networking support  --->

  -*-   Wireless  --->  

  --- Wireless                                                                                    | |  
  | |                         <*>   cfg80211 - wireless configuration API                                                     | |  
  | |                         [ ]     nl80211 testmode command                                                                | |  
  | |                         [ ]     enable developer warnings                                                               | |  
  | |                         [ ]     cfg80211 regulatory debugging                                                           | |  
  | |                         [*]     enable powersave by default                                                             | |  
  | |                         [ ]     cfg80211 DebugFS entries                                                                | |  
  | |                         [ ]     use statically compiled regulatory rules database                                       | |  
  | |                         [*]     cfg80211 wireless extensions compatibility                                              | |  
  | |                         [*]   Wireless extensions sysfs files                                                           | |  
  | |                         -*-   Common routines for IEEE802.11 drivers                                                    | |  
  | |                         [ ]   lib80211 debugging messages                                                               | |  
  | |                         <*>   Generic IEEE 802.11 Networking Stack (mac80211)                                           | |  
  | |                         [ ]   PID controller based rate control algorithm                                               | |  
  | |                         [*]   Minstrel                                                                                  | |  
  | |                         [*]     Minstrel 802.11n support                                                                | |  
  | |                               Default rate control algorithm (Minstrel)  --->                                           | |  
  | |                         [ ]   Enable mac80211 mesh networking (pre-802.11s) support                                     | |  
  | |                         [ ]   Export mac80211 internals in DebugFS                                                      | |  
  | |                         [ ]   Select mac80211 debugging features  ---> 

開啟WIRELESS LAN

Device Drivers  --->    

[*] Network device support  ---> 

[*]   Wireless LAN  ---> 

 <*>   IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)                                                                    

關閉USB CPPI DMA功能(這裡除錯了很久,wifi連線上AP,ping也可以ping通一段時間後面就報錯,後面嘗試著將這個選項關掉,問題解決,但是有缺陷,cpu在做運算密集型操作的時候可能掉包,usb bulk傳輸有瓶頸)

[*]   Disable DMA (always use PIO) 

2、8188EUS驅動的編譯

A、MAKEFILE的修改

驅動版本rtl8188EUS_rtl8189ES_linux_v4.1.7_1529.20140106_B

關閉CONFIG_PLATFORM_I386_PC= n

開啟CONFIG_PLATFORM_TI_DM365= y

修改交叉編譯器的路徑和核心目錄路徑

ifeq ($(CONFIG_PLATFORM_TI_DM365), y)

EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN-DCONFIG_PLATFORM_TI_DM365

ARCH := arm

CROSS_COMPILE :=/usr/local/ipnc/Source/dvsdk_ipnctools/linux-devkit/bin/arm-arago-linux-gnueabi-

KVER := 2.6.37

KSRC:=/usr/local/yourapp/Source/dvsdk_ipnctools/ipnc_psp_03_21_00_04/kernel

Endif

B、make生成的8188eu.ko拷貝到nfs的檔案系統下面,執行下面的命令

載入ko:            insmod 8188eu.ko

開啟wlan0:          ifconfig wlan0 up

設定一個同一網段的IP:ifconfig wlan0 192.168.2.103

後臺執行wpa_supplicant:  ./wpa_supplicant -Dwext -iwlan0 -c./wpa_supplicant.conf -B &

測試ping閘道器:        ping 192.168.2.1 &

3、 wireless tools工具和wpa_supplicant工具的交叉編譯

進入wireless_tools.30.rtl,

Gcc 改為/usr/local/ipnc/Source/dvsdk_ipnctools/linux-devkit/bin/arm-arago-linux-gnueabi-gcc

AR改為/usr/local/ipnc/Source/dvsdk_ipnctools/linux-devkit/bin/arm-arago-linux-gnueabi-ar

Ranlib改為RANLIB =/usr/local/ipnc/Source/dvsdk_ipnctools/linux-devkit/bin/arm-arago-linux-gnueabi-ranlib

然後編譯,將生成的iwconfig、iwevent、iwgetid、iwlist、iwpriv、iwspy拷貝到開發板中

進入wpa_supplicant-0.8

要編譯wpa_supplicant工具前先要編譯OPENSSL

(A)將openssl解壓

Tar zxvf openssl-0.9.8e.tar.gz

(B)將wpa_supplicant下的patch中的openssl-0.9.8e-tls-extensions.patch拷貝到openssl目錄下

Cp wpa_supplicant-0.8/patches/openssl-0.9.8e-tls-extensions.patchopenssl-0.9.8e/

(C)patch –p1 <oepnssl-0.9.8e-tls-extensions.patch

(D)Openssl工具的編譯

1. 動態連結庫

配置安裝路徑 ./config no-asm shared --prefix=/usr/local/openssl

2.

修改Makefile

CC=/usr/local/ipnc/Source/dvsdk_ipnctools/linux-devkit/bin/arm-arago-linux-gnueabi-gcc

AR=  /usr/local/ipnc/Source/dvsdk_ipnctools/linux-devkit/bin/arm-arago-linux-gnueabi-gcc-ar$(ARFLAGS) r

RANLIB=  /usr/local/ipnc/Source/dvsdk_ipnctools/linux-devkit/bin/arm-arago-linux-gnueabi-gcc-ranlib

make

3.

make install

產生libssl.a及libcrypto.a

Wpa_supplicant工具的編譯

進入wpa_supplicant目錄

#cp defconfig       .config

#vim .config

CC= arm-linux-gcc -L/usr/local/ssl/lib/

CFLAGS += -I/usr/local/ssl/include/

LIBS += -L/usr/local/ssl/lib/

#make

拷貝工具以及庫到目標板

wpa_supplicant用法:

wpa_supplicant-D wext -c ./wpa_supplicant.conf -i wlan0 -B

其中wpa_supplicant.config 可參考內容如下:

ctrl_interface=/var/run/wpa_supplicant

ap_scan=1

network={

proto=RSN

key_mgmt=WPA-PSK

pairwise=CCMPTKIP

group=CCMP TKIP

ssid="TEST"       連線的ap

psk="123456"   密碼

}

 insmod 成功起來後的log

[ 114.210981] RTL871X: +871x_drv - drv_open, bup=0

[ 114.218021] RTL871X: rtl8188e_FirmwareDownload: fw_ver=11 fw_subver=1sig=0x88e1

[ 114.262131] RTL871X: _FWFreeToGo: Checksum report OK!REG_MCUFWDL:0x00030004

[ 114.272009] RTL871X: =====> _8051Reset88E(): 8051 reset success .

[ 114.279348] RTL871X: _FWFreeToGo: Polling FW ready success!!REG_MCUFWDL:0x000300c6

[ 114.625402] ==> rtl8188e_iol_efuse_patch

[  114.732880]RTL871X: ==>  _InitAntenna_Selection....

[ 114.740022] RTL871X: _InitAntenna_Selection,Cur_ant:(1)Antenna_A

[ 114.748694] RTL871X: pDM_Odm TxPowerTrackControl = 1

[ 115.075256] RTL871X: rtl8188eu_hal_init in 860ms

[ 115.086955] RTL871X: MAC Address = 00:95:69:07:a8:a0

[ 115.093032] RTL871X: -871x_drv - drv_open, bup=1

[ 109.449857] RTL871X: rtl8188eu driver version=v4.1.7_1529.20140106_B

[ 109.457328] RTL871X: build time: Feb 18 2014 16:40:00

[ 109.462726] RTL871X:

[ 109.462741] usb_endpoint_descriptor(0):

[ 109.471166] RTL871X: bLength=7

[ 109.475196] RTL871X: bDescriptorType=5

[ 109.478979] RTL871X: bEndpointAddress=81

[ 109.482913] RTL871X: wMaxPacketSize=512

[ 109.488377] RTL871X: bInterval=0

[ 109.491644] RTL871X: RT_usb_endpoint_is_bulk_in = 1

[ 109.497846] RTL871X:

[ 109.497869] usb_endpoint_descriptor(1):

[ 109.503987] RTL871X: bLength=7

[ 109.508659] RTL871X: bDescriptorType=5

[ 109.512439] RTL871X: bEndpointAddress=2

[ 109.517573] RTL871X: wMaxPacketSize=512

[ 109.521441] RTL871X: bInterval=0

[ 109.525962] RTL871X: RT_usb_endpoint_is_bulk_out = 2

[ 109.530965] RTL871X:

[ 109.530981] usb_endpoint_descriptor(2):

[ 109.538699] RTL871X: bLength=7

[ 109.541787] RTL871X: bDescriptorType=5

[ 109.546822] RTL871X: bEndpointAddress=3

[ 109.550692] RTL871X: wMaxPacketSize=512

[ 109.555824] RTL871X: bInterval=0

[ 109.559089] RTL871X: RT_usb_endpoint_is_bulk_out = 3

[ 109.564072] RTL871X: nr_endpoint=3, in_num=1, out_num=2

[ 109.564097]

[ 109.572734] RTL871X: USB_SPEED_HIGH

[ 109.577266] RTL871X: CHIP TYPE: RTL8188E

[ 109.581240] RTL871X: rtw_handle_dualmac(): pbuddy_padapter == NULL, Setpbuddy_padapter

[ 109.590624] RTL871X: register rtw_netdev_ops to netdev_ops

[ 109.597469] RTL871X: Chip Version Info: CHIP_8188E_Normal_Chip_TSMC_A_CUT_1T1R_RomVer(0)

[ 109.606497] RTL871X: RF_Type is 3!!

[ 109.610044] RTL871X: _ConfigNormalChipOutEP_8188E OutEpQueueSel(0x05),OutEpNumber(2)

[ 109.619572] RTL871X: EEPROM type is E-FUSE

[ 109.623710] RTL871X: ====> _ReadAdapterInfo8188EU

[ 109.629974] RTL871X: Boot from EFUSE, Autoload OK !

[ 109.640901] bFWReady == _FALSE call reset 8051...

[ 109.647912] RTL871X: =====> _8051Reset88E(): 8051 reset success .

[ 109.667933] RTL871X: efuse_read_phymap_from_txpktbuf bcnhead:0

[ 109.676398] RTL871X: efuse_read_phymap_from_txpktbuf len:104,lenbak:104, aaa:104, aaabak:104

[ 109.697570] RTL871X: efuse_read_phymap_from_txpktbuf read count:102

[ 109.705659] RTL871X: EEPROM ID=0x8129

[ 109.709370] RTL871X: VID = 0x0BDA, PID = 0x8179

[ 109.713914] RTL871X: Customer ID: 0x00, SubCustomer ID: 0xCD

[ 109.721197] RTL871X: T

[ 109.723616] RTL871X:Hal_ReadPowerSavingMode88E...bHWPwrPindetect(0)-bHWPowerdown(0),bSupportRemoteWakeup(1)

[ 109.735245] RTL871X: ### PS params=> power_mgnt(1),usbss_enable(0) ###

[ 109.741910] RTL871X: ======= Path 0, Channel 1 =======

[ 109.748444] RTL871X: Index24G_CCK_Base[0][1] = 0x28

[ 109.753362] RTL871X: Index24G_BW40_Base[0][1] = 0x2e

[ 109.759639] RTL871X: ======= Path 0, Channel 2 =======

[ 109.765728] RTL871X: Index24G_CCK_Base[0][2] = 0x28

[ 109.770644] RTL871X: Index24G_BW40_Base[0][2] = 0x2e

[ 109.776919] RTL871X: ======= Path 0, Channel 3 =======

[ 109.782096] RTL871X: Index24G_CCK_Base[0][3] = 0x28

[ 109.788291] RTL871X: Index24G_BW40_Base[0][3] = 0x2e

[ 109.793291] RTL871X: ======= Path 0, Channel 4 =======

[ 109.799748] RTL871X: Index24G_CCK_Base[0][4] = 0x28

[ 109.805570] RTL871X: Index24G_BW40_Base[0][4] = 0x2e

[ 109.810574] RTL871X: ======= Path 0, Channel 5 =======

[ 109.817027] RTL871X: Index24G_CCK_Base[0][5] = 0x28

[ 109.821941] RTL871X: Index24G_BW40_Base[0][5] = 0x2e

[ 109.828214] RTL871X: ======= Path 0, Channel 6 =======

[ 109.833393] RTL871X: Index24G_CCK_Base[0][6] = 0x28

[ 109.839592] RTL871X: Index24G_BW40_Base[0][6] = 0x2e

[ 109.845501] RTL871X: ======= Path 0, Channel 7 =======

[ 109.850680] RTL871X: Index24G_CCK_Base[0][7] = 0x28

[ 109.856879] RTL871X: Index24G_BW40_Base[0][7] = 0x2e

[ 109.861882] RTL871X: ======= Path 0, Channel 8 =======

[ 109.868333] RTL871X: Index24G_CCK_Base[0][8] = 0x28

[ 109.873249] RTL871X: Index24G_BW40_Base[0][8] = 0x2e

[ 109.879522] RTL871X: ======= Path 0, Channel 9 =======

[ 109.885606] RTL871X: Index24G_CCK_Base[0][9] = 0x28

[ 109.890522] RTL871X: Index24G_BW40_Base[0][9] = 0x2e

[ 109.896798] RTL871X: ======= Path 0, Channel 10 =======

[ 109.902064] RTL871X: Index24G_CCK_Base[0][10] = 0x28

[ 109.908351] RTL871X: Index24G_BW40_Base[0][10] = 0x2e

[ 109.913442] RTL871X: ======= Path 0, Channel 11 =======

[ 109.919985] RTL871X: Index24G_CCK_Base[0][11] = 0x28

[ 109.925896] RTL871X: Index24G_BW40_Base[0][11] = 0x2e

[ 109.930987] RTL871X: ======= Path 0, Channel 12 =======

[ 109.937523] RTL871X: Index24G_CCK_Base[0][12] = 0x28

[ 109.942525] RTL871X: Index24G_BW40_Base[0][12] = 0x2e

[ 109.948892] RTL871X: ======= Path 0, Channel 13 =======

[ 109.954155] RTL871X: Index24G_CCK_Base[0][13] = 0x28

[ 109.960434] RTL871X: Index24G_BW40_Base[0][13] = 0x2e

[ 109.966429] RTL871X: ======= Path 0, Channel 14 =======

[ 109.971696] RTL871X: Index24G_CCK_Base[0][14] = 0x28

[ 109.977976] RTL871X: Index24G_BW40_Base[0][14] = 0x2e

[ 109.983061] RTL871X: ======= TxCount 0 =======

[ 109.988819] RTL871X: CCK_24G_Diff[0][0]= 0

[ 109.992956] RTL871X: OFDM_24G_Diff[0][0]= 0

[ 109.998786] RTL871X: BW20_24G_Diff[0][0]= -1

[ 110.003092] RTL871X: BW40_24G_Diff[0][0]= 0

[ 110.008576] RTL871X: EEPROMRegulatory = 0x2

[ 110.012798] RTL871X: mlmepriv.ChannelPlan = 0x20

[ 110.018716] RTL871X: CrystalCap: 0x18

[ 110.022410] RTL871X: EEPROM Customer ID: 0x 0

[ 110.028070] RTL871X: EEPROM : AntDivCfg = 1, TRxAntDivType = 1

[ 110.033938] RTL871X: Board Type: 0x 0

[ 110.038907] RTL871X: ThermalMeter = 0x1a

[ 110.042876] RTL871X: <==== _ReadAdapterInfo8188EU in 420 ms

[ 110.052471] RTL871X: rtw_macaddr_cfg MAC Address  = 00:95:69:07:a8:a0

[ 110.059879] RTL871X: bDriverStopped:1, bSurpriseRemoved:0, bup:0,hw_init_completed:0

[ 110.072845] RTL871X: _rtw_drv_register_netdev, MAC Address (if1) = 00:95:69:07:a8:a0

[ 110.082585] usbcore: registered new interface driver rtl8188eu

[email protected]:/# ifconfig wlan0 up

[ 114.210981] RTL871X: +871x_drv - drv_open, bup=0

[ 114.218021] RTL871X: rtl8188e_FirmwareDownload: fw_ver=11 fw_subver=1sig=0x88e1

[ 114.262131] RTL871X: _FWFreeToGo: Checksum report OK!REG_MCUFWDL:0x00030004

[ 114.272009] RTL871X: =====> _8051Reset88E(): 8051 reset success .

[ 114.279348] RTL871X: _FWFreeToGo: Polling FW ready success!!REG_MCUFWDL:0x000300c6

[ 114.625402] ==> rtl8188e_iol_efuse_patch

[ 114.732880] RTL871X: ==> _InitAntenna_Selection ....

[ 114.740022] RTL871X: _InitAntenna_Selection,Cur_ant:(1)Antenna_A

[ 114.748694] RTL871X: pDM_Odm TxPowerTrackControl = 1

[ 115.075256] RTL871X: rtl8188eu_hal_init in 860ms

[ 115.086955] RTL871X: MAC Address = 00:95:69:07:a8:a0

[ 115.093032] RTL871X: -871x_drv - drv_open, bup=1

相關推薦

rtl8188eus usb wifi 連線ssid移植

1、 核心配置 硬體上將USB的ID引腳接地 核心將DM365的USB配置成USB HOST工作模式 [*] USB_SUPPORT ---> <*>Inventra Highspeed Dual Role Controller (TI,ADI

在Windows10中安卓adb通過USB,WIFI連線電腦一些error的解決思路

could not read ok from ADB Server * failed to start daemon error: cannot connect to daemon adb server version (36) doesn’t match this client (40

USB wifi模組mt7601U移植至imx 6q android 6.0平臺

        最近公司使用imx6q開發新產品,我們沒有經驗,選了最新的android 6.0平臺來做開發。而硬體給我們提供的wifi模組竟然是使用USB外接的wifi模組,沒錯,就是淘寶上買的那種小型無線網絡卡,不是嵌入式wifi模組(不想說硬體兄弟坑我們了,沒辦法,小

Hi3518EV200移植MT7601 USB-WIFI(STA)

1.修改makefile 1)增加platform PLATFORM = HI3518EV200 2)新增 #swann add ifeq ($(PLATFORM),HI3518EV200) LINUX_SRC = /home/swann/hi3518e/Hi3518E_SDK_V1.0.3.0

usb wifi移植終於搞定了

1.選的wifi晶片是rtl8188cus 2.選的開發包是0001-RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip 3.編譯8192cu.ko 4.編譯iwconfig工具 5.編譯wpa工具 6.移植到板上 1>

第十七章:STA模式USB WIFI驅動移植

1、下載原始碼 首先將原始碼複製到ubuntu中實驗目錄,並解壓開,這裡我們用到的是sta模式,所以解壓MT7601U_LinuxAP_3.0.0.1_20130802.tar.bz2這個檔案。 我們這裡解壓之後放在了以下目錄中.             2、修改

嵌入式linux usb wifi移植[s3c6410平臺 轉載]

http://blog.chinaunix.net/uid-8048969-id-3251135.html 重新編譯關於WIFI方面的modules,然後編譯wifi模組的驅動。把模組設定成開機載入模式。

通過usb/wifi telnetd連線android真機或者模擬器

繼上一篇文章寫了關於如何將busybox放置到android4.1.2中,這一篇文章將討論如何利用usb或者wifi,執行telnetd來訪問真機或者模擬器 首先要有root許可權可以執行telnetd(至於為什麼用root,暫時還沒分析清楚,還有待深入),由於我司的平板

嵌入式linux usb wifi驅動移植

wpa_driver_wext_set_operstate: operstate 0->0 (DORMANT) netlink: Operstate: linkmode=-1, operstate=5 wpa_driver_wext_associate wpa_driver_wext_set_

Linux 開發板4G轉WiFi熱點 手機連線熱點上網(三 WiFi模組的移植及AP的建立)

這裡對WiFi模組的驅動就不做詳細介紹,本篇文章可能會涉及兩款WiFi模組,一個是USB介面的WiFi模組,一個是SDIO介面的wifi模組,即AP6212,平臺可能涉及愛特梅爾和三星的4418兩個平臺。 本篇的記錄主要內容是:建立WiFi模組的AP熱點,並且客戶端裝置通過

hi3518e移植USB-WiFi RT3070 STA驅動

/**************************************************************************************************/                                    

OK6410+RTL8192 USB WiFi移植

手上有一塊OK6410的板子,有一個水星的usb WiFi mw300,查了一下是RTL8192的驅動,OK6410接線到路由器掛載NFS有點麻煩,想把這個驅動移植的OK6410上,通過WiFi實現NFS掛載。 1、驅動移植     下載完成後再linux主機上解壓  

android 平臺USB wifi驅動移植及使用

來自: http://blog.csdn.net/haomcu/article/details/7267090 一.   Android平臺Wifi的基本程式碼路徑 1.       Wpa_supplicant原始碼部分 external/wpa_sup

通過wifi連線Android裝置進行除錯

方法: 先用usb資料線連線裝置,再在terminal下輸入以下命令 D:\LianXi\aaa>adb tcpip 9999 restarting in TCP mode port: 9999 D:\LianXi\aaa>adb connect 192.168.11.120:9999

imx6 linux wifi ap模式配置(usb-wifi模組rt3070)

轉載自:https://blog.csdn.net/weixin_42381443/article/details/80566047 不是所有的usb-wif模組在linux下面都可以支援ap模式。 在linux下的ap模式是通過工具hostapd工具進行配置執行的,該工具一般使用nl8

Android獲取WIFIssid 方法適配Android9.0

Android獲取WIFI 的ssid 方法適配Android9.0 本文首次發表於: 蝸牛魔方-Android獲取WIFI SSID方法,適配9.0 demo 地址:JavaExtensionUtilsForAndroid 廢話不多說了直接上程式碼 首先在Androidmani

樹莓派第一次配置+裝系統+遠端連線+WiFi連線

硬體準備:               1、新產一片樹莓派硬體板,官方SD卡               2、電源、滑鼠、鍵盤、顯示屏(HDMI介面)、

Android Studio WiFi 連線手機

使用一個外掛即可, 外掛下載地址 https://plugins.jetbrains.com/plugin/7983 或者https://github.com/pedrovgs/AndroidWiFiADB 總體步驟就是,下載外掛,匯入外掛,重啟studio,然後用資料線連線手機和電

獲取wifissid出現unknown ssid

前一篇文章介紹了 wifi的ssid獲取方式,但是在8.0版本手機上 執行 發現獲取到的名稱 展示為  <unknown ssid>,原來是版本原因, 8.0以後SSID這樣拿   ConnectivityManager cm =

Linux系統下中 在命令列中實現Wifi 連線的方法

Linux系統下中 在命令列中實現Wifi 連線的方法 from:https://www.cnblogs.com/chaobest/articles/6693161.html 無論何時要安裝一款新的 Linux 發行系統,一般的建議都是讓您通過有線連線來接到網際網路的。 這主要的原因有兩