I thought it might be the newer version of openocd, so I build the 0.10.0-rc2 version. Still am getting the same weird results with the ID. Sometimes I get these results and other times I don’t get anything and have to try again with openocd.
Most likely, this is a signal integrity issue. Make sure your wires are well-connected to the probe clips.
A good way to check your wiring is to clip the TDO clip to ground and run openOCD. It should say “failed, all zeros”. Then clip it to a 3.3v point, run openOCD, and it should say “failed, all ones”. That way you know your software setup is working all the way up to the clips.
It could also be that you’re not in JTAG mode. You need to hold down the little button while resetting the router - to know you got it right, you should see the LEDs stay dark as it reboots. If you’re not pressing the button or the button isn’t working, they all flash at the same time once as it reboots.
Just to be complete, make sure the probe clips are clipped to the side of the LED that goes towards the SoC - the other side goes through a resistor to a power supply.
Let me know if any of these things work for you. There’s always the possibility you have a router with a hardware issue - bad chip, PCB flaw, or something else.
TRST is often optional, but ground really isn’t - it’s just kind of assumed to be there sometimes. If you already had UART connected to tigard with a ground pin, or you had both the router and your laptop off the same power supply, you might not even need it - but it (almost) never hurts to have extra ground connections