Dell Switch Mode Power Supply Identification Bypass
Vi e' mai capitato di riparare un portatile marchiato DELL (oppure Alienware) e notare che con il classico alimentatore universale che utilizzate il computer non e' in grado di ricaricare la batteria? (Il riconoscimento della batteria e la conseguente carica e' molto importante per non compromettere le prestazioni del sistema, molti portatili quando non riconoscono la batteria o non ce l'hanno non forniscono il 100% della potenza hardware perche' prelevano l'energia direttamente dall'alimentatore). Questo accade perche' i portatili DELL (anche i piu' obsoleti) utilizzano un alimentatore che possiede al suo interno un chip per il riconoscimento dell'accessorio. In questo progetto volevo provare ad indentificare tale chip, estrarlo dall'alimentatore e costruire un adattatore Alimentatore Universale -> DELL per utilizzarlo con qualsiasi alimentatore.
Naturalmente non ho aperto un alimentatore funzionante, sarebbe un peccato romperne uno solo per farci delle prove, ho aspettato che me ne capitasse uno guasto per effettuare la prova. Il modello in questione e' l'ADP-65JB, 19.5V, 3.34A. Una volta aperto e tolte tutte le maledette ma indispensabili precauzioni per la sicurezza del circuito ho iniziato ad analizzare la scheda alla ricerca di un eventuale componente "fuori posto" di cui non ne conoscessi la funzione.
Naturalmente non ho aperto un alimentatore funzionante, sarebbe un peccato romperne uno solo per farci delle prove, ho aspettato che me ne capitasse uno guasto per effettuare la prova. Il modello in questione e' l'ADP-65JB, 19.5V, 3.34A. Una volta aperto e tolte tutte le maledette ma indispensabili precauzioni per la sicurezza del circuito ho iniziato ad analizzare la scheda alla ricerca di un eventuale componente "fuori posto" di cui non ne conoscessi la funzione.
Ho iniziato a controllare direttamente sulla cold zone (dubito fortemente potesse trovarsi nella hot zone). Il cavo di alimentazione se tagliato e' composto da 3 cavi interni, uno VCC, uno GND e l'ultimo probabilmente e' il cavo di identificazione. Allora sono saltato con l'occhio nell'area del cavo DC (praticamente ci troviamo a fine circuito) ma ancora non riuscivo a notare niente di interessante. Controllando i 3 cavi interni al cavo di alimentazione sulla PCB noto che all'interno dello "scudo" che formavano, c'era un malloppo di gomma nera ben nascosto, una volta tagliati i cavi e "distrutto lo scudo" che formavano mi ritrovo davanti ad un integrato a 3 pin "incappucciato". Una volta tolto tutto il camuffamento e dissaldato dalla PCB salta fuori la sigla: "Dallas 2501", datasheet al volo e realizzo che si tratta di una memoria (molti lo avrebbero confuso per un transistor, ma che ci fa nella sezione finale ai capi del cavo di alimentazione?), essa contiene informazioni sul tipo di alimentatore (Watt, Volt, Ampere) e probabilmente un numero seriale, inoltre e' protetta da scrittura. La comunicazione sul bus dati avviene tramite il protocollo proprietario della Dallas, il One Wire (come avviene con il sensore di temperatura DS18B20), inoltre come appunto puo' avvenire con il sensore di temperatura DS18B20, il Dallas 2501 puo' essere alimentato normalmente oppure in parasite mode come avviene in questo caso poiche' il pin VCC e' scollegato. Credo che copiando tutto il contenuto della memoria in una nuova memoria che supporta il protocollo OneWire sia possibile clonare l'integrato e modificarne il contenuto. Prima di iniziare a progettare l'adattatore ho analizzato i componenti circostanti per evitare di trascurare qualche componente necessario alla corretta identificazione, con il tester e la funzione Ohm selezionata ho verificato le piste e scoperto che nella parte sotto della PCB, sull'altro lato c'era una resistenza da 130Ohm e un diodo zener.
Entrambi la resistenza e il diodo erano collegati insieme da una parte verso il pin data dell'integrato mentre l'altra parte del diodo zener finiva a massa e la resistenza invece sul pin identificativo del cavo di alimentazione.
Entrambi la resistenza e il diodo erano collegati insieme da una parte verso il pin data dell'integrato mentre l'altra parte del diodo zener finiva a massa e la resistenza invece sul pin identificativo del cavo di alimentazione.
Ecco il datasheet, in rete ne ho trovati un paio. Uno dei due e' per il DS2502 ma il principio e' lo stesso:
|
|
Come potete osservare sul datasheet, ci sono vari form factor. Per il DS5202 (che e' piu' nuovo e possiede il doppio della memoria EEPROM) ci sono dei form factor piu' evoluti e contenuti che rendono difficile la localizzazione del componente stesso sulla PCB (fortunatamente nel mio caso il form factor era un classico TO-92). Ecco qualche foto del circuito che ho realizzato. Per riconoscere i terminali del cavo di alimentazione ho osservato lo spessore della sezione di ogni cavo, quello nero e' GND, quelli che potrebbero causare confusione sono i due bianchi pero' basta osservarli bene per capire la loro funzione. Uno dei due e' molto piu' spesso dell'altro (spesso quanto GND), si tratta della linea dei 19V (piu' e' spesso il cavo e piu' corrente porta), mentre quello piu' fino e' il cavo di identificazione.
Una volta saldati i cavi provo l'adattatore su un vecchio DELL Vostro 1400. Ho effettuato prima la prova con un alimentatore universale e poi con l'alimentatore da banco e l'adattatore che ho costruito. Ecco i risultati:
Come potete osservare nelle immagini qui sopra, l'adattatore funziona perfettamente e viene riconosciuto come alimentatore originale DELL da 65 Watt. Ecco le foto del risultato finale: