Господа, поделитесь своими мыслями вот по такой теме.
Есть ноутбук, ASUS x55sv (Core2Duo T7500, I965PE, nVidia GF9500M GS), мой личный.
У него была видеокарта - GF9500M GS (перемаркированная GF8600M), которая благополучно сдохла. Видеокарта там нужна экзотическая, MXM-II, но "перевёрнутая наизнанку", за новый G84-625-A2 платить 4 тысячи жаба задушила.
Нашёл подобную перевёрнутую видеокарту от Asus a8j, видюха - Radeon HD2400. В игры я не играю, так что так даже лучше - меньше аккумулятор будет жрать и дольше проживёт.
Естественно, он с ней не заработал (нет видео). Вытащил из биоса от a8j нужный модуль, воткнул его в биос для x55sv, прошил - видео появилось, но не работала клавиатура (первые пару секунд работает, в биос войти можно) и кулер молотит на 100%. Причём с оригинальным биосом вставка HD2400 в разъём тоже отрубает клавиатуру.
Взял биос от x55sr (то же, что и x55sv, но с Radeon HD3450), сунул в него модуль для HD2400, подменил идентификаторы на x55sv, зашил - всё работет.
Вернее - почти всё - кулер продолжает молотить на полных оборотах независимо от температуры (родная прошивка ведёт себя так при отсутствии видеокарты).
ВНИМАНИЕ, ВОПРОС:
Хочется эту проблему решить. Небольшой опыт дизассемблирования у меня есть, но биоса никогда не дизассемблировал, сейчас потихоньку лазяю по модулям биоса с Идой и изучаю...
Правильно-ли я понимаю следующие вещи:
1) Где-то лежит код, периодически читающий из порта G84го показания термодатчика. Когда видеокарты нет или видеокарта другая из этого порта читается 0xFF, что код трактует как максимальную температуру и врубает кулер на полную.
2) Оборотами кулеров управляет мульт?
3) Данный код должен храниться в SMBIOS и только там, т.к. биос работает в реальном режиме, при загрузке ОС происходит переключение в защищённый, но обороты по-прежнему регулируются. Т.е. код сидит в области, которая не зависит от режима работы процессора. Может-ли данный код сидеть в видеобиосе?
Вдогонку - BIOS - AMI 8-ой версии.
Мимо проходил, я не пограммист.
1. Не 4т.р., а 3 с копейками, ну это мелочи,когда для себя.
2. Если хочется сэкономить, то почему не поставить народный 53-й видик? Всего штука с копейками, да и править, скорее всего, ничего вообще не придется.
Потому, что у 53-его народного видика будет другой PCI ID, вследствие чего ноутбучный биос его не инициализирует. И придётся в лучшем случае подменять ID в видеобиосе.
Ну и 625ый ещё покупать надо, а HD2400 - вот она, уже в ноуте и работает.
Ну, наверное, если бы все работало, то и тема бы эта не появилась?
Выглядит интересно (кусок из исходников nvclock). Надо искать чтение из регистра PMC по вот такому адресу.
static int g84_get_gpu_temp(void *sensor)
{
if(nv_card->debug)
{
/* A calibrated value of the temperature is stored in 0x20400, raw in 0x20008 it would require bios info to calibrate it */
printf("NV_20008 (0x20008): %08x\n", nv_card->PMC[0x20008/4]);
printf("NV_20400 (0x20400): %08x\n", nv_card->PMC[0x20400/4]);
}
/* A calibrated value of the temperature is stored in 0x20400 */
return nv_card->PMC[0x20400/4];
}
phrack.org/issues/66/11.html - ключ лежит здесь, полагаю.
Подскажите пожалуйста!
Если я в asus x55s с GF9500M поставлю карту Radeon HD 3470 от asus F8V и прошью биос от asus x55sr (на нем тоже стояла 3470), то все заработает или есть еще какие-то нюансы?
Должно заработать. Я в X55SV зашивал биос от X55SR.
Но лучше - возьмите и перенесите модуль видеобиоса.
И да, кулер работать будет на 100% оборотах постоянно. Я победил только самопальным терморегулятором, ссылку могу дать.
Хотя про кулер - попробуйте... Может быть прошивка биоса от X55SR перепрошьёт EC так, что он будет кулером рулить. Я вставил HD2400, пришлось делать терморегулятор.
Хотя нет, не переносите модуль видеобиоса. Вон писал выше - почему-то клавиатура перестаёт работать, если родной биос от x55sv зашить.
Шейте биос от x55sr (только предварительно откройте его и гляньте - точно-ли там поддержка этой видеокарты и нужной ревизии проца есть).
Накрайняк - перепрошьёте на программаторе обратно.
Отправить комментарий