azz ho confuso con la restroilluminazione :P
Visualizzazione stampabile
azz ho confuso con la restroilluminazione :P
Si ho visto questo Review Prestigio MultiPad PMP5080B Tablet/MID - Notebookcheck.net Reviews
ma se non erro ce ne stava un altro simile al nostro, descritto da un altro user del forum. Ammesso di riuscire atrovare il fw di uno di questi si potrebbe anche flashare sul nostro?
Era sempre uguale ma cambiava la sigla, quello montava lo stesso fw, probabilmente.era solo un test come.dispositivo.questo, da quel poco che si vede in giro ha un fw diverso esteticamente. Poi come hw sono identici. Costa di più ma nella confezione è compresa la borsa in pelle per il trasporto. Quindi secondo me ad avere quel fw non ci sono problemi a.flashare il mediacom. Comunque secondo me in mediacom hanno i sorgenti e i driver, altrimenti anche loro si troverebbero nella nostra.stessa.situazione e non lo reputo possibile. Daniele potrebbe essere così gentile di passarci qualche info....ciao a tutti e buona domenica.
Inviato dal mio SMARTPAD810C
Quote:
Originariamente inviato da granny66
La sigla del flat inizia com MCF-, e non con MCFA....è stato un mio errore. Scusate
Inviato dal mio SMARTPAD810C
Aggiornamento:
Sono riuscito a forza di prove ad "accendere" il controller del touch e ad ottenere degli IRQ ma ancora non funziona, c'e' decisamente qualcosa che non va nel driver...
I PIN in questione sono RK29_PIN6_PA6 e RK29_PIN0_PA2
Per chi fosse curioso la sequenza per accendere il touch sembra questa:
#define TOUCH_RESET_PIN RK29_PIN6_PA6 //198; // Reset pin
printk("[ELDIAU] ft5406_ts.c: trying to power-up on PIN %d\n", TOUCH_RESET_PIN);
gpio_request(TOUCH_RESET_PIN, "ft5406 power-up");
gpio_direction_output(TOUCH_RESET_PIN,1);
gpio_set_value(TOUCH_RESET_PIN, 1);
msleep(300);
gpio_free(TOUCH_RESET_PIN);
#define TOUCH_INT_PIN RK29_PIN0_PA2
printk("[ELDIAU] ft5406_ts.c: trying to reset on PIN %d\n", TOUCH_INT_PIN);
gpio_request(RK29_PIN0_PA2, "ft5406 wake-up");
gpio_direction_output(RK29_PIN0_PA2,0);
gpio_set_value(RK29_PIN0_PA2, 0);
msleep(100);
gpio_set_value(RK29_PIN0_PA2, 1);
msleep(100);
gpio_free(RK29_PIN0_PA2);
msleep(350);
I pratica si alza RK29_PIN6_PA6 e poi si alza e abbassa RK29_PIN0_PA2, fatto questo riesco a leggere e scrivere i registri del controller e a ricevere degli IRQ, pero' non riesco a comunicare dati in i2c... esternamente il tab fa il boot ma i 4 tasti rimangono fissi illuminati.
Speravo che risolto questo problema il driver girasse liscio ma a quanto pare l'intero driver va revisionato, purtroppo mi muovo ad occhi chiusi e non ho dati precisi per fare prove con una certa sicurezza... insomma il lavoro e' ancora lungo e faticoso e sono tentato di mettere in pausa in attesa di qualche notizia buona da Mediacom sui sorgenti ufficiali!
Leggo il contenuto dei registri, per esempio, dal dmseg:
<4>[ 1.640382] [ELDIAU] ft5406_ts.c: trying to reset on PIN 2
<4>[ 2.220376] [ELDIAU] ft5406_ts.c: ft5406_set_regs
<6>[ 2.520777] input: ft5x0x_ts as /devices/virtual/input/input1
<4>[ 2.730364] [ELDIAU] ft5406_ts.c: fts_register_read
<4>[ 2.735803] [ELDIAU] ft5406_ts.c: i2c_write_interface
<4>[ 3.540453] [ELDIAU] ft5406_ts.c: i2c_read_interface
<4>[ 3.740451] [TSP] firmware version = 0xe2
<4>[ 3.745731] [ELDIAU] ft5406_ts.c: fts_register_read
<4>[ 3.751022] [ELDIAU] ft5406_ts.c: i2c_write_interface
<4>[ 4.560432] [ELDIAU] ft5406_ts.c: i2c_read_interface
<4>[ 4.760451] [TSP]firmware report rate = 2260Hz
<4>[ 4.765677] [ELDIAU] ft5406_ts.c: fts_register_read
<4>[ 4.770858] [ELDIAU] ft5406_ts.c: i2c_write_interface
<4>[ 5.580438] [ELDIAU] ft5406_ts.c: i2c_read_interface
<4>[ 5.780428] [TSP]firmware threshold = 904
Quei dati (firmware version, firmware report rate = 2260Hz, firmware threshold = 904) sono letti da:
fts_register_read(FT5X0X_REG_FIRMID, ®_version,1);
printk("[TSP] firmware version = 0x%2x\n", reg_version);
fts_register_read(FT5X0X_REG_REPORT_RATE, ®_value,1);
printk("[TSP]firmware report rate = %dHz\n", reg_value*10);
fts_register_read(FT5X0X_REG_THRES, ®_value,1);
printk("[TSP]firmware threshold = %d\n", reg_value * 4);
fts_register_read(FT5X0X_REG_NOISE_MODE, ®_value,1);
printk("[TSP]nosie mode = 0x%2x\n", reg_value);
la funzione fts_register_read() chiama i2c_write_interface() per mandare via i2c la richiesta di restituire il contenuto di un registro al chip e i2c_read_interface() per leggere il risultato spedito indietro dal chip, come vedi riesco a parlare con il chip correttamente...
Purtroppo pero' c'e' qualcosa che poi blocca la comunicazione per cui successivi accessi mi danno
<3>[ 6.804985] rk29_i2c rk29_i2c.2: i2c transfer err, client address is 0x38 [20110106]
<3>[ 6.809431] ft5x0x_ts 2-0038: ft5406_read_regs fail:-22!
Solo che di questo passo si finisce per dover riscrivere l'intero driver...
Scusate, magari mi sbaglio! ma non si potrebbe ampliare il kernel gia esistente sfruttando quello che avete già appreso?. Per esempio se non ho capito male parlate dei 4 tasti touch che si trovano sul lato destro del pannello messo in posizione orizzontale. Se si potesse attribuire un conto alla rovescia sull' illuminazione del touch si potrebbe risolvere il problema inerente la ricerca dei tasti "impossibile" nelle fasce orarie meno illuminate!.... Adesso capisco che sicuramente rischio la lapidazione peró una novità del genere è veramente ottima per chi usa il tab per leggere di notte :).. Con questo dico solo che potreste indicarci cosa modificare, per la ricerca e applicazione ci pensiamo noi ... Come sempre buon lavoro..
Inviato da qualsiasi aggeggio avendo Android OS Androidiani App
Inviato da qualsiasi aggeggio avendo Android OS Androidiani App