主题 : mini2440上外接了一个USB转接RJ45后与主机相互通信失败!求大牛帮忙看看哪里出错了 复制链接 | 浏览器收藏 | 打印
特来此处,因为家里没酱油了。。
级别: 新手上路
UID: 42696
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
综合积分: 22 分
注册时间: 2011-04-10
最后登录: 2011-05-31
楼主  发表于: 2011-04-10 17:00

 mini2440上外接了一个USB转接RJ45后与主机相互通信失败!求大牛帮忙看看哪里出错了

由于需要一个具有两个网卡的嵌入式设备,正好手头有一块MINI2440,但只配有一个网卡,所以网上淘了一个ASIX的USB转RJ45的外接网卡,http://item.taobao.com/item.htm?id=8464327724  然后从官网上下了一个2.6.38的驱动(该驱动声称支持2.6.14--2.6.38的内核),驱动见附件,里面的Makefile-ori是原始的Makefile,包里的Makefile是我修改后的(驱动中我只修改了Makefile)。mini2440是原配的LINUX系统,2.6.32内核。
           AX88772B_772A_760_772_178_LINUX_Driver_v4.1.0_Source.zip (38 K) 下载次数:9

make之后一切正常,生成一个asix.ko,然后用ftp上传到mini2440的目录里之后,直接insmod asix.ko 后 显示:
usbcore: registered new interface driver asix

插上USB转RJ45后显示:
[root@FriendlyARM plg]# insmod asix.ko
 usbcore: registered new interface driver asix
[root@FriendlyARM plg]# usb 1-1: new full speed USB device using s3c2410-ohci and address 2
usb 1-1: New USB device found, idVendor=0b95, idProduct=772a
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: AX88x72A
usb 1-1: Manufacturer: ASIX Elec. Corp.usb 1-1: SerialNumber: 000002
usb 1-1: configuration #1 chosen from 1 choiceASIX USB Ethernet Adapter:v4.1.0 17:14:19 Apr  8 2011
<6>   ]http://www.asix.com.tw
eth%d:status ep1in, 8 bytes period 160eth1:
register 'asix' at usb-s3c24xx-1, ASIX AX88772A USB 2.0 Ethernet, 00:80:8f:8e:0b:8e


然后我ifconfig查看了一下:
eth0      Link encap:Ethernet  HWaddr 08:90:90:90:90:90
            inet addr:192.168.1.230  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)          Interrupt:51 Base address:0x4300 


lo        Link encap:Local Loopback            inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

然后我用命令行配置了一下eth1的IP和掩码后,ifconfig了一下:

[root@FriendlyARM plg]# ifconfig eth1 192.168.1.231 netmask 255.255.255.0
eth1: rxqlen 0 --> 4
[root@FriendlyARM plg]# eth1: ax88772a - Link status is: 0
eth1: ax88772a - Link status is: 1

[root@FriendlyARM plg]# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:90:90:90:90:90 
           inet addr:192.168.1.230  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 
         collisions:0 txqueuelen:1000           RX bytes:0 (0.0 B)
 TX bytes:0 (0.0 B)          Interrupt:51 Base address:0x4300 

eth1      Link encap:Ethernet  HWaddr 00:80:8F:8E:0B:8E 
           inet addr:192.168.1.231  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:48 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000           RX bytes:2848 (2.7 KiB)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback            inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

我的主机的网络配置:
eth0      Link encap:Ethernet  HWaddr 00:23:8B:C4:6F:7C
            inet addr:192.168.1.111  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::223:8bff:fec4:6f7c/64 Scope:Link 
        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:61685 errors:0 dropped:0 overruns:0 frame:0
          TX packets:37099 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000           RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)          Interrupt:17 

但是。。。。。我的mini2440和主机相互PING不通啊。。。
互相Ping失败之后,用arp -n查看,发现相互都学习到了对方的IP,但是就是PING不通,为什么呢?求大牛啊,内牛满面。。。求大牛求大牛,大家帮我看看可能是哪一部出错了??

ps:USB转RJ45的设备很正常,在PC机上能正常工作。
[ 此帖被xuzhaokui在2011-04-10 17:09重新编辑 ]
级别: 骑士
UID: 14419
精华: 1
发帖: 183
金钱: 995 两
威望: 199 点
综合积分: 386 分
注册时间: 2010-02-08
最后登录: 2014-04-13
1楼  发表于: 2011-04-11 00:32
虽然我没做过相关的东西,但觉得可以这样试一试:
1、用交叉网线将mini2440上的两块网卡连在一起,然后看看mini2440上能不能PING两个RJ45的IP。(如果没有交叉网线,用两条直连网线+交换机或路由器应该行)
2、您要确认在PC上ping mini2440的RJ45口,是一个通另一个不通,还是两个都不通!
3、我注意到您的mini2440上的两个RJ45口的IP地址与PC的IP都不在同一个网段内,这也会有一定影响!
4、防火墙,要玩网络开发,先卸了防火墙再说!
5、注意交叉网线和直连的网线。
特来此处,因为家里没酱油了。。
级别: 新手上路
UID: 42696
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
综合积分: 22 分
注册时间: 2011-04-10
最后登录: 2011-05-31
2楼  发表于: 2011-04-11 21:17

 回 1楼(pcwhy) 的帖子

多谢这位仁兄的热情回答!我会去试试您的第一个建议,但手头没有交叉线和路由设备,另外,我mini2440上的原配RJ45网口是可以PING通的,而且主机的防火墙已经关闭,还有就是我的主机IP和两个mini2440的RJ45口的IP是在一个网段内的,都在192.168.1.* 网段的。。。呵呵