First cut: Works on Linux.
Deal with the situation where there are no serial port.