Adding some experiences and notes here while I figure out image uploading on the Wiki. Also, I didn't document the entire process, and I'm fuzzy on exactly what fixed things because I performed a few steps at a time. Perhaps others who have gone through the process can help clarify.
This probably isn't the best or simplest way, and it probably isn't the only way, but it worked for me after I was unable to connect via IP.
TL:DR; U-Boot Mod web server via UART
- Attempting to install via ALFA's stock web-GUI ¹ put my device into kernel panic. After the device reset, all the lights would come on, but I couldn't connect via IP.
- Connect via UART (I used this CP2102, no affiliation).
- Open a terminal session, and press any key to disrupt the boot process
- At the UBoot prompt, enter
httpd. This starts the mini web server GUI.
- Set your wired ethernet IP to 192.168.1.11 (probably any 192.168.1.x that's not 192.168.1.1)
- Point a web browser to http://192.168.1.1
- Select the Tube 2HP Upgrade binary xxxxxxxx-sysupgrade.bin for whichever version of OpenWRT you're installing, not the Install binary.
- Click Upload or Upgrade (I don't remember the text on that screen. It will be obvious though.
This is big, and hopefully someone else can clarify. If you get nothing in Step 4 above, it means your U-Boot version is not the right one for this process. I don't know if the Tube 2HP comes with the @pepe2k U-Boot mod, but that's the one you need for this to work. I know I downloaded it, and attempted to install it, but I don't know if that succeeded or if it was already there. The wiki states the U-Boot mod is stock, but it's not clear to me whether that refers to the 2H only.
The only other 2HP installation thread I found is in the archived forums, and is several versions behind (barrier_breaker/14.07). That made things sound more complicated than it was for me. If you have a terminal open while using the U-Boot httpd upgrade method above, you can watch all of the memory commands that thread discusses happen automagically. Also, that thread required a separate kernel.bin, which wasn't required for the 19.07.3 version I installed.
ALFA Tech Support
I reached out to ALFA for help. They were responsive and helpful. In the end, it turned out that the TTL-Serial module (CH340) I had originally been using somehow died between successfully flashing Tasmota devices and unsuccessfully flashing the ALFA AP121U and Tube 2HP the same day. So I spent a lot of time trying to figure out what was wrong with the routers when it was the programmer. Generally speaking, I think the CH340 would work; mine is just completely dead now.
Full UART OpenWRT installation process recommended by ALFA's tech support:
LED on during eth initialization...
Hit any key to stop autobooting: 0
At uboot> prompt, commands as below:
setenv ipaddr 192.168.2.10 && setenv serverip 192.168.2.100
tftp 0x80060000 openwrt-18.06.0-ar71xx-generic-tube2h-16M-squashfs-sysupgrade.bin && erase 0x9f050000 +0xf90000 && cp.b 0x80060000 0x9f050000 $filesize
That would probably work too if you don't have pepe2k's U-Boot Mod. If you do have the mod version, the process I outlined above doesn't require TFTP.
Netcat Install Procedure
The OpenWRT Wiki already includes a method which uses the U-Boot mod install via web server. If you have netcat, or are willing to learn it, I'd probably try that method first. It's basically the same process as what I ended up using, but it doesn't require opening the device and connecting via UART. I was not able to do that because my 2HP wasn't connecting at all via IP.
In the following image, ALFA refers to Pin 1 as VCC (+), and Pin 4 as GND (-). Note that this may be confusing because Pin 4 is labeled J1 on the board's silkscreen. I don't remember which pin is TX and which is RX. I know I reversed them a few times. No big deal, just switch them until you get data.
Elsewhere online there are suggestions to use the device's power, and only connect GND, TX, and RX on the UART interface. This can be tricky, since the device only uses POE. I connected the 3.3V (+) on the CP2101, standard ethernet on the single PoE/WAN port, and it worked great. Pin 1 has an triangle/arrow by it on the silkscreen.
In this image, Pin 4 (GND) is on the left, and Pin 1 (VCC) is on the right
Differences between the 2H and the 2HP
I also have a Tube 2H. I have not yet attempted to install OpenWRT on it. In terms of specs, the 2H is an 8/32 memory board, and the 2HP is a 16/64. One other potential big difference is that the 2H doesn't have pin headers for UART. So if the 2H upgrade doesn't work from the stock ALFA web-GUI, resurrecting it is probably a bit trickier.
Tube 2H, no pin headers
- ALFA Tube 2HP stock firmware
- The above method uses pepe2k / u-boot_mod. The Tube 2H mod also works on the 2HP
¹ It's possible that I tried to install the Tube 2H Install .bin rather than the 2HP Upgrade .bin. If that's the case, your OpenWRT upgrade process might be very simple if you install the correct sysupgrade.bin instead.