A US naval ship enforcing the blockade of ships going to Iranian ports fired at the cargo ship when it reportedly failed to heed calls to stop.