basic chardevicedriver