This paper studies the rate control algorithm to improve the performance of semi-TCP, which adopts a buffer-based hop-by-hop congestion control mechanism. By analyzing the impact of the buffer-based sending strategy on the medium contention and interference, we find that this sending strategy is too aggressive to increase the throughput, which leads to severe contention and interference in the channel. Extensive simulations are then carried out and reveal the significance of the channel status of the first hop in rate control. Based on the findings in the simulations, we propose a binary search-based rate control to improve semi-TCP using only local information. The proposed rate control relies on the media status in the first hop to adjust the source rate to approach the peak throughput, without the assistance of end-to-end feedback. Simulation results show the effectiveness of the proposed algorithm in improving the end-to-end throughput and delay.