As wireless networks continue to grow, users will be demanding more service diversity and differential quality-of-service (QoS). At the packet level, differential QoS is met by means of scheduling for channel access. Several algorithms have been proposed for packet scheduling over the wireless link. The main consideration in the design of these algorithms is the characteristics of the wireless channel. Previous works used a two-state Markov model to characterize the channel and design the scheduling algorithm. This coarse approximation can lead to a considerable amount of inaccuracy in the expected user performance, i.e., when implemented under realistic channel conditions the algorithm may not perform as expected. In this paper, we propose a scheduling algorithm and an associated MAC scheme that enable operation under realistic channel conditions. We use an JV-state Markov model to characterize the channel, where N > 2. The channel characteristics are incorporated into the scheduler through the use of future channel estimates, making the scheduler more immune to channel variations. Our scheme allows for adaptive FEC, whereby the code rate varies according to the forecasted channel state. Comparisons between the proposed algorithm and wireless fair service (WFS) S. Lu et al., (1998) show that the proposed algorithm gives better results in terms of both throughput and delay, while preserving the fairness characteristics. It is also shown that the proposed algorithm is more stable under variations in mobility and network load. Furthermore, by being able to significantly reduce the number of retransmissions, the proposed algorithm makes better utilization of the channel bandwidth and reduces the energy consumed in delivering a packet.