求助:WinCE以太网 DM9000 设备上电不能连接

时间:2022-06-30 19:06:26
系统使用WinCE5.0,硬件是S3C2416 + DM9000AEP。使用100米长度的网线(双绞线)直接连接到电脑上。

启动WinCE的时候,网线没有识别,电脑右下角 网络图标,显示“x”(有一定概率)。但是把网线重新插拔一次就正常了。

使用 10米的网线时候,WinCE启动时候,网线基本可以识别。
使用 100米的网线时候,WinCE启动的时候,大概%50的概率可以连上。重新插拔一次网线,100%可以正常。


请问这个是什么原因?有谁弄过? 如果是线太长,那么插拔一次就可以了? 


DM9000的BUG?外部电路的原因?驱动的原因?三个那个可能行更大?

希望大家,指点,起码要有一个解决的方向!

7 个解决方案

#1


10米可以识别应该不算BUG,你是先插上网线的,估计得看一下9000驱动加载的时候,初始化的时候是不是有一个检测线有没有插上的过程,再个跟硬件确认一下这个检测和启动过程。
我没有做过,只能提供我的思路,希望高手出现

#2


引用 1 楼  的回复:
10米可以识别应该不算BUG,你是先插上网线的,估计得看一下9000驱动加载的时候,初始化的时候是不是有一个检测线有没有插上的过程,再个跟硬件确认一下这个检测和启动过程。
我没有做过,只能提供我的思路,希望高手出现


找到了这个 检测的 函数。
BOOL NIC_DEVICE_OBJECT::DeviceCheckForHang(void)
{
U16 link_state;

// check link status
link_state = DeviceReadPhy(0, 0x1);
link_state = DeviceReadPhy(0, 0x1);
RETAILMSG(debug,(TEXT("[DM9isa]Link=%d\r\n"), (link_state&0x4)));

if (m_nOldLinkState != link_state)
{
if (link_state & 0x4)
SetConnectionStatus(true);
else
     SetConnectionStatus(false);
}

m_nOldLinkState = link_state;

发现,100米网线的时候,wince启动时,寄存器是检测不到的。插拔一次后就检测到了。

#3


我10m 没啥问题,100米真的没有试过了,是你的网线是什么的?
按照道理不至于会这样啊。

#4


网线质量应该没有问题。而且后来发现和电脑也有关系的,有一台电脑也不会出现。网口的差分信号不匹配?

#5


引用 4 楼  的回复:
网线质量应该没有问题。而且后来发现和电脑也有关系的,有一台电脑也不会出现。网口的差分信号不匹配?

那就是网线不行了。电脑都会。
一般网线不会那么远的, 除非你的中继器很强。

#6


之前有遇過可能是 MDIX 那邊的問題, 你可以找 DaviCom 或是代理商問問看.

#7


我现在要在原有的基础上加2片DM9000 注册表里面的linkage该神马设置呢

#1


10米可以识别应该不算BUG,你是先插上网线的,估计得看一下9000驱动加载的时候,初始化的时候是不是有一个检测线有没有插上的过程,再个跟硬件确认一下这个检测和启动过程。
我没有做过,只能提供我的思路,希望高手出现

#2


引用 1 楼  的回复:
10米可以识别应该不算BUG,你是先插上网线的,估计得看一下9000驱动加载的时候,初始化的时候是不是有一个检测线有没有插上的过程,再个跟硬件确认一下这个检测和启动过程。
我没有做过,只能提供我的思路,希望高手出现


找到了这个 检测的 函数。
BOOL NIC_DEVICE_OBJECT::DeviceCheckForHang(void)
{
U16 link_state;

// check link status
link_state = DeviceReadPhy(0, 0x1);
link_state = DeviceReadPhy(0, 0x1);
RETAILMSG(debug,(TEXT("[DM9isa]Link=%d\r\n"), (link_state&0x4)));

if (m_nOldLinkState != link_state)
{
if (link_state & 0x4)
SetConnectionStatus(true);
else
     SetConnectionStatus(false);
}

m_nOldLinkState = link_state;

发现,100米网线的时候,wince启动时,寄存器是检测不到的。插拔一次后就检测到了。

#3


我10m 没啥问题,100米真的没有试过了,是你的网线是什么的?
按照道理不至于会这样啊。

#4


网线质量应该没有问题。而且后来发现和电脑也有关系的,有一台电脑也不会出现。网口的差分信号不匹配?

#5


引用 4 楼  的回复:
网线质量应该没有问题。而且后来发现和电脑也有关系的,有一台电脑也不会出现。网口的差分信号不匹配?

那就是网线不行了。电脑都会。
一般网线不会那么远的, 除非你的中继器很强。

#6


之前有遇過可能是 MDIX 那邊的問題, 你可以找 DaviCom 或是代理商問問看.

#7


我现在要在原有的基础上加2片DM9000 注册表里面的linkage该神马设置呢