Main Site Documentation

Mountaineer Eth 10 Mbit/s?


#1

Seems like the Mountaineer Eth board does not work at 10 Mbit/s Ethernet link speed.

We are trying to connect a Mountaineer Eth board directly to a device which supports Ethernet, but only at a 10 Mbit/s link speed. Tried both straight and cross-over Ethernet cabling. Communication fails. Works only on 100 Mbit/s or when an intermediate dual speed (10/100 Mbit/s) Ethernet switch is used.

Is that a limitation of the hardware (Ethernet chip) or firmware? What would it take to make this either dual speed capable or at least manually configurable?


#2

#3

This is very bad news as we want to connect directly to an existing device with only a 10 Mbit/s port. Any chance to make this configurable?


#4

As far as I know, PHY auto negotiation is switched on. My colleagues in the Mountaineer group will look into this issue.


#5

@ Cuno - According to the MountaineerEth schematics, a 78Q2123 MicroPHY controller is used. According to its spec, this part should be capable of providing 10/100 Mbps support including auto-negotiation (both full and half duplex), as well as auto MDI/MDI-X (crossover) detection. All these features should be turned on by default.

I also checked the latest STM32F4 source code available on CodePlex and saw that the 10/100 auto-nego feature is explicitly enabled.

So currently there is no obvious reason that the MountainerEth board won’t work at 10 Mbps link speed. I will repeat my testing with the latest firmware (.NETMF 4.3).


#6

Here are my test results:

  1. It works on a 100 Mbps link, both full and half duplex with both straight and crossover cabling.
  2. It does NOT work on a 10 Mbps link, neither full nor half duplex.
  3. Even though the IP stack does not work on a 10 Mbps link, the NetworkChange.NetworkAvailabilityChanged correctly indicates the link state (i. e. IsAvailable=true when connected to a 10 Mbps port). The external Ethernet port also correctly detects the physical link.

A note on the firmware code: When enabling auto-negotiation through the eth_enableAutoNegotiation, it seems to set only bit 12 (AN Enable), but reset all other bits including 13 (Speed Select) and 8 (Duplex) of the PHY_CONTROL_REGISTER. According to the 78Q2123 docs bits 13 and 8 should be ignored when AN is enabled, but you never know…


#7

More information:
I monitored the Ethernet link (layer-2) using the Wireshark tool. Even when connected to a 10 Mbps link I can see a “gratuitous” ARP request when booting or reconnecting the MountaineerEth board to the network. When DHCP is enabled on, I can also see DHCP discover requests from the MountaineerEth board.

This tells me that the PHY layer is working fine on a 10 Mbps link, but the upper layer (IP, layer-3) seems to have a problem. As I can receive packets transmitted from the board, I assume the problems are more on the RX side of the MountaineerEth board or firmware.

Sometimes, but only at very rare occasions, I succeeded to PING the device on a 10 Mbps link. But this is very seldom and succeeds only after several connect/disconnect or reboot/reset attempts (it only works in approx. 1 out of 10 attempts).


#8

@ candritzky - Can you send me an email to pfister@ oberon.ch please? We have a test version that max fix this issue.