Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| inbox:toh:cisco:vedge_1000 [2023/06/22 18:59] – [Table] dalurka | inbox:toh:cisco:vedge_1000 [2024/08/11 12:20] – [Installing OpenWrt] bluecmd | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| ~~NOTOC~~ | ~~NOTOC~~ | ||
| - | /* This template is intended to be used via https:// | + | {{ media:cisco: |
| - | {{page> | + | The Cisco vEdge 1000 is a small form factor SD-WAN appliance previously sold as Viptela vEgde 1000. It is based on the Niagara 821 board by the ODM Interface Masters. |
| - | + | ||
| - | // | + | |
| /*****/ | /*****/ | ||
| /* How to add images ========> | /* How to add images ========> | ||
| /*****/ | /*****/ | ||
| - | |||
| - | {{ media: | ||
| ===== OpenWrt support ===== | ===== OpenWrt support ===== | ||
| - | <color red>**Not supported.**</ | + | <color red>**WIP**</ |
| + | Basic plattform support is available in the main branch since https:// | ||
| - | /*** if info available: uncomment and fill in | + | Currently there is a [[https:// |
| ===== Supporting activities ===== | ===== Supporting activities ===== | ||
| - | //Describe if there are any ongoing activities that might lead to OpenWrt support.// | ||
| - | * OpenWrt forum thread: | + | * OpenWrt forum thread: |
| - | ***/ | + | * Github PRs: |
| + | | ||
| + | | ||
| + | * https:// | ||
| - | /*** if info available: uncomment and fill in | + | /*** if info available: uncomment and fill in ***/ |
| ===== Experimental firmware ===== | ===== Experimental firmware ===== | ||
| - | //List experimental firmware download links here.// | + | See https://github.com/sonix-network/openwrt/releases. |
| - | + | ||
| - | //None at this time.// | + | |
| + | /*** | ||
| * External image (add link) | * External image (add link) | ||
| * trunk image (add link) | * trunk image (add link) | ||
| Line 42: | Line 40: | ||
| ===== Hardware highlights ===== | ===== Hardware highlights ===== | ||
| - | ^ CPU ^ Ram ^ Flash ^ Network | + | ^ CPU ^ Cores ^ Ram ^ Flash ^ RJ45 ^ SFP ^ eMMC |
| - | | Cavium CN6130 | + | | Cavium CN6130 |
| - | | | | | | + | |
| + | |||
| + | USB per-port power switching (PPPS) is available for both USB 3 front ports. | ||
| /*** if info available: uncomment and fill in | /*** if info available: uncomment and fill in | ||
| Line 52: | Line 51: | ||
| - → [[docs: | - → [[docs: | ||
| - → [[: | - → [[: | ||
| + | ***/ | ||
| ==== Installing OpenWrt ==== | ==== Installing OpenWrt ==== | ||
| - | ***/ | ||
| + | === Alternative 1: Boot installation from unlocked u-boot via TFTP === | ||
| + | |||
| + | * Download the '' | ||
| + | * Example TFTP server command to serve the files in the current directory: '' | ||
| + | * Calculate the CRC32 of your boot file using the following command: < | ||
| + | |||
| + | * If you are not in the u-boot prompt, reboot the device and press **Ctrl-x** to enter u-boot | ||
| + | * If this does not work, see the " | ||
| + | * Connect the vEdge 1000 via the management Ethernet port to a network with DHCP available | ||
| + | * Run the following commands, replace the IP with your TFTP server: | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * If the previous crc32 command does not complain, continue with the boot | ||
| + | * '' | ||
| + | * Continue with the **Prepare the disk** step | ||
| + | |||
| + | === Alternative 2: Boot installation from inside OEM OS (USB drive, SD card, SSH, HTTP(S)) === | ||
| + | |||
| + | **Note:** OEM OS only supports mounting vfat partitions automatically | ||
| + | |||
| + | * Copy '' | ||
| + | * '' | ||
| + | * Reboot vEdge | ||
| + | * Press ctrl-x to enter u-boot | ||
| + | * Run the following commands: | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * Continue with the **Prepare the disk** step | ||
| + | |||
| + | === Prepare the disk === | ||
| + | The vEdge 1000 has been found to have a disk ID of zero by default. This needs to be rectified in order for OpenWrt to reliably be able to find the root partition. This step only has to be done once as it is permanent unless the full disk is re-partitioned manually by the user. | ||
| + | |||
| + | * Verify if you need to change the disk ID by running '' | ||
| + | * You should get a single line like this: ''/ | ||
| + | * If you are missing the '' | ||
| + | * Generate a new disk ID by running the following commands: | ||
| + | * < | ||
| + | source / | ||
| + | sfdisk --disk-id " | ||
| + | </ | ||
| + | * Now loop back to step 1 above and verify that the boot partition has a '' | ||
| + | |||
| + | === Running the installation === | ||
| + | |||
| + | You need to make the file '' | ||
| + | |||
| + | **Example using OpenSSH:** | ||
| + | |||
| + | < | ||
| + | udhcpc -i br-lan | ||
| + | # On another machine: scp -O openwrt-octeon-generic-cisco_vedge1000-squashfs-sysupgrade.tar root@10.x.x.x:/ | ||
| + | sysupgrade -n / | ||
| + | </ | ||
| + | |||
| + | **Example using a USB drive:** | ||
| + | |||
| + | < | ||
| + | mount /dev/sdb1 /mnt | ||
| + | sysupgrade -n / | ||
| + | </ | ||
| + | |||
| + | Done! It is recommended to power-cycle the device to ensure that e.g. the LED and USB controllers are reset to a known state. | ||
| + | |||
| + | === Sync and reset fallback partitions === | ||
| + | |||
| + | The vEdge 1000 has support for two U-Boot bootloaders. It is recommended to sync and force a switch to the primary partition. | ||
| + | |||
| + | In U-Boot, execute the following: | ||
| + | |||
| + | < | ||
| + | # optional: ensure USB3 ports are enabled | ||
| + | setenv ext_usb_setup "i2c dev 1; i2c smbwrite 6e 01 01 ff; cpld_wr 0x4 0x00" | ||
| + | |||
| + | cpld_wr 0xa 0x2 | ||
| + | saveenv | ||
| + | cpld_wr 0xa 0x0 | ||
| + | saveenv | ||
| + | reset | ||
| + | </ | ||
| + | ==== Reverting back to OEM ==== | ||
| + | |||
| + | < | ||
| + | source / | ||
| + | mkdir /mnt | ||
| + | mount " | ||
| + | rm / | ||
| + | umount /mnt | ||
| + | reboot | ||
| + | </ | ||
| + | |||
| + | In the " | ||
| + | The system will restart but fail to boot with a bunch of file system related errors. At this point press the reset button on the front panel for 10 seconds and let go. | ||
| + | The system should now boot up correctly in the OEM software | ||
| - | /*** if info available: uncomment and fill in | ||
| ===== Debricking ===== | ===== Debricking ===== | ||
| -> [[docs: | -> [[docs: | ||
| - | ***/ | ||
| + | The vEdge 1000 has a 16 MiB NOR flash that is split into two 8 MiB flash banks. Only one is active at the time, allowing for a primary and secondary bootloader to be present. | ||
| + | |||
| + | Pressing, holding for more than 10 seconds, and letting go of the reset button flips the boot bank selection to the other bank. This can be verified by executing ''< | ||
| + | |||
| + | This should allow you to enter a working u-boot and boot OpenWrt live image using TFTP, allowing you to install OpenWrt as usual. | ||
| + | |||
| + | Example U-Boot commands: | ||
| + | |||
| + | < | ||
| + | cpld_wr 0xa 0x2 | ||
| + | dhcp | ||
| + | setenv serverip 1.2.3.4 | ||
| + | tftpboot $loadaddr $serverip:/ | ||
| + | bootoctlinux $loadaddr coremask=f endbootargs | ||
| + | # Wait for OpenWrt to boot, verify that you are operating against the *broken* flash bank | ||
| + | hexdump -C / | ||
| + | # scp the u-boot.bin you want to recover | ||
| + | dd if=uboot.bin of=/ | ||
| + | sync | ||
| + | reboot -f | ||
| + | # You should be booting correctly now | ||
| + | </ | ||
| + | |||
| + | If you get a ''< | ||
| + | |||
| + | For more advanced debricking, there is a [[vedge_1000# | ||
| /*** if info available: uncomment and fill in | /*** if info available: uncomment and fill in | ||
| Line 112: | Line 230: | ||
| ===== Hardware ===== | ===== Hardware ===== | ||
| ==== Info ==== | ==== Info ==== | ||
| - | ^ Architecture | ||
| - | ^ Vendor | ||
| - | ^ Bootloader | ||
| - | ^ System-On-Chip | ||
| - | ^ CPU/ | ||
| - | ^ Flash-Chip | ||
| - | ^ Flash size | 16MB | | ||
| - | ^ RAM | 4096MB | ||
| - | ^ Wireless | ||
| - | ^ Ethernet | ||
| - | ^ Switch | ||
| - | ^ USB | 2x USB3 | | ||
| - | ^ Serial | ||
| - | ^ JTAG | | | ||
| + | |||
| + | <!-- ToH: { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } --> | ||
| /*** if info available: uncomment and fill in | /*** if info available: uncomment and fill in | ||
| Line 136: | Line 249: | ||
| </ | </ | ||
| ***/ | ***/ | ||
| + | |||
| + | The unit is shipped with two power adapters, part number FSP060-DIBAN2. A DC connector w/ the dimensions 2.1×5.5×9.5mm is suitable. The stock PSU is rated 60W but in reality anything at 30W or higher should work fine. During stress testing the vEdge 1000 has been pushed to draw 28W at worst-case but during normal loads it should be closer to 15-20W. The unit works fine with voltage levels between 6.5V up to 15.2V - higher voltages might be possible but has not been tested. | ||
| Line 144: | Line 259: | ||
| /* Thanks, your wiki administration - Oct. 2015 */ | /* Thanks, your wiki administration - Oct. 2015 */ | ||
| - | **Insert photo of front of the casing** | + | **Photo of front of the casing** |
| - | **Insert photo of back of the casing** | + | {{: |
| - | **Insert photo of backside label** | + | **Photo of bottom of the casing** |
| - | **Insert photo of PCB** | + | {{: |
| + | |||
| + | **Photo of backside label** | ||
| + | |||
| + | {{: | ||
| + | |||
| + | **Photo of main board** | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ^ ID ^ Summary | ||
| + | | 1 | CPU | CN6130p1.1-1000-NSP | ||
| + | | 2 | DDR3 SODIMM | ||
| + | | 3 | 8x SFP cages | Named " | ||
| + | | 4 | Interface LED pairs | Two leds per cage, one upper and one lower | | ||
| + | | 5 | System LEDs | SYS/ | ||
| + | | 6 | System reset button | ||
| + | | 7 | 2x USB 3.0 ports | Attached to the PCIe bus. Capable of being disabled via software. | ||
| + | | 8 | Interface 10/100/1000 RJ45 | Named " | ||
| + | | 8A | Vitesse PHY for interface #8 | ||
| + | | 9 | System console, RJ45 w/ RS-232 levels | ||
| + | | 9A | System console, TTL 3.3V | Two middle pins are TX/RX | | ||
| + | | 9B | /dev/ttyS1, TTL 3.3V | Two middle pins are TX/RX | | ||
| + | | 10 | System console, USB Type-B | ||
| + | | 11 | Board CPLD | ||
| + | | 12A | I2C bus, OCTEON #1 | SCL, SDA, GND | | ||
| + | | 12B | I2C bus, OCTEON #2 | SCL, SDA, GND | | ||
| + | | 12C | I2C bus, i2c-mux #10 | SCL, SDA, GND | | ||
| + | | 12D | I2C bus, bit-bang bus | SCL, SDA, GND | | ||
| + | | 13A | Power 0, DC 12V barrel connector | ||
| + | | 13B | Power 1, DC 12V barrel connector | ||
| + | | 14A | Fan 1, PWM | ||
| + | | 14B | Fan 2, PWM | ||
| + | | 15 | NOR flash, 16 MiB | Presented as 2 banks, 8 MiB each for recovery | ||
| + | | 16 | JTAG connector | ||
| ==== Opening the case ==== | ==== Opening the case ==== | ||
| <WRAP BOX> | <WRAP BOX> | ||
| - | FIXME //Describe what needs to be done to open the device, e.g. remove rubber feet, adhesive labels, screws, ...// | + | Opening the box is a simple task of removing four screws on the top and four screws on each side totalling twelve screws |
| </ | </ | ||
| ==== Serial ==== | ==== Serial ==== | ||
| -> [[docs: | -> [[docs: | ||
| + | {{ media: | ||
| How to connect to the Serial Port of this specific device:\\ | How to connect to the Serial Port of this specific device:\\ | ||
| - | **Insert photo of PCB with markings for serial port** | ||
| <WRAP BOX> | <WRAP BOX> | ||
| - | FIXME //Replace EXAMPLE by real values.// | + | The serial interface on the front is a standard Cisco RJ45 serial port labelled as " |
| + | On newer firmwares this method is not directly accessible and will require additional work, see below. | ||
| + | |||
| + | Alternatively the USB Type-B on the front can be used to connect to the serial console. | ||
| </ | </ | ||
| - | ^ Serial connection parameters\\ for Cisco vEdge 1000 @@Version@@ | + | ^ Serial connection parameters\\ for Cisco vEdge 1000 | 115200, 8N1, 3.3V | |
| + | |||
| + | |||
| + | === Unlocking u-boot === | ||
| + | |||
| + | Entering U-boot is achieved by pressing **Ctrl-x** when booting. The prompt is something like this: | ||
| + | |||
| + | < | ||
| + | scanning bus 0 for devices... 2 USB Device(s) found | ||
| + | Type the command 'usb start' to scan for USB storage devices. | ||
| + | |||
| + | (Re)start USB... | ||
| + | USB0: USB EHCI 1.00 | ||
| + | scanning bus 0 for devices... 2 USB Device(s) found | ||
| + | scanning usb for storage devices... 1 Storage Device(s) found | ||
| + | Hit ctrl-x to stop booting 0 | ||
| + | => | ||
| + | </ | ||
| + | |||
| + | If you instead get presented by a screen that looks like the one in the screenshot below, you need to unlock U-boot before you can install OpenWrt. | ||
| + | |||
| + | < | ||
| + | / | ||
| + | | | ||
| + | | | | ||
| + | | | | ||
| + | | | | ||
| + | | | | ||
| + | | | | ||
| + | | | | ||
| + | | | | ||
| + | | | | ||
| + | | | | ||
| + | | / | ||
| + | | | 18.4.302 (active) | | | ||
| + | | | ||
| + | | | | ||
| + | | | | ||
| + | | | | ||
| + | | | | ||
| + | | | | ||
| + | | | | ||
| + | | Press < | ||
| + | | Menu. Press <Up> or < | ||
| + | | | | ||
| + | \------------------------------------------------------------------------------/ | ||
| + | </ | ||
| + | |||
| + | The least complicated way to unlock U-boot is to create a file called '' | ||
| + | |||
| + | As part of the secure boot flow U-boot will be searching for an I2C EEPROM at address 0x75 on the JP3 header (see " | ||
| + | |||
| + | One straightforward way to create such a gadget is to use an Arduino microcontroller. Documented below is code and connection schematic for using an Arduino Uno controller connected via normal 0.64mm jumper wire. If you have no previous experience nor equipment to build this hardware yourself there are kits available that contain everything you need - example of such a kit is the [[https:// | ||
| + | |||
| + | {{ media: | ||
| + | |||
| + | Use the following code: | ||
| + | |||
| + | < | ||
| + | include < | ||
| + | |||
| + | void setup() { | ||
| + | Wire.begin(0x75); | ||
| + | Wire.setClock(100 * 1000); | ||
| + | Wire.onRequest(requestEvent); | ||
| + | Serial.begin(9600); | ||
| + | Serial.println(" | ||
| + | } | ||
| + | |||
| + | void requestEvent() { | ||
| + | Wire.write(" | ||
| + | Serial.println(" | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | delay(50); | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ^ Arduino UNO Pinout ^ Signal ^ To where on JP3 ^ | ||
| + | | A5 | SDA | left-most on the picture, arrow on the PCB points to this pin | | ||
| + | | A4 | SCL | center pin | | ||
| + | | GND | GND | right-most on the picture | | ||
| + | |||
| + | When booting with this gadget correctly attached you should be greeted with a recovery menu that looks like this: | ||
| + | |||
| + | |||
| + | < | ||
| + | / | ||
| + | | | ||
| + | | | | ||
| + | | | | ||
| + | | | | ||
| + | | | | ||
| + | | | | ||
| + | | | | ||
| + | | / | ||
| + | | | ||
| + | | | ||
| + | | | Clean Install Viptela Software (From SD-Card) | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | | ||
| + | | | | ||
| + | | | | ||
| + | | | | ||
| + | | | | ||
| + | \------------------------------------------------------------------------------/ | ||
| + | </ | ||
| + | |||
| + | You may then choose the option **" | ||
| + | |||
| ==== JTAG ==== | ==== JTAG ==== | ||
| -> [[docs: | -> [[docs: | ||
| - | How to connect to the JTAG Port of this specific device:\\ | + | {{ : |
| - | **Insert photo of PCB with markings for JTAG port** | + | |
| + | The JTAG header is marked as header 16 on the board picture. The main board PCB has an arrow pointing to PIN 1. | ||
| + | |||
| + | | JTAG TRST | | ||
| + | | JTAG TDI | ||
| + | | JTAG TDO | ||
| + | | JTAG TMS | ||
| + | | JTAG TCK | ||
| + | | JTAG SRST | **PIN11** | | **PIN12** | ||
| + | | GPIO #4 | **PIN13** | | **PIN14** | ||
| + | |||
| + | **Note that when SRST is used the flash bank toggles every system reset**, so make sure you compensate for that so you do not accidentally modify the wrong flash bank. | ||
| + | |||
| + | Example configuration for OpenOCD: | ||
| + | |||
| + | |||
| + | <code openocd> | ||
| + | source [find interface/ | ||
| + | ftdi tdo_sample_edge falling | ||
| + | reset_config trst_and_srst | ||
| + | adapter speed 10000 | ||
| + | |||
| + | jtag newtap chip0 tap -irlen 5 -expected-id 0x19300399 -ignore-version | ||
| + | jtag newtap chip1 tap -irlen 5 -expected-id 0x19300399 -ignore-version | ||
| + | jtag newtap chip2 tap -irlen 5 -expected-id 0x19300399 -ignore-version | ||
| + | jtag newtap chip3 tap -irlen 5 -expected-id 0x19300399 -ignore-version | ||
| + | |||
| + | target create core0 mips_mips64 -endian big -chain-position 0 -coreid 0 | ||
| + | target create core1 mips_mips64 -endian big -chain-position 1 -coreid 1 | ||
| + | target create core2 mips_mips64 -endian big -chain-position 2 -coreid 2 | ||
| + | target create core3 mips_mips64 -endian big -chain-position 3 -coreid 3 | ||
| + | |||
| + | target smp core0 core1 core2 core3 | ||
| + | targets core0 | ||
| + | |||
| + | flash bank nor0 cfi 0x1ec00000 0x1000000 2 2 core0 | ||
| + | </ | ||
| + | |||
| + | Here are some useful commands: | ||
| + | |||
| + | # Dump the active u-boot configuration | ||
| + | dump_image uboot.img 0x1ec00000 0x200000 | ||
| + | dump_image uboot.env 0x1fbe0000 0x20000 | ||
| + | |||
| + | # Switch to the secondary boot bank | ||
| + | mwb phys 0x1e00000a 2 | ||
| ===== Bootlogs ===== | ===== Bootlogs ===== | ||
| ==== OEM bootlog ==== | ==== OEM bootlog ==== | ||
| <WRAP bootlog> | <WRAP bootlog> | ||
| - | < | + | < |
| + | U-Boot 2013.07-g1874683 (Build time: Nov 05 2018 - 00:10:57) | ||
| + | |||
| + | Skipping PCIe port 0 BIST, reset not done. (port not configured) | ||
| + | Skipping PCIe port 1 BIST, reset not done. (port not configured) | ||
| + | BIST check passed. | ||
| + | CUST_N821 board revision major:7, minor:1, serial #: 11OG427170497 | ||
| + | OCTEON CN6130-AAP pass 1.1, Core clock: 1000 MHz, IO clock: 600 MHz, DDR clock: 533 MHz (1066 Mhz DDR) | ||
| + | Base DRAM address used by u-boot: 0x10f000000, | ||
| + | DRAM: 4 GiB | ||
| + | Clearing DRAM...... done | ||
| + | Flash: 16 MiB | ||
| + | PCIe: Port 0 is SGMII, skipping. | ||
| + | PCIe: Link timeout on port 1, probably the slot is empty | ||
| + | Net: | ||
| + | MMC: not available | ||
| + | USB0: USB EHCI 1.00 | ||
| + | scanning bus 0 for devices... 2 USB Device(s) found | ||
| + | Type the command 'usb start' to scan for USB storage devices. | ||
| + | |||
| + | Hit ctrl-x to stop booting 0 | ||
| + | Setting bus to 1 | ||
| + | writing 0x303 to addr: 0x8001180000001628 | ||
| + | (Re)start USB... | ||
| + | USB0: USB EHCI 1.00 | ||
| + | scanning bus 0 for devices... 2 USB Device(s) found | ||
| + | | ||
| + | Allocated 0x20000000 bytes at address: 0x30000000, name: almushtarika | ||
| + | 23919002 bytes read in 4602 ms (5 MiB/s) | ||
| + | Bootloader: Done loading app on coremask: 0xe | ||
| + | 32135760 bytes read in 5905 ms (5.2 MiB/s) | ||
| + | argv[2]: coremask=1 | ||
| + | argv[3]: endbootargs | ||
| + | Allocating memory for ELF segment: addr: 0xffffffff80100000 (adjusted to: 0x100000), size 0x20bb660 | ||
| + | ## Loading big-endian Linux kernel with entry point: 0xffffffff8088df20 ... | ||
| + | Bootloader: Done loading app on coremask: 0x1 | ||
| + | Starting cores: | ||
| + | 0xf | ||
| + | PP1: | ||
| + | | ||
| + | Initializing cgroup subsys cpu | ||
| + | Initializing cgroup subsys cpuacct | ||
| + | Linux version 3.10.62-ltsi (vbamboo@sjc-vip-bld06) (gcc version 4.8.2 (GCC) ) #2 SMP PREEMPT Mon Nov 5 00:21:38 PST 2018 | ||
| + | CVMSEG size: 2 cache lines (256 bytes) | ||
| + | Cavium Inc. SDK-3.1 | ||
| + | bootconsole [early0] enabled | ||
| + | CPU revision is: 000d9301 (Cavium Octeon II) | ||
| + | Checking for the multiply/ | ||
| + | Checking for the daddiu bug... no. | ||
| + | Determined physical RAM map: | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | Booting ... | ||
| + | sd 0:0:0:0: [sda] No Caching mode page found | ||
| + | sd 0:0:0:0: [sda] Assuming drive cache: write through | ||
| + | sd 0:0:0:0: [sda] No Caching mode page found | ||
| + | sd 0:0:0:0: [sda] Assuming drive cache: write through | ||
| + | sd 0:0:0:0: [sda] No Caching mode page found | ||
| + | sd 0:0:0:0: [sda] Assuming drive cache: write through | ||
| + | e2fsck 1.43.4 (31-Jan-2017) | ||
| + | Pass 1: Checking inodes, blocks, and sizes | ||
| + | Pass 2: Checking directory structure | ||
| + | Pass 3: Checking directory connectivity | ||
| + | Pass 4: Checking reference counts | ||
| + | Pass 5: Checking group summary information | ||
| + | boot: 49/65664 files (6.1% non-contiguous), | ||
| + | Mounting /dev/sda1 at /boot | ||
| + | Image found in /dev/sda1 ... | ||
| + | Boot device found in: /dev/sda1 | ||
| + | Checking / | ||
| + | e2fsck 1.43.4 (31-Jan-2017) | ||
| + | Pass 1: Checking inodes, blocks, and sizes | ||
| + | Pass 2: Checking directory structure | ||
| + | Pass 3: Checking directory connectivity | ||
| + | Pass 4: Checking reference counts | ||
| + | Pass 5: Checking group summary information | ||
| + | boot: 49/65664 files (6.1% non-contiguous), | ||
| + | Mounting /dev/sda1 at /boot | ||
| + | DRAM Size is 4096 M | ||
| + | Checking signature for / | ||
| + | Kernel integrity check successful | ||
| + | Checking signature for / | ||
| + | Rootfs integrity check successful | ||
| + | Mounting / | ||
| + | Starting version 17.2.9... | ||
| + | Checking / | ||
| + | e2fsck 1.43.4 (31-Jan-2017) | ||
| + | root: recovering journal | ||
| + | Clearing orphaned inode 158 (uid=0, gid=0, mode=0100644, | ||
| + | Clearing orphaned inode 130 (uid=0, gid=0, mode=0100644, | ||
| + | Clearing orphaned inode 127 (uid=0, gid=0, mode=0100644, | ||
| + | Pass 1: Checking inodes, blocks, and sizes | ||
| + | Pass 2: Checking directory structure | ||
| + | Pass 3: Checking directory connectivity | ||
| + | Pass 4: Checking reference counts | ||
| + | Pass 5: Checking group summary information | ||
| + | Free blocks count wrong (1606529, counted=1606498). | ||
| + | Fix? yes | ||
| + | |||
| + | Free inodes count wrong (413468, counted=413465). | ||
| + | Fix? yes | ||
| + | |||
| + | |||
| + | root: ***** FILE SYSTEM WAS MODIFIED ***** | ||
| + | root: 247/413712 files (3.2% non-contiguous), | ||
| + | tune2fs 1.43.4 (31-Jan-2017) | ||
| + | Mounting /dev/sda2 at / | ||
| + | Checking integrity of / | ||
| + | Fast path integrity check successful | ||
| + | Mounting aufs at /rootfs | ||
| + | Mounting pseudo filesystems... | ||
| + | Setting up hotplug... | ||
| + | Mounting filesystems... | ||
| + | Setting hostname... | ||
| + | Configuring kernel parameters... | ||
| + | Configuring network interfaces... | ||
| + | Verifying current time against timestamp... | ||
| + | Setting up log files... | ||
| + | Starting services... | ||
| + | |||
| + | viptela 17.2.9 | ||
| + | |||
| + | vedge login: | ||
| + | |||
| + | Thu Jun 8 13:32:55 UTC 2023: System Ready | ||
| + | |||
| + | |||
| + | viptela 17.2.9 | ||
| + | </ | ||
| </ | </ | ||
| ==== OpenWrt bootlog ==== | ==== OpenWrt bootlog ==== | ||
| <WRAP bootlog> | <WRAP bootlog> | ||
| - | < | + | < |
| + | U-Boot 2013.07-g1874683 (Build time: Nov 05 2018 - 00:10:57) | ||
| + | |||
| + | Skipping PCIe port 0 BIST, reset not done. (port not configured) | ||
| + | Skipping PCIe port 1 BIST, reset not done. (port not configured) | ||
| + | BIST check passed. | ||
| + | CUST_N821 board revision major:7, minor:1, serial #: 11OG427170497 | ||
| + | OCTEON CN6130-AAP pass 1.1, Core clock: 1000 MHz, IO clock: 600 MHz, DDR clock: 533 MHz (1066 Mhz DDR) | ||
| + | Base DRAM address used by u-boot: 0x10f000000, | ||
| + | DRAM: 4 GiB | ||
| + | Clearing DRAM...... done | ||
| + | Flash: 16 MiB | ||
| + | PCIe: Port 0 is SGMII, skipping. | ||
| + | PCIe: Port 1 link active, 1 lanes, speed gen2 | ||
| + | Net: | ||
| + | MMC: | ||
| + | USB0: USB EHCI 1.00 | ||
| + | scanning bus 0 for devices... 2 USB Device(s) found | ||
| + | Type the command 'usb start' to scan for USB storage devices. | ||
| + | |||
| + | Hit ctrl-x to stop booting 0 | ||
| + | (Re)start USB... | ||
| + | USB0: USB EHCI 1.00 | ||
| + | scanning bus 0 for devices... 2 USB Device(s) found | ||
| + | | ||
| + | 11052832 bytes read in 2089 ms (5 MiB/s) | ||
| + | argv[2]: endbootargs | ||
| + | Allocating memory for ELF segment: addr: 0xffffffff81100000 (adjusted to: 0x1100000), size 0x1c8f5a4 | ||
| + | ## Loading big-endian Linux kernel with entry point: 0xffffffff81894af0 ... | ||
| + | Bootloader: Done loading app on coremask: 0x1 | ||
| + | Starting cores: | ||
| + | 0x1 | ||
| + | [ 0.000000] Linux version 5.15.114 (bluecmd@fedora) (mips64-openwrt-linux-musl-gcc (OpenWrt GCC 12.3.0 r23370+1-6196159295) 12.3.0, GNU ld (GNU Binutils) 2.40.0) #0 SMP Thu Jun 22 14:44:15 2023 | ||
| + | [ 0.000000] Skipping L2 locking due to reduced L2 cache size | ||
| + | [ 0.000000] CVMSEG size: 0 cache lines (0 bytes) | ||
| + | [ 0.000000] printk: bootconsole [early0] enabled | ||
| + | [ 0.000000] CPU0 revision is: 000d9301 (Cavium Octeon II) | ||
| + | [ 0.000000] Kernel sections are not in the memory maps | ||
| + | [ 0.000000] Wasting 278528 bytes for tracking 4352 unused pages | ||
| + | [ 0.000000] Initrd not found or empty - disabling initrd | ||
| + | [ 0.000000] Using appended Device Tree. | ||
| + | [ 0.000000] software IO TLB: mapped [mem 0x0000000002e12000-0x0000000006e12000] (64MB) | ||
| + | [ 0.000000] Primary instruction cache 37kB, virtually tagged, 37 way, 8 sets, linesize 128 bytes. | ||
| + | [ 0.000000] Primary data cache 32kB, 32-way, 8 sets, linesize 128 bytes. | ||
| + | [ 0.000000] Zone ranges: | ||
| + | [ 0.000000] | ||
| + | [ 0.000000] | ||
| + | [ 0.000000] Movable zone start for each node | ||
| + | [ 0.000000] Early memory node ranges | ||
| + | [ 0.000000] | ||
| + | [ 0.000000] | ||
| + | [ 0.000000] | ||
| + | [ 0.000000] | ||
| + | [ 0.000000] | ||
| + | [ 0.000000] | ||
| + | [ 0.000000] Initmem setup node 0 [mem 0x0000000001100000-0x000000010effffff] | ||
| + | [ 0.000000] On node 0, zone DMA32: 4352 pages in unavailable ranges | ||
| + | [ 0.000000] On node 0, zone DMA32: 113 pages in unavailable ranges | ||
| + | [ 0.000000] On node 0, zone DMA32: 1024 pages in unavailable ranges | ||
| + | [ 0.000000] On node 0, zone DMA32: 512 pages in unavailable ranges | ||
| + | [ 0.000000] On node 0, zone Normal: 1 pages in unavailable ranges | ||
| + | [ 0.000000] On node 0, zone Normal: 1 pages in unavailable ranges | ||
| + | [ 0.000000] On node 0, zone Normal: 4096 pages in unavailable ranges | ||
| + | [ 0.000000] percpu: Embedded 15 pages/cpu s22944 r8192 d30304 u61440 | ||
| + | [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1022250 | ||
| + | [ 0.000000] Kernel command line: root=/ | ||
| + | [ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear) | ||
| + | [ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear) | ||
| + | [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off | ||
| + | [ 0.000000] Memory: 3986532K/ | ||
| + | [ 0.000000] SLUB: HWalign=128, | ||
| + | [ 0.000000] rcu: Hierarchical RCU implementation. | ||
| + | [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=16 to nr_cpu_ids=1. | ||
| + | [ 0.000000] | ||
| + | [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. | ||
| + | [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, | ||
| + | [ 0.000000] NR_IRQS: 127 | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | Press the [f] key and hit [enter] to enter failsafe mode | ||
| + | Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | Please press Enter to activate this console. | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | |||
| + | |||
| + | |||
| + | BusyBox v1.36.1 (2023-06-21 10:19:51 UTC) built-in shell (ash) | ||
| + | |||
| + | _______ | ||
| + | | ||
| + | | ||
| + | | ||
| + | |__| W I R E L E S S F R E E D O M | ||
| + | | ||
| + | | ||
| + | | ||
| + | root@OpenWrt:/# | ||
| + | |||
| + | </ | ||
| </ | </ | ||
| ===== Notes ===== | ===== Notes ===== | ||
| + | ==== USB power switching ==== | ||
| + | |||
| + | To power down the top port you can do: | ||
| + | |||
| + | < | ||
| + | echo 1 > / | ||
| + | echo 1 > / | ||
| + | </ | ||
| + | |||
| + | For the bottom port use '' | ||
| + | |||
| + | The software uhubctl can be used, but as of this writing there are some issues regarding endianness and devices hanging around in the kernel even when being powered down. | ||
| + | |||
| + | ==== Gotchas ==== | ||
| + | |||
| + | === Trying to up an interface fails === | ||
| + | |||
| + | < | ||
| + | root@OpenWrt:/# | ||
| + | RTNETLINK answers: No error information | ||
| + | </ | ||
| + | |||
| + | This will happen if the port is configured for SGMII and did not have a PHY inserted at boot time. Reboot the unit and it should be able to up the link. | ||
| + | |||
| + | === Kernel panic - not syncing: ������ === | ||
| + | |||
| + | This message with broken glyphs can occur if you enable CONFIG_TARGET_INITRAMFS_COMPRESSION. Maybe the support is broken for MIPS64, or maybe it is broken for just this platform. | ||
| + | |||
| + | === Crash when loading kernel after " | ||
| + | |||
| + | This error can happen if the initramfs image is too large. Images larger than 256 MiB seems to be unbootable. | ||
| + | |||
| + | Example log: | ||
| + | |||
| + | < | ||
| + | Bytes transferred = 432629896 (19c96888 hex) | ||
| + | => bootoctlinux $loadaddr endbootargs | ||
| + | argv[2]: endbootargs | ||
| + | Allocating memory for ELF segment: addr: 0xffffffff81100000 (adjusted to: 0x1100000), size 0x19ea1360 | ||
| + | |||
| + | Reg: 0x0 0x0 | ||
| + | Reg: 0x1 0x0 | ||
| + | Reg: 0x2 0x30000000 | ||
| + | Reg: 0x3 0xD1D2D3D4D5D6D7DC | ||
| + | Reg: 0x4 0x19EA1360 | ||
| + | Reg: 0x5 0xD1D2D3D4D5D6D7DC | ||
| + | Reg: 0x6 0x1100000 | ||
| + | Reg: 0x7 0x8000000000000000 | ||
| + | Reg: 0x8 0x6C108 | ||
| + | Reg: 0x9 0xFFFFFFFFFFFFFFF0 | ||
| + | Reg: 0xA 0x30000000 | ||
| + | Reg: 0xB 0xD1D2D3D4D5D6D7E4 | ||
| + | Reg: 0xC 0xDEDF00000000003C | ||
| + | Reg: 0xD 0xDEDF00003000003C | ||
| + | Reg: 0xE 0x800000000006C110 | ||
| + | Reg: 0xF 0x1 | ||
| + | Reg: 0x10 0x1AFA1360 | ||
| + | Reg: 0x11 0xF | ||
| + | Reg: 0x12 0x0 | ||
| + | Reg: 0x13 0x19EA1360 | ||
| + | Reg: 0x14 0x0 | ||
| + | Reg: 0x15 0x1100000 | ||
| + | Reg: 0x16 0x0 | ||
| + | Reg: 0x17 0x1100000 | ||
| + | Reg: 0x18 0xFFFFFFFFC00F0180 | ||
| + | Reg: 0x19 0xFFFFFFFFC0001BC0 | ||
| + | Reg: 0x1A 0xFFFFFFFFFFFF97F8 | ||
| + | Reg: 0x1B 0xFFFFFFFFFFFF97F8 | ||
| + | Reg: 0x1C 0xFFFFFFFFC00CD3C0 | ||
| + | Reg: 0x1D 0xFFFFFFFFC0FAF7B0 | ||
| + | Reg: 0x1E 0x0 | ||
| + | Reg: 0x1F 0xFFFFFFFFC0001D1C | ||
| + | status: | ||
| + | cause: | ||
| + | epc: 0xFFFFFFFFC0001DEC | ||
| + | badvaddr: | ||
| + | instruction: | ||
| + | |||
| + | stack: | ||
| + | 0xFFFFFFFFC0FAF6B0 : 0xFFFFFFFFC012AB98 0xFFFFFFFFC03A1A88 | ||
| + | 0xFFFFFFFFC0FAF6C0 : 0x5F5F746D705F7265 0x7365727665645F6C | ||
| + | 0xFFFFFFFFC0FAF6D0 : 0x696E757800000000 0x536B697070696E67 | ||
| + | 0xFFFFFFFFC0FAF6E0 : 0x206E6F6E204C4F41 0x442070726F677261 | ||
| + | 0xFFFFFFFFC0FAF6F0 : 0x6D20686561646572 0x2028747970652030 | ||
| + | </ | ||
| ===== Tags ===== | ===== Tags ===== | ||
| - | [[meta: | + | |
| - | {{tag>EXAMPLETAG unsupported}} | + | {{tag>U-boot octeon 4core MIPS64 SFP GigabitEthernet 9Port VLAN 4096RAM USB3.0 Serial 2serial 1button fan RTC rackmount 12v_powered dual_firmware jtag}} |