Netgear GS108Tv3/GS110TPv3/GS110TPP switch support

Cross your fingers that you didn't already fry your switch permanently…

The switch is still fine, boots up in OpenWRT, with my current configuration, VLAN config & PoE-powered WAPs operational, etc.

I'm aware that the original RS232 specification has a very wide range of voltages, easily +15VDC, some sources say as high as +25VDC, but I figured a modern USB-RS232 converter like the one I'm using would be no more than +5V. We'll see, but I don't think applying a +5 to +5.5VDC signal to 3.3V TTL-level TX/RX pins is going to fry them.

Pretty sure once I get a 3.3V TTL converter the console output will pop right up. I'll update here when I try it, probably another week or so away.

RS232 has inverted voltage levels. The rest state is negative while the start bis is positive. However, TTL-serial is on +5V (or whateverV) at rest and the start bit "only" pulls to ground.

See e.g. https://www.sparkfun.com/tutorials/215

TL;DR: there are isolated USB-to-serial-TTL converters out there. Buy one of them. They require a +V wire from the testee but at least you can't electrocute yourself (and/or your electronics) when the device in question is grounded improperly or you happen to touch the wrong pins.

2 Likes

…and most of these devices supported by OpenWrt require a 3.3V logic level (instead of 5V/ TTL or RS232C) instead (some very new/ high-end ARM systems might even require 1.8V, however none of these realtek switches).

For safely connecting to unknown voltage level serial I highly recommend the μArt. It is an isolated USB to UART-TTL that does voltage auto-sensing and provides protections for reverse polarity and other protections.

1 Like

5…1.8V

Yes, that too. One may get away with using a higher-voltage interface if there are protective diodes around the Rx pin and the interface isn't particularly beefy, but …

µArt recommendation: strongly seconded, I have a bunch of these too.

1 Like

There is usually little to no protection on the uart of these devices, pretty much a direct connection to the SOC. These debugging headers aren't made to be user accessible, so there's no need to protect against anything.

2 Likes

Many SOCs do have protective diodes on their inputs (lock-up due to EM spikes is not healthy), and/or intentionally allow somewhat-higher voltages on the serial lines.

But you definitely shouldn't rely on any of that.

1 Like

I assume this must be connected to vcc on the device? That might be a problem on the GS110TPP. The vcc pin was not working on my GS108Tv3 at least. Never researched why. Just gave up and used a normal usb ttl adapter instead of the Bluetooth adapter I started with. Which BTW is another way to achieve full isolation, with less components :slight_smile:

I'd contest the "fewer components with Bluetooth" idea. :wink:

The VCC pin often needs a zero-ohm resistor (or a solder blob) somewhere nearby.

Blockquote

I use one of these too, very good, but expensive. I currently have a €4 galvanically isolated USB adapter on order from AliExpress to see if it's any good.

You can also get breakout boards with just a suitable isolator (e.g. ADUM-1201 - which has a voltage range of 2.7 V to 5.5 V) which you can hook up to an existing USB UART for about half that cost.

Separate, unrelated question about a different unit, a GS310TP that I recently acquired. (Not the GS110TPP that I'm trying to get a UART connection going on..):

On this GS310TP, I had no problems flashing a normal initramfs & then sysupgrade openWRT image, coming from stock Netgear firmware. Upon booting OpenWRT the ethernet link & PoE indicator lights did not work. I then tried:

fw_setenv bootcmd "rtk network on; boota"

(following this post earlier in this thread).

Now all the ethernet link and PoE indicator lights work properly (all tested, in correct order,) but the router's main power light doesn't come on. I.e. it boots and operates fine, just without the power indicator light. Any easy way to fix this?

Yes it connects to VCC on the device. That is how it auto-senses the correct voltage.

In the meantime, there is a better way to enable LED lights, without activating all ports during system boot:

NB: The register values are for the GS308T. You can find the correct settings for yours by enabling switch LEDs the way you did and then read the relevant registers using cat.

Seems like the dts does not contain the proper definitions for the system LED. The GS308T and GS108Tv3 use the same settings, so you could just toggle the GPIOs using sysfs and check whether the definitions are also correct for your GS310TP. If they are, create a patch to add support for it. If they are not, you will have to identify the correct GPIO mapping.

GS108Tv3 DTS:

GS310TP DTS:

2 Likes

@bmork -- I've gotten a serial console connection working on the GS110TPP finally.

Here are the physical details of the connection for anyone interested:

TTL serial connection setup

"HiLetGo" FT232 mini USB to TTL converter with user-selectable 3.3 or 5-volt TTL level operation. (Chosen via jumper.) I set the jumper for 3.3V operation. This little $7 board is cheaply-made but it works.

Serial console connection settings 8-N-1, 115,200 baud, no terminal emulation selected, as-expected.

Photos:



Console boot output:

Uninterrupted by key presses
BOOT Loader Version 1.0.0.5 (2019-03-15 17:08:23 UTC)

Board: RTL838x CPU:500MHz LXB:200MHz MEM:300MHz
CPU  : 500 MHz
RAM  : 128 MB
FLASH: 32 MB

Model: GS110TPP
MAC  : 80:CC:9C:97:FA:0C

Hit Esc key to stop autoboot:  0 
Enable network
Please wait for PHY init-time ...

## Booting image from partition ... 0
## Booting kernel from Legacy Image at 81000000 ...
   Version:      9.9.9.9
   Created:      2024-02-14  15:22:53 UTC
   Data Size:    2413407 Bytes = 2.3 MB
   Checksum ... OK
   Uncompressing ... OK

Starting kernel ...

[    0.000000] Linux version 5.15.148 (bjorn@canardo) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 12.3.0 r25153-869df9ecdf0a) 12.3.0, GNU ld (GNU Binutils) 2.40.0) #0 Wed Feb 14 15:22:53 2024
[    0.000000] RTL838X model is 83806800
[    0.000000] SoC Type: RTL8380
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019070 (MIPS 4KEc)
[    0.000000] MIPS: machine is Netgear GS110TPP v1
[    0.000000] earlycon: ns16550a0 at MMIO 0x18002000 (options '115200n8')
[    0.000000] printk: bootconsole [ns16550a0] enabled
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Using appended Device Tree.
[    0.000000] Primary instruction cache 16kB, VIPT, 4-way, linesize 16 bytes.
[    0.000000] Primary data cache 16kB, 2-way, VIPT, cache aliases, linesize 16 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] Kernel command line: earlycon
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 120376K/131072K available (6013K kernel code, 608K rwdata, 1328K rodata, 1196K init, 209K bss, 10696K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 256
[    0.000000] rtl83xx-clk: initialized, CPU 500 MHz, MEM 300 MHz (8 Bit DDR3), LXB 200 MHz
[    0.000000] clocksource: realtek_otto_timer: mask: 0xfffffff max_cycles: 0xfffffff, max_idle_ns: 38225208801 ns
[    0.000004] sched_clock: 28 bits at 3125kHz, resolution 320ns, wraps every 42949672800ns
[    0.009329] Calibrating delay loop... 498.89 BogoMIPS (lpj=2494464)
[    0.136024] pid_max: default: 32768 minimum: 301
[    0.143603] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.151875] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.181250] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.192298] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.200469] pinctrl core: initialized pinctrl subsystem
[    0.209832] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.255512] rtl83xx-clk clock-controller: rate setting enabled, CPU 300-625 MHz, MEM 300-300 MHz, LXB 200-200 MHz, OVERCLOCK AT OWN RISK
[    0.273918] clocksource: Switched to clocksource realtek_otto_timer
[    0.284846] NET: Registered PF_INET protocol family
[    0.290948] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.300930] tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.310538] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.319290] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.327967] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.335962] TCP: Hash tables configured (established 1024 bind 1024)
[    0.343656] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.351144] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.360023] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.377921] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.400020] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.406706] jffs2: version 2.2 (NAND) (SUMMARY) (ZLIB) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.424566] pinctrl-single 1b001000.pinmux: 32 pins, size 4
[    0.431763] pinctrl-single 1b00a000.pinmux: 32 pins, size 4
[    0.440770] Probing RTL8231 GPIOs
[    0.444627] rtl8231_init called, MDIO bus ID: 31
[    0.452789] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.462343] printk: console [ttyS0] disabled
[    0.467382] 18002000.uart: ttyS0 at MMIO 0x18002000 (irq = 31, base_baud = 12500000) is a 16550A
[    0.477324] printk: console [ttyS0] enabled
[    0.477324] printk: console [ttyS0] enabled
[    0.486788] printk: bootconsole [early0] disabled
[    0.486788] printk: bootconsole [early0] disabled
[    0.497415] printk: bootconsole [ns16550a0] disabled
[    0.497415] printk: bootconsole [ns16550a0] disabled
[    0.510108] 18002100.uart: ttyS1 at MMIO 0x18002100 (irq = 30, base_baud = 12500000) is a 16550A
[    0.651901] brd: module loaded
[    0.668884] spi-nor spi0.0: w25q256 (32768 Kbytes)
[    0.674549] 7 fixed-partitions partitions found on MTD device spi0.0
[    0.681732] OF: Bad cell count for /soc/spi@1200/flash@0/partitions
[    0.688918] OF: Bad cell count for /soc/spi@1200/flash@0/partitions
[    0.696775] Creating 7 MTD partitions on "spi0.0":
[    0.702187] 0x000000000000-0x0000000e0000 : "u-boot"
[    0.715819] 0x0000000e0000-0x0000000f0000 : "u-boot-env"
[    0.725307] 0x0000000f0000-0x000000100000 : "u-boot-env2"
[    0.739656] 0x000000100000-0x000000200000 : "jffs"
[    0.748483] 0x000000200000-0x000000300000 : "jffs2"
[    0.762435] 0x000000300000-0x000001180000 : "firmware"
[    0.772699] 2 uimage-fw partitions found on MTD device firmware
[    0.779518] Creating 2 MTD partitions on "firmware":
[    0.785323] 0x000000000000-0x000000250000 : "kernel"
[    0.798961] 0x000000250000-0x000000e80000 : "rootfs"
[    0.807769] mtd: setting mtd7 (rootfs) as root device
[    0.816441] 1 squashfs-split partitions found on MTD device rootfs
[    0.823516] 0x0000004b0000-0x000000e80000 : "rootfs_data"
[    0.832904] 0x000001180000-0x000002000000 : "runtime2"
[    0.871485] Probing RTL838X eth device pdev: 82094400, dev: 82094410
[    0.929217] Found SoC ID: 8380: RTL8380, family 8380
[    0.935045] rtl8380_init_mac
[    0.938329] Using MAC 0000000000010000
[    1.055420] Realtek RTL8218B (internal) mdio-bus:08: Detected internal RTL8218B
[    1.063639] Firmware loaded. Size 1184, magic: 83808380
[    3.615764] Realtek RTL8214C mdio-bus:10: Detected external RTL8214C
[    3.641250] i2c_dev: i2c /dev entries driver
[    3.657437] NET: Registered PF_INET6 protocol family
[    3.699216] Segment Routing with IPv6
[    3.703567] In-situ OAM (IOAM) with IPv6
[    3.708528] NET: Registered PF_PACKET protocol family
[    3.715390] 8021q: 802.1Q VLAN Support v1.8
[    3.764823] Realtek RTL8218B (internal) rtl838x slave mii-0:08: Detected internal RTL8218B
[    3.774206] Firmware loaded. Size 1184, magic: 83808380
[    6.322060] Realtek RTL8214C rtl838x slave mii-0:10: Detected external RTL8214C
[    6.362134] Realtek RTL8380 SERDES rtl838x slave mii-0:18: Detected internal RTL8380 SERDES
[    6.371640] Firmware loaded. Size 1184, magic: 83808380
[    6.377678] SDS power down value: b
[    6.405754] PLL control register: efffffff
[    6.410399] SDS power down value now: 3f
[    6.414876] Configuration of SERDES done
[    6.450480] In rtl83xx_vlan_setup
[    6.454407] UNKNOWN_MC_PMASK: 000000001fffffff
[    6.459405] VLAN profile 0: L2 learning: 1, UNKN L2MC FLD PMSK 511,          UNKN IPMC FLD PMSK 511, UNKN IPv6MC FLD PMSK: 511
[    7.543952] rtl83xx_enable_phy_polling:            3ff00
[    8.584581] rtl83xx-switch switch@1b000000: configuring for fixed/internal link mode
[    8.594307] rtl83xx-switch switch@1b000000: Link is Up - 1Gbps/Full - flow control off
[    8.604159] rtl83xx-switch switch@1b000000 lan1 (uninitialized): PHY [mdio-bus:08] driver [Realtek RTL8218B (internal)] (irq=POLL)
[    8.621051] rtl83xx-switch switch@1b000000 lan2 (uninitialized): PHY [mdio-bus:09] driver [Realtek RTL8218B (internal)] (irq=POLL)
[    8.641323] rtl83xx-switch switch@1b000000 lan3 (uninitialized): PHY [mdio-bus:0a] driver [Realtek RTL8218B (internal)] (irq=POLL)
[    8.658469] rtl83xx-switch switch@1b000000 lan4 (uninitialized): PHY [mdio-bus:0b] driver [Realtek RTL8218B (internal)] (irq=POLL)
[    8.678628] rtl83xx-switch switch@1b000000 lan5 (uninitialized): PHY [mdio-bus:0c] driver [Realtek RTL8218B (internal)] (irq=POLL)
[    8.697405] rtl83xx-switch switch@1b000000 lan6 (uninitialized): PHY [mdio-bus:0d] driver [Realtek RTL8218B (internal)] (irq=POLL)
[    8.714705] rtl83xx-switch switch@1b000000 lan7 (uninitialized): PHY [mdio-bus:0e] driver [Realtek RTL8218B (internal)] (irq=POLL)
[    8.735165] rtl83xx-switch switch@1b000000 lan8 (uninitialized): PHY [mdio-bus:0f] driver [Realtek RTL8218B (internal)] (irq=POLL)
[    8.752271] rtl83xx-switch switch@1b000000 lan9 (uninitialized): PHY [mdio-bus:10] driver [Realtek RTL8214C] (irq=POLL)
[    8.771276] rtl83xx-switch switch@1b000000 lan10 (uninitialized): PHY [mdio-bus:11] driver [Realtek RTL8214C] (irq=POLL)
[    8.786209] DSA: tree 0 setup
[    8.789640] LINK state irq: 20
[    8.793128] In rtl83xx_setup_qos
[    8.796871] Setting up RTL838X QoS
[    8.800697] RTL838X_PRI_SEL_TBL_CTRL(i): 00033112
[    8.806041] Current Intprio2queue setting: 00000000
[    8.811522] QM_PKT2CPU_INTPRI_MAP: 00fac688
[    8.816497] rtl838x_dbgfs_init called
[    8.820745] rtl83xx_fib_event_work_do: FIB4 default rule failed
[    8.830086] rtl83xx_fib_event_work_do: FIB4 default rule failed
[    8.856616] VFS: Mounted root (squashfs filesystem) readonly on device 31:7.
[    8.877918] Freeing unused kernel image (initmem) memory: 1196K
[    8.884707] This architecture does not have kernel memory protection.
[    8.891947] Run /sbin/init as init process
[    8.896624]   with arguments:
[    8.899970]     /sbin/init
[    8.902996]   with environment:
[    8.906598]     HOME=/
[    8.909271]     TERM=linux
[    9.761916] init: Console is alive
[    9.767065] init: - watchdog -
[   10.309232] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[   10.375758] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[   10.395529] init: - preinit -
[   12.238486] random: jshn: uninitialized urandom read (4 bytes read)
[   12.438315] random: jshn: uninitialized urandom read (4 bytes read)
[   13.766961] random: jshn: uninitialized urandom read (4 bytes read)
[   13.864688] random: jshn: uninitialized urandom read (4 bytes read)
[   14.005804] random: jshn: uninitialized urandom read (4 bytes read)
[   15.182456] RESETTING 8380, CPU_PORT 28
[   15.387622] rtl838x-eth 1b00a300.ethernet eth0: configuring for fixed/internal link mode
[   15.396683] In rtl838x_mac_config, mode 1
[   15.404417] rtl83xx-switch switch@1b000000 lan1: configuring for phy/internal link mode
[   15.413617] rtl838x-eth 1b00a300.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[   15.423361] 8021q: adding VLAN 0 to HW filter on device lan1
[   15.430513] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   15.437739] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   15.445429] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   15.495557] rtl83xx_fib_event_work_do: FIB4 failed
[   15.500976] rtl83xx_fib_event_work_do: FIB4 failed
[   15.527200] random: procd: uninitialized urandom read (4 bytes read)
[   15.535170] rtl83xx_fib_event_work_do: FIB4 failed
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
[   16.336055] RTL8380 Link change: status: 1, ports 4000
[   16.504040] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   18.144692] jffs2: notice: (597) jffs2_build_xattr_subsystem: complete building xattr subsystem, 84 of xdatum (28 unchecked, 56 orphan) and 92 of xref (56 dead, 0 orphan) found.
[   18.171478] mount_root: switching to jffs2 overlay
[   18.203560] overlayfs: upper fs does not support tmpfile.
[   18.232955] urandom-seed: Seeding with /etc/urandom.seed
[   18.460480] rtl83xx_fib4_del: no such gateway: 0.0.0.0
[   18.470100] rtl83xx_fib4_del: no such gateway: 0.0.0.0
[   18.484060] rtl83xx_fib4_del: no such gateway: 0.0.0.0
[   18.539406] procd: - early -
[   18.543376] procd: - watchdog -
[   18.894566] RTL8380 Link change: status: 1, ports 4000
[   19.453783] procd: - watchdog -
[   19.461074] procd: - ubus -
[   19.667420] random: ubusd: uninitialized urandom read (4 bytes read)
[   19.681151] random: ubusd: uninitialized urandom read (4 bytes read)
[   19.689253] random: ubusd: uninitialized urandom read (4 bytes read)
[   19.708963] procd: - init -
Please press Enter to activate this console.
[   20.687363] random: jshn: uninitialized urandom read (4 bytes read)
[   20.980723] RTL8380 Link change: status: 1, ports 4000
[   22.192080] kmodloader: loading kernel modules from /etc/modules.d/*
[   22.220061] GACT probability on
[   22.237677] Mirror/redirect action on
[   22.302490] u32 classifier
[   22.305677]     input device check on
[   22.309797]     Actions configured
[   22.719107] kmodloader: done loading kernel modules from /etc/modules.d/*
[   24.643157] urngd: v1.0.2 started.
[   28.056484] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   28.505653] random: crng init done
[   28.509496] random: 27 urandom warning(s) missed due to ratelimiting
[   38.433681] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   38.533004] in rtl838x_eth_stop
[   38.545279] rtl838x-eth 1b00a300.ethernet eth0: Link is Down
[   39.067179] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   39.074750] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   39.082146] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   39.089678] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   40.562904] Using MAC 000080cc9c97fa0c
[   40.604704] RESETTING 8380, CPU_PORT 28
[   40.809883] rtl838x-eth 1b00a300.ethernet eth0: configuring for fixed/internal link mode
[   40.818942] In rtl838x_mac_config, mode 1
[   40.824075] rtl838x-eth 1b00a300.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[   40.833435] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   40.840698] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   40.848282] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   41.354865] rtl83xx-switch switch@1b000000 lan1: configuring for phy/internal link mode
[   41.411434] 8021q: adding VLAN 0 to HW filter on device lan1
[   41.464759] switch: port 1(lan1) entered blocking state
[   41.470724] switch: port 1(lan1) entered disabled state
[   41.477520] device lan1 entered promiscuous mode
[   41.482731] device eth0 entered promiscuous mode
[   42.322417] rtl83xx-switch switch@1b000000 lan2: configuring for phy/internal link mode
[   42.364118] 8021q: adding VLAN 0 to HW filter on device lan2
[   42.451039] switch: port 2(lan2) entered blocking state
[   42.457062] switch: port 2(lan2) entered disabled state
[   42.503264] device lan2 entered promiscuous mode
[   42.907024] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   42.914650] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   42.922470] rtl83xx-switch switch@1b000000 lan3: configuring for phy/internal link mode
[   42.984313] 8021q: adding VLAN 0 to HW filter on device lan3
[   43.066800] switch: port 3(lan3) entered blocking state
[   43.072707] switch: port 3(lan3) entered disabled state
[   43.092762] device lan3 entered promiscuous mode
[   43.304275] rtl83xx-switch switch@1b000000 lan4: configuring for phy/internal link mode
[   43.324776] 8021q: adding VLAN 0 to HW filter on device lan4
[   43.376840] switch: port 4(lan4) entered blocking state
[   43.382740] switch: port 4(lan4) entered disabled state
[   43.389612] device lan4 entered promiscuous mode
[   43.540368] RTL8380 Link change: status: 1, ports 1000
[   43.614265] rtl83xx-switch switch@1b000000 lan5: configuring for phy/internal link mode
[   43.638641] 8021q: adding VLAN 0 to HW filter on device lan5
[   43.696814] switch: port 5(lan5) entered blocking state
[   43.702718] switch: port 5(lan5) entered disabled state
[   43.709632] device lan5 entered promiscuous mode
[   43.867420] RTL8380 Link change: status: 1, ports 2000
[   43.944611] rtl83xx-switch switch@1b000000 lan6: configuring for phy/internal link mode
[   43.964431] 8021q: adding VLAN 0 to HW filter on device lan6
[   44.029386] switch: port 6(lan6) entered blocking state
[   44.035401] switch: port 6(lan6) entered disabled state
[   44.042195] device lan6 entered promiscuous mode
[   44.264503] rtl83xx-switch switch@1b000000 lan7: configuring for phy/internal link mode
[   44.276088] 8021q: adding VLAN 0 to HW filter on device lan7
[   44.357495] switch: port 7(lan7) entered blocking state
[   44.363394] switch: port 7(lan7) entered disabled state
[   44.370317] device lan7 entered promiscuous mode
[   44.623183] rtl83xx-switch switch@1b000000 lan8: configuring for phy/internal link mode
[   44.654341] 8021q: adding VLAN 0 to HW filter on device lan8
[   44.717580] switch: port 8(lan8) entered blocking state
[   44.723482] switch: port 8(lan8) entered disabled state
[   44.730503] device lan8 entered promiscuous mode
[   44.954272] rtl83xx-switch switch@1b000000 lan9: configuring for phy/qsgmii link mode
[   44.974785] 8021q: adding VLAN 0 to HW filter on device lan9
[   45.045672] switch: port 9(lan9) entered blocking state
[   45.051571] switch: port 9(lan9) entered disabled state
[   45.058624] device lan9 entered promiscuous mode
[   45.273741] rtl83xx-switch switch@1b000000 lan10: configuring for phy/qsgmii link mode
[   45.314639] 8021q: adding VLAN 0 to HW filter on device lan10
[   45.397754] switch: port 10(lan10) entered blocking state
[   45.404004] switch: port 10(lan10) entered disabled state
[   45.411168] device lan10 entered promiscuous mode
[   45.500284] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   46.792608] RTL8380 Link change: status: 1, ports 1000
[   46.830478] rtl83xx-switch switch@1b000000 lan5: Link is Up - 1Gbps/Full - flow control rx/tx
[   46.883759] switch: port 5(lan5) entered blocking state
[   46.889792] switch: port 5(lan5) entered forwarding state
[   46.944388] IPv6: ADDRCONF(NETDEV_CHANGE): switch: link becomes ready
[   46.989396] IPv6: ADDRCONF(NETDEV_CHANGE): switch.1: link becomes ready
[   46.997495] IPv6: ADDRCONF(NETDEV_CHANGE): switch.15: link becomes ready
[   47.005689] IPv6: ADDRCONF(NETDEV_CHANGE): switch.25: link becomes ready
[   47.182059] RTL8380 Link change: status: 1, ports 2000
[   48.189849] rtl83xx-switch switch@1b000000 lan6: Link is Up - 1Gbps/Full - flow control rx/tx
[   48.298130] switch: port 6(lan6) entered blocking state
[   48.304161] switch: port 6(lan6) entered forwarding state
[   51.369126] RTL8380 Link change: status: 1, ports 4000
[   51.509541] Not offloading default route for now
[   51.633136] rtl83xx-switch switch@1b000000 lan7: Link is Up - 1Gbps/Full - flow control rx/tx
[   51.690642] switch: port 7(lan7) entered blocking state
[   51.696664] switch: port 7(lan7) entered forwarding state



BusyBox v1.36.1 (2024-02-14 15:22:53 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r25153-869df9ecdf0a
 -----------------------------------------------------
root@nbrkSwitch1:/# 
Interrupted before boot, dropping to the boot-loader, executing some status commands
BOOT Loader Version 1.0.0.5 (2019-03-15 17:08:23 UTC)

Board: RTL838x CPU:500MHz LXB:200MHz MEM:300MHz
CPU  : 500 MHz
RAM  : 128 MB
FLASH: 32 MB

Model: GS110TPP
MAC  : 80:CC:9C:97:FA:0C

Hit Esc key to stop autoboot:  0 
RTL838x#?    
?       - alias for 'help'
base    - print or set address offset
boota   - boota  - boot application image from one of dual images partition automatically
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
cmp     - memory compare
cp      - memory copy
crc32   - checksum calculation
env     - environment handling commands
erase   - erase FLASH memory
flerase - Erase flash partition
flinfo  - print FLASH memory information
flshow  - Show flash partition layout
go      - start application at address 'addr'
help    - print command description/usage
iminfo  - print header information for application image
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
md      - memory display
mm      - memory modify (auto-incrementing address)
mtest   - simple RAM read/write test
mw      - memory write (fill)
nm      - memory modify (constant address)
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
printsys- printsys - print system information variables

protect - enable or disable FLASH write protection
reset   - Perform RESET of the CPU
rtk     - rtk     - Realtek commands

run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
savesys - savesys - save system information variables to persistent storage

setenv  - set environment variables
setsys  - setsys  - set system information variables

sf      - SPI flash sub-system
sleep   - delay execution for some time
tftpboot- boot image via network using TFTP protocol
upgrade - Upgrade loader or runtime image
version - print monitor, compiler and linker version
RTL838x# 

RTL838x# version

BOOT Loader Version 1.0.0.5 (2019-03-15 17:08:23 UTC)
mips-linux-xgcc (Realtek MSDK-4.8.5p1 Build 2220) 4.8.5 20150209 (prerelease)
GNU ld (Realtek MSDK-4.8.5p1 Build 2220) 2.24.0.20141017

RTL838x# printenv
SN=60B8175SA06D6
baudrate=115200
boardmodel=RTL8393M_DEMO
bootcmd=rtk network on; boota
bootdelay=1
ethact=rtl8380#0
ethaddr=80:CC:9C:97:FA:0C
fileaddr=81000000
filesize=AA6887
ipaddr=192.168.1.1
ledModeInitSkip=0
serverip=192.168.1.111
stderr=serial
stdin=serial
stdout=serial

Environment size: 309/65532 bytes

RTL838x# printsys
SN=0987654321
dualfname1=openwrt-realtek-rtl838x-netgear_gs110tpp-v1-initramfs-kernel-v9.9.9.9.bin
bootpartition=0
System information size: 115/4096 bytes

RTL838x# iminfo

## Checking Image at b4100000 ...
Unknown image format!


RTL838x# flshow
=============== FLASH Partition Layout ===============
Index  Name       Size       Address
------------------------------------------------------
 0     LOADER     0xe0000    0xb4000000-0xb40dffff
 1     BDINFO     0x10000    0xb40e0000-0xb40effff
 2     SYSINFO    0x10000    0xb40f0000-0xb40fffff
 3     JFFS2_CFG  0x100000   0xb4100000-0xb41fffff
 4     JFFS2_LOG  0x100000   0xb4200000-0xb42fffff
 5     RUNTIME1   0xe80000   0xb4300000-0xb517ffff
 6     RUNTIME2   0xe80000   0xb5180000-0xb5ffffff
======================================================

Now that I have a working serial console connection, what is needed next to help bring the GS110TPP closer to streamlined conversion to/upgrading of OpenWRT?

Not sure there is much more needed than this?:

Current snapshots should be directly installable now.

1 Like

I see. I guess I was under the mistaken impression that something else needed to be tested / investigated that might require serial console access.

In the unlikely event anything crops up that could use beta-testing & also benefits from serial-console access let me know.

in the final version of this, does the POE work from openwrt? I want to put openwrt on the box, but i need to be sure POE is still working

I have this installed on a GS110TP v1, and separately on a different GS310TP unit. OpenWRT is completely stable on both devices, with multi-month continuous uptimes.

PoE works on both of them. However, the PoE indicator LEDs do not always correspond to the correct port.

I.e. a port can be supplying PoE power, in fact, while its PoE indicator lamp remains unlit, and instead a different port's PoE indicator LED lights up, despite nothing being attached to that port. (A cosmetic problem, not a functional problem.)

In the image below, Port 7 is supplying PoE power to a WAP, but shows only a Link light, not a PoE light. Meanwhile, Port 2 shows a PoE light even though nothing is connected to it.

is the PoE configurable via Luci or has to be configured via CLI? The other thing, does it support LACP? I am using on multiple ports currently