又一次編譯內核(2.6.29)
2.6.29內核
Device Drivers ---> USB support ---> USB Gadget Support --->
當中 USB Peripheral Controller 選 S3C2410 USB Device Controller
然后再選一個內核自帶的Gadget驅動程序來做演示,這里就選 Ethernet Gadget (with CDC Ethernet support)
由於這個驅動不須要傳入參數。所以給個Y而不是M,省事

make之后燒寫zImage到mini1440
等到Linux全然啟動之后,拔下usb slave口的接頭再插上,就會彈出發現(RNDIS /Ethernet Gadget)設備的信息
僅僅是這個RNDIS 驅動實在難搞。據說在 activesync 里有,可是我裝了沒有反應
僅僅有自己下載了微軟的RNDIS USB kit 2005,抽取出驅動並自己改了模板里的inf文件才算成功安裝
我改好的RNDIS網卡驅動下載
http://download.csdn.net/source/1742242
inf文件中僅僅改了vid和pid,這個能夠從設備管理器里查到(即使還沒有驅動程序)

這里vid是0525 pid a4a2
后來想想全然能夠吧制造商什么的也改了。那應該非常好玩
然后就多了一個網絡連接,設置為ip 192.168.1.2 網關192.168.1.1 子網掩碼255.255.255.0
此時這個網絡連接還是斷開狀態
dnw連接開發板,ifconfig usb0 192.168.1.1 ,就會發現網絡聯通了 (kangear注:測試OK)
互ping能夠,還能夠http://192.168.1.1訪問開發板里內置的web服務器 (kangear注:測試OK)
至於使用開發板讓PC上網,這個應該是非常多wm手機具備的功能,RNDIS我想就是為了這個目的設計的。
能夠mini2440里沒有iptable什么復雜的包轉發程序,將usb0通過eth0實現轉發,我還不能自己加入,僅僅能到此為止了。
alex@alex-desktop:~$ ftp 192.168.0.202
Connected to 192.168.0.202.
220 FriendlyARM FTP server (Version 6.4/OpenBSD/Linux-ftpd-0.17) ready.
Name (192.168.0.202:alex):
331 Password required for alex.
Password:
530 Login incorrect.
Login failed.
ftp>
下面是轉載的關鍵部分:
最后另一個問題,就是開發板有網卡,還模擬USB為網卡的情況,一定要保證usb虛擬的網卡和WINDOWS上USB網卡在同一個IP段,而且不能和開發板原先的網卡的IP段一樣,要不累死你都PING不到~
着是我網卡設置的情況
windows
usb網卡
IP:192.168.2.50 掩碼:255.255.255.0 網關:(這個任意,看個人喜好,假設設置網關最好開發板也設置)192.168.2.1
正常網卡
IP:192.168.1.235 掩碼:255.255.255.0 網關:192.168.1.1
開發板
usb網卡
IP:192.168.2.70 掩碼:255.255.255.0 網關:192.168.2.1
正常網卡
IP:192.168.1.70 掩碼:255.255.255.0 網關:192.168.1.1
查看開發板網關
route -n
設置開發板網關
route add default gw 192.168.2.1
這樣之后應該就能和WINDOWS PING通了~
kangear的測試結果: