Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1675746
  • 博文数量: 311
  • 博客积分: 7778
  • 博客等级: 少将
  • 技术积分: 4186
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-09 19:59
个人简介

蓝点工坊(http://www.bluedrum.cn) 创始人,App和嵌入式产品开发。同时也做相应培训和外包工作。 详细介绍 http://pan.baidu.com/s/1y2g88

文章存档

2012年(3)

2011年(115)

2010年(170)

2009年(23)

分类: 嵌入式

2011-11-11 16:26:39

Andrew Huang 转载请注明作者及出处(http://bluedrum.cublog.cn)

在LINUX下使用网络的网络有两种,一种是使用DM9601的USB转RJ45网卡.另外一种是用普通USB线在主从设备之间建立网络.

 DM9601的使用参见
  <>

 USB网络使用参见.
 <>

  但是仍有点美中不足,比如我在教室,主机只有一个网口,联在教室内局域网给学生共享源码之类文件.但每次服务器与自己笔记本联线,需要断网后才能使用.两边都是USB HOST因此,无法用USB的主从网络,因为我的笔记本的网口往往跟开发板相连.即便服务器断网,笔记本也要同时断网.所以用DM9601也不算太好方案.

   这里需要找一种比较完美的方案.直接可以直接联接两台主机的USB HOST接口的连线.在淘宝上一找,果然发现在这样的联网线.(注意要与联机线,即模拟成两个USB串口那种线区别开).
   
   联网线适应而更加广泛,与嵌入式开发板作互联也方便.同时也能作为嵌入式的教具.因此最好选择这一种.
   它的外形如下,因为外壳透明,可以看到做工实在一般,不过价格也不贵.
   
  

 一.Windows测试
    
    买的光盘里有安装驱动,比较简单首先用两个Windows笔记本测试.简单的Setup驱动后,在WINDOWS显示出来一个Supereal的网卡.这样其余的配置跟一般普通网卡通讯没有什么区别

    

用bus Hound分析其EP结构如下
   

  二.Linux的测试 

   在开发板插入USB联网线,首先测试其产商号和设备是
    ididVendor=0fe6, idProduct=0301
   在网上搜索是Linux supereal.大多关于SR9600.的文章,但是SR9600的产商/设备号是0x0fe6, 0x8101.
   后面突然想起来,SR9600实际上那一款仿DM9601的USB转RJ45的芯片.所以网卡的文章很多也是用DM9601的驱动来修改变成SR9600驱动.事后的测试用dm9601强行改成我这一款的设备号的驱动,一运行就抱错.


    根据产品号来搜索可以发现
     可以知道.
       VID=05E3, PID=0501/0502 is the Supereal SR620 network adapter;
       VID=0FE6, PID=0301 is the Supereal SR620A network adapter;

    其这一款USB转换线的采用的IC是SR620a的,这里有WINDOWS的驱动的下载
    

    在查看linux 2.6.28内核中drivers/net/usb的驱动中,意外看到gl620a.c这个源码.因此打开一看,显示是
  USB_DEVICE(0x05e3, 0x0502), // GL620USB-A  ,正好是SR620的驱动.
 因此加入在211行中加入如下一句
    USB_DEVICE(0x0fe6, 0x0301), //   SR620a
 重编译驱动后安装.插入联网线,识别出驱动
   
  1. gl620a 1-1:1.0: usb_probe_interface
  2. gl620a 1-1:1.0: usb_probe_interface - got id
  3. usb0: register 'gl620a' at usb-s3c24xx-1, Genesys GeneLink, 92:d8:76:b6:0c:4a
  4. drivers/usb/core/inode.c: creating file '002'
  5. usb 1-1: New USB device found, idVendor=0fe6, idProduct=0301
  6. usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
  7. usb 1-1: Product: USB Host To Host Bridge

运行如下命令配置网络
   ifconfig usb0 up
   ifconfig usb0 192.168.4.100

  显示结果,从mac地址看就是刚才那个网卡.
   
  1. [root@FriendlyARM sr602a]# ifconfig usb0 up
  2. [root@FriendlyARM sr602a]# ifconfig usb0 192.168.4.100
  3. [root@FriendlyARM sr602a]# ifconfig usb0
  4. usb0 Link encap:Ethernet HWaddr 92:D8:76:B6:0C:4A
  5. inet addr:192.168.4.100 Bcast:192.168.4.255 Mask:255.255.255.0
  6. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  7. RX packets:0 errors:0 dropped:0 overruns:0 frame:0
  8. TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  9. collisions:0 txqueuelen:1000
  10. RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

与WINDOWS主机互联,但是WINDOWS一侧总是显示未连接,配置IP地址也无法PING通.因为时间比较急,没有测试两个开发板之间,以及与LINUX主机之间的互联测试.这可能留在下一步工作中测试
  
阅读(6445) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~