QoS routing in multi-channel wireless mesh networks (WMNs) with contention-based MAC protocols is a very challenging problem. In this paper, we propose an on-demand bandwidth-constrained routing protocol for multi-radio multi-rate multi-channel WMNs with the IEEE 802.11 DCF MAC protocol. The routing protocol is based on a distributed threshold-triggered bandwidth estimation scheme, implemented at each node for estimating the free-to-use bandwidth on each associated channel. According to the free-to-use bandwidth at each node, the call admission control, which is integrated into the routing protocol, predicts the residual bandwidth of a path with the consideration of inter-flow and intra-flow interference. To select the most efficient path among all feasible ones, we propose a routing metric which strikes a balance between the cost and the bandwidth of the path. The simulation results show that our routing protocol can successfully discover paths that meet the end-to-end bandwidth requirements of flows, protect existing flows from QoS violations, exploit the capacity gain due to multiple channels, and incurs low message overhead.