# Network setup

eCube networking setup for Windows 8/10

The eCube server device connects to a host computer via gigabit ethernet. In order to maximize data integrity and connection stability, we highly recommend directly connecting the eCube to a host system via a dedicated network interface, or dedicated internal LAN with 1Gbps (line-rate) forwarding.

The following steps detail the process of setting up the host computer for direct eCube connection using host DHCP.

## Network interface driver setup

1. Make sure that the host computer has 2 gigabit network interfaces. For a workstation PC, these are usually

1. dedicated ethernet interface on the motherboard
2. with one or more additional:
• gigabit interface PCI express (PCIe) cards
• USB 3.0+ gigabit ethernet adapters
2. Install the latest drivers for your network interfaces. In particular, if you run Windows 10 and have a built-in Intel network controller on the motherboard, please download and install Intel Network Adapter Driver for Windows 10 .

### eCube network controller options

1. Make sure the below controller settings are applied for the eCube-connected network controller. The screenshots below apply to a motherboard built-in Intel network controller, using the PROSet Utility to configure the interface options.

2. Launch Start Menu > PROSet, and select the appropriate network controller (e.g., Intel I219):

3. Make sure the following options are set:

1. Receive Buffers: 2048 (should be maximum)
2. Receive Side Scaling: Enabled
3. Maximum Number of RSS Queues: 2 (should be Device Default)

4. Connect the eCube directly to this built-in gigabit network interface.

1. We recommend that the below settings are applied for additional network interfaces, such as the interface connected to your organizational or campus network. The screenshots below apply to a USB 3.0 gigabit ethernet adapter, using driver settings in Device Manager.

2. Launch Start Menu > Device Manager, and select the appropriate network controller (e.g., Realtek USB GbE):

3. Navigate to the “Advanced” tab, where we suggest setting the following option:

1. Jumbo Frame: 9KB MTU (may also display as 9000, or another number above 9000, such as 9012).

## eCube ↔ operating system networking setup

### Windows

1. Make sure that the host computer has 2 gigabit network interfaces. For a workstation PC, this is usually a dedicated ethernet interface on the motherboard, along with a gigabit interface PCI express card or a USB 3.0+ gigabit ethernet adapter.

1. If one of your ethernet devices is a USB ethernet adapter, we recommend that you connect the USB ethernet adapter to your organizational or campus network, and this will serve as your Uplink connection. We recommend that you connect the remaining motherboard or PCIe network adapter to the eCube; this will be your eCube connection.
2. Inside the unpacked ServerNode software package, under the tools/ folder please find a Windows Powershell script named eCubeNetworkSetup.ps1.

3. Use the mouse to right click -> “Run with Powershell”. This will open a Powershell script, and if necessary, ask to escalate to Administrator privilege to set system network settings.

4. If this is the first time you have configured your eCube hosting computer, you will be prompted to designate your Uplink and eCube interfaces. If you have previously designated these interfaces before, you will not see this step.

1. First, you will be prompted to type the exact name of the eCube-connected interface. In this example, the eCube was plugged into Ethernet 3.

Type the interface name: Ethernet 3

2. Next, you will be prompted to type the name of the Uplink interface, which is the network that is actively connected to campus or organizational internet. In this example, the Uplink connection was named Ethernet.

Type the interface name: Ethernet

5. Automated DHCP setup will occur using the Windows OS feature of “internet connection sharing”.

Interface sharing and rearrangement of network interface metric will occur automatically.

6. The Powershell window will close. Power-cycle the eCube by turning it off and back on, and you can follow the rest of the Quickstart guide, operation section.

#### Windows: Schedule network setup on reboot

If you are using Windows 10, network connection sharing settings may be reset on rebooting of the system, especially for setups involving USB-ethernet devices. As a result, after the above network setup steps are complete, it is often desirable to re-run the fully-automated sections of eCubeNetworkSetup on reboot.

Follow these steps to run eCubeNetworkSetup automatically on reboot without user intervention:

1. Obtain eCubeNetworkSetup.ps1 and place it in a known fixed location. In this example, it is located on the Desktop, at the path C:\Users\eCubePC\Desktop\eCubeNetworkSetup.ps1.

2. Locate and launch the Windows Task Scheduler by clicking the Start button and typing “Task Scheduler”.

3. Under the left panel Task Scheduler (Local) -> Task Scheduler, right-click and select Create Task...

4. Give the new task a descriptive name, such as Start eCube interface. In the General tab, select the Run whether user is logged or not option, and check Run with highest privileges.

5. In the next Triggers tab, set the task to begin At startup, with a 30 seconds delay. Make sure the trigger is Enabled.

6. In the Actions tab add a New... action, set the performed action to Start a program, the program name powershell, and fill the Arguments box with the arguments:

-ExecutionPolicy ByPass -File "C:\[path\to\your\own]\eCubeNetworkSetup.ps1"

Replace [path\to\your\own] with where your copy of eCubeNetworkSetup.ps1 is located. In this example, the Arguments box is filled with the string

-ExecutionPolicy ByPass -File "C:\Users\eCubePC\Desktop\eCubeNetworkSetup.ps1"

Note that quotation marks " " around the path is required if you have folder or file names with spaces.

After completing and clicking Ok, the Action should look like this:

7. In the Settings tab, set the Stop the task if it runs longer than option as shown below:

8. Press Ok and if prompted, enter the Administrator password to schedule the task.

The eCubeNetworkSetup.ps1 script will now be run at system startup for your Windows 10 PC.

### Linux (Ubuntu)

1. Open a terminal and launch the ncurses-based network connection manager, nmtui (this was tested to be much less buggy than the GUI-based configurator in Settings, which didn’t apply these settings properly, especially under Ubuntu 18.04)

2. Use arrow keys ↑↓←→ to select “Edit a connection” and press Enter.

3. Select for editing the network interface connected directly to your eCube. If you are not sure interface this may be, you may have to cross-check with the device name listed in the next step, and use Esc key to come back. (Do not edit your host system’s upstream internet connection or Wifi hotspot connection. If selected accidentally, return using the Esc key.)

If you have multiple unknown interfaces, you may have to check with the Ubuntu network GUI or the ip link command to see which interface becomes active and inactive when you turn on a directly connected eCube.

4. When you’ve successfully chosen the network interface direct connected to your eCube, Use arrow keys ↑↓←→ to select the mode selector after IPv4 CONFIGURATION <Mode>

5. Change the mode to <Shared> from the previous state (which was likely to have been <Automatic> or <Link-Local>)

6. Expand the <Show> option after IPv4 CONFIGURATION

7. Go to the <Add...> option after Addresses

8. In the Addresses->Add... box, enter a desired LAN (local-routing only) IP address block, which should be something in 192.168.x.x, 10.x.x.x, or 172.16./12. More detailed examples below:

In this example we're using 192.168.137.1/24

9. Move down and check the checkbox next to Never use this network for default route using [Spacebar].

Remember to exclude this directly connected, link-scope hop from the default route by checking the checkbox.

10. Arrow key to scroll down to the bottom and press [Enter] on <OK>.

11. Turn on or power-cycle the eCube. Wait about 30 seconds for it to obtain a network address assignment from the host system.

12. You should be able to find the assigned network address by checking active DHCP leases by checking the system file /var/lib/misc/dnsmasq.leases

$cat /var/lib/misc/dnsmasq.leases 1627605006 70:b3:d5:36:80:0b 192.168.137.227 ecube-C83C *  In this example, the eCube serial number C83C has taken the IP address 192.168.137.227, which can be connected using the servernode application: $ servernode 192.168.137.227