re-checked chan/pan

No transceiver implements the API correctly, mostly return values are
unsigned instead of signed with defined error behavior.

Apparently mostly type safe due to implicit casting nonetheless.