This usually happens because those older credit card terminals don’t negotiate properly with newer switches, even if the link shows as 100/full. The port looks up, but actual communication fails, so no DHCP or ping works. That’s why it works on Cisco...