View Full Version : Come comunicare con la MOBO??
Ciao a tutti volevo sapere "se è possibile" in codice visual basic come poter rilevare un segnale dalla propia mobo del tipo, il segnale della rotazione delle ventole per poi modificarlo e controllare con questo il livello di tensione da dare alla ventola.... mi manca giusto il modo per assumere il valore e il modo per rimandarlo :D (non so forse una dll che gestista gli indirizzi??,tipo per la parallela?) :mc: :mc: vi chiedo aiuto sono in alto mare...ciao e grazie
SoftWord
10-01-2006, 15:16
ciao, io sto cercando di fare la stessa cosa, vorrei farmi uno speedfan, ma personalizzato da me ke attiva le ventole solo ad una certa condizione.
guardando bene le opzioni/avanzate del programma, ho notato ke bisogna innanzitutto scoprire a quale indirizzo SMBus stanno tutti i dati, poi con un IN (in asm) leggere da questo registro sia la temp della cpu e velocità delle ventole.
Inoltre penso che temp della gpu/cpu ed altri eventuali sensori, si controllano sempre usando l'ISA o il SMBus, è tutto centralizzato dal chip della mobo cmq.
Ma non so ancora molto so solo questo, cmq se dai un occhio allo speedfan nelle opzioni avanzate puoi capirci qcosa di +.
Se ti serve un driver per leggere/scrivere sulle porte I/O, puoi usare il GiveIO.SYS, cercalo in rete lo trovi sicuramente, o cmq te lo installa lo speedfan stesso :sofico:
Fenomeno85
10-01-2006, 17:14
non mi ricordo chi si era messo a farlo in assembly ;) che io sappia neanche il c che non è proprio ad altissimo livello non ha istruzioni dirette.
~§~ Sempre E Solo Lei ~§~
occhio che se fate direttamente IN e OUT su Windows NT/2k/XP e successivi ottenete Privileged Instruction...
in genere programmi come quelli che state cercando di fare voi vengono sviluppati dalla casa produttrice dell'hardware e comunicano col driver secondo un qualche protocollo (ad es. named pipe o comm resource).
Se ti serve un driver per leggere/scrivere sulle porte I/O, puoi usare il GiveIO.SYS, cercalo in rete lo trovi sicuramente, o cmq te lo installa lo speedfan stesso :sofico: come non detto, non avevo letto questa parte :)
Esatto, la mia idea è fare uno speedfun che pero rispetti le mie regole:P,questo driver per I/O ,quindi, alla fine permette di gestire (comunicare) con le ventole della CPU ecc.. giusto? o non ho capito una ceppa??? :help: conosco l'assembly ed in effetti come livello di programmazione è quello che sta piu in basso (effettivamente credo che con Visual sia un bel casino farlo) pero assembly è tremendamente complicato ... :muro: :muro: :cry:
MiKeLezZ
11-01-2006, 02:23
modificare i parametri di speedfan affinchè seguano queste tue regole non è possibile?
SoftWord
11-01-2006, 08:28
...alla fine permette di gestire (comunicare) con le ventole della CPU ecc.. giusto? o non ho capito una ceppa??? :help: conosco l'assembly ed in effetti come livello di programmazione è quello che sta piu in basso (effettivamente credo che con Visual sia un bel casino farlo) pero assembly è tremendamente complicato ... :muro: :muro: :cry:
Speed fan nn fa altro ke moddare la velocità delle ventole in base ai parametri ke gli si da, è già completo così, ti permette di modifcare il delta di incrementi di velocità ke lui applica quando ne aumenta la velocità, di stabilire la velocità minima e quella massima
Ma io ne volevo fare uno un pò + dinamico :)
modificare i parametri di speedfan affinchè seguano queste tue regole non è possibile?
Attualmente con Speedfan puoi modificare il delta di incremento ke lui applica alle ventole, modificare il valore minimo e quello massimo a cui far girarla e puoi associare qualsiasi ventola tu voglia ad un determinato chip, cpu, hdd, mobo, forse gpu.
Raga c'è un problema, se andate bene al sito di SF (speedfan d'ora in avanti...) noterete ke lui sa riconoscere ben + di 50 chip cavolo...........se dobbiamo farcene una versione nostra cmq basta guardare ke chip e ke indirizzo ($290 sulla mia mobo a7v880 col chip ITE 8717F) riconosce e fare una cosa tipo:
void main()
{
_asm {
OUT 0x290, 10
}
}
per esempio x controllare una ventola.
Ancora nn so bene come si possa programmare un chip, so solo ke i metodi da usare sono ISA o SMBus, quest'ultimo in particolare mi pare di aver capito ke è utilizzato nella ultima generazione di motherboard.
Inoltre è possibile controllare e sapere a quanti gradi è la GPU sempre da quel chip mi pare di capire, xkè tutto è centralizzato da quel chip, ke a sua volta va ad interrogare con uno specifico protocollo HW, i sensori (nel caso li trovasse) delle singole componenti, ne è un esempio la CPU stessa, ke ha all'interno il sensore diodo.
Cmq se a qcuno interessasse ho trovato un pdf con le specifiche e i valori da inserire nelle porte I/O del chip IT8712F.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.