apastor
29/07/15, 10:28:08
INTRODUCCIÓN
Hago este manual para contar un poco como va el tema del IMEI en los Red Rice 1S y en general en los móviles con procesador SnapDragon de Qualcomm. Yo por desgracia no sabía nada de esto cuando empecé a trastear con las ROMs, me tocó la china y ahora tengo un bonito ladrillo.
Asi que os recomiendo que si sois flamantes poseedores de un Red Rice 1S y tenéis pensado cambiar la ROM os leais esta entrada para poder hacer una copia de seguridad el IMEI antes de nada.
Let’s go.
EL IMEI EN EL RED RICE 1S
El Xiaomi Red Rice 1S tiene un procesador Qualcomm Snapdragon 400, concretamente la CPU MSM8226, este detalle que lo diferencia del Red Rice 1 hace que el problema de la pérdida del IMEI sea bastante peliagudo..
El Red Rice 1 tiene un procesador Mediatek, y para este tipo de procesadores hay muchas herramientas como Mobile Uncle Tools, SPFlash, etc y abundantes manuales que permiten hacer copias y restauraciones del IMEI e incluso grabar o cambiar el IMEI a mano si lo hemos perdido y no tenemos copia de seguridad previa. AVISO: cambiar el IMEI a un móvil es ilegal.
El Red Rice 1S en cambio tiene un procesador Qualcomm y las abundantes herramientas del Mediatek no valen. Los Qualcomm parece ser que guardan el IMEI en varias particiones de su memoria interna. ¿Como se distribuyen las particiones en un Red Rice 1S?, pues asi: el Red Rice 1S tiene un disco llamado /dev/block/mmcblk0 con una capacidad de 7818 MB, es decir los 8Gb de memoria interna que nos dicen en sus especificaciones. Ese disco está dividido en las siguientes 29 particiones:
Partition Number Start End Size File system Name
/dev/block/mmcblk0p1 1 17.4kB 2097kB 2080kB sbl1
/dev/block/mmcblk0p2 2 2097kB 4177kB 2080kB sbl1bak
/dev/block/mmcblk0p3 3 4177kB 5225kB 1049kB rpm
/dev/block/mmcblk0p4 4 5225kB 6274kB 1049kB rpmbak
/dev/block/mmcblk0p5 5 6274kB 7323kB 1049kB tz
/dev/block/mmcblk0p6 6 7323kB 8371kB 1049kB tzbak
/dev/block/mmcblk0p7 7 8371kB 8379kB 8192B ssd
/dev/block/mmcblk0p8 8 8379kB 9428kB 1049kB sdi
/dev/block/mmcblk0p9 9 9428kB 10.5MB 1049kB DDR
/dev/block/mmcblk0p10 10 10.5MB 14.7MB 4194kB aboot
/dev/block/mmcblk0p11 11 14.7MB 18.9MB 4194kB abootbak
/dev/block/mmcblk0p12 12 18.9MB 24.1MB 5243kB bk1
/dev/block/mmcblk0p13 13 24.1MB 28.3MB 4194kB misc
/dev/block/mmcblk0p14 14 28.3MB 36.7MB 8389kB logo
/dev/block/mmcblk0p15 15 36.7MB 67.1MB 30.4MB bk2
/dev/block/mmcblk0p16 16 67.1MB 68.7MB 1573kB modemst1
/dev/block/mmcblk0p17 17 68.7MB 70.2MB 1573kB modemst2
/dev/block/mmcblk0p18 18 70.2MB 70.3MB 1024B fsc
/dev/block/mmcblk0p19 19 70.3MB 134MB 64.0MB bk3
/dev/block/mmcblk0p20 20 134MB 136MB 1573kB fsg
/dev/block/mmcblk0p21 21 136MB 168MB 32.0MB bk4
/dev/block/mmcblk0p22 22 168MB 201MB 33.6MB bk5
/dev/block/mmcblk0p23 23 201MB 268MB 67.1MB fat16 modem
/dev/block/mmcblk0p24 24 268MB 285MB 16.8MB boot
/dev/block/mmcblk0p25 25 285MB 302MB 16.8MB recovery
/dev/block/mmcblk0p26 26 302MB 336MB 33.6MB ext4 persist
/dev/block/mmcblk0p27 27 336MB 1174MB 839MB ext4 system
/dev/block/mmcblk0p28 28 1174MB 1577MB 403MB ext4 cache
/dev/block/mmcblk0p29 29 1577MB 7818MB 6241MB ext4 userdata
La mayoría, por mas que he buscado, no tengo ni idea de que guardan, pero voy a contar lo que he ido averiguando:
sbl1: guarda el boot loader, lo primero que se ejecuta en el arranque del móvil y se encarga de cargar el resto. La partición sbl1bak es simplemente una copia de seguridad de dicha partición. En general las particiones ...bak son una copia de seguridad de la partición similar.
modem: guarda el firmware o los drivers de acceso a la tarjeta GSM/3G, Wifi, etc de la placa base del móvil.
boot: guarda el kernel Linux con el que arranca el móvil.
recovery: guarda los programas usados en el arranque con recovery.
persist: creo que guarda datos de las aplicaciones de usuario.
system: guarda el sistema operativo en sí mismo, con todos los programas que vienen por defecto y los que vayamos instalando. Tiene 839 Mb de capacidad, que es el famoso "espacio de aplicaciones de Android".
cache: memoria caché del móvil (esas cachés que limpiamos al cargar una ROM)
userdata: son 6.2Gb con los datos de usuario, donde se guardan fotos, videos, descargas, etc. Es la "SD Interna" que nos aparece al conectar el movil por USB al PC.
Luego hay varias particiones que se supone guardan los datos del IMEI y MAC de la Wifi, tras consultar en diversos foros (de Miui y de xda-developpers principalmente) parece ser que hay consenso en que al menos son estas particiones de la lista antes descrita: modemst1, modemst2, fsc,fsg y quizá modem.
Una buena pista que confirma está basada en el progroma del sistema /system/bin/rmt_storage. Al parecer es el programa creado por Qualcomm para que nuestro Android obtenga los IMEI, Wifi y en general se comunique con el baseband processor (https://en.wikipedia.org/wiki/Baseband_processor), el procesador que lleva las comunicaciones del móvil. Bueno, pues si miramos los log de arranque de nuestro Red Rice 1s (activando la depuración USB en el móvi, tecleando en el PC “adb logcat > log.txt” y encendiendo el movil conectado con el cable USB) vemos que en todo el tocho de información guardado en el fichero log.txt aparece esto:
I/rmt_storage( 186): Registering modemst1: 0x4a /boot/modem_fs1
I/rmt_storage( 186): Registering modemst2: 0x4b /boot/modem_fs2
I/rmt_storage( 186): Registering fsg: 0x58 /boot/modem_fsg
I/rmt_storage( 186): Registering fsc: 0xff /boot/modem_fsc
I/rmt_storage( 186): 4 GPT partitions found
Bueno, pues este programa rmt_storage accede a estas 4 particiones en el arranque, lo cual es un indicio bastante fuerte de que esas particiones guardan datos del IMEI, MAC Wifi y demás.
COMO SABEMOS QUE HEMOS PERDIDO LOS DATOS DE IMEI, MAC WIFI, ETC.
Bueno, si no se reconoce la SIM ni la wifi puede activarse es una pista bastante fiable de que esos datos se han ido al carajo.
La forma de confirmarlo es ir a Ajustes->Acerca de, y ver alli que la baseband ha desaparecido, asi como la MAC de la wifi y del bluetooth, como muestran estas capturas:
753331
-
753332-.
Además, si escribimos *#06# en el marcador telefónico del móvil no nos saldrá el IMEI como es habitual, sino que saldrá un mensaje tipo IMEI Null/0/Invalid. Foto:
753330
COPIA DE SEGURIDAD Y RESTAURACIÓN DEL IMEI
Bueno, pues antes de empezar a trastear con ROMs y que no os pase como mi, lo lógico sería hacer copias de seguridad de dichas particiones y de alguna más por si acaso. Hay 3 métodos que yo conozca:
1. Copia manual
Necesitamos tener instalado y funcionando el adb en nuestro PC (investiga como hacerlo sino lo sabes, hay muchos manuales) y tener activado el modo depuración USB del móvil en Opciones de Desarrollador. Enchufamos el móvil al PC con el cable USB y conectamos desde terminal escribiendo (se hara desde un cmd.exe si estamos en Windows o desde un terminal si estamos en Linux):
adb shell
Miramos la pantalla del móvil: si el móvil pide autorización para que acceda el PC se la damos . Una vez dentro, tenemos que escalar a superusuario con
su
De nuevo si el movil nos pide permiso se lo damos. Sabemos que somos superusuarios cuando para teclear los comandos aparece el símbolo “#” en lugar de “$”. Ahora vamos a copiar las particiones que nos interesan:
dd if=/dev/block/mmcblk0p16 of=/sdcard/mmcblk0p16_modemst1
dd if=/dev/block/mmcblk0p17 of=/sdcard/mmcblk0p17_modemst2
dd if=/dev/block/mmcblk0p20 of=/sdcard/mmcblk0p20_fsg
dd if=/dev/block/mmcblk0p23 of=/sdcard/mmcblk0p23_modem
dd if=/dev/block/mmcblk0p9 of=/sdcard/mmcblk0p9_DDR
dd if=/dev/block/mmcblk0p12 of=/sdcard/mmcblk0p12_bk1
dd if=/dev/block/mmcblk0p18 of=/sdcard/mmcblk0p18_fsc
Esto copiará cada partición a un fichero dentro de la memoria SD del móvil. Los ficheros creados serán mmcblk0p16_modemst1, mmcblk0p17_modemst2, …. y mmcblk0p18_fsc. Los nombres de los ficheros destino en /sdcard/ son totalmente arbitrarios y podríamos haberlos llamado "perico_de_los_palotes_1" y así sucesivamente, pero es mas adecuado que su nombre nos recuerden con que partición estan asociados, ¿no?. Como se ve, copiamos varias particiones más de las dichas en un primer momento . No se por qué, pero en general en Internet he visto que se copian todas esas así que por si acaso yo también las copio.
Desde la memoria SD, que es la memoria interna de nuestro móvil, lo adecuado sería ahora copiarlas al disco duro del PC y de alli a lugar seguro (carpeta Dropbox, Drive, etc) por si alguna vez en el futuro nos hacen falta.
Si tenemos que hacer la restauración porque se nos han ido los datos del IMEI, la MAC de la wifi o el bluetooth lo que hariamos sería copiar esos ficheros de vuelta a la memoria interna dela SD, conectar con adb shell, hacernos superusuarios y teclear:
dd if=/dev/zero of=/dev/block/mmcblk0p16
dd if=/dev/zero of=/dev/block/mmcblk0p17
dd if=/dev/zero of=/dev/block/mmcblk0p20
reboot
Esto es un borrado que se hace antes de cargar las particiones: las rellenamos con ceros para limpiarlas. Luego reiniciamos el móil, entramos de nuevo en el adb shell y hacemos:
dd if=/sdcard/mmcblk0p16_modemst1 of=/dev/block/mmcblk0p16
dd if=/sdcard/mmcblk0p17_modemst2 of=/dev/block/mmcblk0p17
dd if=/sdcard/mmcblk0p20_fsg of=/dev/block/mmcblk0p20
dd if=/sdcard/mmcblk0p23_modem of=/dev/block/mmcblk0p23
dd if=/sdcard/mmcblk0p9_DDR of=/dev/block/mmcblk0p9
dd if=/sdcard/mmcblk0p12_bk1 of=/dev/block/mmcblk0p12
dd if=/sdcard/mmcblk0p18_fsc of=/dev/block/mmcblk0p18
reboot
Como se ve, es la operación inversa a la copia de seguridad. Tras eso, reiniciamos el móvil y ya debería tener su IMEI, MAC y todo lo demás bien, según se comentan en todos los foros donde se describe este método.
NOTA: estas instrucciones son para el Red Rice 1S, pero en general deberían servir para cualquier móvil con procesador Qualcomm SnapDragon. La única diferencia serían las particiones a copiar (en lugar de mmcblk0p16, mmcblk0p17, … serían otras ya que cambian de un móvil a otro). Sería tan sencillo como averiguar que particiones son las del IMEI en nuestro móvil y ya podría usarse este método.
2. Aplicación para backup/restauración del Google Play
Seria usando la aplicación: https://play.google.com/store/apps/details?id=ma.wanam.partitions, que no es particular del Red Rice 1S, en teoría sirve para otros modelos de móvil.
Aquí viene un manualillo de como usarla:
http://www.gadgetstroop.com/2015/05/backup-restore-efs-partitions-xiaomi-mi-devices.html?m=1 (http://www.gadgetstroop.com/2015/05/backup-restore-efs-partitions-xiaomi-mi-devices.html?m=1)
En nuestro caso, marcamos las 4 particiones que hace falta copiar (o las 7 del ejemplo anterior) y le damos hacer la copia donde queramos. Una cosa llamativa que tiene es que marca en amarillo las particiones donde se supone que está el IMEI y los datos relevantes, lo cual nos puede ayudar si no lo tenemos muy claro.
Tiene múltiples opciones: hacer la copia en SD interna o externa, comprimir el fichero con la copia o no, etc. La misma aplicación sirve para restaurar la copia. Por supuesto, no olvidemos sacar los ficheros con la copia fuera del móvil y ponerlos lugar seguro.
3. Aplicación para backup/restauración de xda-developpers
Un compañero de xda-developpers ha hecho también una aplicación específica para Red Rice 1S para esto, aquí lo cuenta y pone un enlace de descarga
http://forum.xda-developers.com/redmi-1s/general/tool-imei-backup-restore-pc-t3010987
(http://forum.xda-developers.com/redmi-1s/general/tool-imei-backup-restore-pc-t3010987)
Esta aplicación no la he probado, así que no puedo decir mucho sobre ella. Creo que se instala vía recovery y es parecida a la del apartado anterior, aunque mas rudimentaria.
==================================
FIN DE LA PARTE 1: En la segunda parte veremos que se puede hacer cuando se borra el IMEI y no hay copia de seguridad. En Internet hay varios testimonios y manuales de gente que ha logrado recuperarlo. En mi caso no ha funcionado ninguno, pero aún así los contaré por si a alguien le resuelve la papeleta.
To be continued...
Hago este manual para contar un poco como va el tema del IMEI en los Red Rice 1S y en general en los móviles con procesador SnapDragon de Qualcomm. Yo por desgracia no sabía nada de esto cuando empecé a trastear con las ROMs, me tocó la china y ahora tengo un bonito ladrillo.
Asi que os recomiendo que si sois flamantes poseedores de un Red Rice 1S y tenéis pensado cambiar la ROM os leais esta entrada para poder hacer una copia de seguridad el IMEI antes de nada.
Let’s go.
EL IMEI EN EL RED RICE 1S
El Xiaomi Red Rice 1S tiene un procesador Qualcomm Snapdragon 400, concretamente la CPU MSM8226, este detalle que lo diferencia del Red Rice 1 hace que el problema de la pérdida del IMEI sea bastante peliagudo..
El Red Rice 1 tiene un procesador Mediatek, y para este tipo de procesadores hay muchas herramientas como Mobile Uncle Tools, SPFlash, etc y abundantes manuales que permiten hacer copias y restauraciones del IMEI e incluso grabar o cambiar el IMEI a mano si lo hemos perdido y no tenemos copia de seguridad previa. AVISO: cambiar el IMEI a un móvil es ilegal.
El Red Rice 1S en cambio tiene un procesador Qualcomm y las abundantes herramientas del Mediatek no valen. Los Qualcomm parece ser que guardan el IMEI en varias particiones de su memoria interna. ¿Como se distribuyen las particiones en un Red Rice 1S?, pues asi: el Red Rice 1S tiene un disco llamado /dev/block/mmcblk0 con una capacidad de 7818 MB, es decir los 8Gb de memoria interna que nos dicen en sus especificaciones. Ese disco está dividido en las siguientes 29 particiones:
Partition Number Start End Size File system Name
/dev/block/mmcblk0p1 1 17.4kB 2097kB 2080kB sbl1
/dev/block/mmcblk0p2 2 2097kB 4177kB 2080kB sbl1bak
/dev/block/mmcblk0p3 3 4177kB 5225kB 1049kB rpm
/dev/block/mmcblk0p4 4 5225kB 6274kB 1049kB rpmbak
/dev/block/mmcblk0p5 5 6274kB 7323kB 1049kB tz
/dev/block/mmcblk0p6 6 7323kB 8371kB 1049kB tzbak
/dev/block/mmcblk0p7 7 8371kB 8379kB 8192B ssd
/dev/block/mmcblk0p8 8 8379kB 9428kB 1049kB sdi
/dev/block/mmcblk0p9 9 9428kB 10.5MB 1049kB DDR
/dev/block/mmcblk0p10 10 10.5MB 14.7MB 4194kB aboot
/dev/block/mmcblk0p11 11 14.7MB 18.9MB 4194kB abootbak
/dev/block/mmcblk0p12 12 18.9MB 24.1MB 5243kB bk1
/dev/block/mmcblk0p13 13 24.1MB 28.3MB 4194kB misc
/dev/block/mmcblk0p14 14 28.3MB 36.7MB 8389kB logo
/dev/block/mmcblk0p15 15 36.7MB 67.1MB 30.4MB bk2
/dev/block/mmcblk0p16 16 67.1MB 68.7MB 1573kB modemst1
/dev/block/mmcblk0p17 17 68.7MB 70.2MB 1573kB modemst2
/dev/block/mmcblk0p18 18 70.2MB 70.3MB 1024B fsc
/dev/block/mmcblk0p19 19 70.3MB 134MB 64.0MB bk3
/dev/block/mmcblk0p20 20 134MB 136MB 1573kB fsg
/dev/block/mmcblk0p21 21 136MB 168MB 32.0MB bk4
/dev/block/mmcblk0p22 22 168MB 201MB 33.6MB bk5
/dev/block/mmcblk0p23 23 201MB 268MB 67.1MB fat16 modem
/dev/block/mmcblk0p24 24 268MB 285MB 16.8MB boot
/dev/block/mmcblk0p25 25 285MB 302MB 16.8MB recovery
/dev/block/mmcblk0p26 26 302MB 336MB 33.6MB ext4 persist
/dev/block/mmcblk0p27 27 336MB 1174MB 839MB ext4 system
/dev/block/mmcblk0p28 28 1174MB 1577MB 403MB ext4 cache
/dev/block/mmcblk0p29 29 1577MB 7818MB 6241MB ext4 userdata
La mayoría, por mas que he buscado, no tengo ni idea de que guardan, pero voy a contar lo que he ido averiguando:
sbl1: guarda el boot loader, lo primero que se ejecuta en el arranque del móvil y se encarga de cargar el resto. La partición sbl1bak es simplemente una copia de seguridad de dicha partición. En general las particiones ...bak son una copia de seguridad de la partición similar.
modem: guarda el firmware o los drivers de acceso a la tarjeta GSM/3G, Wifi, etc de la placa base del móvil.
boot: guarda el kernel Linux con el que arranca el móvil.
recovery: guarda los programas usados en el arranque con recovery.
persist: creo que guarda datos de las aplicaciones de usuario.
system: guarda el sistema operativo en sí mismo, con todos los programas que vienen por defecto y los que vayamos instalando. Tiene 839 Mb de capacidad, que es el famoso "espacio de aplicaciones de Android".
cache: memoria caché del móvil (esas cachés que limpiamos al cargar una ROM)
userdata: son 6.2Gb con los datos de usuario, donde se guardan fotos, videos, descargas, etc. Es la "SD Interna" que nos aparece al conectar el movil por USB al PC.
Luego hay varias particiones que se supone guardan los datos del IMEI y MAC de la Wifi, tras consultar en diversos foros (de Miui y de xda-developpers principalmente) parece ser que hay consenso en que al menos son estas particiones de la lista antes descrita: modemst1, modemst2, fsc,fsg y quizá modem.
Una buena pista que confirma está basada en el progroma del sistema /system/bin/rmt_storage. Al parecer es el programa creado por Qualcomm para que nuestro Android obtenga los IMEI, Wifi y en general se comunique con el baseband processor (https://en.wikipedia.org/wiki/Baseband_processor), el procesador que lleva las comunicaciones del móvil. Bueno, pues si miramos los log de arranque de nuestro Red Rice 1s (activando la depuración USB en el móvi, tecleando en el PC “adb logcat > log.txt” y encendiendo el movil conectado con el cable USB) vemos que en todo el tocho de información guardado en el fichero log.txt aparece esto:
I/rmt_storage( 186): Registering modemst1: 0x4a /boot/modem_fs1
I/rmt_storage( 186): Registering modemst2: 0x4b /boot/modem_fs2
I/rmt_storage( 186): Registering fsg: 0x58 /boot/modem_fsg
I/rmt_storage( 186): Registering fsc: 0xff /boot/modem_fsc
I/rmt_storage( 186): 4 GPT partitions found
Bueno, pues este programa rmt_storage accede a estas 4 particiones en el arranque, lo cual es un indicio bastante fuerte de que esas particiones guardan datos del IMEI, MAC Wifi y demás.
COMO SABEMOS QUE HEMOS PERDIDO LOS DATOS DE IMEI, MAC WIFI, ETC.
Bueno, si no se reconoce la SIM ni la wifi puede activarse es una pista bastante fiable de que esos datos se han ido al carajo.
La forma de confirmarlo es ir a Ajustes->Acerca de, y ver alli que la baseband ha desaparecido, asi como la MAC de la wifi y del bluetooth, como muestran estas capturas:
753331
-
753332-.
Además, si escribimos *#06# en el marcador telefónico del móvil no nos saldrá el IMEI como es habitual, sino que saldrá un mensaje tipo IMEI Null/0/Invalid. Foto:
753330
COPIA DE SEGURIDAD Y RESTAURACIÓN DEL IMEI
Bueno, pues antes de empezar a trastear con ROMs y que no os pase como mi, lo lógico sería hacer copias de seguridad de dichas particiones y de alguna más por si acaso. Hay 3 métodos que yo conozca:
1. Copia manual
Necesitamos tener instalado y funcionando el adb en nuestro PC (investiga como hacerlo sino lo sabes, hay muchos manuales) y tener activado el modo depuración USB del móvil en Opciones de Desarrollador. Enchufamos el móvil al PC con el cable USB y conectamos desde terminal escribiendo (se hara desde un cmd.exe si estamos en Windows o desde un terminal si estamos en Linux):
adb shell
Miramos la pantalla del móvil: si el móvil pide autorización para que acceda el PC se la damos . Una vez dentro, tenemos que escalar a superusuario con
su
De nuevo si el movil nos pide permiso se lo damos. Sabemos que somos superusuarios cuando para teclear los comandos aparece el símbolo “#” en lugar de “$”. Ahora vamos a copiar las particiones que nos interesan:
dd if=/dev/block/mmcblk0p16 of=/sdcard/mmcblk0p16_modemst1
dd if=/dev/block/mmcblk0p17 of=/sdcard/mmcblk0p17_modemst2
dd if=/dev/block/mmcblk0p20 of=/sdcard/mmcblk0p20_fsg
dd if=/dev/block/mmcblk0p23 of=/sdcard/mmcblk0p23_modem
dd if=/dev/block/mmcblk0p9 of=/sdcard/mmcblk0p9_DDR
dd if=/dev/block/mmcblk0p12 of=/sdcard/mmcblk0p12_bk1
dd if=/dev/block/mmcblk0p18 of=/sdcard/mmcblk0p18_fsc
Esto copiará cada partición a un fichero dentro de la memoria SD del móvil. Los ficheros creados serán mmcblk0p16_modemst1, mmcblk0p17_modemst2, …. y mmcblk0p18_fsc. Los nombres de los ficheros destino en /sdcard/ son totalmente arbitrarios y podríamos haberlos llamado "perico_de_los_palotes_1" y así sucesivamente, pero es mas adecuado que su nombre nos recuerden con que partición estan asociados, ¿no?. Como se ve, copiamos varias particiones más de las dichas en un primer momento . No se por qué, pero en general en Internet he visto que se copian todas esas así que por si acaso yo también las copio.
Desde la memoria SD, que es la memoria interna de nuestro móvil, lo adecuado sería ahora copiarlas al disco duro del PC y de alli a lugar seguro (carpeta Dropbox, Drive, etc) por si alguna vez en el futuro nos hacen falta.
Si tenemos que hacer la restauración porque se nos han ido los datos del IMEI, la MAC de la wifi o el bluetooth lo que hariamos sería copiar esos ficheros de vuelta a la memoria interna dela SD, conectar con adb shell, hacernos superusuarios y teclear:
dd if=/dev/zero of=/dev/block/mmcblk0p16
dd if=/dev/zero of=/dev/block/mmcblk0p17
dd if=/dev/zero of=/dev/block/mmcblk0p20
reboot
Esto es un borrado que se hace antes de cargar las particiones: las rellenamos con ceros para limpiarlas. Luego reiniciamos el móil, entramos de nuevo en el adb shell y hacemos:
dd if=/sdcard/mmcblk0p16_modemst1 of=/dev/block/mmcblk0p16
dd if=/sdcard/mmcblk0p17_modemst2 of=/dev/block/mmcblk0p17
dd if=/sdcard/mmcblk0p20_fsg of=/dev/block/mmcblk0p20
dd if=/sdcard/mmcblk0p23_modem of=/dev/block/mmcblk0p23
dd if=/sdcard/mmcblk0p9_DDR of=/dev/block/mmcblk0p9
dd if=/sdcard/mmcblk0p12_bk1 of=/dev/block/mmcblk0p12
dd if=/sdcard/mmcblk0p18_fsc of=/dev/block/mmcblk0p18
reboot
Como se ve, es la operación inversa a la copia de seguridad. Tras eso, reiniciamos el móvil y ya debería tener su IMEI, MAC y todo lo demás bien, según se comentan en todos los foros donde se describe este método.
NOTA: estas instrucciones son para el Red Rice 1S, pero en general deberían servir para cualquier móvil con procesador Qualcomm SnapDragon. La única diferencia serían las particiones a copiar (en lugar de mmcblk0p16, mmcblk0p17, … serían otras ya que cambian de un móvil a otro). Sería tan sencillo como averiguar que particiones son las del IMEI en nuestro móvil y ya podría usarse este método.
2. Aplicación para backup/restauración del Google Play
Seria usando la aplicación: https://play.google.com/store/apps/details?id=ma.wanam.partitions, que no es particular del Red Rice 1S, en teoría sirve para otros modelos de móvil.
Aquí viene un manualillo de como usarla:
http://www.gadgetstroop.com/2015/05/backup-restore-efs-partitions-xiaomi-mi-devices.html?m=1 (http://www.gadgetstroop.com/2015/05/backup-restore-efs-partitions-xiaomi-mi-devices.html?m=1)
En nuestro caso, marcamos las 4 particiones que hace falta copiar (o las 7 del ejemplo anterior) y le damos hacer la copia donde queramos. Una cosa llamativa que tiene es que marca en amarillo las particiones donde se supone que está el IMEI y los datos relevantes, lo cual nos puede ayudar si no lo tenemos muy claro.
Tiene múltiples opciones: hacer la copia en SD interna o externa, comprimir el fichero con la copia o no, etc. La misma aplicación sirve para restaurar la copia. Por supuesto, no olvidemos sacar los ficheros con la copia fuera del móvil y ponerlos lugar seguro.
3. Aplicación para backup/restauración de xda-developpers
Un compañero de xda-developpers ha hecho también una aplicación específica para Red Rice 1S para esto, aquí lo cuenta y pone un enlace de descarga
http://forum.xda-developers.com/redmi-1s/general/tool-imei-backup-restore-pc-t3010987
(http://forum.xda-developers.com/redmi-1s/general/tool-imei-backup-restore-pc-t3010987)
Esta aplicación no la he probado, así que no puedo decir mucho sobre ella. Creo que se instala vía recovery y es parecida a la del apartado anterior, aunque mas rudimentaria.
==================================
FIN DE LA PARTE 1: En la segunda parte veremos que se puede hacer cuando se borra el IMEI y no hay copia de seguridad. En Internet hay varios testimonios y manuales de gente que ha logrado recuperarlo. En mi caso no ha funcionado ninguno, pero aún así los contaré por si a alguien le resuelve la papeleta.
To be continued...