Edgecore 4600 System Upgrade Application Note

This application note describes the upgrade procedure of PicOS installed on the Edgecore AS4600-54T switch. Typical bare-metal switches usually come with 2GB or more of NAND Flash storage. In these switches, PicOS creates two repositories, namely the PicOS Repository and the Recovery Repository. The Recovery Repository is required for the automated system upgrade process. Usually, the PicOS Repository takes around 1GB and Recovery Repository requires around 600MB.

The Edgecore AS4600-54T is a special case of bare-metal switch; it comes with limited NAND Flash storage since it was an early design. With only 1GB of NAND Flash, the AS4600-54T only has space to install the PicOS Repository, but no space for the Recovery Repository. Even though PicOS can be installed and operated on the AS4600-54T, users will encounter issues when they try to upgrade the system image because of the missing Recovery Repository.

There are two solutions available:
1. Manual upgrade.
2. Using an additional USB repository.

Manual Upgrade
This solution requires users to set up an environment to copy the configuration files and any user data files before installing the new PicOS image through ONIE. Users should follow this procedure:

1. Set up an environment on a remote FTP or TFTP server.
2. Log in to the switch and copy the configuration files under /picos to the remote FTP or TFTP server.
3. Also copy any user data files.
4. Reboot the switch and log in to ONIE.
5. Follow ONIE installation procedures to install the new PicOS image. This will erase all existing data in the PicOS repository. (For details, please refer to page 16 at http://www.pica8.com/wpcontent/uploads/2015/09/picos-system-configuration.pdf. )
6. Please pay attention to the PicOS installer question that asks for deleting the partitions, it will erase all existing data in the partitions. The PicOS installer will stop if your answer is “no,” or if there is no answer for a while. Answer “yes” to continue to install PicOS.

7. Log in to the switch and copy the configuration files and user data from the remote FTP or TFTP server back to /picos. The following configuration files need to be copied and re-installed.

Using an Additional USB Repository
The AS4600-54T has a USB port that can accept most USB sticks as the secondary storage. Users can take the following steps after plugging in a USB stick.

1. Log in to the switch and run ‘blkid’ to identify the current USB stick.

2. If you plug in a USB disk, make sure it is detected as follows:

3. If the USB is new, the partition ‘/etc/sdb1/’ needs to be created.

If there is no partition, use fdisk /dev/sdb and then press ‘n’ to add a new partition.

4. Under the Linux prompt, set the label name of the USB stick to PICOS-BAK.

5. Run ‘blkid’ to identify the current SSD again. The label name of the USB stick will change to PICOS-BAK.

6. Now PicOS should be able to recognize the additional disk space. Check the file /etc/picos/fs_status.

Make sure the secondary status is undefined.

7. Reboot the switch and check /etc/picos/fs_status.

At this time, users can follow the typical upgrade schedule to upgrade the system. For more details, please refer to page 20 at: http://www.pica8.com/wp-content/uploads/2015/09/picos-system-configuration.pdf

Prior to 2.6.4, users need to also change the file /etc/functions_hw to enable the USB upgrade on the AS4600-54T. This procedure can be waived after 2.6.5 where the software is enhanced to handle this limitation.
Edgecore Networks is committed to offering its customers the best networking solutions available on the market today. 
We have recently become aware of an issue with a component Exhibiting Clock -Signal Issue that may lead to a system failure. In most cases, switches will perform normally and may never experience a failure. The switches that are affected include AS5712-54X, AS5812-54X, AS5812-54TAS6712-32XAS6812-32X and AS7712-32X.
We currently have found the following:
1. Edgecore Networks has crossed referenced all RMA reports, but has not seen any failures related to the supplied component clock-signal issue. 
2. Edgecore Networks is conducting and will continue conducting ongoing internal testing and simulation. So far, no clock failure has been found. We will continue with our internal testing and update our customers with our findings, if any and accordingly. 
3. Based on information that the chipset vendor has provided to us, thus far, the chances of failure is low.   
4. We believe it only (or may) happen after non-stop running for many months;  ~ 18 + months. 
5. All Edgecore Data Center Open Networking Switches have a 3-year warranty. As always, Edgecore Networks will take full responsibility if our product has an issue, and we will also offer free advanced RMA service with expedited shipment for any product that has the related clock-signal failure issue. 
As always, we firmly stand behind all the switches we build and continue to support our customers. If you believe you have been affected by this issue, please send an email to our customer support department at support@edge-core.com
How to install the Open Network Linux on Edgecore switch (For x86 CPU only, Exclude AS5710 series and AS4610 series)?
Booting the switch, then choose “ONIE: Install OS”.
You will get into ONIE.

When you get into ONIE, the system will print the messages by itself all the time.
Those messages means the device is searching for the information.
Below are the information which the device is searching for.

You can stop the searching by this command.

Here’s the way to set the management port IP.

Now you could install the ONL. (Open Network Linux)
Open the TFTP Server, and then upload the file to the switch.
After uploading, the switch will install the ONL by itself.

After installing, the switch will reboot by itself.
Please choose the Open Network Linux.

Here’s the way to login.


Basic Configuration on the switch

root@localhost:~# vi /etc/network/interfaces
auto ma1
iface ma1 inet static

root@localhost:~# ifdown ma1
root@localhost:~# ifup ma1

Install the OFDPA to the switch AS5712-54X as example
root@localhost:~# wget
root@localhost:~# dpkg -i --force-overwrite ofdpa_3.0.5.5+accton1.7-1_amd64.deb

Specify the controller IP on "/etc/ofagent/ofagent.conf"
root@localhost:~# nano /etc/ofagent/ofagent.conf
# Controller

root@localhost:~# service ofagentd restart

ONOS Controller Prepare Work
Hardware (minimum requirements)
2 core CPU
1 NIC (any speed)


Ubuntu 16.04.5 LTS

Install Oracle Java 8
root@ONOS:~# sudo apt-get install software-properties-common -y && \
sudo add-apt-repository ppa:webupd8team/java -y && \
sudo apt-get update && \
echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" | sudo debconf-set-selections && \
sudo apt-get install oracle-java8-installer oracle-java8-set-default -y

Install curl
root@ONOS:~# sudo apt-get install curl

Some dependencies need to be installed for a fresh Ubuntu.
root@ONOS:~# sudo apt-get update
root@ONOS:~# sudo apt-get install -y gawk texinfo python-pip build-essential iptables automake autoconf libtool
root@ONOS:~# sudo pip install -U pip
root@ONOS:~# sudo pip install ipaddress

Move to /opt
root@ONOS:~# sudo mkdir /opt
root@ONOS:~# cd /opt

Download ONOS (1.12.0)
root@ONOS:/opt# sudo wget -c http://downloads.onosproject.org/release/onos-1.12.0.tar.gz

Untar the ONOS archive into /opt
root@ONOS:/opt# sudo tar xzf onos-1.12.0.tar.gz

Rename the extracted directory to "onos"
root@ONOS:/opt# sudo mv onos-1.12.0.tar.gz onos

Add “ONOS_APPS” environment variable
root@ONOS:~# cat ~/.profile
# ~/.profile: executed by Bourne-compatible login shells.
if [ "$BASH" ]; then
 if [ -f ~/.bashrc ]; then
 . ~/.bashrc
mesg n || true
export ONOS_APPS=drivers,openflow,segmentrouting,fpm,dhcprelay,netcfghostprovider,routeradvertisement

Running ONOS with its start-stop script
root@ONOS:~# /opt/onos/bin/onos-service start


#Now the ONOS controller is running and you will see the CLI of ONOS controller.

Check the running APPs of ONOS
onos> apps -a -s


#ONOS needs time to bring up all the applications, therefore, it will not show the all apps immediately.

Download Trellis source code
#Open a new SSH session to connect to the server.
root@ONOS:~# apt-get install git
root@ONOS:~# git clone https://gerrit.onosproject.org/routing

Create trellis json file
root@ONOS:~# vi routing/trellis/trellis_demo.json
root@ONOS:~# cat routing/trellis/trellis_demo.json

#You can refer to the slides to understand how to configure json file via below link.

Push trellis configuration to ONOS (onos-netcfg shell script)
root@ONOS:~# /opt/onos/bin/onos-netcfg routing/trellis/trellis_demo.json

# is ONOS controller's IP.
#If everything is correct, then there will have no any message printed to the terminal.

Check the current network configuration on ONOS
onos> netcfg

To access the ONOS
#The default username and password is onos / rocks.

CLI: ssh -p 8101 onos@[controller_IP]
WEB GUI: http://[controller_IP]:8181/onos/ui/index.html

Some basic commands on ONOS for checking status.

onos> devices
onos> links
onos> interfaces
onos> flows -s
onos> hosts –s

Edgecore and PicOS license Installation application

This application note describes procedures that how to check Hardware ID in all Edgecore datacenter switch platforms which is installed PicOS.

◆ How to check Hardware ID in Edgecore switches with PicOS system
◆ How to install PicOS license in Edgecore platforms.

How to check Hardware ID in PicOS
1) Accessing your Hardware ID
User has to get hardware ID available to download a license from Edgecore.
Use the command license -s to check if the license has been installed or not.

How to install license in PicOS
1) Download license file and copy it to the /etc/picos/ directory.

2) Run ‘sudo license –i to install the license. The system will display “License successfully added….”

3) Run ‘sudo license –s’ to check the status of license.
This document shows how to find and use some functions under openBMC to check the hardware information.
1. weutil : show switch’s Serial No. / MAC
root@bmc:~# weutil 

Product Sub-Version: 3
Product Serial Number: AXXXXXXXXX
Product Asset Tag: 000000001

Assembled At: Joytech
Local MAC: A8:2B:B5:0C:30:15

2. btools.py : show PSU info. / show Temperature etc.
Get help info. : btools.py help
Get PSU info. EX: Get PSU power info. (Only insert PSU 1)
root@bmc:~# btools.py --PSU 1 r p
pfe1100 7-0059: MFR_ID is [PFE600-12-054NA]
pfe1100 7-005a: MFR_ID is [PFE600-12-054NA]
root@bmc:~# btools.py --PSU 2 r p
Get switch Temperature (Montara for 32X / Mavericks for 65X)
root@bmc:~# btools.py --TMP Montara sh
TMP SENSOR 01 29.500 C
TMP SENSOR 02 28.500 C
TMP SENSOR 03 29.500 C
TMP SENSOR 04 27.000 C
TMP SENSOR 05 25.000 C
TMP SENSOR MAX Tofino 38.000 C

3. get_fan_speed.sh
root@bmc:~# get_fan_speed.sh
Fan 1 RPMs: 6150, 3900, (32%)
Fan 2 RPMs: 6150, 3750, (32%)
Fan 3 RPMs: 6150, 4050, (32%)
Fan 4 RPMs: 6150, 3900, (32%)
Fan 5 RPMs: 6000, 3900, (32%)
For 65X: add the key word “Mavericks” will show 10 fans
root@bmc:~# get_fan_speed.sh Mavericks
Fan 1 RPMs: 12150, 9750, (67%)
Fan 2 RPMs: 12300, 9750, (67%)
Fan 3 RPMs: 12300, 9900, (67%)
Fan 4 RPMs: 12150, 9750, (67%)
Fan 5 RPMs: 12300, 9900, (67%)
Fan 6 RPMs: 12150, 9900, (67%)
Fan 7 RPMs: 12300, 9900, (67%)
Fan 8 RPMs: 12300, 9750, (67%)
Fan 9 RPMs: 12150, 9900, (67%)
Fan 10 RPMs: 12300, 9750, (67%)
To specify the number of fan. (1-10 for 65X, 1-5 for 32X)
root@bmc:~# get_fan_speed.sh 1
Fan 1 RPMs: 6300, 3900, (32%)
PS. To find the location of known function, use the command "which".
root@bmc:~# which sol.sh
How to do the packet forward on the open networking switch? (OpenNSL)

Before running the OpenNSL, ping from to will fail.

Here’s the steps to install the OpenNSL.
Prepare the FTP server, and connect to the management port of the switch.
Step 1: Setting the IP address on the management port

Ping Server to make sure the switch could contact to the FTP server.

Step 2: Upload the OpenNSL’s package to the switch.
Here’s the way to download the file from FTP server.
Please use this command:
wget ftp://username:password@FTP server IP/file name.

Step 3: Install the OpenNSL.

Run the Script to do packet forward. (example_l2_firewall)
Note: before running the script, please run this command first, or you will fail to run the script.

If you forget to run that command (opennsl_setup), the window will pop-out as below.

If you run this command first

You will see the menu as below, which means the switch can do the packet forward.

Ping from to

And you could choose 3 (show L2 table) to check the MAC table.

Edgecore X86 HW Platform System Application Note - Recover ONIE in X86 Platform

This application note describes the procedure how to recover ONIE in Edgecore X86 platform switches: AS5712-54X, AS6712-32X, AS7712-32X


Step 1: Use a tool, e.g. Win32 Disk Imager for writing ONIE recovery ISO image to USB drive. In the "Image File" area, please choose the xxxxx.iso which is provided by Edgecore. Press the "Write" button.

Step 2: Press the “Yes” button to continue. Please note that all the data in the USB drive will be erased.

Step 3:
a. Plug in the USB drive in the box (AS5712/AS6712/AS7712).
b. Power on switch, and then press to enter BIOS.

c. In the BIOS menu under the Boot submenu choose the USB drive as boot option #1.
Note: User needs to enter the "Hard Drive BBS Priorities" to choose the USB drive as option #1 first.

d. Do the "Save & Exit" to boot up from USB drive

Step 4: The ONIE Installer screen will pop up, choose the "ONIE Rescue". System will start ONIE Rescue mode.

Step 5: Run following command to erase flash, and make sure the message as following diagram.
sgdisk –Z /dev/sdb
Note:Please make sure the /dev/sdb is the flash but not recover USB drive.

Step 6: Reboot system and then following Step 3 to wait ONIE Installer screen prompt.

Step 7: Choose the "ONIE: Embed ONIE". System is going to starting to install ONIE.

Step 8: Quickly remove the USB drive while the system is rebooting, otherwise system will boot from USB drive again.
Note: User can follow step 3 to reset the boot menu.

Step 9: ONIE is recovered as following diagram.

Click “product selector tool”
to help you to find what you need.

Product Selector Tool

We use cookies to provide the best possible user experience for those who visit our website. By using this website you agree to the placement of cookies. For more details consult our privacy policy