Ever wondered how device drivers are reverse engineered?
As someone who has never needed to write device drivers, this is pretty interesting toy example.I was a bit confused when it got to the part about 
> detach (unbind) the kernel driver
Does this mean there is a default kernel driver on the interface and we must detach it first to make it available?