EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

RCM3900 and Ethernet

Started by seecwriter August 18, 2011
I have discovered an interesting mode of operation for the Ethernet
interface on the RCM3900.

With Ethernet configured for DHCP mode, either power up the module
without the Ethernet cable plugged in, or unplug it after power up.
You will find that after a few minutes the Ethernet controller chip
(Asix) gets very hot. Hot enough that you can't keep your finger on
the part without burning yourself. If the Ethernet cable is plugged
in while the part is hot, the interface comes back up and the part
cools down. But if you wait about 5-minutes or so before plugging in
the cable, the Ethernet controller will cool down on its own. If you
plug the cable in after the part has cooled down, the interface will
never come up. There is no activity on any of Ethernet lights. And
the only way to get Ethernet working again is to power-cycle the
unit. I've tested numerous modules and they all operate the same way.
So this isn't a one-off anomolly.

I suspect the Ethernet controller is going into a thermal shutdown
mode. I ran the debugger on it and found that when the controller
gets to its cool down mode, that pd_havelink() no longer works. It
is not able to detect when the cable is plugged in.

Any ideas on how to overcome this "feature?"

Steve

I know that Digi has released multiple updates to the ASIX driver in DC
9.62, and I'm pretty sure at least one of the updates was related to how
the stack recovers from losing link.

You can find an updated set of their patched libraries for 9.62 here:

http://www.digi.com/support/productdetl.jsp?pidP53&osvid=0&tp&tp2=0

I'd recommend trying the updated ASIX.LIB. If the problem persists, be
sure to notify s...@rabbit.com with the details.

-Tom

seecwriter wrote:
> I have discovered an interesting mode of operation for the Ethernet
> interface on the RCM3900.
>
> With Ethernet configured for DHCP mode, either power up the module
> without the Ethernet cable plugged in, or unplug it after power up.
> You will find that after a few minutes the Ethernet controller chip
> (Asix) gets very hot. Hot enough that you can't keep your finger on
> the part without burning yourself. If the Ethernet cable is plugged
> in while the part is hot, the interface comes back up and the part
> cools down. But if you wait about 5-minutes or so before plugging in
> the cable, the Ethernet controller will cool down on its own. If you
> plug the cable in after the part has cooled down, the interface will
> never come up. There is no activity on any of Ethernet lights. And
> the only way to get Ethernet working again is to power-cycle the
> unit. I've tested numerous modules and they all operate the same way.
> So this isn't a one-off anomolly.
>
> I suspect the Ethernet controller is going into a thermal shutdown
> mode. I ran the debugger on it and found that when the controller
> gets to its cool down mode, that pd_havelink() no longer works. It
> is not able to detect when the cable is plugged in.
>
> Any ideas on how to overcome this "feature?"
>
> Steve
>
--
Tom Collins
t...@tomlogic.com

I updated the ethernet libraries but it didn't help. pd_havelink()
fails when the ethernet controller goes into its power-save mode.

Interestingly, I can force the controller to wake-up by issuing a
IFS_UP command with ifconfig(), but it takes 3+ minutes for the
controller to wake-up. Talk about slow! But that is not a solution.

I've notified Rabbit Tech support. They are now busy figuring out
why it's my fault. ;->
Steve

--- In r..., "Tom Collins" wrote:
>
> I know that Digi has released multiple updates to the ASIX driver in DC
> 9.62, and I'm pretty sure at least one of the updates was related to how
> the stack recovers from losing link.
>
> You can find an updated set of their patched libraries for 9.62 here:
>
> http://www.digi.com/support/productdetl.jsp?pidP53&osvid=0&tp&tp2=0
>
> I'd recommend trying the updated ASIX.LIB. If the problem persists, be
> sure to notify support@... with the details.
>
> -Tom
>
> seecwriter wrote:
> > I have discovered an interesting mode of operation for the Ethernet
> > interface on the RCM3900.
> >
> > With Ethernet configured for DHCP mode, either power up the module
> > without the Ethernet cable plugged in, or unplug it after power up.
> > You will find that after a few minutes the Ethernet controller chip
> > (Asix) gets very hot. Hot enough that you can't keep your finger on
> > the part without burning yourself. If the Ethernet cable is plugged
> > in while the part is hot, the interface comes back up and the part
> > cools down. But if you wait about 5-minutes or so before plugging in
> > the cable, the Ethernet controller will cool down on its own. If you
> > plug the cable in after the part has cooled down, the interface will
> > never come up. There is no activity on any of Ethernet lights. And
> > the only way to get Ethernet working again is to power-cycle the
> > unit. I've tested numerous modules and they all operate the same way.
> > So this isn't a one-off anomolly.
> >
> > I suspect the Ethernet controller is going into a thermal shutdown
> > mode. I ran the debugger on it and found that when the controller
> > gets to its cool down mode, that pd_havelink() no longer works. It
> > is not able to detect when the cable is plugged in.
> >
> > Any ideas on how to overcome this "feature?"
> >
> > Steve
> >
> >
> >
> --
> Tom Collins
> tom@...
>

Well, Rabbit Tech support is not able to reproduce the problem.
I've even sent them my RCM3900 module, which I verified exhibits the
problem for me, and they still can't reproduce the problem. They
are now suggesting that it is an issue with my network hardware.
I don't see how the network could cause this problem. It appears to
be an issue with the Asix controller.

Is there no one else in this forum that's used the RCM3900?

Steve

--- In r..., "seecwriter" wrote:
>
> I updated the ethernet libraries but it didn't help. pd_havelink()
> fails when the ethernet controller goes into its power-save mode.
>
> Interestingly, I can force the controller to wake-up by issuing a
> IFS_UP command with ifconfig(), but it takes 3+ minutes for the
> controller to wake-up. Talk about slow! But that is not a solution.
>
> I've notified Rabbit Tech support. They are now busy figuring out
> why it's my fault. ;->
> Steve
>
> --- In r..., "Tom Collins" wrote:
> >
> > I know that Digi has released multiple updates to the ASIX driver in DC
> > 9.62, and I'm pretty sure at least one of the updates was related to how
> > the stack recovers from losing link.
> >
> > You can find an updated set of their patched libraries for 9.62 here:
> >
> > http://www.digi.com/support/productdetl.jsp?pidP53&osvid=0&tp&tp2=0
> >
> > I'd recommend trying the updated ASIX.LIB. If the problem persists, be
> > sure to notify support@ with the details.
> >
> > -Tom
> >
> > seecwriter wrote:
> > > I have discovered an interesting mode of operation for the Ethernet
> > > interface on the RCM3900.
> > >
> > > With Ethernet configured for DHCP mode, either power up the module
> > > without the Ethernet cable plugged in, or unplug it after power up.
> > > You will find that after a few minutes the Ethernet controller chip
> > > (Asix) gets very hot. Hot enough that you can't keep your finger on
> > > the part without burning yourself. If the Ethernet cable is plugged
> > > in while the part is hot, the interface comes back up and the part
> > > cools down. But if you wait about 5-minutes or so before plugging in
> > > the cable, the Ethernet controller will cool down on its own. If you
> > > plug the cable in after the part has cooled down, the interface will
> > > never come up. There is no activity on any of Ethernet lights. And
> > > the only way to get Ethernet working again is to power-cycle the
> > > unit. I've tested numerous modules and they all operate the same way.
> > > So this isn't a one-off anomolly.
> > >
> > > I suspect the Ethernet controller is going into a thermal shutdown
> > > mode. I ran the debugger on it and found that when the controller
> > > gets to its cool down mode, that pd_havelink() no longer works. It
> > > is not able to detect when the cable is plugged in.
> > >
> > > Any ideas on how to overcome this "feature?"
> > >
> > > Steve
> > >
> > >
> > >
> >
> >
> > --
> > Tom Collins
> > tom@
>

Hi Steve,

I haven't used the RCM3900 so can't help directly but...

In terms of the network connection the only part that should have any direct electrical impact on the network interface of the RCM3900 is the port on the switch or other device it connects to:

Is there anything special about the network hardware?
Have you tried it with different switches etc?
Is there any chance it is getting into some sort of conflict when trying to negotiate the port setup?

Regards,
Peter

--- In r..., "seecwriter" wrote:
>
> Well, Rabbit Tech support is not able to reproduce the problem.
> I've even sent them my RCM3900 module, which I verified exhibits the
> problem for me, and they still can't reproduce the problem. They
> are now suggesting that it is an issue with my network hardware.
> I don't see how the network could cause this problem. It appears to
> be an issue with the Asix controller.
>
> Is there no one else in this forum that's used the RCM3900?
>
> Steve
>
> --- In r..., "seecwriter" wrote:
> >
> > I updated the ethernet libraries but it didn't help. pd_havelink()
> > fails when the ethernet controller goes into its power-save mode.
> >
> > Interestingly, I can force the controller to wake-up by issuing a
> > IFS_UP command with ifconfig(), but it takes 3+ minutes for the
> > controller to wake-up. Talk about slow! But that is not a solution.
> >
> > I've notified Rabbit Tech support. They are now busy figuring out
> > why it's my fault. ;->
> >
> >
> > Steve
> >
> >
> >
> > --- In r..., "Tom Collins" wrote:
> > >
> > > I know that Digi has released multiple updates to the ASIX driver in DC
> > > 9.62, and I'm pretty sure at least one of the updates was related to how
> > > the stack recovers from losing link.
> > >
> > > You can find an updated set of their patched libraries for 9.62 here:
> > >
> > > http://www.digi.com/support/productdetl.jsp?pidP53&osvid=0&tp&tp2=0
> > >
> > > I'd recommend trying the updated ASIX.LIB. If the problem persists, be
> > > sure to notify support@ with the details.
> > >
> > > -Tom
> > >
> > > seecwriter wrote:
> > > > I have discovered an interesting mode of operation for the Ethernet
> > > > interface on the RCM3900.
> > > >
> > > > With Ethernet configured for DHCP mode, either power up the module
> > > > without the Ethernet cable plugged in, or unplug it after power up.
> > > > You will find that after a few minutes the Ethernet controller chip
> > > > (Asix) gets very hot. Hot enough that you can't keep your finger on
> > > > the part without burning yourself. If the Ethernet cable is plugged
> > > > in while the part is hot, the interface comes back up and the part
> > > > cools down. But if you wait about 5-minutes or so before plugging in
> > > > the cable, the Ethernet controller will cool down on its own. If you
> > > > plug the cable in after the part has cooled down, the interface will
> > > > never come up. There is no activity on any of Ethernet lights. And
> > > > the only way to get Ethernet working again is to power-cycle the
> > > > unit. I've tested numerous modules and they all operate the same way.
> > > > So this isn't a one-off anomolly.
> > > >
> > > > I suspect the Ethernet controller is going into a thermal shutdown
> > > > mode. I ran the debugger on it and found that when the controller
> > > > gets to its cool down mode, that pd_havelink() no longer works. It
> > > > is not able to detect when the cable is plugged in.
> > > >
> > > > Any ideas on how to overcome this "feature?"
> > > >
> > > > Steve
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > Tom Collins
> > > tom@
> > >
>

As far as I know there is nothing special about our network.
The module plugs into a NetGear FS605 v2 Ethernet Switch. Which is
plugged into a router somewhere. The company network is a pretty
generic network.

I just tried an RCM3209 module and operates the same way. Of course,
its really an RCM3900 without the SD connector installed.

But anything with a Realtek Ethernet controller does not exhibit this
problem.

Steve
--- In r..., "petermcs" wrote:
>
> Hi Steve,
>
> I haven't used the RCM3900 so can't help directly but...
>
> In terms of the network connection the only part that should have any direct electrical impact on the network interface of the RCM3900 is the port on the switch or other device it connects to:
>
> Is there anything special about the network hardware?
> Have you tried it with different switches etc?
> Is there any chance it is getting into some sort of conflict when trying to negotiate the port setup?
>
> Regards,
> Peter
>
> --- In r..., "seecwriter" wrote:
> >
> > Well, Rabbit Tech support is not able to reproduce the problem.
> > I've even sent them my RCM3900 module, which I verified exhibits the
> > problem for me, and they still can't reproduce the problem. They
> > are now suggesting that it is an issue with my network hardware.
> > I don't see how the network could cause this problem. It appears to
> > be an issue with the Asix controller.
> >
> > Is there no one else in this forum that's used the RCM3900?
> >
> > Steve
> >
> > --- In r..., "seecwriter" wrote:
> > >
> > > I updated the ethernet libraries but it didn't help. pd_havelink()
> > > fails when the ethernet controller goes into its power-save mode.
> > >
> > > Interestingly, I can force the controller to wake-up by issuing a
> > > IFS_UP command with ifconfig(), but it takes 3+ minutes for the
> > > controller to wake-up. Talk about slow! But that is not a solution.
> > >
> > > I've notified Rabbit Tech support. They are now busy figuring out
> > > why it's my fault. ;->
> > >
> > >
> > > Steve
> > >
> > >
> > >
> > > --- In r..., "Tom Collins" wrote:
> > > >
> > > > I know that Digi has released multiple updates to the ASIX driver in DC
> > > > 9.62, and I'm pretty sure at least one of the updates was related to how
> > > > the stack recovers from losing link.
> > > >
> > > > You can find an updated set of their patched libraries for 9.62 here:
> > > >
> > > > http://www.digi.com/support/productdetl.jsp?pidP53&osvid=0&tp&tp2=0
> > > >
> > > > I'd recommend trying the updated ASIX.LIB. If the problem persists, be
> > > > sure to notify support@ with the details.
> > > >
> > > > -Tom
> > > >
> > > > seecwriter wrote:
> > > > > I have discovered an interesting mode of operation for the Ethernet
> > > > > interface on the RCM3900.
> > > > >
> > > > > With Ethernet configured for DHCP mode, either power up the module
> > > > > without the Ethernet cable plugged in, or unplug it after power up.
> > > > > You will find that after a few minutes the Ethernet controller chip
> > > > > (Asix) gets very hot. Hot enough that you can't keep your finger on
> > > > > the part without burning yourself. If the Ethernet cable is plugged
> > > > > in while the part is hot, the interface comes back up and the part
> > > > > cools down. But if you wait about 5-minutes or so before plugging in
> > > > > the cable, the Ethernet controller will cool down on its own. If you
> > > > > plug the cable in after the part has cooled down, the interface will
> > > > > never come up. There is no activity on any of Ethernet lights. And
> > > > > the only way to get Ethernet working again is to power-cycle the
> > > > > unit. I've tested numerous modules and they all operate the same way.
> > > > > So this isn't a one-off anomolly.
> > > > >
> > > > > I suspect the Ethernet controller is going into a thermal shutdown
> > > > > mode. I ran the debugger on it and found that when the controller
> > > > > gets to its cool down mode, that pd_havelink() no longer works. It
> > > > > is not able to detect when the cable is plugged in.
> > > > >
> > > > > Any ideas on how to overcome this "feature?"
> > > > >
> > > > > Steve
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > Tom Collins
> > > > tom@
> > > >
> > >
>

On 9/26/2011 7:41 PM, seecwriter wrote:
> As far as I know there is nothing special about our network.
> The module plugs into a NetGear FS605 v2 Ethernet Switch. Which is
> plugged into a router somewhere. The company network is a pretty
> generic network.
>
> I just tried an RCM3209 module and operates the same way. Of course,
> its really an RCM3900 without the SD connector installed.
>
> But anything with a Realtek Ethernet controller does not exhibit this
> problem.
>
> Steve

There was errata on the ASIX chip used on the 32xx/33xx/39xx modules
related to negotiating the link speed. In the Softools version of the
libs we implemented it. It required the chip reset line be held low for
a required time. This was about the 8.0 version of DC.

Funny, ZW included the errata sheet with their documentation, but never
implemented the fix. I think they did mention implementing in in one of
the lather 9.x compiler versions.

The thing is, the errata workaround involved holding the reset line for
something like 3 seconds. The later modules from ZW no longer include
the reset line so this will not work.

Maybe it is fixed in later revs of the chip but I would doubt it.

The issues only happened on _some_ switches.

--
------
Scott G. Henion, Consultant
Web site: http://SHDesigns.org
Rabbit libs: http://shdesigns.org/rabbit/
------

Im having problems with softools and a new core RCM3900. It run out of the box or theres some change required on softools lib?
I have two DC versions installed on my pc, only works with DC 9.62 in my test. Don't work with DC 9.21 (it don't have a RCM3900 flyer samples btw)neither with softools latest (?) version.

Best regards.

The 2024 Embedded Online Conference