Networking Issues on Itus Networks Shield

There are only 3 physical ports (eth0/eth1/eth2) + console.

root@OpenWrt:/etc/config# service firewall stop
Warning: Unable to locate ipset utility, disabling ipset support
 * Flushing IPv4 filter table
 * Flushing IPv4 nat table
 * Flushing IPv4 mangle table
 * Flushing IPv6 filter table
 * Flushing IPv6 mangle table
 * Flushing conntrack table ...
Command failed: Not found
root@OpenWrt:/etc/config# 

/etc/config/network - Changed the IP to 10.10.10.10 - still nothing

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fdc8:0efe:659a::/48'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth1'
        option proto 'static'
        option ipaddr '10.10.10.10'
        option netmask '255.255.255.0'
        option ip6assign '60'

config interface 'wan'
        option ifname 'eth1'
        option proto 'dhcp'

config interface 'wan6'
        option ifname 'eth1'
        option proto 'dhcpv6'

root@OpenWrt:/etc/config# service network restart
[59977.899109] br-lan: port 1(eth0) entered disabled state
[59977.912301] device eth0 left promiscuous mode
[59977.916772] br-lan: port 1(eth0) entered disabled state
[59977.946253] eth0: Link down
[59977.955540] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[59978.082966] eth1: Link down
root@OpenWrt:/etc/config# [59979.440612] br-lan: port 1(eth0) entered blocking state
[59979.445918] br-lan: port 1(eth0) entered disabled state
[59979.451382] device eth0 entered promiscuous mode
[59979.457393] br-lan: port 1(eth0) entered blocking state
[59979.462670] br-lan: port 1(eth0) entered forwarding state
[59979.468219] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[59979.480950] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[59980.443885] br-lan: port 1(eth0) entered disabled state
[59983.525749] eth0: 1000 Mbps Full duplex, port 0, queue 0
[59983.531107] br-lan: port 1(eth0) entered blocking state
[59983.536355] br-lan: port 1(eth0) entered forwarding state
[59983.542086] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[59983.589749] eth1: 1000 Mbps Full duplex, port 1, queue 1
[59983.595092] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready

It looks like the CPU has three RGMII ports which then go to external single-port GbE PHY chips, one Ethernet port per chip. Check your bootlog to see that the PHY chips have been recognized and set up. Your kernel must include drivers for those chips.

3 Likes

Below is the bootlog. This is based on the stock OpenWrt settings for Octeon-generic, but I'll continue to play with it. Any suggestions on where to look would be greatly appreciated. My abilities in Linux kernel are quickly reaching their limits. Would I be able to pull the drivers from the original Itus OEM OpenWrt system?

I found this Linux Kernel patch, but I'm not sure where to apply the diff files in OpenWrt's directory structure. I'll post over in the Dev area, but if anyone knows here, that would be great.

OCTEON eMMC stage 1 bootloader

Partition: 1, start: 0x0000000000000800, size: 0x0000000000200001
Reading 470976 bytes.
................................................................................................................... Done.
Loaded OCTBOOT2BIN, size: 0x0000000000072FC0
Branching to stage 2 at: 0xFFFFFFFF81004000
Board TLV descriptor Read - RHino continues ... 2 board 0x4e26 major 1 minor 0, DDR HERTZ 0 hz
Rhino: early board init, mem_clk 0x29b ..



U-Boot 2013.07 (Development build, svnversion: u-boot:exported, exec:) (Build time: Mar 27 2015 - 10:49:38)

Initializing DRAM
U-Boot is not RAM-resident
Rhino: lookup_ddr_config_structure: cpu_id 890370 board_type 20006 ...
Rhino: cpu_id 0xd9602 board_type 0x4e26 major 0x1 minor 0x0  mask 1 ...
Initializing DDR, clock = 667000000hz, reference = 50000000hz
LMC0_DCLK_CNT: 0xffffffffffffffff
Measured DDR clock 666666649 Hz
Mem size in MBYTES: 1024
RHino: new Ram size 1024MiB (0x40000000)
Ram size 1024MiB (0x40000000)
Clearing memory from 0 to 1048576
Done clearing memory
CUST_PRIVATE_RHINO_ITUS7X board revision major:1, minor:0, serial #: 
OCTEON CN7020-AAP pass 1.2, Core clock: 1000 MHz, IO clock: 600 MHz, DDR clock: 667 MHz (1334 Mhz DDR)
Base DRAM address used by u-boot: 0x4f804000, size: 0x7fc000
DRAM: 1 GiB
Clearing DRAM.....Clearing base address: 0x100000, size: 0xff00000, ub_base: 0x4f804000, ub_size: 0x7fc000
Stack: 0xc03f5c60
Done clearing memory, ub_base: 0x4f804000
.Clearing base address: 0x20000000, size: 0x30000000, ub_base: 0x4f804000, ub_size: 0x7fc000
Stack: 0xc03f5c60
Done clearing memory, ub_base: 0x4f804000
 done
Using default environment

MMC:   Octeon MMC/SD0: 1
Hit any key to stop autoboot:  3  2  1  0 
reading u-boot-octeon_rhino_itus7x.bin
early_board_init: Early board init .................
Importing environment from RAM address 0x1000
RAM environment is 33 bytes



U-Boot 2013.07 (Development build, svnversion: u-boot:exported, exec:) (Build time: May 21 2015 - 11:11:49)

Initializing DRAM
U-Boot is RAM resident
Using DRAM size from environment: 1024 MBytes
DDR clock is 667 MHz
RHino: new Ram size 1024MiB (0x40000000)
Ram size 1024MiB (0x40000000)
Preserving environment in RAM
Done clearing memory
Configuring DLM0 for QSGMII
DLM1: mini-PCIe slots selected
CUST_PRIVATE_RHINO_ITUS7X board revision major:0, minor:1, serial #: 752011191521-36409
OCTEON CN7020-AAP pass 1.2, Core clock: 1000 MHz, IO clock: 600 MHz, DDR clock: 667 MHz (1334 Mhz DDR)
Base DRAM address used by u-boot: 0x4f000000, size: 0x1000000
DRAM: 1 GiB
Clearing DRAM.....Clearing base address: 0x100000, size: 0xff00000, ub_base: 0x4f000000, ub_size: 0x1000000
Stack: 0xc0f71c60
Done clearing memory, ub_base: 0x4f000000
.Clearing base address: 0x20000000, size: 0x30000000, ub_base: 0x4f000000, ub_size: 0x1000000
Stack: 0xc0f71c60
Done clearing memory, ub_base: 0x4f000000
 done
board_fixup_fdt: Found PCIe GPIO2 ..
MMC device not found, initializing
Octeon MMC/SD0: 1
*** Warning - bad CRC, using default environment

PCIe: Link timeout on port 0, probably the slot is empty
PCIe: Port 1 not in PCIe mode, skipping
PCIe: Port 2 not in PCIe mode, skipping
Net:   cvmx_helper_interface: interface 0
cvmx_helper_interface: interface 1
cvmx_helper_interface: interface 4
octeth0, octeth1, octeth2, octeth3
Type the command 'usb start' to scan for USB storage devices.

late_board_init ..
ITUS: SW1 3 Gateway (OUTER)  
Hit any key to stop autoboot:  2  1  0 
mmc1(part 0) is current device
reading ItusgatewayImage
14741520 bytes read in 1639 ms (8.6 MiB/s)
argv[2]: mem=0
argv[3]: numcores=2
argv[4]: serial#=752011191521-36409
Allocating memory for ELF segment: addr: 0xffffffff81100000 (adjusted to: 0x1100000), size 0x1f56cf0
## Loading big-endian Linux kernel with entry point: 0xffffffff81604000 ...
Bootloader: Done loading app on coremask: 0x3
Starting cores:
 0x3
[    0.000000] Linux version 4.14.113 (grommish@gribbits) (gcc version 7.4.0 (OpenWrt GCC 7.4.0 r9914-430b66bbe8)) #0 SMP Mon Apr 29 19:48:09 2019
[    0.000000] Skipping L2 locking due to reduced L2 cache size
[    0.000000] CVMSEG size: 2 cache lines (256 bytes)
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 000d9602 (Cavium Octeon III)
[    0.000000] FPU revision is: 00739600
[    0.000000] Checking for the multiply/shift bug... no.
[    0.000000] Checking for the daddiu bug... no.
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 000000000c000000 @ 0000000003100000 (usable)
[    0.000000]  memory: 0000000000c00000 @ 000000000f200000 (usable)
[    0.000000]  memory: 000000002f000000 @ 0000000020000000 (usable)
[    0.000000]  memory: 0000000001f56cf0 @ 0000000001100000 (usable)
[    0.000000] Wasting 243712 bytes for tracking 4352 unused pages
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Using passed Device Tree.
[    0.000000] software IO TLB: mapped [mem 0x03115000-0x03155000] (0MB)
[    0.000000] Primary instruction cache 78kB, virtually tagged, 39 way, 16 sets, linesize 128 bytes.
[    0.000000] Primary data cache 32kB, 32-way, 8 sets, linesize 128 bytes.
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x0000000000000000-0x00000000efffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000003055fff]
[    0.000000]   node   0: [mem 0x0000000003100000-0x000000000f0fffff]
[    0.000000]   node   0: [mem 0x000000000f200000-0x000000000fdfffff]
[    0.000000]   node   0: [mem 0x0000000020000000-0x000000004effffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000004effffff]
[    0.000000] random: get_random_bytes called from start_kernel+0x90/0x4fc with crng_init=0
[    0.000000] percpu: Embedded 19 pages/cpu @8000000003162000 s39472 r8192 d30160 u77824
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 253594
[    0.000000] Kernel command line:  bootoctlinux 0x20000000 numcores=2 serial#=752011191521-36409 console=ttyS0,115200
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
[    0.000000] Memory: 962520K/1028440K available (5167K kernel code, 333K rwdata, 1252K rodata, 8652K init, 16667K bss, 65920K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=128, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	CONFIG_RCU_FANOUT set to non-default value of 32
[    0.000000] 	RCU restricting CPUs from NR_CPUS=16 to nr_cpu_ids=2.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS: 127
[    0.000000] CIB interrupt controller probed: 800107000000e000 23
[    0.000000] CIB interrupt controller probed: 800107000000e200 12
[    0.000000] CIB interrupt controller probed: 800107000000e400 6
[    0.000000] CIB interrupt controller probed: 800107000000ec00 15
[    0.000000] CIB interrupt controller probed: 800107000000e600 4
[    0.000000] CIB interrupt controller probed: 800107000000e800 11
[    0.000000] CIB interrupt controller probed: 800107000000e900 11
[   20.991925] clocksource: OCTEON_CVMCOUNT: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns
[   21.002983] Calibrating delay loop (skipped) preset value.. 2000.00 BogoMIPS (lpj=4000000)
[   21.011231] pid_max: default: 32768 minimum: 301
[   21.015894] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes)
[   21.022515] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes)
[   21.030059] Checking for the daddi bug... no.
[   21.034695] Hierarchical SRCU implementation.
[   21.039246] smp: Bringing up secondary CPUs ...
[   21.043874] SMP: Booting CPU01 (CoreId  1)...
[   21.048180] CPU1 revision is: 000d9602 (Cavium Octeon III)
[   21.048184] FPU revision is: 00739600
[   21.048294] smp: Brought up 1 node, 2 CPUs
[   21.063722] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[   21.073342] futex hash table entries: 512 (order: 4, 65536 bytes)
[   21.079708] NET: Registered protocol family 16
[   21.088643] PCIe: Initializing port 0
[   21.095379] PCIe: BIST2 FAILED for port 0 (0x0000000000000003)
[   21.529495] random: fast init done
[   23.101078] PCIe: Link timeout on port 0, probably the slot is empty
[   23.107380] PCIe: Initializing port 1
[   23.114246] PCIe: BIST FAILED for port 1 (0xffffffffffffffff)
[   25.124820] PCIe: Link timeout on port 1, probably the slot is empty
[   25.136780] SCSI subsystem initialized
[   25.140598] usbcore: registered new interface driver usbfs
[   25.145990] usbcore: registered new interface driver hub
[   25.151276] usbcore: registered new device driver usb
[   25.156427] PCI host bridge to bus 0000:00
[   25.160369] pci_bus 0000:00: root bus resource [mem 0x1000000000000]
[   25.166703] pci_bus 0000:00: root bus resource [io  0x0000]
[   25.172268] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[   25.179049] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[   25.187963] clocksource: Switched to clocksource OCTEON_CVMCOUNT
[   25.194360] NET: Registered protocol family 2
[   25.198983] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[   25.205967] TCP bind hash table entries: 8192 (order: 6, 262144 bytes)
[   25.212556] TCP: Hash tables configured (established 8192 bind 8192)
[   25.218823] UDP hash table entries: 512 (order: 3, 49152 bytes)
[   25.224695] UDP-Lite hash table entries: 512 (order: 3, 49152 bytes)
[   25.231151] NET: Registered protocol family 1
[   25.301798] Crashlog allocated RAM at address 0x3f00000
[   25.307130] workingset: timestamp_bits=62 max_order=18 bucket_order=0
[   25.317575] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[   25.323409] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[   25.334668] io scheduler noop registered
[   25.338456] io scheduler deadline registered (default)
[   25.343860] octeon_gpio 1070000000800.gpio-controller: OCTEON GPIO driver probed.
[   25.351388] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[   25.358066] console [ttyS0] disabled
[   25.361525] 1180000000800.serial: ttyS0 at MMIO 0x1180000000800 (irq = 44, base_baud = 37500000) is a OCTEON
[   25.371322] console [ttyS0] enabled
[   25.371322] console [ttyS0] enabled
[   25.378268] bootconsole [early0] disabled
[   25.378268] bootconsole [early0] disabled
[   25.386542] 1180000000c00.serial: ttyS1 at MMIO 0x1180000000c00 (irq = 45, base_baud = 37500000) is a OCTEON
[   25.396656] octeon_rng octeon_rng: Octeon Random Number Generator
[   25.402953] cacheinfo: Failed to find cpu0 device node
[   25.408118] cacheinfo: Unable to detect cache hierarchy for CPU 0
[   25.416811] loop: module loaded
[   25.420465] libphy: mdio_octeon: probed
[   25.424359] [Firmware Warn]: /soc@0/mdio@1180000001800/ethernet-phy@0: Whitelisted compatible string. Please remove
[   25.439875] irq: :soc@0:gpio-controller@1070000000800 didn't like hwirq-0x7 to VIRQ48 mapping (rc=-22)
[   25.449334] [Firmware Warn]: /soc@0/mdio@1180000001800/ethernet-phy@1: Whitelisted compatible string. Please remove
[   25.464626] irq: :soc@0:gpio-controller@1070000000800 didn't like hwirq-0x7 to VIRQ48 mapping (rc=-22)
[   25.474082] [Firmware Warn]: /soc@0/mdio@1180000001800/ethernet-phy@2: Whitelisted compatible string. Please remove
[   25.489172] irq: :soc@0:gpio-controller@1070000000800 didn't like hwirq-0x7 to VIRQ48 mapping (rc=-22)
[   25.498630] [Firmware Warn]: /soc@0/mdio@1180000001800/ethernet-phy@3: Whitelisted compatible string. Please remove
[   25.513754] irq: :soc@0:gpio-controller@1070000000800 didn't like hwirq-0x7 to VIRQ48 mapping (rc=-22)
[   25.523195] mdio_octeon 1180000001800.mdio: Probed
[   25.528214] libphy: Fixed MDIO Bus: probed
[   25.532415] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[   25.538963] ehci-platform: EHCI generic platform driver
[   25.544283] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[   25.550499] ohci-platform: OHCI generic platform driver
[   25.555862] usbcore: registered new interface driver usb-storage
[   25.561923] octeon_wdt: Initial granularity 5 Sec
[   26.473483] Interface 0 has 4 ports (SGMII)
[   26.477743] Interface 1 has 4 ports (SGMII)
[   26.482497] Interface 3 has 4 ports (LOOP)
[   26.492583] NET: Registered protocol family 10
[   26.498916] Segment Routing with IPv6
[   26.502677] NET: Registered protocol family 17
[   26.507171] 8021q: 802.1Q VLAN Support v1.8
[   26.512119] OF: fdt: not creating '/sys/firmware/fdt': CRC check failed
[   26.522480] Freeing unused kernel memory: 8652K
[   26.527038] This architecture does not have kernel memory protection.
[   26.539028] init: Console is alive
[   26.542649] init: - watchdog -
[   26.550600] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[   26.557591] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[   26.566319] init: - preinit -
[   26.647486] random: jshn: uninitialized urandom read (4 bytes read)
[   26.673311] random: jshn: uninitialized urandom read (4 bytes read)
[   26.692951] random: jshn: uninitialized urandom read (4 bytes read)
[   26.721419] eth0: 1000 Mbps Full duplex, port 0, queue 0
[   26.726872] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
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
[   27.712152] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   29.801735] eth0: Link down
[   29.808547] procd: - early -
[   29.811486] procd: - watchdog -
[   30.366521] procd: - watchdog -
[   30.369873] procd: - ubus -
[   30.375360] urandom_read: 1 callbacks suppressed
[   30.375365] random: ubusd: uninitialized urandom read (4 bytes read)
[   30.422453] random: ubusd: uninitialized urandom read (4 bytes read)
[   30.429012] random: ubusd: uninitialized urandom read (4 bytes read)
[   30.435775] procd: - init -
Please press Enter to activate this console.
[   30.508741] kmodloader: loading kernel modules from /etc/modules.d/*
[   30.517704] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   30.526153] ip_tables: (C) 2000-2006 Netfilter Core Team
[   30.534467] nf_conntrack version 0.5.0 (7680 buckets, 30720 max)
[   30.556649] xt_time: kernel timezone is -0000
[   30.564340] PPP generic driver version 2.4.2
[   30.569318] NET: Registered protocol family 24
[   30.575053] kmodloader: done loading kernel modules from /etc/modules.d/*
[   38.357521] br-lan: port 1(eth0) entered blocking state
[   38.362836] br-lan: port 1(eth0) entered disabled state
[   38.368311] device eth0 entered promiscuous mode
[   38.374122] br-lan: port 1(eth0) entered blocking state
[   38.379387] br-lan: port 1(eth0) entered forwarding state
[   38.384934] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   38.407189] eth1: 1000 Mbps Full duplex, port 1, queue 1
[   38.412692] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[   39.360290] br-lan: port 1(eth0) entered disabled state
[   39.424171] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[   39.722880] random: crng init done
[   39.726300] random: 3 urandom warning(s) missed due to ratelimiting
[   41.418148] eth0: 1000 Mbps Full duplex, port 0, queue 0
[   41.423505] br-lan: port 1(eth0) entered blocking state
[   41.428755] br-lan: port 1(eth0) entered forwarding state
[   41.434410] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   45.244969] mmc1: new DDR MMC card at address 0001
[   45.250289] mmcblk1: mmc1:0001 P1XXXX 3.60 GiB 
[   45.254974] mmcblk1boot0: mmc1:0001 P1XXXX partition 1 2.00 MiB
[   45.261030] mmcblk1boot1: mmc1:0001 P1XXXX partition 2 2.00 MiB
[   45.267096] mmcblk1rpmb: mmc1:0001 P1XXXX partition 3 128 KiB
[   45.273723]  mmcblk1: p1 p2 p3 p4



BusyBox v1.30.1 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r9914-430b66bbe8
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:/# 

After fighting with the damn thing (quilt is a pain), I managed to get it in, built and booted and the network interfaces are working as I expected them to from the start.

Thank you all so much for all the help!

First of all cool, I would however highly recommend you to do a stock vanilla kernel config for the CN7XXX series and compare it to OpenWrt's as I'm quite sure you're missing a few things that are platform specific compared to the older platforms which OpenWrt targets. While at it you most likely want to move to the 4.19 version which works just fine on the EdgeRouter Lite at least.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.