I have three DS18B20's. I can't tell if any of them are working correctly
Looking at w1_therm's source code, it doesn't ever touch the configuration register, therefore relying on the programmed precision setting in EEPROM.

Indeed your own data dump shows that the configuration byte is 0x7F for two of your sensors and 0x1F for one of your sensors. This corresponds to 12 bits and 9 bits of precision respectively.

So all you need to do is initialize the configuration of your low-precision temp sensor once, store to EEPROM and then you can use the original driver again. Of course, a contribution of some cleaned-up code to set precision would probably be welcomed by the Linux community ;)