1.when I have more than 1 channel, the other channels (the ones that are not the _CommSwitch one) still receives in internal buffer or they loose the received bytes while they are not the selected one? Any channels opened remain open untill closed. While they are open they receive and send data even if they are not the selected channel. Selecting a channel only means you have specified which channel, or COM port, your script will be dealing with. If a channel is recieving data and the script