Onhub TP-LINK TGR1900 future support?

I mean all other than stock packages. For example dnscrypt2. And all the setting, like name of wireless network…

In versions with NSS, resetting the settings is the best option when upgrading.

Yes. You have to start from scratch and setup everything from scratch. If you flash custom NSS firmware do not save the configuration. And you can’t restore your configuration from a backup either. That won’t work. Anything in the overlay or installed packages in the backup archive will overwrite the packages in the new firmware and screw things up. EVERYTHING, every setting and configuration has to be done over from the beginning.

I’ve created a version of my NSS firmware for the OnHubs that I have simplified for using the devices as Bridged Access Points (Dumb AP) only.

TP-Link OnHub sysupgrade firmware (NSS)

Asus OnHub sysupgrade firmware (NSS)

As always, use at your own risk.

The OnHubs work great as Access Points.

Here’s the wiki showing you how to create a “Dumb AP.”

Wi-Fi Extender/Repeater with Bridged AP over Ethernet

NSS primarily accelerates routing, NAT, and firewall processing by offloading these tasks to specialized hardware. In a pure bridged AP mode, where layer 3 routing/NAT is mostly bypassed, NSS offloading has less direct impact.

Despite this, NSS can still aid in packet forwarding performance and interrupt handling for WiFi frames, indirectly improving throughput and reducing CPU load.

Enabling NSS on your OnHub OpenWrt setups used purely as APs does not degrade performance; it usually helps with packet processing efficiency and can lead to better WiFi responsiveness and system resource utilization.

Here’s another build of the NSS enabled firmware that does not use the Caldera Technologies (CT) drivers, just the standard Qualcomm drivers from the OpenWrt repository that some might prefer over the third-party drivers. MESH will work with these.

Asus OnHub sysupgrade firmware (NSS) (No CT drivers)

TP-Link OnHub sysupgrade firmware (NSS) (No CT drivers)

I sold both devices I had. I can develop software from now on, but I don't have the chance to test it. Good luck to everyone.

Sure I did it. No sense to keep when changing builds from different mainainers.

No way to use one of the WiFi network instead of Ethernet?

Look at this page first: Extenders/Repeaters - an Overview I’ve made lots of travel router setups and that’s easy enough, but it’s not the same thing.

I tried relentlessly to do this with MESH but it was not good enough and not reliable no matter what. (My NSS/Caldera drivers do not support MESH)

There’s a Proto-Relay setup too you could look at. This works surprisingly well.

This video explains how to setup the proto-relay:

Transform a Cheap Used Router into Wireless Extender (No Cables)

Maybe this WDS setups like this is what you want? You lose half the speed with WDS:

https://openwrt.org/docs/guide-user/network/wifi/wifiextenders/wds

The idea with the wired access points is to have a mini-computer as a main router (ipfire, OPNSense, PFSense) and salvage the OnHubs as access points with fast roaming and I’ve fixed all that stuff. No need to buy a Ubiquiti AP and POE injectors, etc.

Hello,

I wanted to improve security on my OnHub and tried installing Snort3.
However, when I run it, even with a simple command like:

snort -V

it immediately crashes with a segmentation fault.

My device:

  • TP-Link TGR1900 (Google OnHub)

  • OpenWrt 24.10.4 (r28959-29397011cc)

  • Packages: snort3 (3.9.5.0-r5), gperftools-runtime, libunwind8, libopenssl3 (3.0.18-r1)

I’m not very experienced with debugging, but I checked it with gdb and saw:

  • Several SIGILL signals inside libcrypto.so.3 (OpenSSL’s CPU feature detection)

  • After that, Snort crashes inside libunwind with a NULL pointer dereference

  • It looks like something gets corrupted before Snort actually starts

I'm not sure if this is caused by the Snort3 package, its dependencies, OpenSSL, or something special about the OnHub hardware.


Could anyone with the same device try this and see if it also crashes?

opkg install snort3
snort -V

If you could check whether it runs or crashes on your OnHub, that would help a lot.
Thanks!

I have never been able to get it to work on OnHub. Takes a lot of resources and will slow down everything.

Check out this thread: https://forum.openwrt.org/t/i-d-like-to-snort-should-i/194367

Thanks for the reply.
I understand OnHub isn’t really suited for running Snort.
Since it crashes even on simple commands like snort -V, I'll stop trying on this device.

Thanks for the link to the thread as well.

This is probably the wrong place to ask but has anyone managed to get the physical WAN port reassigned as second LAN port using 24.10.X?

This is normally so easy on other routers but in all my efforts it keeps making device unreachable (thankfully able to revert changes on this one).

If anyone can share working config I would be very grateful.

Just add the wan port to the bridge-lan configuration.

https://openwrt.org/docs/guide-user/network/wifi/wifiextenders/bridgedap

I am testing this on stock ‘firstboot’ config on OpenWrt 24.10.5 which has:

ifconfig:

br-lan    Link encap:Ethernet  HWaddr F4:F2:6D:87:XX:XX  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fd08:6ffc:xxxx::1/60 Scope:Global
          inet6 addr: fe80::f6f2:xxxx:xxxx:xxxx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5122 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3997 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:521690 (509.4 KiB)  TX bytes:1571008 (1.4 MiB)

eth0      Link encap:Ethernet  HWaddr F4:F2:6D:87:XX:XX  
          inet6 addr: fe80::f6f2:6dff:xxxx:xxxx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1502  Metric:1
          RX packets:61409 errors:0 dropped:0 overruns:0 frame:0
          TX packets:61405 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3685698 (3.5 MiB)  TX bytes:3685144 (3.5 MiB)
          Interrupt:35 

eth1      Link encap:Ethernet  HWaddr F4:F2:6D:87:XX:XX  
          inet6 addr: fe80::f6f2:6dff:xxxx:xxxx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1502  Metric:1
          RX packets:5185 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4433 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:607664 (593.4 KiB)  TX bytes:1609068 (1.5 MiB)
          Interrupt:36 

lan1      Link encap:Ethernet  HWaddr F4:F2:6D:87:XX:XX  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5172 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4430 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:595778 (581.8 KiB)  TX bytes:1599654 (1.5 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:976 errors:0 dropped:0 overruns:0 frame:0
          TX packets:976 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:76488 (74.6 KiB)  TX bytes:76488 (74.6 KiB)

wan       Link encap:Ethernet  HWaddr F4:F2:6D:87:XX:XX  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

cat /etc/config/network:

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

config globals 'globals'
        option ula_prefix 'fd08:6ffc:8aeb::/48'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config interface 'wan'
        option device 'wan'
        option proto 'dhcp'

config interface 'wan6'
        option device 'wan'
        option proto 'dhcpv6'

I have done the following using UI:

  • Remove the ‘wan’ and ‘wan6’ network interfaces.
  • Click ‘Save and Apply’ button. UI and Ping still works.
  • Edit ‘br-lan’ Bridge device, in Network → Devices, adding ‘wan’ network device in ‘Bridge ports’ which currently has ‘lan1’.
  • Click ‘Save’ button and ‘Save and Apply’ button again.
  • The router stops responding to pings and closes SSH.

Thankfully the rollback feature now works and after timeout it reverts config and I can access it again. I have also tried doing this via CLI with same results.

Can you share an /etc/config/network file that works for you?

What am I doing wrong?

Should be:

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth0'
        list ports 'eth1'

@tinker I don't use this device that much anymore but remember this issue when the switch to dsa from switch config happened. Under switch config this was not an issue. What I found is that if I select lan1 and wan under the br-lan setting and also tick the enable box under bridge vlan filtering this will make it work. The enabled box will not stay checked but both ports will be part of br-lan now. I also deleted the wan and wan6 interfaces as well as the wan firewall zone. I only use the device sparingly as an AP.

Thanks @KSofen and @dadogroove for the suggestions. Tried both after resetting to stock.

The following network config did not work and resulted in soft brick which did revert. I also tried it with option vlan_filtering '1' in the bridge but it still did not work.

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

config globals 'globals'
        option ula_prefix 'fd0c:c6a9:XXXX::/48'
        option packet_steering '1'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth0'
        list ports 'eth1'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

The following config works and both ports work on LAN. This is the same config as I was trying before but I did not have option vlan_filtering '1' which made the difference.

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

config globals 'globals'
        option ula_prefix 'fd0c:c6a9:XXXX::/48'
        option packet_steering '1'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'wan'
        option vlan_filtering '1'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

eth0 and eth1 are listed as Ethernet Switch where as lan1 and wan are Switch port. Listing /sys/class/net shows:

br-lan -> ../../devices/virtual/net/br-lan
eth0 -> ../../devices/platform/soc/37000000.ethernet/net/eth0
eth1 -> ../../devices/platform/soc/37400000.ethernet/net/eth1
lan1 -> ../../devices/platform/mdio/mdio_bus/gpio-0/gpio-0:10/net/lan1
lo -> ../../devices/virtual/net/lo
wan -> ../../devices/platform/mdio/mdio_bus/gpio-0/gpio-0:10/net/wan

After reading up I now understand why the latter config needed the software VLAN filtering because it does not support it via hardware. If anyone could explain why first config did not work I would be grateful. From reading it should work and be potentially faster.

It’s incredibly easy to make a mistake or a typo or overlook some small detail. My only suggestion at this point is to carefully, and slowly, and completely go through the wiki: https://openwrt.org/docs/guide-user/network/wifi/wifiextenders/bridgedap

I have not been successful with 24.10.x and I’m using my own custom version of 23.05.x and I was able to configure it with a few clicks and edits using Luci and following the guide.

Maybe just start over and explain exactly what you are trying to do? I’ve lost the plot and the readout from your config files don’t mean very much to me. I say start completely from scratch and build what you want from the ground up. Don’t rely on any backup archives. Go with a clean slate, follow the wiki and you’ll be golden.

The router is now working how I’d hoped for with both physical LAN and WAN ports both on LAN network. I was just reporting back which config worked and wondering if anyone knew why your suggested config did not work since it seems like it should.

Sorry I couldn’t help properly but looks like you did it all on your own and that’s always satisfying.