The method I've used many times over the last few years - serial connection to my USB-serial adapter on my laptop, boot controller to boot menu, pick install new software, configure one of the gig ports on the controller (e0i, e0j,e0k,e0l as an example). Set my laptop LAN port to a random IP - 10.10.10.1. Controller reboots to configure e0i, give it an IP 10.10.10.2, provide the http address from my laptop http://10.10.10.1/91P8_q_image.tgz and it connects, downloads to the controller, asks a few questions about whether this will be the default boot image etc...reboot and we're good.
Ensure your laptop firewall is turned off...I don't know how many times, I've forgotten to do this and the controller won't be able to connect to the web service with it on.