create character device
add wait queue for recv
make sure to finish_wait
make makefile adaptable to different kernel versions