Onhub TP-LINK TGR1900 future support?

That's great! How would one go about adding this?

Hi intoran
I just use the scan button example top find the inputs used "15 & 16"
& copied what I think it needed from the other dts files in the same chipset
it all seems to work
you can take what I have done and compile it if you want
but someone "yes can be you " at some point needs to submit a pull request
I do think it maybe need a going over to clean it up & double checked

Thanks everyone! Finally I set! Works great!

1 Like

안녕하세요? 저도 TGR1900에 openwrt를 올릴까 생각 중인데요, 무선, 유선 속도는 어느 정도 나오는지 알 수 있을까요?

Hi, I'm also thinking of putting openwrt on my TGR1900, can you tell us what the speeds are for wireless and wired?

With the current release my maximum bandwidth over 5ghz wifi was 200mbps both up and down with one cpu core pegged at 100%. Doing the very same tests on the Linksys WRT32X I see about 350mbps+ on my devices, and family members with newer stuff have shown 400mbps+ on the Linksys but were 200mbps or below on the OnHub. Wired and simultaneous client capacity are things I cannot comment on since I only tested when using the device as a wireless access point for a couple days.

1 Like

try to build with NSS with modified dts
i got 350-400mbps wireless

@@ -86,6 +86,10 @@
+&adm_dma {
+	status = "okay";
 &qcom_pinmux {
 	rgmii0_pins: rgmii0_pins {
 		mux {
@@ -294,9 +298,19 @@
 &gmac0 {
 	status = "okay";
+	compatible = "qcom,nss-gmac";
 	phy-mode = "rgmii";
 	qcom,id = <0>;
 	phy-handle = <&phy1>;
+	qcom,pcs-chanid = <0>;
+	qcom,phy-mdio-addr = <1>;
+	qcom,rgmii-delay = <0>;
+	qcom,poll-required = <0>; /* caused panic if enabled */
+	qcom,forced-speed = <1000>;
+	qcom,forced-duplex = <1>;
+	qcom,socver = <0>;
+	mdiobus = <&mdio>;
 	pinctrl-0 = <&rgmii0_pins>;
 	pinctrl-names = "default";
@@ -309,9 +324,19 @@
 &gmac2 {
 	status = "okay";
+	compatible = "qcom,nss-gmac";
 	phy-mode = "sgmii";
 	qcom,id = <2>;
 	phy-handle = <&phy0>;
+	qcom,pcs-chanid = <1>;
+	qcom,phy-mdio-addr = <0>;
+	qcom,rgmii-delay = <0>;
+	qcom,poll-required = <0>;
+	qcom,forced-speed = <1000>;
+	qcom,forced-duplex = <1>;
+	qcom,socver = <0>;
+	mdiobus = <&mdio>;
 	fixed-link {
 		speed = <1000>;

Thanks again to @regae for doing the modifications to the dts file to get the NSS cores working. Also thanks to @ACwifidude and users on his forum for getting the NSS cores woring with the ipq806x devices. Of course, thanks to @bnorris and others here that worked on getting OpenWRT working on the OnHubs. I have uploaded two simple NSS images, an ASUS and TP-Link, based on the non-ct driver to my google drive as well as detailed instructions to make your own images if you want to try.


Some helpful info if you're looking to try this for the first time.


Great directions, @dadogroove , thank you so much! I got one of these devices to help introduce myself to the OWRT build system, hoping to do exactly what you did here - but you beat me to the punch right before I even got mine! The directions helped me understand things a little better and go through the motions myself and put in things for my own personal use case. Hope to cross your path some day so I can buy you a beer. Or whatever you prefer. :slight_smile:

Anyone happen to know how the speaker amplifier is connected up, protocol-wise? I'm frivolous enough to try to get it working.

I did my research and found that the ZigBee chip in these is connected by SPI - that will be something I poke at a little bit as well, just for fun, but I'm not super hopeful that I'll be the one to get it working since I'm pretty new to this stuff. Would be cool to have, though, and if I'm understanding this correctly, it does seem to be supported upstream to some extent as a result of some work from people from this community on other devices, though.

So apologies is this is a total noob mistake, but I can't get network through this thing for the life of me. I can install the image following the Wiki directions just fine (both the latest snapshot and @dadogroove's build), and ssh in over the lan port. I don't end with an internet connection on the laptop I'm using for ssh, and I can't install luci or successfully ping openwrt.org. I have the same problem booting off both usb and internal storage. Any idea what I could be doing wrong?

My first question is, did the wan port work before OpenWRT was installed? The snapshot build should work fine right out of the box. Have you tried doing a recovery back to stock and then flash OpenWRT again?

It's already hooked up and working. You just need to install an audio server or some basic set of tools. I tested out mpg123 (available in the packages feed) and it worked just fine.

I know less about this one, but those links seem promising. I can see about hooking that up, now that it's committed to openwr.git, although I don't have 802.15.4 stuff to test it with.

When I recover back to stock, everything works- with ethernet from my laptop to the Onhub LAN port, and ethernet from the Onhub WAN port to a LAN port on my regular router, I get network on my laptop. I've recovered to stock and flashed the snapshot image a few times. Anything I can do to diagnose the problem? Anything in the logread output I should be looking for?

I had issues with the network not working after re-installing OpenWrt a few times. I fixed it by wiping the whole emmc before writing the image. Maybe give that a try and see if it helps?

Thanks! Hate to ask for handholding, but is the way to do that:

dd if=/dev/zero of=/dev/mmcblock0


Start with ssh-ing into the the router and wiping the partition info. Then wipe the whole mmcblk0.

ssh root@
dd if=/dev/zero bs=512 seek=7552991 of=/dev/mmcblk0 count=33
dd if=/dev/zero bs=1M of=/dev/mmcblk0

This will end with an error / warning when there is no space left to write to.

Then copy the factory image from your pc or laptop to /tmp on the router.

scp -O openwrt-ipq806x-chromium-tplink_onhub-squashfs-factory.bin root@

Then write the factory image to emmc and reboot with the USB drive removed

ssh root@
cd /tmp
dd if=/tmp/openwrt-ipq806x-chromium-tplink_onhub-squashfs-factory.bin bs=1M of=/dev/mmcblk0

Hi @dadogroove, Just want to double check with you about the following.

Assuming I have flashed my asus on hub using the last factory.bin (before NSS support, OpenWrt SNAPSHOT r21765+149-d7a9724ca8 / LuCI Master git-23.013.73089-9634086). I can upgrade the using the luci using the openwrt-ipq806x-chromium-asus_onhub-squashfs-sysupgrade.bin.

Is that true? Will i lose the current setting by doing this?


Network configuration between swconfig, NSS and (pending-) DSA aproaches is different, don't retain configurations when switching between them.

can I still use the sysupgrade image or do i need to reflash from the factory image?

You can use the sysupgrade but just reconfigure your setup afterwards. I have found with this device the sysupgrades don't seem to fully take when I have it save the configuration. I always just apply a saved config (restore backup) after upgrading without saving my configuration. Once you're on the NSS builds, if you upgrade to another NSS build just restore a back up after a clean sysupgrade flash.

Sorry in my being a little dense. So does this mean that I can restore from a backup even when I sysupgrade from a non NSS build to a NSS build or do I have to re-configure?