The total duration is computed using only the preamble and the data, the physical header is not considered.
virtual const simtime_t getDuration(b dataBitLength) const override { return preambleMode->getDuration() + dataMode->getDuration(dataBitLength); }
But in the radio model we have this
const simtime_t preambleDuration = transmissionMode->getPreambleMode()->getDuration();
const simtime_t headerDuration = transmissionMode->getHeaderMode()->getDuration();
const simtime_t dataDuration = duration - headerDuration - preambleDuration;
dataDuration is a negative value
Possible solution
aarizaq@b3239b8