TEMPer USB Thermometer – Linux Kernel Driver

I recently purchased this TEMPer USB Thermometer on Amazon. The seller advertises compatibility with all OSes, with provided APIs and drivers. Unfortunately, that’s not true. The CD-ROM only contains a .MSI for Windows.
I sure as heck wasn’t going to wait around to buy another USB thermometer from a different manufacturer. I was going to, in the words of Matt Damon, “science the shit out of this”.

While I was googling around, I found out that someone had taken the time to write a userspace driver, using libusb. Great! Why, I can just use usbmon to sniff USB traffic instead of booting into an instance of Windows.

Woot! My first probe function works! (Called when USB core thinks a USB device just plugged in should be managed by your driver)
Screenshot from 2016-05-09 19:15:54

Here is the result of 24 hours spent reading the USB specifications, and some kernel programming. The code needs some cleaning up, but it works.

https://github.com/Jyang772/temp-driver/blob/master/driver.c