I had bought a DS9490R USB adapter and 5 DS18S20 temperature sensors back in 11/2011; put aside until time found to play with them. Also acquired two used sensors with wires attached that look the same (turn out to be close enough). Oddly, these report with name "DS1920", but the alternate name is DS18S20.
DS1920 Datasheet, DS19S20 compared with DS19B20. Hmm, looks like I should get rid of the DS19S20's and use DS19B20's.
2/21/2015: Received 20 DS19B20's from China ($1 each). Scan of items shows these are named DS18B20:
Address:A4021463F6C6FF28 Name: DS18B20 AName: DS18S20
Desc: Description = Digital thermometer measures temperatures from -55C to 125C in 0.75 seconds (max). +/- 0.5C accuracy between -10C and 85C. Thermometer resolution is programmable at 9, 10, 11, and 12 bits.
vs. the DS19S20:
Address:680008025B507510 Name: DS1920 AName: DS1820B, DS18B20X
Desc: Description = Digital thermometer measures temperatures from -55C to 100C in typically 0.2 seconds. +/- 0.5C Accuracy between 0C and 70C. 0.5C standard resolution, higher resolution through interpolation. Contains high and low temperature set points for generation of alarm.
These are not family 16, so maybe this is why they were designated as not software compatible with the DS19S20. Use GetTyp.ToString to see type is "com.dalsemi.onewire.container.OneWireContainer28" so family must be 40 (yes).
Still takes about 900ms to read the temperature . . . debug and find the doTemperatureConvert is taking most of the time. Without that, read is more like 40ms . . . oh, without doing doTemperatureConvert, the same number comes back; must be just the read from memory. See "Converts 12-bit temperature to digital word in 750 ms (max.)" here.