To address all the points discussed: a. As a newbie, kernel driver was something I am a little bit familiar. Well, libusb or raw usbfs? I will pick it up next :-). Thanks for the tip. One question - in one-liner or two, what are the differences between the two? Flexibility or otherwise? For the moment I will just pick libusb. Personally I definitely preferred userspace than kernel, as relinking it for different kernel version is a headache :-(. b. All others - thanks for the lively discussion, it has been great fun learning from all of you. Thank you very much :-).