TS-4712 Ethernet

From embeddedTS Manuals
Revision as of 15:40, 22 April 2013 by Mark (talk | contribs)

The Marvell Processor implements a 10/100 ethernet controller with support built into the Linux kernel. The TS-4712 includes an integrated Marvell Ethernet switch that allows multiple interfaces from one 10/100 port. This allows a total bandwidth of 100MB/s between both ports.

EthSwitch.png

The default configuration will have the ports act as 2 individual ports on baseboards where this is supported. When in this mode all network traffic should be directed to eth0.1 and eth0.2, but not eth0 which will not be forwarded outside of the switch. On baseboards where the second port supports the VLAN ethernet, you can set soft jumper #2 to switch from vlan mode to switch mode.

tshwctl --setjp 2

On the next boot the eth0.1 and eth0.2 ports will not be present. In this case the switch is configured to transparently pass through packets rather than configuring the VLANs, so eth0 should be used.

Note: Some baseboards create 2 Ethernet ports using a USB Ethernet controller which will only transparently pass packets through the switch. This includes the TS-8100, TS-8390, and TS-8900.

You can use standard Linux utilities such as ifconfig/ip to control eth0 and the vlan interfaces. See the #Configuring the Network section for more details. For the specifics of this interface see the CPU manual.

The switch ports can also use tshwctl to detect link and the negotiated link speed:

 root@ts4712-f7c0ff:~# tshwctl --ethinfo
 baseboard_model=0xa
 baseboard=8900
 baseboard_rev=A
 switch_model=88E6020
 switch_ports=a b 
 switchporta_link=0
 switchporta_speed=10HD
 switchportb_link=1
 switchportb_speed=100FD

When using the TS-4712 on a custom baseboard, the Ethernet VLAN configuration will need to be enabled. For example, to manually set the network up for VLAN:

#!/bin/sh
vconfig add eth0 1
vconfig add eth0 2
tshwctl --ethvlan
ifconfig eth0 up
ifconfig eth0.1 up
ifconfig eth0.2 up

This can be added to /ts/init to be run automatically before booting Debian/OpenEmbedded.