1
0
Fork 0
forked from mirror/openwrt
openwrt/target/linux
Brian Norris ef649b0b14
ipq806x: Initial TP-Link and ASUS OnHub support
TP-Link and ASUS OnHub devices are very similar, sharing many of the
same characteristics and much of their Device Tree. They both run a
version of ChromeOS for their factory firmware, and so installation
instructions look very similar to Google Wifi [1].

Things I've tested, and are working:

 * Ethernet
 * WiFi (2.4 and 5 GHz)
 * LEDs
 * USB
 * eMMC
 * Serial console (if you wire it up yourself)
 * 2x CPU
 * Speaker

== Installation instructions summary ==

1. Flash *-factory.bin to a USB drive (e.g., with `dd`)
2. Insert USB drive, to boot OpenWrt from USB
3. Copy the same *-factory.bin over to device, and flash it to eMMC to
   make OpenWrt permanent

== Developer mode, booting from USB (Step 2) ==

To enter Developer Mode and boot OpenWrt from a USB stick:

1. Unplug power
2. Gain access to the "developer switch" through the bottom of the
   device
3. Hold down the "reset switch" (near the USB port / power plug)
4. Plug power back in
5. The LED on the device should turn white, then blink orange, then
   red. Release the reset switch.
6. Insert USB drive with OpenWrt factory.bin
7. Press the hidden developer switch under the device to boot to USB;
   you should see some activity lights (if you have any) on your USB
   drive
8. Depending on your configuration, the router's LED(s) should come on.
   You're now running OpenWrt off a USB stick.

These instructions are derived from:

https://www.exploitee.rs/index.php/Rooting_The_Google_OnHub#Enabling_%22Developer_Mode%22_on_the_OnHub
https://www.exploitee.rs/index.php/Asus_OnHub#Enabling_%22Developer_Mode%22_on_the_OnHub

~~Finding the developer switch:~~ for TP-Link, the developer switch is
on the bottom of the device, underneath some of the rubber padding and a
screw. For ASUS, remove the entire base, via 4 screws under the rubber
feet. See the Exploitee instructions for more info and photos.

== Making OpenWrt permanent (on eMMC) (Step 3) ==

Once you're running OpenWrt via USB:

1. Connect Ethernet to the LAN port; router's LAN address should be at
   192.168.1.1
2. Connect another system to the router's LAN, and copy the factory.bin
   image over, via SCP and SSH:

     scp -O openwrt-ipq806x-chromium-tplink_onhub-squashfs-factory.bin root@192.168.1.1:
     ssh root@192.168.1.1 -C "dd if=/dev/zero bs=512 seek=7552991 of=/dev/mmcblk0 count=33 && \
     dd if=/root/openwrt-ipq806x-chromium-tplink_onhub-squashfs-factory.bin of=/dev/mmcblk0"
3. Reboot and remove the USB drive.

== Developer mode beep ==

Note that every time you boot the OnHub in developer mode, the device
will play a loud "beep" after a few seconds. This is described in the
Chromium docs [2], and is intended to make it clear that the device is
not running Google software. It is nontrivial to completely disable this
beep, although it's possible to "acknowledge" developer mode (and skip
the beep) by using a USB keyboard to press CTRL+D every time you boot.

[1] https://openwrt.org/toh/google/wifi
[2] https://chromium.googlesource.com/chromiumos/docs/+/HEAD/developer_mode.md

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2023-01-21 01:02:25 +01:00
..
airoha airoha: disable swconfig 2022-11-27 13:18:29 +01:00
apm821xx kernel: bump 5.10 to 5.10.161 2022-12-24 15:24:18 +01:00
archs38 archs38: switch to 5.15 by default 2023-01-16 20:48:01 +01:00
armvirt kernel: disable CONFIG_CPU_LITTLE_ENDIAN in generic config 2022-10-21 13:47:01 +02:00
at91 kernel: bump 5.10 to 5.10.163 2023-01-14 22:31:38 +01:00
ath25 ath25: add generic subtarget 2022-12-23 19:44:14 +01:00
ath79 kernel: bump 5.10 to 5.10.163 2023-01-14 22:31:38 +01:00
bcm27xx kernel: bump 5.15 to 5.15.87 2023-01-13 22:04:22 +01:00
bcm47xx bcm47xx: replace "Devices-database-update-patch" with upstream patches 2022-12-30 20:03:59 +01:00
bcm53xx kernel: update nvmem subsystem to the latest upstream 2023-01-06 22:08:03 +01:00
bcm63xx kernel: bump 5.10 to 5.10.163 2023-01-14 22:31:38 +01:00
bcm4908 treewide: uniform vendor name for ASUS 2022-11-16 23:30:11 +01:00
bmips kernel: disable CONFIG_CPU_LITTLE_ENDIAN in generic config 2022-10-21 13:47:01 +02:00
gemini gemini: add generic subtarget 2022-12-23 19:44:20 +01:00
generic kernel: fix kernel panic in mtk_ppe 2023-01-16 22:04:35 +00:00
imx cypress-nvram: consolidate NVRAM packages 2022-11-16 20:14:13 +01:00
ipq40xx ipq40xx: convert Extreme AP3915i to DSA 2023-01-17 23:45:44 +01:00
ipq806x ipq806x: Initial TP-Link and ASUS OnHub support 2023-01-21 01:02:25 +01:00
ipq807x ipq807x: Add ZyXEL NBG7815 2023-01-19 13:26:15 +01:00
kirkwood kirkwood: add generic subtarget 2022-12-23 19:44:20 +01:00
lantiq kernel: bump 5.10 to 5.10.163 2023-01-14 22:31:38 +01:00
layerscape layerscape: Add CONFIG_NVMEM_LAYERSCAPE_SFP kernel configuration option 2023-01-08 18:51:27 +01:00
malta kernel: disable CONFIG_CPU_LITTLE_ENDIAN in generic config 2022-10-21 13:47:01 +02:00
mediatek mediatek: filogic: fix sysupgrade on MMC on the BPi-R3 2023-01-16 22:04:55 +00:00
mpc85xx kernel: backport of changes & helpers 2023-01-07 17:45:17 +01:00
mvebu mvebu: cortexa9: use renamed U-boot binaries 2023-01-20 21:10:37 +01:00
mxs mxs: add generic subtarget 2022-12-23 19:44:20 +01:00
octeon kernel: disable CONFIG_CPU_LITTLE_ENDIAN in generic config 2022-10-21 13:47:01 +02:00
octeontx octeontx: add sqaushfs and ramdisk to features 2023-01-06 19:44:35 +01:00
omap omap: add generic subtarget 2022-12-23 19:44:22 +01:00
oxnas kernel: bump 5.15 to 5.15.86 2023-01-03 23:55:45 +01:00
pistachio kernel: bump 5.10 to 5.10.163 2023-01-14 22:31:38 +01:00
qoriq qoriq: drop unused kernel config 2023-01-09 21:39:45 +02:00
ramips ramips: mt7621: Add Arcadyan WE420223-99 support 2023-01-15 13:41:02 +01:00
realtek realtek: Follow kernel comment style recommendation 2023-01-13 22:34:16 +01:00
rockchip treewide: update NVMEM symbols 2023-01-07 01:30:31 +01:00
sunxi sunxi: switch to kernel 5.15 2023-01-09 21:39:46 +02:00
tegra tegra: add generic subtarget 2022-12-23 19:44:21 +01:00
uml uml: switch to Kernel 5.15 2022-12-12 09:06:17 +01:00
x86 kernel/x86: fix typo 2023-01-15 13:30:09 +01:00
zynq zynq: add 5.15 testing kernel 2023-01-03 20:56:01 +01:00
Makefile build: fix issues with targets installed via feeds 2022-09-27 13:41:12 +02:00