Reviving a Google OnHub (TPLink TGR1900)

Hello all. I'm making a last-ditch attempt to make use of my Google OnHub before it gets tossed into the bin. As far as I know, the device hardware should be in good working order. I brought it offline about 2 years prior when I learned about its deprecation. However, it would have come in handy today as a way to extend the reach of home WiFi.

I learned that there is OpenWRT support, so I decided to try it out. Unfortunately, it's not going well, and I'd appreciate some help.

My understanding is that it is no longer possible to configure the device using the factory software, as support has been withdrawn. So I'm trying OpenWRT.

I read a few of the preexisting topics on this very forum about the installation. Unfortunately none of the topics seem to treat my situation:

I was following the instructions from:
https://openwrt.org/inbox/toh/google/onhub_tp-link_tgr1900#installing_openwrt.

I followed the steps and all was well until step 11. I'm not sure if the device booted as expected. I do get to see a multi-colored ring, but I could not call it 'rainbow'. Rather, it alternates orange and red only. You can see a video here:

I could not find any topics that clearly explain (1) whether anyone else saw this color combo; nor (2) what exactly are the color combos that one should expect. So without access to a serial console, I can not be sure if what I'm seeing is expected or not

Furthermore, the ethernet ports never get turned on. I compared the OpenWRT boot with the factory boot (which happens if I remove the USB stick and power-cycle the device): with a factory boot, the device will turn on the Ethernet ports, and this will be seen on the far end on the hub as a green LED.

With the USB stick, and following the reboot protocol described in the instructions, I get the orange-red rainbow circle and the Ethernet ports never turn on.

I haven't yet attached to the device serial port so I don't know what is actually going on, but perhaps this may be familiar to someone who can advise.

I think I went about the installation correctly as far as I can tell:

  • Tried with a 4G and a 32G USB stick with same results.
  • Tried with various Ethernet cables. All are tested and known to work. None show any activity on the any of the ethernet ports.

Since the ports are not activated, I am not expecting to see anything at 192.168.1.1 and indeed I do not.

What to do?

Does it still at least boot to stock firmware if you powered off the device and turned it on without the USB stick or pressing any reset or developer switches? Based on the wiki instructions you haven't flashed anything yet, so the bootloader should be OK.

I don't have this device so I'm not sure how much I can help here, but I would first make sure stock firmware still boots. If not, try the factory reset procedure for stock firmware. If this works and you can run stock firmware normally, you will have a "clean slate" to work with. Otherwise, that's when you need to bust out the serial adapter and look at the boot log.


Are you planning to use this as a wireless repeater or an access point with Ethernet backhaul? From my initial search of this device it "only" has two 3x3 WiFi radios (ignoring the extra 1x1 WiFi radio). In a wireless repeater setup you would need* to dedicate one radio each for uplink and downlink. So you could have a 2.4 GHz uplink and a 5 GHz downlink, or the other way around depending on the devices you want to connect to the OnHub.


*Yes, I know it's possible to use a single radio in both directions simultaneously, but there's a reason why devices designed for WiFi mesh systems have three radios so the downlink can be dual-band while uplink has its own radio.

with the orange/red error booting ether off USB or Flash
try another type of USB stick or way of setting up the USB stick
make sure it's in bebug mode when trying to boot "purple" or it won't boot openwrt
or you have not pushed the debug button on 1st boot also try that

It used to, until I tried to flash the recovery image following the published procedure on the OpenWRT website. Now, it doesn't do anything useful anymore when booted without anything plugged into the USB port. But it does activate ethernet ports if my router is to be believed.

I can try to recover the original image, but I'm no longer sure that this would work. I tried 4 different USB sticks, and all had the same issues.

OK, noted. I thought I'd make do without needing to open up the thingie, but I will if I have to.


I'd like to use it as a repeater. I am trying to get WiFi from my condo unit down to the common garage. It's not too far, but it is far enough that we don't have any signal from our unit reaching the garage. A single repeater should be able to do it.

I tried 4 different USB sticks, and 3 different images, (all 12 combos), using the described installation procedure and OnHub behaves the same no matter which of the 12 combos I use.

I am using dd to prepare the images, I'm not sure that there's another way to do so that's available to me on Linux. The only thing that I'm not quite clear on is the bit here:

The "purple" debug mode behaves just as described at https://openwrt.org/inbox/toh/google/onhub_tp-link_tgr1900#installing_openwrt, together with beeps and all. I think I recognize the ChromeOS developer mode in the beeps, so I'm fairly sure that the process at least starts the correct way, before at some point it goes astray.

It's just that when it comes to read the data from the USB stick, I get the red/amber rotating light ring. No matter which USB stick I use, no matter which image I use. All the sticks I used have the required capacity (8GB+).

If this is not something obviously wrong, I suppose next step will have to be connecting to the serial console.

I never found the serial console even after pulling it apart
I have only used windows to make the USB stick "RMPrepUSB" File>USB
I'm using 23.05.0-rc3 tho last usb was rc1 or 2
there seems to be nothing about Ctrl-D on a USB keyboard

Thank you for the video.

In the procedure at https://openwrt.org/inbox/toh/google/onhub_tp-link_tgr1900#installing_openwrt there is nothing about the USB keyboard.

I can try that too, but I'm fairly sure that the button on the underside has the same purpose.

Will try, and report back if something changes this time around.

Turns out, having the USB keyboard handy does make a difference, and I could ostensibly get further into the boot process based on the video you sent. After the initial reset, Ctrl+D on the keyboard puts the device into a different mode (developer mode?), with the LED ring flashing purple.

Still no dice with OpenWRT, however. I do briefly get a rainbow LED ring which the previous procedure didn't get me to, but it gets replaced very soon with a reboot and red/amber ring, which I suppose signifies an error of sorts. The device does not enable its ethernet ports at all.

The entire video is below.

I wonder whether all 4 USB drives I tried are somehow not to OnHub's liking, since that's where the entire procedure falls apart. Or, whether I made a mistake making the image, which is also possible.

Without a serial log, it is hard to know.

Power-cycling the device without anything plugged into the USB port seems to put the device into factory settings - it's serving its setup WiFi network and ethernet ports are enabled. But, no OpenWRT then.

you should see the rainbow & it sounds like you did
but once you have booted off the USB you then
have to install openwrt onto the units internal flash Step 12
I do recommend using the V23.05.0-rc3 release versions
as these have luci in them and most likly to work
where the snapshots don't have luci and may not boot at any given time anyway

1 Like

I couldn't get to internal flash, since the device wouldn't activate its ethernet ports (or any other ports).

However...

I repeated the install procedure about a dozen more times since the last message, mostly out of morbid curiosity.

On the last attempt, while writing the boot image with dd, I noticed that the write lasted much longer than on previous tries, and that the flash activity LED blinked while this was happening. This was different from previous tries, where LED stayed on, and the writes completed almost instantly. And fdisk /dev/sdc showed 3 partitions on the drive (vs. just one in prior attempts).

When I repeated the same USB startup procedure from the video (i.e. with keyboard and Ctrl+D) with this image, everything worked as expected. Once the device boots from the USB drive, it does turn on the rainbow LED ring and the rainbow LED stays lit from there on.

Here is what it looks like at the end:

The device's ethernet ports were now active. It gave my laptop an IP address through the LAN ethernet interface and (blue ethernet cable in the video) I could go to http://192.168.1.1 and see the setup web interface. It was also visible as a client on the main router (white ethernet cable). From there everything worked as advertised.

I was also then able to execute the last steps (the scp and ssh commands) to flash the internal memory card. This allowed the device to boot OpenWRT without the USB stick plugged in and without the lengthy developer mode procedure. It takes 30s to a minute to reboot the device. When OpenWRT has reached steady state after boot, the rainbow LED stays lit.

In the end I conclude the following:

  1. The main issue was that for some reason I was producing faulty images on the USB drive. I don't know what I did differently the last time around.
  2. The setup procedure described on the OpenWRT website is faulty because it does not list needing the keyboard to press Ctrl+D as a prerequisite. I am not sure whether (2) is a real issue or if (1) caused everything else, but with (2) I did notice that the device behaved differently from when I didn't use (2) so it may be relevant.

What remains is to configure OpenWRT to act as a WiFi extender, but that's an exercise for another time.

I hope this is useful. The description above should be enough for someone else to corroborate, and as far as I can tell is the most detailed account of what happens and what to expect that I could find.

Cheers!

1 Like

Perfect timing. I Went to install last night and ran into the exact same issue. I tried multiple USB drives and used the standard installation directions. I'm not 100% sure what made the difference but I reflashed one of the USB drives and used the USB keyboard to enter dev mode and was able to get it working. Thanks for doing the legwork on this!

Reporting back with the end result.

I was able to do what I wanted to do after the successful flash of OpenWRT onto the OnHub internal memory card.

Which is, I placed the OnHub at a midpoint between our furthest in-house mesh router and the spot in the garage where internet access was needed. This allowed garage access to the Internet which I was after. Props to the kind folks who gave us OpenWRT!

I configured the OnHub with OpenWRT, starting from the "default" config that exists after you flash the firmware, as follows:

  • Enabled radio2 and connected it as a client to the existing mesh wifi. This became a wwan interface. This setup turns the WiFi on and connects as a client to my home WiFi, but also adds a default route from lan to wwan allowing the router to forward traffic from one wifi to another. But this is not all the needed setup.
  • Enabled radio1 as access point to a new network (with a new SSID and settings), and connected it to the lan interface. By default this also activated DHCP on wireless access to lan when a client connects, which is what I wanted. This setup made the devices connecting to the "lan" WiFi be on even foot with the devices connecting to the "lan" ethernet port.
  • I turned off the wan interface, which also removed the other default route (which routes all traffic towards wan, and the ethernet port). This final setting allowed my OnHub to operate without any ethernet connectivity, which is what I was after. I could probably have fiddled with the default route metrics to avoid turning wan off (which might be confusing in the future) while still getting the forwarding behavior I wanted, but I was a bit too tired after all said and done to introduce this additional uncertainty in the setup. If you don't do anything, the OnHub will still want to forward all WiFi traffic to the wan ethernet port. I wanted to avoid this, because I wanted OnHub to work without any ethernet connection.
  • I was now able to plug the OnHub into a power line at a well chosen spot, and it worked like a charm.

This is probably not the best possible setup with the OnHub hardware, but it works well for my purpose and was simple to configure, so I'm a happy camper. For example, there is another radio which I kept off. I also didn't use the mesh networking setup, which I wasn't sure would work and would likely take more involved setup.

Worth noting that it took me 2 tries to get at the correct network configuration.

The first time around, I messed up the routing such that I could no longer get any response from the router whatsoever. I fumbled with the reset instructions, semi-randomly pressing and releasing the buttons for about 15 minutes until, by sheer luck, I stumbled upon the correct sequence of key presses that seems to have reset the device to factory defaults. I still don't know what the actual sequence is. It was very much not obvious which buttons to press, and at what time, to make OnHub factory reset. But it happened eventually and while I can't say what exactly I did, I was happy to see that I could access the router again and could go through the setup steps again.

Hope this would be useful to someone.

Did you try the release candidate? I had the same problem you are speaking about and I found out there is a release candidate that already has Luci installed.

The image was 23.05-rc3 as far as I remember.

I just did an update myself and had a problem looks like there is a rc 4. So looks like I am going to give that a try myself. Did you ever get yours fixed?

Yes. If you scroll back you will find a message where I described the procedure I used, and posted a video that you can use to replicate the process.

I just updated to rc 4. Just a heads up if you are on an earlier version and you install updates mbedtls update that is new in version 4 and if you install it on an earlier version like 2 or 3 it will break it.

By the way version 4 seems to me like a huge step backwards. There are several things that used to work good that are broken.

Hey guys, I was successfully able to load OpenWRT on my google on hub after I pulled it off my mesh google wifi 5 network. All is well, I am using it as a wifi repeater. My question is that if I use radio1 to connect to the mesh network as client and make a main SSID on radio0 with the same network name, wouldnt this work as a node of the original network ?

I have a really dumb question. I was able to create the USB stick and have booted up the TP-LINK TGR1900. My lights are the rainbow and the ethernet ports are active. For the life of me, I cannot ping the device, nor do I get an IP address from it. I have the On-Hub and my laptop connected to a small switch with nothing else. Per the open-wrt instructions I am trying to ping 192.168.1.1. I have even tried forcing the laptop to have an ip address of 192.168.1.2 or 192.168.1.100. Cant seem to get beyond this point. Any help would be appreciate. Cheers.