Hi Forest, On Wed, 9 Dec 2009 10:32:25 -0500, Forest Bond wrote: > I am seeing a situation where sensors-detect fails to find sensors in a single > run due to an apparent race condition. It looks like it loads the i2c-* modules > and then tries to open /dev/i2c-0 for probing, but it fails to open > successfully. My sense is that the device is not fully initialize and ready for > opening immediately following the modprobe calls, but sensors-detect does not > wait for initialization to complete. I'm not sure what should be happening. It > seems sensible that modprobe would not return until the device is initialized. > > Running sensors-detect again correctly probes the hardware because the i2c bus > is fully initialized at that point. You must be typing very fast to be able to trigger this ;) Or udev is very slow populating /dev on your machine. > I don't know anything about i2c, so I hope the language I'm using to describe > this situation is reasonable. It is perfect. > I've attached the output from sensors-detect for the first (failed) run and the > second (successful) run. > > Thoughts? The version of the sensors-detect you're using is getting old. Please give a try to the latest one: http://dl.lm-sensors.org/lm-sensors/files/sensors-detect If you can still reproduce the problem, then please give a try to the attached patch and report. -- Jean Delvare http://khali.linux-fr.org/wishlist.html
Index: sensors-detect =================================================================== --- sensors-detect (révision 5808) +++ sensors-detect (copie de travail) @@ -5812,6 +5812,12 @@ $by_default = 1 if dmi_match('board_vendor', 'asustek', 'tyan', 'supermicro'); + # udev may take some time to create the device node + if (!(-x "/sbin/udevadm" && system("/sbin/udevadm settle") == 0) + && !(-x "/sbin/udevsettle" && system("/sbin/udevsettle") == 0)) { + sleep(1); + } + for (my $dev_nr = 0; $dev_nr < @i2c_adapters; $dev_nr++) { next unless exists $i2c_adapters[$dev_nr]; scan_i2c_adapter($dev_nr, $by_default);
_______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors