I had the same problem as you and I have found a possible solution. The arduino has default auto reset on serial connection. So when you connect gateway to controller trough USB, the gateway is rebooting immediately and processing presentation(). In case of wireless gateway (esp8266) this does not happen. The presentation() runs only on startup of the gateway. I made little change in MyGatewayTransportEthernet.cpp and now the gateway processes presentation() when the controller is connecting to it.
You can find here my solution:
https://github.com/zaphodus/Arduino/commit/ce93db73513f1da45637b186787c9b2501e5d882