If I understand you correctly, you connected a switch to the BT OpenReach modem(bt box) then ran a long ethernet cable to the HomeHub from the switch, finally attached other devices to the switch, right?
Your other devices need DHCP of the HomeHub in order to assign them local IP addresses, you have 2 options:
1.<< Or do I have to run a second cable back from the home hub to the switch? >> Yes, you can run a cable from the bt box to the HomeHub then another one from the HomeHub back to the switch.
2.or forget the switch & get a wireless access point put the HomeHub back to where it was & connect it to the bt box then connect other devices to it. Using the existing long cable to connect the new wireless access point (which replaces of the HomeHub in the new position).
If you need a wireless switch with extra LAN ports then try out this one (I've one of these which works very well with dual bands)