Just recently, two of my USB ports broke in my Pi-Top 3 and I had to replace the Raspberry Pi in order to run my system from a hard drive with a USB connection (the shell needs the remaining two ports to run). Fortunately, I discovered a third accessible USB/GPIO port on the Pi-Top Hub 2.0, which is plugged into the Raspberry Pi as additional hardware. Is there a way to plug in the hard drive and boot from this internal port rather than from the external ports that are more prone to breaking?
That internal USB port is just a pass-through to one of the RPi ports so it should work fine!
I’ve tried getting it to work on both a Pi-Top CEED and a Pi-Top  / v2 without success; the LED on a USB memory stick I inserted indicates that the port is providing power to the memory stick but data transfer doesn’t seem to be possible as the memory stick isn’t recognised as a device when connected to that port. It is recognised as a device (and data transfer is possible) when connected to either of the other two USB ports.
The pi-topCEED doesn’t have an internal USB port, which one are you trying it in? The one on the hub there is only for power, it has no data.
It should work in the pi-top  though, maybe try the RPi’s ports standalone (by removing the pi) and make sure they work - also, re-seating the pi into the rubber USB plug might help fix any connection issues if there are any.
I am trying to use the Pi-Top Hub 2.0 USB port to connect the hard drive, and it should not really have any issues transferring data to the Raspberry Pi because I can successfully shift files between the computer and my USB drive stick using that same port.
My apologies for the slow reply but thank you for getting back to me on this!
Understood RE the USB port on the CEED’s hub, which would explain why I couldn’t get data over that.
However, for the pi-top  / v2’s hub, even after reseating the RPi, all I get is the power light indicating that the USB drive is receiving power but it doesn’t show up as a device in any of the directories so I don’t believe any data transfer is currently working via that port. Is there a terminal command I should try using to verify this, like lsblk or mount? (with apologies for the NOOB question)
@PhiPi no worries!
If you try running
lsusb before and after plugging in various devices you should be able to see if anything changed after plugging it in - let me know if it’s not being seen