Reverse Engineering
Sadly quite often we're stuck with an unco-operative vendor,
time to reverse engineer!
This is normally done as a last resort, reverse engineering tends
to be really time consuming and has a higher chance of bugs in code.
What we need to discover is how the use the hardware, the interface
not the implementation.