In a wireless network, data transmission suffers from varied signal strengths and channel bit error rates. To ensure successful packet reception under different channel conditions, automatic bit rate control schemes are implemented to adjust the transmission bit rates based on the perceived channel conditions. This leads to a wireless network with diverse bit rates. On the other hand, TCP is unaware of such rate diversity when it performs flow rate control in wireless networks. Experiments show that the throughput of flows in a wireless network are driven by the one with the lowest bit rate, (i.e., the one with the worst channel condition). This does not only lead to low channel utilization, but also fluctuated performance for all flows independent of their individual channel conditions. To address this problem, we conduct an optimization-based analytical study of such behavior of TCP. Based on this optimization framework, we present a joint flow control and active queue management solution. The presented channel-aware active queue management (CA-AQM) provides congestion signals for flow control not only based on the queue length but also the channel condition and the transmission bit rate. Theoretical analysis shows that our solution isolates the performance of individual flows with diverse bit rates. Further, it stabilizes the queue lengths and provides a time-fair channel allocation. Testbed experiments validate our theoretical claims over a multi-rate wireless network testbed.