Visualizzazione stampabile
-
@pagaleno Intanto fai il root o installa una recovery CWM, poi metti adb e i driver sul computer. A questo punto possiamo vedere di sistemare tramite terminale.
@superdild Da nuovo, la prima volta che un cellulare viene acceso, quel messaggio spunta per forza (prende l'ora di default impostata nel loader). Il problema mio è che quel log non era stato creato a cellulare nuovo, ma a cellulare "lavato" XD
Teoricamente tutti i file presenti nel telefono dovrebbero essere soltanto copie, per mantenere originale il contenuto della partizione EFS vera e propria. A volte capita che questi file "sparsi" tra system e data vengano modificati e si da erroneamente la colpa alla partizione EFS corrotta.
In riassunto quando le copie del file degli IMEI presenti sul telefono sono diverse tra loro il cellulare mostra un IMEI generico "di servizio" ed è necessario capire quale file è stato modificato, per ripristinarlo al piu' presto.
Comunque puoi verificare se sono diverse con un md5 ;)
-
Quote:
Originariamente inviato da
VanniX
Rispondo qui a un utente che me lo ha chiesto in privato:
Il metodo in teoria funziona su tutti i terminali samsung (a patto che la partizione non sia stata cancellata del tutto).
Cambiano ovviamente i dispositivi da montare, ad esempio per un Galaxy S2 la partizione EFS è la mmcblk0p1
Consiglio comunque di effettuare un backup, prima di procedere con le prove, con i seguenti comandi da ADB:
BACKUP *
su
dd if=/dev/block/mmcblk0p1 of=/sdcard/EFS_S2.img
RESTORE *
su
dd if=/sdcard/EFS_S2.img of=/dev/block/mmcblk0p1
* Sostituire /dev/block/mmcblk0p1 con il dispositivo corrispondente alla partizione EFS nel terminale in uso.
Potresti darmi una spiegazione più dettagliata? Grazie.
-
Quote:
Originariamente inviato da
VanniX
@pagaleno Intanto fai il root o installa una recovery CWM, poi metti adb e i driver sul computer. A questo punto possiamo vedere di sistemare tramite terminale.
@superdild Da nuovo, la prima volta che un cellulare viene acceso, quel messaggio spunta per forza (prende l'ora di default impostata nel loader). Il problema mio è che quel log non era stato creato a cellulare nuovo, ma a cellulare "lavato" XD
Teoricamente tutti i file presenti nel telefono dovrebbero essere soltanto copie, per mantenere originale il contenuto della partizione EFS vera e propria. A volte capita che questi file "sparsi" tra system e data vengano modificati e si da erroneamente la colpa alla partizione EFS corrotta.
In riassunto quando le copie del file degli IMEI presenti sul telefono sono diverse tra loro il cellulare mostra un IMEI generico "di servizio" ed è necessario capire quale file è stato modificato, per ripristinarlo al piu' presto.
Comunque puoi verificare se sono diverse con un md5 ;)
Fatto. Dopo cosa devo fare?
-
Dopo fai un backup 1:1 della partizione, ovvero:
A sistema avviato entra con adb, loggati come root (scrivi "su") e poi dai "mount". Vedi cosa è montato in /EFS e prendi il percorso intero di quel file.
A questo punto dai un dd con input file quello appena letto e con output file /sdcard/EFS_backup.img
Ora hai un'immagine della partizione EFS in /sdcard. Se hai linux puoi montarla come ext4 e leggerne e modificarne il contenuto.
-
Quote:
Originariamente inviato da
VanniX
Dopo fai un backup 1:1 della partizione, ovvero:
A sistema avviato entra con adb, loggati come root (scrivi "su") e poi dai "mount". Vedi cosa è montato in /EFS e prendi il percorso intero di quel file.
A questo punto dai un dd con input file quello appena letto e con output file /sdcard/EFS_backup.img
Ora hai un'immagine della partizione EFS in /sdcard. Se hai linux puoi montarla come ext4 e leggerne e modificarne il contenuto.
Come si entra in adb?
-
Da windows:
Start -> esegui -> cmd.exe (click destro -> "esegui come amministratore") -> cd [percorso cartella sdk] -> adb shell
Da linux:
Terminale -> adb shell
-
Quote:
Originariamente inviato da
VanniX
Da windows:
Start -> esegui -> cmd.exe (click destro -> "esegui come amministratore") -> cd [percorso cartella sdk] -> adb shell
Da linux:
Terminale -> adb shell
Digitando "su" e poi "mount" mi appare questo:
Microsoft Windows [Versione 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Tutti i diritti riservati.
C:\Windows\system32>cd\
C:\>cd adb
C:\ADB>adb shell
shell@android:/ $ su
su
shell@android:/ # mount
mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p9 /system ext4 ro,noatime,barrier=1,nodelalloc,data=ordered 0
0
/dev/block/mmcblk0p7 /cache ext4 rw,nosuid,nodev,noatime,barrier=1,nodelalloc,da
ta=ordered 0 0
/dev/block/mmcblk0p1 /efs ext4 rw,nosuid,nodev,noatime,barrier=1,nodelalloc,data
=ordered 0 0
/dev/block/mmcblk0p10 /data ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered,
noauto_da_alloc 0 0
/sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0
/dev/block/vold/259:3 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,noatime,no
diratime,uid=1000,gid=1015,fmask=0002,dmask=0002,a llow_utime=0020,codepage=cp437
,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro,discard 0 0
tmpfs /mnt/sdcard/external_sd tmpfs rw,dirsync,nosuid,nodev,noexec,noatime,nodir
atime,size=0k,mode=755,gid=1000 0 0
tmpfs /mnt/sdcard/usbStorage tmpfs rw,dirsync,nosuid,nodev,noexec,noatime,nodira
time,size=0k,mode=755,gid=1000 0 0
/dev/block/vold/179:9 /mnt/sdcard/external_sd vfat rw,dirsync,nosuid,nodev,noexe
c,noatime,nodiratime,uid=1000,gid=1023,fmask=0002, dmask=0002,allow_utime=0020,co
depage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:9 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,noati
me,nodiratime,uid=1000,gid=1023,fmask=0002,dmask=0 002,allow_utime=0020,codepage=
cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/external_sd/.android_secure tmpfs ro,relatime,size=0k,mode=000
0 0
shell@android:/ #
-
Ho effettuato il backup:
127|shell@android:/ # dd if=/dev/block/mmcblk0p1 of=/sdcard/EFS_S2.img
dd if=/dev/block/mmcblk0p1 of=/sdcard/EFS_S2.img
40960+0 records in
40960+0 records out
20971520 bytes transferred in 0.505 secs (41527762 bytes/sec)
shell@android:/ # dd if=/sdcard/EFS_S2.img of=/dev/block/mmcblk0p1
dd if=/sdcard/EFS_S2.img of=/dev/block/mmcblk0p1
40960+0 records in
40960+0 records out
20971520 bytes transferred in 0.240 secs (87381333 bytes/sec)
shell@android:/ #
cosa devo fare adesso?
-
Ok, ben fatto. Le partizioni sono uguali all'S2.
Il backup è solo questo dd if=/dev/block/mmcblk0p1 of=/sdcard/EFS_S2.img, l'altro è il restore.
In ogni modo ora tieni di conto quell'immagine, e poi dai questi comandi (sempre da adb):
su
cd /efs
ls -al
md5sum nv_data.bin
md5sum /data/radio/nv_data.bin
Controlla se gli ultimi 2 ti danno il solito output, eventualmente posta tutto.
-
Microsoft Windows [Versione 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Tutti i diritti riservati.
C:\Windows\system32>cd\
C:\>cd adb
C:\ADB>adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
shell@android:/ $ su
su
shell@android:/ # cd /efs
cd /efs
shell@android:/efs # ls -al
ls -al
drwxrwxr-x system media_rw 2013-03-04 15:02 .files
-rwxrwxr-x system media_rw 1048576 2013-03-17 10:11 .nv_core.bak
-rwxrwxr-x system media_rw 32 2013-03-17 10:11 .nv_core.bak.md5
-rwx------ radio radio 2097152 2013-03-17 10:11 .nv_data.bak
-rwxrwxr-x system media_rw 32 2013-03-17 10:11 .nv_data.bak.md5
-rwxrwxr-x system media_rw 1 2013-03-11 19:01 .nv_state
drwxrwxr-x radio system 2013-03-04 15:15 FactoryApp
drwxrwxr-x radio system 2013-03-04 15:02 bluetooth
-rwxrwxr-x system media_rw 6 2013-03-04 15:30 calibration_data
-rw-r--r-- system system 9 2013-03-10 15:52 cryptprop_applied_result
-rwxrwxr-x system media_rw 5 2013-03-10 15:50 cryptprop_onetimeboot
-rw-r--r-- system system 12 2013-03-10 15:51 cryptprop_persist.sys.tim
ezone
-rwxrwxr-x system media_rw 1 2013-03-10 15:50 cryptprop_rebootMode
-rwxrwxr-x system media_rw 3 2013-03-10 15:50 cryptprop_securewipedata
drwx------ system system 2013-03-10 15:51 dmp
-rwxrwxr-x system media_rw 112 2013-03-04 15:30 edk_p
-rwxrwxr-x system media_rw 1 2013-03-04 15:30 essiv
drwxrwxr-x radio system 2013-03-04 15:30 imei
drwxrwxr-x system media_rw 2013-03-04 15:30 lost+found
-rwxrwxr-x system media_rw 5867 2013-03-17 10:11 nv.log
-rwx------ radio radio 2097152 2013-03-17 10:11 nv_data.bin
-rwxrwxr-x system media_rw 32 2013-03-17 10:11 nv_data.bin.md5
-rwxrwxr-x system media_rw 880 2013-03-04 15:30 redata.bin
-rwxrwxr-x system media_rw 1 2013-03-17 10:11 upgaddr
drwxrwxr-x radio system 2013-03-04 15:02 wifi
shell@android:/efs # md5sum nv_data.bin
md5sum nv_data.bin
3d1b064e6cabdde45ee3e05bbcc51bd1 nv_data.bin
shell@android:/efs # md5sum /data/radio/nv_data.bin
md5sum /data/radio/nv_data.bin
md5sum: can't open '/data/radio/nv_data.bin': No such file or directory
1|shell@android:/efs #
Con l'ultimo comando mi da un errore.