Frequently Asked Questions
What is PicOS™?
PicOS™ is the new name for Pica8’s operating system (OS). PicOS™ includes a Layer-2 / Layer-3 switching mode (L2/L3 Mode) and has support for OpenFlow through Open vSwitch (OVS) which we call OVS Model. OVS runs as a process on our Debian Linux distribution. We focus on quality, scalability, and stability of PicOS™ implementations. And XORPlus, the former name for PicOS™, is the extension of XORP, an eXtensible Open Router Platform.
What is OpenFlow?
OpenFlow was proposed as a standard for researchers to run and evaluate experimental protocols in heterogeneous network devices (e.g. switches, routers, and access points) to enable innovation in campus networks.
OpenFlow is added as a feature to commercial Ethernet switches, routers and wireless access points – and provides a standardized hook to allow researchers to run experiments, without requiring vendors to expose the internal workings of their network devices. OpenFlow is currently being implemented by major vendors, with OpenFlow-enabled switches now commercially available.
Please refer to http://www.opennetworking.org for more information
What is OVS?
OVS stands for Open vSwitch, which is a multilayer software switch developed by Nicira now governed by this community www.openvswitch.org
Open vSwitch is well suited to function as a virtual switch in VM environments. In addition to exposing standard control and visibility
interfaces to the virtual networking layer, it was designed to support distribution across multiple physical servers. Open vSwitch supports
multiple Linux-based virtualization technologies including Xen/XenServer, KVM, and VirtualBox. It is ported to Pica8® Series.
Popular references for Pica8® products
Quick Start Guide of Pica8®
This Quick-Start guide applies to Pica8® pre-loaded switches. The first step is to unpack the package that you have received.
Pica8® switch usage
How do I access the console port?
All Pica8® switches come with a serial console and at least one Ethernet management port. Both serial port and Ethernet port use RJ45 connectors, so you need to pay attention to the fine print on the ports to tell which one is serial port (“Con”) and which is Ethernet management port (“Eth”).
The pin-out of the Pica8® management ports is exactly the same as the Cisco’s. The easiest way to access the serial port is to use an RJ-45 to nine-pin (RS-232 or DB9) female cable. The RJ-45 plugs into the female RJ-45 consol port on the switch. The RS-232/DB9 connects directly to a standard PC type serial port.
You can buy this type of cable at Amazon with less than $10. If you want to challenge yourself with a little DIY fun, you can check out Cisco ‘s site. It has a very long user guide, which seems unnecessarily complicated, on cabling for the console and aux port. You can also find a slightly less complicated help guide (DB9F to RJ45F, where F=Female) on the web.
Connection Settings of the serial port.
- speed: 115200
- data bits: 8
- stop bits: 1
- parity bits: 0
- flow control: none (or xon/xoff)
- Use a serial to Ethernet cable (i.e. a RS232 serial connector on one end and RJ45 connector on the other)
- Connect the RJ45 cable to the port on the Pica8® switch which says “Con” (as shown in the photo).
- From the host, connect to the terminal at a baud rate of 115200:
$screen /dev/ttyS0 115200
- If the output is garbled, restart your computer with the serial console cable plugged.
How to Change the Baudrate
The baudrate is default to 115200, but some users prefer other baudrate. In that case, you can change the baudrate at uBoot. Here is the steps to change the baudrate.
- Get a PC supporting baudrate at 115,200 and connect to the console port.
- Get access to the console port.
- Reboot the switch and interrupt the uBoot process by hitting enter.
- For example, let’s say you want to set baudrate to 9600. In uBoot prompt, enter “setenv baudrate 9600″, and then “saveenv”. You also need to set baudrate in /etc/inittab.
- Reboot the switch, and now change your host baudrate to 9600.
What SFP, SFP+ and QSFP+ modules do you support?
Optical Module of Pica8®:
- Pica8® P-SFP-1G-SX
- Pica8® P-SFP-1G-LX
- Pica8® P-SFP-10G-SR (10G MMF 850nm)
- Pica8® P-SFP-10G-LR (10G SMF 1310nm)
- Pica8® P-QSFP-40G-SR4 (40G 850nm)
Pica8® supports any off-the-shelf SFP, SFP+ and QSFP+ modules, as long as they are compatible to the standard. In our Lab, we have tested the following products:
- Finisar FCLF8521P2BTL
- Finisar FTRJ8519p1BNL
- Finisar FCMJ-8521-3
- Cisco 1000 BASE-SX
- JDS Uniphase JSM-12L0AA1
- JDS Uniphase JSM-12S0AA1
- Optech OP6C-TX1-00-C2
- Finisar FTLX8571 (SR)
- Finisar FTLX1471 (LR)
- AOI A7EL-SN85-ADMA
- Finisar FTL410QE1C (100m)
- Finisar FTL4C1QEC (10km)
- AOI AQOA-XN85-ADLN
- AOI AQOM-NN85-ADLA
Can SFP+ ports be configured to support SFP optics?
Yes, in OVS Mode, an SFP+ port can be configured to work in SFP mode using the following command:
add-port br0 te-1/1/1 -- set Interface
te-1/1/1 type=pica8 options: link_speed=1G
And in L2/L3 Mode, the port can be configured to work in SFP mode using the following command:
How do I configure QSFP+ ports as 4x10G SFP+ ports?
On P-3920, use the following command:
run request system reboot
Where can I find the latest Pica8® image?
What storage device can I use on Pica8® to store files?
Pica8® 3290, 3295, and 3780 support Compact Flash (CF) card and 3920 supports Digital Secure (SD) card as storage. The CF/SD card is installed inside the switch box. You will need to open the box in order to physically access the card.
You can use a Linux command to check the CF/SD device.
# fdisk -l
Disk /dev/hda: 519 MB, 519192576 bytes
255 heads, 63 sectors/track, 63 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 63 506016 83 Linux
# fdisk -l
Disk /dev/mmcblk0: 1980 MB, 1980760064 bytes
4 heads, 16 sectors/track, 60448 cylinders, total 3868672 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 16 3868671 1934328 83 Linux
What is the default user name/password?
By default, PicOS™ enables users root/admin/operator.
- “admin/operator” will automatically log into L2/L3 CLI;
- “root” will automatically drop into Linux shell;
The passwords of all three accounts are ‘pica8′.
You SHOULD change the passwords if you use it in a production environment or through the Internet.
You can use “# passwd some_user” command to change the password of some_user in the Linux shell.
How do I upgrade the image?
It is always a good practice to save a copy of the configuration before upgrading PicOS™ image. Please refer to Image Upgrade Guide for details how to upgrade the PicOS™ image on Pica8® switches.
How to set the physical interface speed?
By default, the speed of the physical interface is set to auto-negotiate. In current supported versions, Auto-MDIX (automatically choosing the MDI or MDIX configuration to properly match the other end of the link) feature is deactivated if the interface is not in auto-negotiate mode.
In L2/L3 mode, you can set it to auto or lower speed than the full speed:
- 1G: auto, 100M, 10M
- 10G: auto, 1G, 100M, 10M
- 40G: auto, 10G, 1G, 100M, 10M
In OVS mode, you can set the speed up to the full speed. But the full speed configuration works only if you set the other end to the full speed too. Here are the examples to set P-3290 interfaces from 10M to 10G and auto:
#ovs-vsctl --db=tcp:172.16.0.234:6632 add-port br0 te-1/1/49 -- set interface te-1/1/49 type=pica8 options:link_speed=10M
#ovs-vsctl --db=tcp:172.16.0.234:6632 add-port br0 te-1/1/50 -- set interface te-1/1/50 type=pica8 options:link_speed=100M
#ovs-vsctl --db=tcp:172.16.0.234:6632 add-port br0 te-1/1/51 -- set interface te-1/1/51 type=pica8 options:link_speed=1G
#ovs-vsctl --db=tcp:172.16.0.234:6632 add-port br0 te-1/1/52 -- set interface te-1/1/52 type=pica8 options:link_speed=10G
What are the OpenFlow versions PicOS™ supports?
In today's general available version (1.6.1), the L2/L3 (hybrid of OpenFlow and traditional switch funcions) supports OF 1.0 only and OVS supports both OF 1.0 and 1.2.
Enforce OVS to OF 1.0:
By default, OVS will negotiate with Controller which OpenFlow version (1.2 or 1.0) to use. You can enforce it to OF 1.0 by setting the protocols to OF 1.0:
Where do I start L2/L3?
Please refer to L2/L3 Configuration Guide for how to configure L2/L3.
How do I drop into Linux Shell from L2/L3 CLI?
There are two ways to drop into Linux shell
- Telnet to the switch, and log in with “root” account
- If you have already logged into CLI, use “start shell sh “, and then give the root password to drop into Linux shell. Use “exit” to return to CLI after you are done with shell.
How do I set the IP address to Management port in L2/L3 mode?
In L2/L3 mode, DHCP is enabled on Management port by default. Please follow the below steps to set management port's IP address:
1. Enter Pica8′s ‘configuration mode’
Entering configuration mode.
There are no other users in configuration mode.
2. It deactivates DHCP automatically after setting the static IP address on eth0
XorPlus# set interface management-ethernet eth0 address 192.168.1.100/24
3. It is an option to set gateway
XorPlus# set interface management-ethernet eth0 gateway 192.168.1.254
4. Commit the configuration
Waiting for merging configuration.
Why do I lose my last configuration after rebooting?
It is highly possible that you do not save the running configuration to startup by issuing "save running-to-startup" after configuring Pica8® switch. You may be able to recover it by issuing "load /pica/config/pica.conf". Please save it to startup if the recovery successes.
Why do I lose the entire configuration after upgrating PicOS™ image?
It could be caused by the incompatibility between the old configuration file and the newly upgraded image. Please forward email@example.com the old configuration file (/pica/config/pica_startup.boot) and the log file (/tmp/log/messages), and the version number of the new image.
Where do I start OVS?
What is the max number of flow entries that can be installed on the 1G and 10G switches?
Due to the speed difference, 1G switch can have 4K TCAM entries and 10G switch has 2K TCAM entries. Otherwise, it may spend too much time on searching and be unable to reach line speed. For IPv4, two TCAM entries are paired up to process one flow. The flow number for 1G switch is 2048, and 10G switch is 1024.
It needs 4 TCAM entries for a flow for IPv6. So 1G switch can have 1024 flows and 10G switch has 512 flows.
Where is vswitch.ovsschema in PicOS™ 2.0?
In PicOS™ 2.0, vswitch.ovsschema has been moved from /ovs/bin/ directory to /ovs/share/openvswitch/ directory.
How to enable Spanning Tree Protocol in a Bridge?
By default, Spanning Tree Protocol (STP) is disabled when the bridge is created. The following example shows how to enable STP and set bridge priority:
root@PicOS-OVS#ovs−vsctl --db=tcp:192.168.0.10:6633 set Bridge br0 stp_enable=true other_config:stp-priority=0x4096
How to access the switch via inband ports?
By default, you can access the switch from the outband port only. Add the following flows to the bridge, e.g. br0 with MAC addres c8:0a:a9:04:49:19, in order to access the switch from the inband ports.
root@PicOS-OVS#ovs-ofctl add-flow br0 priority=65300,in_port=local,dl_src=c8:0a:a9:04:49:19,actions=all
root@PicOS-OVS#ovs-ofctl add-flow br0 priority=65300,dl_dst=c8:0a:a9:04:49:19,actions=local
root@PicOS-OVS#ovs-ofctl add-flow br0 priority=65300,dl_dst=FF:FF:FF:FF:FF:FF,actions=all,local
What will Pica8® do after connecting to Controller?
Pica8® will remove all flow entries in its flow table after connecting to Controller.
What will happen if Pica8® loses its connection to Controller?
By default, Pica8® will remove the flow entries in its flow table after disconnecting from the Controller and start to function as a MAC-Learning switch. It can be configured to keep the existing flow entries even if disconnect from the Controller by setting the fail-mode to secure:
root@PicOS-OVS#ovs-vsctl --db=tcp:10.10.50.145:6633 set bridge br0 fail-mode=secure
If the bridge's fail-mode is secure, Pica8® will discard the incoming packets in the period of reboot and connection to Controller because the flow table is empty then.
I suspect the hardware is broken. How do I trouble shoot?
Hardware Trouble Shooting Guide
In rare cases, we received users’ inquiries about hardware troubleshooting. For example, a user upgraded the image of one of his switches and could not get the switch to “function”. When this happens, we would walk him through the following steps to troubleshoot the problem.
Step 1 – connect to the console port of the switch. Let’s assume you use HyperTerminal to control the console port of your PC.
Step 2 – Turn off your switch.
Step 3 – Go to “Transfer” of HyperTerminal, select “Capture Text”.
Step 4 – Turn on your switch. You should see text output on your HyperTerminal screen. If you don’t see any output, you should check your console setting again.
Step 5 – Check on the console whether the switch boots into Linux. If it stops at uBoot (which is the boot loader), do “printenv” to print out the environment variables.
Step 6 – If boot into Linux, start XORPlus. Do “show version”.
Step 7 – Go to “Transfer” of HyperTerminal, stop “Capture Text”
At the back or the side of the switch, find a small tag. Write down the serial number and product information. Send those data and the captured text to firstname.lastname@example.org. We will help you to determine whether it is a configuration problem, hardware problem, or software problem.
I get “Bad Magic Number” after I upgrade the image. What do I do?
Bad Magic Number after uBoot Upgrade
There are several possible causes of “bad magic number” when you reboot your switch after the image upgrade.
“Bad magic number” basically means the image you try to load fails the checksum. This could be caused by uBOOT trying to load the wrong image, or the image itself is not upgraded completely.
The most common root cause is the wrong setting of uBOOT. If you have changed the uBOOT parameters, please double check the setting. For example, if you forgot to do “saveenv” before you reboot the system, your uBOOT settings might fall back to the old settings after power cycle. This will often causes the “bad magic number” issue.
If you check all uBOOT settings and the problem is still persistent. You will need to reinstall the Compact Flash image. Please follow the upgrade procedure in this attached document http://www.pica8.com/document/pronto_xorplus_rootfs_install_guide-1.3.pdf.