From: Douglas G. <do...@to...> - 2006-01-16 08:13:38
|
> how can I disable the many (luckily useless) temperature warning messages on > my SCSI drive? > > I somehow managed to enable these warning messages, but I don't see how I can > get rid of them again... What form are those temperature warning messages taking? If you are using Linux or FreeBSD you could fetch sdparm, build and install it then try: 'sdparm -c EWASC -S /dev/sda' or whichever disk is involved. If that works perhaps I could incorporate something along those lines into smartmontools. Doug Gilbert |
From: Marko <mk-...@em...> - 2006-01-17 17:27:21
|
Hi Doug, > What form are those temperature warning messages taking? it's informing about every single temperature change, telling me the actual temperature and the temperature difference. I don't have an example now, but if it's necessary I could do that until tomorrow. > If you are using Linux or FreeBSD you could fetch sdparm, Unfortunately the OS is W2k... I forgot to mention that in my post... > build and install it then try: 'sdparm -c EWASC -S /dev/sda' > or whichever disk is involved. If that works perhaps I could > incorporate something along those lines into smartmontools. But perhaps I could try to boot with some Knoppix check whether smartmontools give me the same output under linux and then try the sdparm trick?! Marko |
From: Marko <mk-...@em...> - 2006-01-27 21:58:38
|
On Monday 16 January 2006 09:14, Douglas Gilbert wrote: > > how can I disable the many (luckily useless) temperature warning messages > > on my SCSI drive? > > What form are those temperature warning messages taking? > > If you are using Linux or FreeBSD you could fetch sdparm, > build and install it then try: 'sdparm -c EWASC -S /dev/sda' > or whichever disk is involved. If that works perhaps I could > incorporate something along those lines into smartmontools. Hi Dough, I finally took a SuSE rescue system CD and tested the machine under SuSE Linux 9.3, which contains smartmontools 5.33. The result under linux is that I DO *NOT* get a single "temperature change" warning message, which appear under Windows 2000 (5.33 & 5.34) like this: --- smartd[792]:Info: Device: /dev/scsi21, Temperature changed 2 Celsius to 38 Celsius since last report --- What does this mean? How come that the windows versions behave differently than the linux one? Or is a deeper lying level of operating system code responsible for this "filtering"? Marko |
From: Marko <mk-...@em...> - 2006-01-31 21:50:39
|
On Monday 16 January 2006 09:14, Douglas Gilbert wrote: > > how can I disable the many (luckily useless) temperature warning messages > > on my SCSI drive? > If you are using Linux or FreeBSD you could fetch sdparm, > build and install it then try: 'sdparm -c EWASC -S /dev/sda' > or whichever disk is involved. If that works perhaps I could > incorporate something along those lines into smartmontools. I manipulated the SMART settings using sdparm from within my SuSE rescue system. I could enable and disable the temperature warning setting of the disc in question. Unfortunately, when I ran smartd from Windows afterwards, I again saw these messages informing me about the temperature changes. So, the EWASC setting is without effect on this!!! I found the responsible lines of code in the function SCSICheckDevice(): --- currenttemp = 0; asc = 0; ascq = 0; if (! cfg->SuppressReport) { if (scsiCheckIE(fd, cfg->SmartPageSupported, cfg->TempPageSupported, &asc, &ascq, ¤ttemp, &triptemp)) { PrintOut(LOG_INFO, "Device: %s, failed to read SMART values\n", name); MailWarning(cfg, 6, "Device: %s, failed to read SMART values", name); cfg->SuppressReport = 1; } } . . . if (currenttemp && currenttemp!=255) { if (cfg->Temperature) { if (abs(((int)currenttemp - (int)cfg->Temperature)) >= scsi_report_temperature_delta) { PrintOut(LOG_INFO, "Device: %s, Temperature changed %d Celsius " "to %d Celsius since last report\n", name, (int)(currenttemp - cfg->Temperature), (int)currenttemp); cfg->Temperature = currenttemp; } } else { --- So it looks like that smartd should ALWAYS report these changes, nevertheless whether I have a linux or windows version running, right?! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I don't understand why my linux smartd wouldn't emit these messages! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! There is a variable called "cfg->SuppressReport", which might avoid these messages (if you look at the top of the piece of code), perhaps I should force it to be set to 1??? [Though this variable seems to be rather meant as an escape in case you run into errors when accessing a device.] !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! The only possible explanation I can imagine is that the variable "cfg->SuppressReport" does NOT get properly initialized. So smartd.c relies on the init values of the compiler and assumes that they are set to 0, but perhaps they are 1 in case of linux... How about this ? [I know that in *CreateConfigEntry() Calloc() is used for initializing the data structure... but who knows...] ????????????????????????????????????????????????????????????????????? Marko |
From: Marko <mk-...@em...> - 2006-02-02 22:33:38
|
On Tuesday 31 January 2006 22:56, Marko K=E4ning wrote: > disc in question. Unfortunately, when I ran smartd from Windows afterward= s, > I again saw these messages informing me about the temperature changes. =46urther analysis showed that there is indeed no difference at all between= =20 linux and windows versions. The warnings concerning temperature changes=20 appeared only later on linux, because I forgot that I had windows' smartd=20 running with a 5 min rhythm (using option -i), but under linux I simply=20 forgot about that, so that the standard 30 mins rhythm got used. (My=20 assumptions about Calloc() not properly zeroing the allocated memory were=20 nonsense.) The piece of code presented in the previous post is THOUGH responsible for = the=20 emitted temperature change messages!!! On Saturday 26 November 2005 13:46, Bruce Allen wrote: > I'm not sure if it's possible to disable this warning for SCSI. You may > have to (gulp) skim the smartd.c source code to see for sure... And yes, it is possible to disable this warning for SCSI, one would just ha= ve=20 to introduce a new command line option like "--no-scsi-temp-change-warnings= "=20 and change the code in the function SCSICheckDevice() like this: =2D-- =2D if (currenttemp && currenttemp!=3D255) { + if (!no_scsi_temp_warnings && currenttemp && currenttemp!=3D255) { =2D-- I think such a new option would make sense, since the these messages could = be=20 skipped if you know that your drive behaves normally, anyway there are trip= =20 temperatures (one firmware-defined and one user-defineable) which the drive= =20 handles independently. ?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!? If the smartmontools community is interested I could dig into the option=20 handling code and supply a simple patch to the current cvs version (in case= =20 the server on sourceforge is not down, like it happens often nowadays). ?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!? Marko |