Because I really just want this project to work so I can move forward, I gave up on the keyboard stuff over UART and hooked the Pi Pico up to USB. I still want to have the external USB port on the Pi 3a to work, so here's the process I used:
- Ripped the back off of the Pi 3a USB connector and cut the D+ and D- wires.
- Jumpered the Pi 3a usb v+, g, d+, d- wires over to the little USB hub.
- Ran wires from the hub to the Pi Pico USB d+ and d- test pads on the bottom
- Ran wires from the hub to the Pi 3a USB plug d+ and d- wires that were previously cut.
It works!!! 'lsusb' reports the hub and the Pico, and now I have /dev/ttyACM0 listed for serial communication with the Pico.
The essential thing I've found for running USB2.0 around like this is to keep the D+ and D- wires right next to each other for impedance matching - they act as a tuned transmission line and for anything but short distances, they need to be run together. The blue and white wires in the photos here are D+ and D-.