AM335X的USB otg网卡(RNDIS /Ethernet Gadget)调试
重新编译内核(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的测试结果:
- [root@localhost 桌面]# ftp 192.168.2.230
- Connected to 192.168.2.230 (192.168.2.230).
- 220 FriendlyARM FTP server (Version 6.4/OpenBSD/Linux-ftpd-0.17) ready.
- Name (192.168.2.230:root): plg
- 331 Password required for plg.
- Password:
- 230 User plg logged in.
- Remote system type is UNIX.
- Using binary mode to transfer files.
- ftp>
- ftp>
AM335X的USB otg网卡(RNDIS /Ethernet Gadget)调试的更多相关文章
- imx6 usb otg config 配置
imx6 usb的host和slave配置,配置之后,安装gadget模块,就能够在host和slave之间切换. 参考文档: i.MX 6Dual/6Quad Linux Reference Man ...
- USB OTG to PC USB API简介
本API分为四部分:Linux或Android内核 (主要是gadget驱动).linux端API及其DEMO.Windows 驱动.Windows API及其Demo. 一.linux.Androi ...
- USB otg 学习笔记
1 USB OTG的工作原理 OTG补充规范对USB2.0的最重要的扩展是其更具节能性的电源管理和允许设备以主机和外设两种形式工作.OTG有两种设备类型:两用OTG设备(Dualrole device ...
- USB OTG
OTG检测的原理是:USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG).USB OTG技术可实现没有主机时设备 ...
- USB OTG介绍(转载)
1. 概要 OTG设备使用插头中的ID引脚来区分A/B Device,ID接地被称作为A-Device,为连接时候的USB Host,A-Device始终为总线提供电力,ID悬空被称作为B-Devic ...
- USB OTG学习
1. 概要 OTG设备使用插头中的ID引脚来区分A/B Device,ID接地被称作为A-Device,为连接时候的USB Host,A-Device始终为总线提供电力,ID悬空被称作为B-Devic ...
- Android技术宅:自制USB OTG数据线
作为一名Android技术宅,USB OTG是你必须了解的,所谓USB OTG就是你可以利用手机或平板上用来充电.与电脑传输数据的micro USB接口来连接其他USB外设,如游戏手柄.鼠标.键盘.U ...
- USB OTG ID 检测原理
OTG 检测的原理是: USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG).USB OTG技术可实现没有主机时 ...
- 详述USB OTG发展及协议标准
USB On-The-Go 扩大了USB 的应用领域,将USB 从传统的PC 与外设通讯的模式,扩展到移动电子和嵌入式领域中,抛开主机PC,实现通常的外设与外设之间点对点(Point to Point ...
随机推荐
- Spring学习之装配Bean
通过注解配置的bean,默认是单例 @Autowired private CodeTypeService codeTypeService; 测试:在Controller层调用Service层对象Cod ...
- java中的各种Queue
java中的各种并发Queue可以归为以下的几种: ConcurrentLinkedQueue: 一个由链表结构组成的非阻塞队列 ArrayBlockingQueue :一个由数组结构组成的有界阻塞队 ...
- cglib应用
JDK的动态代理,经常被用来动态地创建对象的代理.JDK的动态代理用起来非常简单,但是有一个限制,就是使用动态代理的对象必须实现一个或多个接口.如果想代理没有实现接口,还可以使用cglib包来完成代理 ...
- BZOJ 1444: [Jsoi2009]有趣的游戏 [AC自动机 高斯消元]
1444: [Jsoi2009]有趣的游戏 题意:每种字母出现概率\(p_i\),有一些长度len的字符串,求他们出现的概率 套路DP的话,\(f[i][j]\) i个字符走到节点j的概率,建出转移矩 ...
- BZOJ 3168: [Heoi2013]钙铁锌硒维生素 [线性基 Hungary 矩阵求逆]
3168: [Heoi2013]钙铁锌硒维生素 题意:给一个线性无关组A,再给一个B,要为A中每个向量在B中选一个可以代替的向量,替换后仍然线性无关.判断可行和求字典序最小的解 PoPoQQQ orz ...
- BZOJ 4765: 普通计算姬 [分块 树状数组 DFS序]
传送门 题意: 一棵树,支持单点修改和询问以$[l,r]$为根的子树的权值和的和 只有我这种不会分块的沙茶不会做这道题吗? 说一点总结: 子树和当然上$dfs$序了,询问原序列一段区间所有子树和,对原 ...
- BZOJ 3771: Triple [快速傅里叶变换 生成函数 容斥原理]
题意:n个物品,可以用1/2/3个不同的物品组成不同的价值,求每种价值有多少种方案(顺序不同算一种) [生成函数]: 构造这么一个多项式函数g(x),使得n次项系数为a[n]. 普通型生成函数用于解决 ...
- jenkins入门系列之一 jenkins的安装
Jenkins是一个CI(持续集成环境)工具.它可以根据设定持续定期编译,运行相应代码:运行UT或集成测试:将运行结果发送至邮件,或展示成报告... 这样做的最终目的是: 让项目保持健康的状态.如果任 ...
- redis新手入门,摸不着头脑可以看看<二>
对<Redis开发与运维>的理解--下文中引号部分来自该书,略有修改 P19. Redis有序集合(图2-1) "Redis有序集合和集合一样也是某种类型元素的集合,不重复.不 ...
- laravel中实现短信发送验证码
前段时间想实现一个短信验证码的功能,但是卡了很长时间. 首先我用的是阿里云的短信服务业务,其首次接入流程如下: 在阿里云上开通短信服务后需要做的: 1,申请签名 2,申请模板 3,创建Acces ...