日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 顯示光電 > 電源-LED驅動
[導讀]引言COMFAST CF150NS USB無線網(wǎng)卡使用IEEE802.11n無線技術,無線傳輸速率最高達150 Mbps。相比傳統(tǒng)的54 Mbps IEEE802.11g產品,擁有更高的無線帶寬,讓局域網(wǎng)內的數(shù)據(jù)傳輸更

引言

COMFAST CF150NS USB無線網(wǎng)卡使用IEEE802.11n無線技術,無線傳輸速率最高達150 Mbps。相比傳統(tǒng)的54 Mbps IEEE802.11g產品,擁有更高的無線帶寬,讓局域網(wǎng)內的數(shù)據(jù)傳輸更加高效,能有效地減少網(wǎng)絡延遲,使語音視頻、網(wǎng)絡游戲、在線點播更流暢。CF150NS還使用了CCA(Clear Channel Assessment)空頻道檢測技術,在檢測到周邊有無線信號干擾時,可自動調整頻寬模式,避開信道干擾,使無線信號更加穩(wěn)定。當干擾消失時,又可自動捆綁空閑信道,充分利用信道捆綁優(yōu)勢,提升無線性能。CF150NS主要技術參數(shù):主芯片Realtek 8188SU,接口USB2.0,頻率范圍為2.4~2.48 GHz,支持IEEE802.11n/g/b無線標準;無線速率最高可達150 Mbps(IEEE802.11n);工作模式AdHoc和Infrastructre可選;加密特性為64/128位WEP、WPA/WPA2、WPAPSK/WPA2PSK(TKIP/AES);支持的操作系統(tǒng)為Windows/Linux/Mac[1]。

1 移植要求

移植目標是在原有ARM監(jiān)測系統(tǒng)的基礎上實現(xiàn)USB無線網(wǎng)卡功能擴展,為系統(tǒng)提供數(shù)據(jù)遠程無線采集方案。原ARM監(jiān)測系統(tǒng)是在優(yōu)龍YLE2440開發(fā)板上開發(fā)的,其Linux內核版本為2.6.12.7。USB無線網(wǎng)卡是外部無線網(wǎng)絡系統(tǒng)提供的指定產品COMFAST CF150NS,其主芯片Realtek 8188SU的Linux內核版本要求是2.6.18~2.6.33。也就是說,整個移植過程要求USB無線網(wǎng)卡驅動必須是Realtek 8188SU,且工作環(huán)境是Linux2.6.12.7。Realtek公司對8188SU主芯片驅動提供的建議是PC機Fedora Linux 2.6.24測試通過。經測試,若直接將驅動使用Linux 2.6.12.7內核編譯,將出現(xiàn)大量錯誤。如何將驅動移植到Linux 2.6.12.7還需要進一步研究。

2 移植過程

2.1 移植環(huán)境搭建

移植過程采用VM虛擬機下安裝RedHat9.0來完成。具體配置:PC操作系統(tǒng)為VMware Workstation5.5 & RedHat 9.0(Linux 2.4.20);硬件為優(yōu)龍YLE2440開發(fā)板;操作系統(tǒng)為Linux 2.6.12.7,安裝位置為/test/yle2440_2.6.12;交叉編譯器為gcc3.4.1,安裝位置為/usr/local/arm/3.4.1/bin/;Busybox安裝位置為/test/busybox;文件系統(tǒng)為/test/rootfs/;文件系統(tǒng)生成工具為mkcramfs;USB無線網(wǎng)卡驅動源碼為/test/8188su/driver/8188su;無線管理工具wireless?tools為/test/wireless_tools.29.tar.gz。另外,還需要準備Linux 2.6.24內核[2]。

2.2 Linux內核配置[3]

進入內核安裝目錄/test/yle2440_2.6.12,運行內核配置:

[root@localhost test]# make menuconfig

(1) 增加WLAN支持

選擇[Device Driver]→[Networking support]→[Wireless LAN (non?hamradio)]→[Wireless LAN drivers (non?hamradio) & Wireless Extensions]。

(2) 增加DHCP支持

選擇[Device Driver]→[Networkingsupport]→[Networking options]。務必選中“Packet socket”和“IP: DHCP support”、“Network packet filtering framework(Netfilter)”選項。

另外,還需要udhcpc的配置文件??截怋usybox目錄/examples/udhcp下的simple.script到文件系統(tǒng)/usr/share/udhcpc/下,并重命名為default.script。將default.script中的

RESOLV_CONF="/etc/resolv.conf"

修改為

RESOLV_CONF="/tmp/resolv.conf"

運行“mkcramfs rootfs rootfs.cramfs”生成根文件系統(tǒng)rootfs.cramfs,并重新下載到目標板。

2.3 Linux內核文件修改

首先將Linux2.6.24內核中的netdevice.h、wireless.h、iw_handler.h拷貝至Linux2.6.12內核相應目錄下。然后以Linux2.6.24內核為藍本進行文件建立、修改和替換。需要替換的文本清單為:

① /include/linux/目錄,wireless.h、skbuff.h、textsearch.h、netdevice.h、slab.h、ip.h、icmp.h、socket.h;

② /include/net/目錄,iw_handler.h、sock.h;

③ /include/sound/目錄,core.h;

④ /net/core/目錄,dev.c、skbuff.c、wireless.c、neighbour.h;

⑤ /net/ipv4/目錄,ip_output.c、devinet.c、socket.c;

⑥ /net/netlink目錄,af_netlink.c;

⑦ /mm/目錄,slab.c。

文件替換完畢進行內核編譯:

make zImage

生成內核zImage后下載到目標板。在內核編譯的過程中,還會出現(xiàn)許多錯誤,主要是C90語法錯誤、所調用函數(shù)數(shù)據(jù)類型不匹配、段符號未定義等問題。主要的修改內容:

① 內核編譯時若出現(xiàn)C90語法和C99語法錯誤,只需按照本編譯系統(tǒng)所采用的編譯標準進行語法修改。例如,/net/core/dev.c中函數(shù)“net_rx_action”的第1713~1729行提示有語法錯誤。其中,第1713行的錯誤按照C90語法修改即可消除,其他錯誤為所調用函數(shù)數(shù)據(jù)類型不匹配所致,修改所調用函數(shù)的數(shù)據(jù)類型即可。

② 出現(xiàn)提示“.data=&no_cong_thresh”未定義之類的錯誤時,在相應源碼中將其注釋即可。

③ Wireless_seq_show函數(shù)錯誤直接采用2.6.24版本替換2.6.12版本即可。

④ net_sysctl_strdup類錯誤和警告一定要消除,消除方法是替換neighbour.h文件及相關文件。

2.4 USB無線網(wǎng)卡驅動編譯

首先,下載主芯片Realtek 8188SU的最新驅動RTL8188SU_usb_linux_v2.6.6.0.20101111.zip,然后解壓進入相應目錄修改config、Makefile文件。

(1) 修改config

[root@localhost 8188su]# gvim config

修改第16行,關閉PC模式:

16 CONFIG_PLATFORM_I386_PC=n

修改第18行,打開ARM模式

18 CONFIG_PLATFORM_ARM_S3C=y

(2) 修改Makefile

修改交叉編譯器和ARM內核安裝目錄:

[root@localhost 8188su]# gvim Makefile

修改第94行為gcc交叉編譯器所在路徑:

CROSS_COMPILE:=/usr/local/arm/3.4.1/bin/arm?linux?

修改第95行,直接注釋掉以下語句:

#KVER:= 2.6.24.7_$(ARCH)

修改第96行,指定2.6.12內核路徑:

KSRC:= /test/yle2440_2.6.12

修改完畢后,直接make即可在目錄下生成8712u.ko。下載8712u.ko驅動到目標板。

2.5 安裝wirelesstools[3]

無線網(wǎng)卡配置需要使用一些無線網(wǎng)絡管理工具,如wpa_supplicant、wireless?tools等。本項目使用wireless?tools來實現(xiàn)。首先下載wireless_tools.29.tar.gz,然后解壓、編譯、安裝。 下面介紹具體步驟。

① 解壓。

tar zxvf wireless_tools.29.tar.gz

② 修改Makefile。

修改第8行,設置可執(zhí)行文件安裝路徑:

PREFIX=/usr/local/wireless

修改第12行,設置gcc交叉編譯器:

CC=/usr/local/arm/3.4.1/bin/arm?linux?gcc

修改第15行,設置ar交叉編譯器:

AR=/usr/local/arm/3.4.1/bin/arm?linux?ar

修改第16行,設置ranlib交叉編譯器:

RANLIB=/usr/local/arm/3.4.1/bin/arm?linux?ranlib

③ 運行make命令。

④ 運行make install命令??蓤?zhí)行文件安裝于/usr/local/wireless目錄下。

⑤ 拷貝兩個庫libiw.so和libiw.so.29到文件系統(tǒng)/test/rootfs/lib目錄下,運行chmod 777命令后重新生成壓縮根文件rootfs.cramfs,并下載到ARM板。[!--empirenews.page--]

⑥ 將安裝目錄下的iwconfig、iwlist等下載到目標板。主要使用的命令及功能:

◆ iwconfig,回車,查看所有無線網(wǎng)卡;

◆ iwconfig wlan0,查看wlan0;

◆ iwconfig wlan0 essid "xx",配置網(wǎng)卡SSID為xx;

◆ iwlist wlan0 scan|grep ESSID,搜索周邊所有無線網(wǎng)卡的ESSID。

2.6 無線網(wǎng)卡測試

(1) 插入無線網(wǎng)卡,自動安裝USB host驅動

[root@(none) tmp]# uname ?a

Linux(none) 2.6.12?h1940 #59 Tue May 3 13:12:53 CST 2011 armv4tl unknown

[root@(none) tmp]# usb 1?1:new full speed USB device using s3c2410?ohci and address 4

usb 1?1: Product: RTL8188S WLAN Adapter

usb 1?1: Manufacturer: Manufacturer Realtek

usb 1?1: SerialNumber: 00e04c000001

(2) 加載模塊8712u.ko

insmod 8712u.ko

(3) 喚醒USB無線網(wǎng)卡驅動

ifconfig wlan0 up

(4) 搜索周邊無線網(wǎng)絡

[root@(none) tmp]# iwlist wlan0 scan | grep ESSID

fwdbg: get survey cmd

fwdbg: survey done (00000005, 00000000)

ESSID: "TP?LINK_WSW"

ESSID: "TP?LINK_717E24"

ESSID: "dlink"

ESSID: "newnav"

ESSID: "dgdz"

(5) 配置wlan0的SSID

iwconfig wlan essid TP?LINK_717E24

配置成功后利用iwconfig回顯:

[root@(none) tmp]# uname ?a

Linux (none) 2.6.12?h1940 #59 Tue May 3 13:12:53 CST 2011 armv4tl unknown

[root@(none) tmp]# iwconfig wlan0

wlan0IEEE 802.11bg ESSID:"TP?LINK_717E24"

Mode: Managed Frequency: 2.437 GHz Access Point: 00:25:86:71:7E:24

Bit Rate: 54 Mb/s

Encryption key:off

Power Management: off

Link Quality=52/100 Signal level=52/100 Noise level=0/100

Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0

Tx excessive retries:0 Invalid misc:0 Missed beacon:0

(6) IP動態(tài)分配

自動申請動態(tài)IP:

udhcpc ?i wlan0

顯示如下信息:

[root@(none) tmp]# uname ?a

Linux (none) 2.6.12?h1940 #59 Tue May 3 13:12:53 CST 2011 armv4tl unknown

[root@(none) tmp]# udhcpc ?i wlan0

udhcpc (v0.9.9?pre) started

udhcpc[490]: udhcpc (v0.9.9?pre) started

Sending discover...

udhcpc[490]: Sending discover...

Sending select for 172.16.51.9...

udhcpc[490]: Sending select for 172.16.51.9...

Lease of 172.16.51.9 obtained, lease time 691200

udhcpc[490]: Lease of 172.16.51.9 obtained, lease time 691200

deleting routers

route: SIOC[ADD|DEL]RT: No such process

adding dns 61.153.216.99

adding dns 61.153.216.104

運行ifconfig命令后,顯示最終配置:

[root@(none) tmp]# uname ?a

Linux (none) 2.6.12?h1940 #59 Tue May 3 13:12:53 CST 2011 armv4tl unknown

[root@(none) tmp]# ifconfig wlan0

wlan0 Line encap: Ethernet HWaddr 00:0F:10:54:0E:1B

inet addr: 172.16.51.9 Bcast:172.16.255.255 Mask: 255.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:618 errors:0 dropped:0 overruns:0 frame:0

TX packets:2 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

(7) ping測試

ping測試時需要加?c參數(shù)控制ping次數(shù),否則會一直不停測試,并且無法kill。

[root@(none) tmp]# ping ?c 2 172.16.51.9

PING 172.16.51.9 (172.16.51.9): 56 data bytes

64 bytes from 172.16.51.9: icmp_seq=0 ttl=64 time=1.4 ms

64 bytes from 172.16.51.9: icmp_seq=1 ttl=64 time=0.7 ms

---172.16.51.9 ping statistics ???

2 packets transmitted, 2 packets received, 0% packet loss

round?trip min/avg/max=0.7/1.0/1.4 ms

3 討論

USB無線網(wǎng)卡驅動移植過程中,將主要的文件netdevice.h、wireless.h、iw_handler.h、dev.c等進行替換后,內核已經能編譯成功。將內核下載并重啟開發(fā)板后,加載驅動成功,并能利用iwlist搜索到周邊的WLAN網(wǎng)絡。在利用iwconfig給驅動指定SSID時iwconfig引起內核崩潰。初判原因不應為wireless?tools程序。加入ip.h、icmp.h socket.h等文件后iwconfig指定SSID成功。最后進行ping測試時,出現(xiàn)ping 127.1和本機IP均失敗的情況。使用strace跟蹤ping執(zhí)行過程,發(fā)現(xiàn)recvfrom()函數(shù)參數(shù)傳遞錯誤,替換neighbour.c af_netlink.c等文件后ping 127.1成功。

若系統(tǒng)內核升級到Linux 2.6.30,驅動能編譯通過,但只要一發(fā)出ifconfig命令,內核即崩潰。即使高版本內核在移植時也有問題,這些問題需要進一步研究。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

2025年8月13日 – 提供超豐富半導體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿澤電子 (Mouser Electronics) 即日起開售Asahi Kasei Microdevices (AKM) 的...

關鍵字: 數(shù)模轉換器 USB 無線揚聲器

物聯(lián)網(wǎng)與智能化設備快速普及,供電方式的選擇直接影響設備部署的靈活性、成本與可靠性。PoE(以太網(wǎng)供電)與USB供電作為兩大主流技術,分別在工業(yè)網(wǎng)絡、智能家居、消費電子等領域占據(jù)關鍵地位。本文將從設備適配性、傳輸距離、功率...

關鍵字: PoE USB

在無線技術的發(fā)展歷程中,部署的簡便性往往是成功的關鍵。像Wi-Fi、藍牙和早期的蜂窩技術,只有在集成變得簡單、無縫且實惠時,才能實現(xiàn)大規(guī)模的應用。而如今,Wi-Fi HaLow——一種專為物聯(lián)網(wǎng)(IoT)設計的遠距離、低...

關鍵字: 物聯(lián)網(wǎng) Wi-Fi USB

2025年8月5日 – 專注于引入新品的全球電子元器件和工業(yè)自動化產品授權代理商貿澤電子 (Mouser Electronics)即日起開售Microchip Technology的新款AVR? SD 8位MCU。AVR...

關鍵字: MCU 工業(yè)自動化 USB

隨著高解析度音頻應用的不斷發(fā)展和廣泛部署,諸如USB與I2S之間等不同專業(yè)接口之間的高品質音頻轉換需求日益增長,由此帶來了實現(xiàn)高性能、高實時性與高靈活性的新挑戰(zhàn)。為此,邊緣AI和智能音頻專家XMOS攜手其全球首家增值分銷...

關鍵字: SoC USB 處理器

【2025年7月24日, 德國慕尼黑訊】全球功率系統(tǒng)和物聯(lián)網(wǎng)領域的半導體領導者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼:IFNNY)近日推出新型英飛凌ID Key系列,進一步擴展其通用串行總線(USB)...

關鍵字: 控制器 USB 非易失性存儲器

其他電腦(比如安卓手機/平板電腦)的屏幕壞了,你可能想在安排維修之前緊急訪問一些東西。你可以使用android的USB OTG功能(是的,幾乎每個android都支持這個功能,你可以將鼠標和鍵盤連接到它)。

關鍵字: USB 鼠標 Android 樹莓派

M5Stack Cardputer非常適合作為硬件密碼管理器。它很小巧,有一個內置鍵盤,一個SD卡插槽,運行在帶有本地USB支持的ESP32-S3上。屏幕使其易于使用,并且由于USB HID,它可以直接在登錄字段中鍵入密...

關鍵字: 密碼管理器 M5Stack Cardputer USB

【2025年7月10日, 德國慕尼黑訊】全球功率系統(tǒng)和物聯(lián)網(wǎng)領域的半導體領導者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼:IFNNY)為CIS的新款USB 5 Gbit/s和10 Gbit/s攝像頭提供E...

關鍵字: 控制器 USB 圖像信號處理器

Holtek 針對USB應用推出HT82B45R低速USB OTP MCU,符合USB 2.0低速規(guī)范,支持鍵盤用的高阻抗碳膜技術(Carbon Membrane)。HT82B45R結合低功耗設計、彈性I/O配置、內建L...

關鍵字: MCU USB 看門狗定時器
關閉