Сейчас на форуме: UniSoft, laslo, bartolomeo (+5 невидимых)

 eXeL@B —› Программирование —› Температура железа в сист. блоке
<< . 1 . 2 .
Посл.ответ Сообщение

Ранг: 13.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 04 июня 2007 19:13
· Личное сообщение · #1

как узнать температуру процессора и другого железа и возможно вообще.
Желательно с исходником.



Ранг: 117.1 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 14 августа 2007 07:08
· Личное сообщение · #2

Если кому интересно, вот пример работы со S.M.A.R.T. от MS.

5675_13.08.2007_CRACKLAB.rU.tgz - SmartApp.rar

-----
Security through obscurity is just an illusion




Ранг: 13.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 14 августа 2007 17:35
· Личное сообщение · #3

скомпилил просит smartvsd че такое ?



Ранг: 117.1 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 14 августа 2007 19:38
· Личное сообщение · #4

RaSL

Драйвер для Win9x/Me, для NT не нужен.

-----
Security through obscurity is just an illusion




Ранг: 13.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 14 августа 2007 20:46
· Личное сообщение · #5

у меня хп и он просит как их установить пробывал в system слить не помогает.
ты сам их компилил ?



Ранг: 117.1 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 15 августа 2007 06:14
· Личное сообщение · #6

RaSL

Нет. Посмотри код. Там есть define WINDOWS9X, чтобы компилировать под Windows 9x, убери его.

HANDLE OpenSMART(VOID)
{
HANDLE hSMARTIOCTL = 0;

#ifdef WINDOWS9X
// Version Windows 95 OSR2, Windows 98
if ((hSMARTIOCTL = CreateFile("\\.\SMARTVSD", 0,0,0,
CREATE_NEW, 0, 0)) == INVALID_HANDLE_VALUE)
{
printf("Unable to open SMARTVSD, error code: 0x%lX\n", GetLastError());
}
else
{
printf("SMARTVSD opened successfully\n");
}
#else
// Windows NT, Windows 2000
if ((hSMARTIOCTL = CreateFile("\\.\PhysicalDrive0",GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,
OPEN_EXISTING,0,NULL)) == INVALID_HANDLE_VALUE)
{
printf("Unable to open physical drive, error code: 0x%lX\n", GetLastError());
}
else
{
printf("Physical drive opened successfully\n");
}
#endif

return hSMARTIOCTL;

}


-----
Security through obscurity is just an illusion




Ранг: 13.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 16 августа 2007 15:48
· Личное сообщение · #7

угу все компилица ! спасибо



Ранг: 40.9 (посетитель), 8thx
Активность: 0.040.01
Статус: Участник

Создано: 17 ноября 2011 06:57 · Поправил: FalseMaster
· Личное сообщение · #8

Нужна помощь в определении чипа ADM1031, а так же получение через него температуры проца и мамки. Пытался покурить исходники "lm-sensors", но чё-то "не вставило" (моск просто отказывается понимать эту сишную галиматью). В общем накрапал нижеследующий код, но ни хрена не детектится и AX перед сравнением в нулях вместо 0x4130.

// 0x2E - address port
// 0x2F - data port
// 0x3D - chip ID register
// 0x3E - manufacturer ID register

Code:
  1.          xor     dl, dl
  2. // sio enter
  3.          mov     al, 0x55
  4.          out     0x2E, al
  5. // detect
  6.          mov     al, 0x3E
  7.          out     0x2E, al
  8.          in      al, 0x2F
  9.          mov     ah, al
  10.          mov     al, 0x3D
  11.          out     0x2E, al
  12.          in      al, 0x2F
  13.          and     al, 0xFE
  14.          cmp     ax, 0x4130
  15.          jne     exit
  16.          inc     dl
  17. exit:
  18.          mov     al, dl





Ранг: 105.6 (ветеран), 36thx
Активность: 0.10
Статус: Участник

Создано: 18 ноября 2011 15:48
· Личное сообщение · #9

http://alternativeto.net/software/gpu-z/?license=opensource



Ранг: 52.1 (постоянный), 1thx
Активность: 0.020
Статус: Участник

Создано: 18 ноября 2011 17:21
· Личное сообщение · #10

Берем Everest-овский драйвер и получаем информацию от него. Красиво и универсально.
http://www.xakep.ru/magazine/xa/104/070/1.asp

| Сообщение посчитали полезным: Isaev

Ранг: 40.9 (посетитель), 8thx
Активность: 0.040.01
Статус: Участник

Создано: 19 ноября 2011 04:06 · Поправил: FalseMaster
· Личное сообщение · #11

Dart Sergius пишет:
http://alternativeto.net/software/gpu-z/?license=opensource


Скачал, посмотрел - кода определения мультиков в сих сорцах не наблюдаю.

Давайте пойдём другим путём. Вот код из исходников "lm-sensors":

sensors-detect
Code:
  1. sub i2c_smbus_read_byte_data
  2. {
  3.   my ($file, $command, $nocache) = @_;
  4.   my @data;
  5.  
  6.   return $i2c_byte_cache[$command] if !$nocache && exists $i2c_byte_cache[$command];
  7.   i2c_smbus_access($file, SMBUS_READ, $command, SMBUS_BYTE_DATA, \@data) or return -1;
  8.   return ($i2c_byte_cache[$command] = $data[0]);
  9. }
  10.  
  11. sub adm1031_detect
  12. {
  13.   my ($file, $addr, $chip) = @_;
  14.   my $mid = i2c_smbus_read_byte_data($file, 0x3e);
  15.   my $cid = i2c_smbus_read_byte_data($file, 0x3d);
  16.   ...
  17. }

i2c-dev.h
Code:
  1. static inline __s32 i2c_smbus_access(int file, char read_write, __u8 command, int size, union i2c_smbus_data *data)
  2.   struct i2c_smbus_ioctl_data args;
  3.  
  4.   args.read_write = read_write;
  5.   args.command = command;
  6.   args.size = size;
  7.   args.data = data;
  8.   return ioctl(file,I2C_SMBUS,&args);
  9. }

Я чуть более, чем на 100% уверен, что вся эта куча кода может быть реализована несколькими инструкциями, но не могу привести эту филькину грамоту в благопристойный вид, по-этому, собственно, и обратился. И ещё мне непонятно, где ошибка в коде, который я привёл в предыдущем посте.


<< . 1 . 2 .
 eXeL@B —› Программирование —› Температура железа в сист. блоке
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати