Hannspad Hannspad

Respuesta
 
Herramientas
  #1  
Viejo 14/09/11, 20:45:07
Array

[xs_avatar]
jotta jotta no está en línea
Miembro del foro
 
Fecha de registro: jul 2011
Mensajes: 382
Modelo de smartphone: Lumia 520
Tu operador: Orange
Formatear hannspad

Quiero hacer una instalación totalmente limpia usando GATABCOMB y no se si formatear y hacerlo todo desde el recovery o desde ajustes/almacenamiento.

Espero vuestra opinión, un saludo.
Responder Con Cita


  #2  
Viejo 14/09/11, 22:40:10
Array

[xs_avatar]
pelicano33 pelicano33 no está en línea
Miembro del foro
 
Fecha de registro: jul 2011
Mensajes: 141
Modelo de smartphone: Xiaomi redmi 3S
Tu operador: Jazztel
Desde ajustes/almacenamiento no creo que te deje formatear nada que este montado, de modo que esa opción creo que se puede descartar.
Veamos lo que puede hacerse desde el CWM, en el menú principal hay dos opciones:
wipe data -> borra la partición que se monta en /data, que es la segunda partición de la memoria interna, de unos 2Gb.
wipe cache -> borra la partición que se monta en /cache, es una partición de la NAND de entre 100Mb y 200Mb.
Que nos queda:
/system, que es una partición de la NAND, y que supongo formateará el CWM antes de instalar la versión nueva, luego no tenemos que formatearla nosotros.
/sdcard, que es la partición 1 de la memoria interna, con unos 14Gb, y que el CWM no tiene ninguna opción para formatear, luego deberíamos hacerlo de otra forma. Una posibilidad es mediante adb, que forma parte del SDK de Android, y que ¡funciona desde el CWM!, para ello habría que conectar mediante el cable USB el PC y la tablet, arrancar en modo CWM, y desde una línea de comandos ejecutar:
adb devices
si aparece uno es que la cosa funciona, y podemos pasar a lo siguiente:
adb shell
eso nos abre un shell para que podamos ejecutar comandos en el tablet desde la línea de comandos del PC, en la captura tienes las órdenes que habría que ejecutar para borrar el contenido de dicha partición (por desgracia no tiene mkfs.vfat, de modo que no se puede formatear), yo la última obviamente no la he ejecutado, de modo que no se si funcionará bien, pero espero que si.
Finalmente llegaría la hora de instalar la nueva versión, para lo que habría que ejecutar un exit para volver a la línea de comandos del S.O. anfitrión, transferir la nueva rom, supongamos que se llama update.zip, y que la tienes en el directorio actual, en ese caso sería:
adb push update.zip /mnt
finalmente podrías ejecutar los dos wipes y instalar el update.zip.

Como no esta probado no garantizo que funcione, y desde luego no creo que merezca la pena, pero si quieres probarlo ya contarás como te va.

Se me ha olvidado que se vea en la captura un paso, el directorio /mnt no existe, de modo que antes del mount hay que crearlo con:
mkdir /mnt

Otra cosa más, la partición mmcblk2p1 es la microsd, si también la quieres formatear, esta si puede hacerse con ajustes, desmontándola previamente claro. O más fácilmente sacándola y formateándola en un PC con lector de tarjetas.

En el caso de que tuvieras microsd, el paso de transferir la imágen (update.zip) a la memoria interna con adb puede sustituirse por dejar previamente la imagen en la microsd.
Imágenes Adjuntas
Tipo de Archivo: png Pantallazo-LXTerminal.png (74.5 KB, 119 visitas)

Última edición por pelicano33 Día 14/09/11 a las 22:49:31.
Responder Con Cita
  #3  
Viejo 14/09/11, 23:10:13
Array

[xs_avatar]
desdelsur desdelsur no está en línea
Usuario veterano
 
Fecha de registro: jul 2011
Mensajes: 626
Tu operador: Simyo

Imagino que no lo habrás visto Pelicano33, pero en el CWM (por lo menos en la v2) en el apartado "mounts and Storage" te da opción a formatear boot, system,data,cache,sdcard y sd-ext.

En cualquier caso siempre es bueno tener otras opciones, y mas aún cuando hay "misterios sin resolver", jajaja
__________________


Si tienes pensado cambiarte a SIMYO ó JAZZTEL y no tienes invitación, ¡¡¡NO LO DUDES!!!, mándame un privado que ambos ganamos .
Responder Con Cita
  #4  
Viejo 14/09/11, 23:16:11
Array

[xs_avatar]
pelicano33 pelicano33 no está en línea
Miembro del foro
 
Fecha de registro: jul 2011
Mensajes: 141
Modelo de smartphone: Xiaomi redmi 3S
Tu operador: Jazztel
 Cita: Originalmente Escrito por desdelsur Ver Mensaje
Imagino que no lo habrás visto Pelicano33, pero en el CWM (por lo menos en la v2) en el apartado "mounts and Storage" te da opción a formatear boot, system,data,cache,sdcard y sd-ext.

En cualquier caso siempre es bueno tener otras opciones, y mas aún cuando hay "misterios sin resolver", jajaja
Exactamente, no se como no la había visto, busqué directamente en el menú de opciones avanzadas, y como no estaba ahí supuse que no lo tenía. En fin, lo que dices tu, para otra cosa servirá poder usar el adb desde el CWM.
Responder Con Cita
  #5  
Viejo 14/09/11, 23:37:37
Array

[xs_avatar]
jotta jotta no está en línea
Miembro del foro
 
Fecha de registro: jul 2011
Mensajes: 382
Modelo de smartphone: Lumia 520
Tu operador: Orange
 Cita: Originalmente Escrito por desdelsur Ver Mensaje
Imagino que no lo habrás visto Pelicano33, pero en el CWM (por lo menos en la v2) en el apartado "mounts and Storage" te da opción a formatear boot, system,data,cache,sdcard y sd-ext.

En cualquier caso siempre es bueno tener otras opciones, y mas aún cuando hay "misterios sin resolver", jajaja
Todas esas opciones las e visto pero no mi fiaba , gracias desdelsur y tambien a ti pelicano, de todas formas la memoria de 14g interna he mirado en propiedades y es fat32, en teoria no tiene porque haber complicaciones si formateo normal. No?????
En mount and storage que opcion deveria coger para formatear y tambien lo hace en fat32??????

Enviado desde mi GtabComb usando Tapatalk
Responder Con Cita
  #6  
Viejo 14/09/11, 23:47:40
Array

[xs_avatar]
desdelsur desdelsur no está en línea
Usuario veterano
 
Fecha de registro: jul 2011
Mensajes: 626
Tu operador: Simyo

Si quieres puedes formatearlo todo. (aunque como ya ha explicado pelicano33 no todas son necesarias si vas a reinstalar)

La sdcard es la interna y la sd-ext la externa.
__________________


Si tienes pensado cambiarte a SIMYO ó JAZZTEL y no tienes invitación, ¡¡¡NO LO DUDES!!!, mándame un privado que ambos ganamos .
Responder Con Cita
  #7  
Viejo 15/09/11, 00:03:02
Array

[xs_avatar]
pelicano33 pelicano33 no está en línea
Miembro del foro
 
Fecha de registro: jul 2011
Mensajes: 141
Modelo de smartphone: Xiaomi redmi 3S
Tu operador: Jazztel
 Cita: Originalmente Escrito por jotta Ver Mensaje
Todas esas opciones las e visto pero no mi fiaba , gracias desdelsur y tambien a ti pelicano, de todas formas la memoria de 14g interna he mirado en propiedades y es fat32, en teoria no tiene porque haber complicaciones si formateo normal. No?????
En mount and storage que opcion deveria coger para formatear y tambien lo hace en fat32??????

Enviado desde mi GtabComb usando Tapatalk
Si tiene la opción supongo que funcionará, aunque yo miré a ver si tenía el mkfs.vfat que es el programa normal de formatear particiones windows en linux, y no lo tiene, acabo de mirar la lista completa de órdenes que tiene y no veo ninguna que pueda servir para eso, de modo que ya no se que decirte, puede que la formatee en ext2 o yaffs2 (que son las únicas que tiene) y la líe. Yo no se si me arriesgaría a probar, porque si lo hace mal, la forma de arreglarlo no veo que sea trivial, habría que compilar una versión estática para ARM del mkfs.vfat (las de los linux que hay por ahí no valen porque son dinámicas), mandarla con adb push, cambiarle los permisos y finalmente ejecutarla, tu verás si te quieres arriesgar.

Si tienes una microsd puedes hacer una prueba, formatéala, y comprueba después si la usa al arrancar, si la formatea en ext2, no será capaz de usarla para copiar datos de las aplicaciones, y entonces estarás seguro de que formatear la sdcard es mala idea. Y en ese caso el estropicio no es grave, puedes reformatearla con fat32 en windows.

Última edición por pelicano33 Día 15/09/11 a las 00:09:16.
Responder Con Cita
  #8  
Viejo 15/09/11, 00:17:22
Array

[xs_avatar]
desdelsur desdelsur no está en línea
Usuario veterano
 
Fecha de registro: jul 2011
Mensajes: 626
Tu operador: Simyo

Yo he probado a formatear todas menos la externa y no he tenido problemas, sigue siendo fat32. Claro que con estas cosas, te puedes llevar una sorpresa
__________________


Si tienes pensado cambiarte a SIMYO ó JAZZTEL y no tienes invitación, ¡¡¡NO LO DUDES!!!, mándame un privado que ambos ganamos .
Responder Con Cita
  #9  
Viejo 15/09/11, 00:38:02
Array

[xs_avatar]
pelicano33 pelicano33 no está en línea
Miembro del foro
 
Fecha de registro: jul 2011
Mensajes: 141
Modelo de smartphone: Xiaomi redmi 3S
Tu operador: Jazztel
 Cita: Originalmente Escrito por desdelsur Ver Mensaje
Yo he probado a formatear todas menos la externa y no he tenido problemas, sigue siendo fat32. Claro que con estas cosas, te puedes llevar una sorpresa
Repasando las órdenes que tiene he encontrado las siguientes:
flash_image
erase_image
dump_image
mkyaffs2image
aparte del ya citado mkfs.ext2, de modo que lo más probable es que para las particiones fat32 emplee el erase_image (que supongo que las borra) en lugar de formatearlas.
Lo interesante es lo del dump_image, pensé que ya teníamos el método de hacer un backup perfecto, pero funciona mal, como el nvflash:

/sbin # dump_image recovery /sdcard/recovery.img
/sbin # dump_image system /sdcard/system.img
mtd: read error at 0x03ea0000 (I/O error)
/sbin # ls -l /sdcard/*.img
-rwxrwxrwx 1 root root 16777216 Sep 14 22:27 /sdcard/recovery.img
-rwxrwxrwx 1 root root 259653632 Sep 14 22:28 /sdcard/system.img

y al fichero leido para system le faltan 128K, exactamente igual que al leer con el nvflash, se ve que lo de los sectores defectuosos de la flash (que supongo que son los sectores que no se leen) no saben tratarlo bien, aunque del CWM puede que exista el código fuente por alguna parte, y a lo mejor podríamos arreglarlo.
Responder Con Cita
  #10  
Viejo 15/09/11, 02:24:05
Array

[xs_avatar]
pelicano33 pelicano33 no está en línea
Miembro del foro
 
Fecha de registro: jul 2011
Mensajes: 141
Modelo de smartphone: Xiaomi redmi 3S
Tu operador: Jazztel
Ya está encontrado:
https://github.com/CyanogenMod/andro...ead/flashutils
y la parte que interesa está en este otro directorio:
https://github.com/CyanogenMod/andro...bread/mtdutils
aunque si hay funciones para el manejo de los bloques defectuosos, no veo que se usen en la función del backup:

in = mtd_read_partition(partition);
if (in == NULL) {
close(fd);
unlink(filename);
printf("error opening %s: %s\n", partition_name, strerror(errno));
return -1;
}

total = 0;
while ((len = mtd_read_data(in, buf, BLOCK_SIZE)) > 0) {
wrote = write(fd, buf, len);
if (wrote != len) {
close(fd);
unlink(filename);
printf("error writing %s", filename);
return -1;
}
total += BLOCK_SIZE;
}

mtd_read_close(in);

y lo que tiene mtd_read_data es:

ssize_t mtd_read_data(MtdReadContext *ctx, char *data, size_t len)
{
ssize_t read = 0;
while (read < (int) len) {
if (ctx->consumed < ctx->partition->erase_size) {
size_t avail = ctx->partition->erase_size - ctx->consumed;
size_t copy = len - read < avail ? len - read : avail;
memcpy(data + read, ctx->buffer + ctx->consumed, copy);
ctx->consumed += copy;
read += copy;
}

// Read complete blocks directly into the user's buffer
while (ctx->consumed == ctx->partition->erase_size &&
len - read >= ctx->partition->erase_size) {
if (read_block(ctx->partition, ctx->fd, data + read)) return -1;
read += ctx->partition->erase_size;
}

if (read >= (int)len) {
return read;
}

// Read the next block into the buffer
if (ctx->consumed == ctx->partition->erase_size && read < (int) len) {
if (read_block(ctx->partition, ctx->fd, ctx->buffer)) return -1;
ctx->consumed = 0;
}
}

return read;
}

finalmente read_block es:
static int read_block(const MtdPartition *partition, int fd, char *data)
{
struct mtd_ecc_stats before, after;
if (ioctl(fd, ECCGETSTATS, &before)) {
fprintf(stderr, "mtd: ECCGETSTATS error (%s)\n", strerror(errno));
return -1;
}


loff_t pos = lseek64(fd, 0, SEEK_CUR);


ssize_t size = partition->erase_size;
int mgbb;


while (pos + size <= (int) partition->size) {
if (lseek64(fd, pos, SEEK_SET) != pos || read(fd, data, size) != size) {
fprintf(stderr, "mtd: read error at 0x%08llx (%s)\n",
pos, strerror(errno));
} else if (ioctl(fd, ECCGETSTATS, &after)) {
fprintf(stderr, "mtd: ECCGETSTATS error (%s)\n", strerror(errno));
return -1;
} else if (after.failed != before.failed) {
fprintf(stderr, "mtd: ECC errors (%d soft, %d hard) at 0x%08llx\n",
after.corrected - before.corrected,
after.failed - before.failed, pos);
// copy the comparison baseline for the next read.
memcpy(&before, &after, sizeof(struct mtd_ecc_stats));
} else if ((mgbb = ioctl(fd, MEMGETBADBLOCK, &pos))) {
fprintf(stderr,
"mtd: MEMGETBADBLOCK returned %d at 0x%08llx (errno=%d)\n",
mgbb, pos, errno);
} else {
return 0; // Success!
}


pos += partition->erase_size;
}


errno = ENOSPC;
return -1;
}

y como se ve no hay gestión de los bloques defectuosos, pone un error y punto.
Responder Con Cita
  #11  
Viejo 15/09/11, 11:15:23
Array

[xs_avatar]
desdelsur desdelsur no está en línea
Usuario veterano
 
Fecha de registro: jul 2011
Mensajes: 626
Tu operador: Simyo

Pelicano33, sería un puntazo fixear el CWM, le he echado un vistazo y la verdad es que a mi se me queda muy grande .

En cualquier caso creo que seria buena idea intentar contactar con Paul de android.modaco.com e intentar ponerle al tanto de lo que has averiguado. (parece que el chico esta de vaciones)
__________________


Si tienes pensado cambiarte a SIMYO ó JAZZTEL y no tienes invitación, ¡¡¡NO LO DUDES!!!, mándame un privado que ambos ganamos .
Responder Con Cita
  #12  
Viejo 15/09/11, 14:35:39
Array

[xs_avatar]
pelicano33 pelicano33 no está en línea
Miembro del foro
 
Fecha de registro: jul 2011
Mensajes: 141
Modelo de smartphone: Xiaomi redmi 3S
Tu operador: Jazztel
 Cita: Originalmente Escrito por desdelsur Ver Mensaje
Pelicano33, sería un puntazo fixear el CWM, le he echado un vistazo y la verdad es que a mi se me queda muy grande .

En cualquier caso creo que seria buena idea intentar contactar con Paul de android.modaco.com e intentar ponerle al tanto de lo que has averiguado. (parece que el chico esta de vaciones)
Seguro que lo sabe de sobra, el problema es que ese código es para todo tipo de dispositivos con Android, y probablemente no todos gestionen igual el tema de los bloques defectuosos en la NAND, de modo que poner un parche que arregla uno, pero que estropea otros no creo que les resulte muy rentable. Además lo lógico es que la NAND no tenga bloques defectuosos, salvo en las particiones grandes, ya que se escriben muy esporádicamente, y en ese caso andar escribiendo código para casos raros puede que tampoco sea muy rentable. El problema es que los nuestros parece que son todos así, de modo que en nuestro caso no es algo raro, y por eso, si lo queremos, nos tocará hacer el trabajo a nosotros. De todas formas, puede que el trabajo esté ya hecho, el CWM hace backups de las particiones, y la restauración funciona bien, luego el código bueno tiene que estar ya escrito en alguna parte, puede que en nandroid, pero el caso es que antes de mirar el código fuente lo probé y no sabía que rayos ponerle de parámetros, pero según lo que he visto en el código fuente creo que hay dos casos:
nandroid backup -> hace un backup creando él el directorio a partir de la fecha y la hora.
nandroid restore directorio -> recupera un backup del directorio dado.
Habrá que probar si en efecto es así, y si los backups del CWM se llevan bien con el nvflash, o en caso contrario como transformarlos, y ya tendríamos el problema resuelto.
Responder Con Cita
  #13  
Viejo 15/09/11, 16:37:22
Array

[xs_avatar]
pelicano33 pelicano33 no está en línea
Miembro del foro
 
Fecha de registro: jul 2011
Mensajes: 141
Modelo de smartphone: Xiaomi redmi 3S
Tu operador: Jazztel
Bueno, pues funciona, he hecho lo siguiente:
a) Copia de la ROM actual con CWM (la hice con nandroid por probarlo, pero vale con el interfaz suyo).
b) Arranco, conecto el bicho por USB al PC, y paso los ficheros de la copia que acabo de hacer al directorio en que tengo el nvflash, se sobreescribe el system.img si ya existe.
c) Modifico el fichero cfg para que la partición SOS sea recovery.img, la LNX sea boot.img, y la APP system.img (si no lo era ya).
d) Apago, enciendo en el modo APX, y transfiero el backup anterior con el fichero .bat correspondiente.
e) Cuando reinicie apago, enciendo en CWM (que acabamos de instalar con el recovery.img) y hago un wipe data y wipe cache.
f) Vuelvo a apagar, enciendo en modo normal y arranca como si fuera nuevo.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Foro Tablets / Laptops > Otras tablets con Android > Tablets Hannspad > Hannspad



Hora actual: 01:23:16 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /