Tech/HowTo/Install OpenWRT on TP-Link OnHub

From lathama
< Tech‎ | HowTo
Jump to navigation Jump to search

About

Google developed a ChromeOS based router software that was used by some companies like TP-Link to create "OnHub" devices. Just like many things Google canceled the administration of the device so it could no longer be configured. The device of topic today is named TGR1900 OnHub Router but you will not find the model number printed on the device.

USB Port

Warning: This is the biggest problem!


For reasons that are unknown the USB 3.0 port on the OnHub likes USB memory devices of 2.0 version that are 4GB or larger for booting. I wasted a ton of time finding this out. I had success with a 4GB Sandisk Cruzer Micro that is old. It also has an LED showing activity which came in very helpful. I would say that most issues with installing OpenWRT onto the OnHub have to do with the USB memory device meeting this requirement.

Requirements

Developer Button

Before

Onhub01.JPG

After

Onhub02.JPG

Process

It is possible to install OpenWRT directly but myself and others have found that doing a factory reset helps.

Factory Reset

  1. Insert the USB memory device into your computer
  2. Identify the device
    • lsblk
  3. Unzip the recovery image.
    • unzip chromeos_9334.41.3_whirlwind_recovery_stable-channel_mp.bin.zip
  4. Write the recovery image to USB memory device
    • dd if=chromeos_9334.41.3_whirlwind_recovery_stable-channel_mp.bin of=/dev/sdX
    • Wait for completion, then run on Linux `sync` to extra double confirm it is done writing
    • Remove USB memory device from computer and get ready to work on the OnHub
  5. OnHub power unplugged
  6. Pokey thing holding the reset button near the power port
  7. Plug the power into the OnHub
  8. Look for the LED light to be white, then flashing orange, and then flashing red
  9. Remove pokey thing from the reset button
  10. Insert the USB memory device
  11. Look for the LED light to turn off
  12. Wait ~5 minutes for the recovery
  13. Look for the LED to pulse a teal or blue color
  14. Remove the power plug, the USB memory device
  15. You now have a factory reset OnHub

Actual OpenWRT Install

  1. Download the OpenWRT Factory image
  2. Rename the OpenWRT install image for ease of use later making note of the version number I replaced with Zs
    • mv openwrt-ZZ.ZZ.Z-ipq806x-chromium-tplink-onhub-squashfs-factory.bin openwrt-tplink-onhub-factory.bin
  3. Plug USB memory device into computer
  4. Identify the block device
    • lsblk
  5. Write the OpenWRT installer to the block device noting the version that I replaced with Zs
    • dd if=openwrt-tplink-onhub-factory.bin of=/dev/sdX
    • Wait
    • When it says it is done, do an extra Linux "sync" to double triple check
  6. Cut out the rubber to the right of the label on the bottom as noted in the section above
  7. Power plug removed
  8. Install the USB memory device
  9. Connect the network LAN port to your switch
  10. Configure you computer to have network of 192.168.1.2/24 and 192.168.86.2/24
    • ip addr add 192.168.1.2/24 dev devicename
    • ip addr add 192.168.86.2/24 dev devicename
    • Note the 192.168.86.0 network is for the factory default so you can ping it if the new 192.168.1.0 network does not work
  11. Using pokey thing, press and hold the reset button near the power port
  12. Plug in the power
  13. Look for LED light to turn white, then flashing orange, then flashing red
  14. Stop pressing the reset button with the pokey thing
  15. Press the developer mode button on the bottom of the OnHub using the hex wrench
  16. Look for the LED light to flash purple. There may be a momentary green which is normal.
  17. Wait ~10s
  18. Listen for two beeps
  19. Press developer mode button on the bottom
  20. Look for LED light to turn off
  21. Wait ~30s
  22. Look for LED light to show a rainbow
  23. Ping the OnHub
    • ping 192.168.1.1
    • It can take up to a minute to come online and the ping gives you a status of when it is ready.
  24. Test the OnHub
    • ssh root@192.168.1.1 ls
  25. Copy the OpenWRT installer to the OnHub temp
    • scp -O openwrt-tplink-onhub-factory.bin root@192.168.1.1:/tmp/
  26. Zero out the eMMC to make sure there is no conflict
    • ssh root@192.168.1.1 -C "dd if=/dev/zero bs=512 seek=7552991 of=/dev/mmcblk0 count=33"
  27. Write the firmware to the eMMC
    • ssh root@192.168.1.1 -C "dd if=/tmp/openwrt-ipq806x-chromium-tplink_onhub-squashfs-factory.bin of=/dev/mmcblk0 bs=1M"
  28. Unplug the power plug
  29. Remove USB memory device
  30. Replace the developer mode screw on the bottom of the OnHub
  31. Unconfigure your computer networking setup with 192.168.1.2/24
  32. Plug in the power plug on the OnHub
  33. OnHub with OpenWRT can take ~2 minutes to be ready, you will hear beeps
  34. Configure your computer to use DHCP to get an address
  35. In a webbrowser open up http://192.168.1.1
  36. Username root and no password
  37. Set a password
  38. Connect WAN interface (note you may want to configure LAN if your network conflicts with 192.168.1.1)
  39. In software menu, update package list and do package upgrades
  40. Write down the username and password and attach to bottom of router
  41. Enjoy

Status

I successfully completed this process on two OnHubs 2024-03-14

Resources