İyi günler arkadaşlar.
Uzun zamandır xiaomi telefonum da dual repair üzerinde uğraşıyorum. Bazı şeyler keşfetsem de daha çözümü bulamadım.Sizlere bu keşfettiğim şeylerden bahsedeciğim belki benim bulduklarımı ileri götürecek arkadaşlar çıkar.Şuan bildiğiniz üzere sim2 ye bile yeni çıkan modeller de atmayı kapatıyorlar.Para için açgözlülüğü bir kenara bırakıp bu sorunu çözmeye uğraşmalıyız.Sorun çözülürse zaten para kazanılır onda herkes hemfikir.Şuan da mühendislik öğrencisiyim ve hobi olarak kendi yurtdışı cihazım üzerinden deniyorum
.
İlk olarak telefonum mi note 10 lite xiaomi.eu 12.5.1 Android 11 custom romlu bir cihaz.(İlk araştırma yaptıgım sırada kullandığım sürüm xiaomi.eu 12.0.3 Android 10 custom rom)
check_nv:
İlk olarak yazınca veren nv data corrupted hatası buna neyin sebep olduğunu buldum uzun araştırmalarım sonucunda.Bu hata yazılımsal olarak oluşturuluyor sanırım RSA protect dedikleri de bu.Öncelikle bu hataya sebebiyet veren dosya Android 10 cihazlarda system/bin içerisindeki check_nv adındaki dosya.Android 11 de bu dosyayı system/product/bin içerisine taşımışlar. Bu dosya açılışta telefon boot edildikten hemen sonra late_start yani geç başlatma olarak telefon tarafından başlatılıyor.Bu cihazdaki modem dosyalarını ( modem,modemst1,modemst2,fsg,fsc) kontrol ediyor.Eğer eksik veya corrupted oldugunu görürse telefonu stock recoverye yönlendiriyor ve nv data corrupted hatası vermesini sağlıyor.--Ekran görüntüsü ekliyorum dosyanın içeriğini aşağı*1--. Tabiki düşündüm bu dosyayı eğer rom içerisinden çıkartırsam atabilir miyim diye.Şimdi geldik başka bir soruna, eski android sürümlerinde rootla çok kolay şekilde system dosyasının içini düzenleyebiliyordunuz ama android 10 ile birlikte telefon rootlu olsa bile partitionlar genelde ro olarak yani read olarak mount edilmiş halde. rw olarak mount edemiyorsunuz.Bunun çözümüde rom'u baştan derlemek lazım.Ubuntu üzerinden romdaki system.img yi ayrıştırıp check_nv yi silip yeniden decode edip fastbootd üzerinden(fastboot ve fastbootd modu farklı) system.img yi tekrardan cihaza flashladım(Bazen system.img yanında vendor.img de flashlamak gerekebiliyor deneyecek olursaa)(*Altta güncel twrp den android 10 ve 11 için daha bu ay çıkıp xda da paylaşılan bir dosya paylaşacagım bunu twrp üzerinden flashlayınca cihaz içinden cihazı rw olarak düzenleyebiliyorsunuz bu yeni çıktı ben rom oluşturup çözüyordum şimdi direk rw olabiliyor bu dosyayı flashlayınca twrpden android 10 ve 11 de çalışıyor benim cihazım için). Sonuç olarak qfil üzerinden tekrardan düzenlenmiş çift imeili qcn yi flashlayınca ve telefonu yeniden başlatınca yazılıyor nv data hatası verilmiyor ama bu seferde şebeke gelmiyor.Burada tıkandım.Qualcomm QPST çalışma mantığını anlamadım QFIL uygulaması ve download uygulaması var neden ikisinden de yazmak gerekiyor cihaza.Sanırım biri fsg ye yazıyor biri normal modemst1 e yazıyor tek mantıklı açıklaması bu.(Bilenler yorum atarlarsa iyi olur anlamakta zorlanıyorum).Buna ek olarak düşündüğüm,cihazda partitionlar öncelikle boot edilirken başka bir yere kopyası yazılıyor yani cihazda aynı dosyadan 2 adet var buna android 10 ve üzeri sürümlerde geçtiler ve mirroring partition diyorlar yani aynalama bölümü.
Deneyecekler için konumlar:
Android 10: system/bin/check_nv , system/etc/init/check_nv.rc silebilirsiniz , Ek olarak system/etc/selinux/ dosyalarını açıp içerisinde check_nv arayabilirsiniz oluyor bazen
Android 11 : system/product/bin/check_nv , system/product/etc/init/check_nv.rc silebilirsiniz. Ek olarak system/product/etc/selinux/product_file_contexts içerisini açıp içerisindeki check_nv li kısmı silebilirsiniz.
Elinde mi note 10 lite eng rom olan arkadaşlar varsa benimle paylaşabilirse çok iyi olur.
Cihazın orijinal imeilerini uçurdugumda elimdeki qcn yedeği ile qfil veya download üzerinden kurduğumda çalışmıyordu ama eğer dd komutu ile önceden aldıgınız modemst1.img modemst2.img ve fsg yi cihaza flashlarsanız ilginç şeyler oluyor hemen anlatıyorum.
Mi note 10 lite için adb shell su yaptıktan sonra hafızaya yedek alma kodları:
dd if=dev/block/sdf5 of=/sdcard/modemst1.img
dd if=dev/block/sdf6 of=/sdcard/modemst2.img
dd if=dev/block/sdf1 of=/sdcard/fsg.img
Alınan Yedekleri Geri Yükleme Kodları:
dd if=/sdcard/modemst1.img of=/dev/block/sdf5
dd if=/sdcard/modemst2.img of=/dev/block/sdf6
dd if=/sdcard/fsg.img of=/dev/block/sdf1
dd if=/sdcard/modemst1.img of=/dev/block/platform/soc/1d84000.ufshc/sdf5
dd if=/sdcard/modemst2.img of=/dev/block/platform/soc/1d84000.ufshc/sdf6
dd if=/sdcard/fsg.img of=/dev/block/platform/soc/1d84000.ufshc/sdf1
dd if=/sdcard/modemst1.img of=/dev/block/bootdevice/sdf5
dd if=/sdcard/modemst2.img of=/dev/block/bootdevice/sdf6
dd if=/sdcard/fsg.img of=/dev/block/bootdevice/sdf1
Şimdi ilginç olan eğer sadece dev/block koduyla geri yedeğimi yüklersem gelmiyor veya yüklemiyor.Burdan anladığım cihazda bir kayıtlı olan bide o kayıtın kopyası olan var cihaz açılırken kopyalıyor orijinali ve ondan çalıştırıyor yani bootdevice olan kodlar (Emin değilim yorumlarınızı bekliyorum).Şimdi eğer orijinal yedekleri geri yüklerken yukardaki 9 kodu aynı anda cmd ye yapıştırıp cihazı zorlarsam anında orijinal yedeklerim yükleniyor. Sanırım kernel panic yaşıyor cihaz ve yeniden başlattığımda hafızaya ramdump dosyası atıyor yaklasık 5-10 gblık
Yani anlıyacağınız araba vurdurur gibi telefon vurduruyorum ve o şekilde orijinal yedegi geri yüklüyorum.
2.olarak system/build.prop içerisinde ki ro.miui.restrict_imei=1 kodu:
İmei yazmayı ne engelliyor diye aradığımda kesinlikle alakalı olduğunu düşündüğüm bir kodla karşılaştım.System/build.prop un içerisinde ro.miui.restrict_imei=1 adlı kod gördüm ilginç olan bu kod çift yazılan cihazların build.propunda yok bu cihazlar android 9 ve altı yani bu kod android 10 dan sonra eklenmiş.Bu kodu kaldırıp veya ro.miui.restrict_imei=0 olarak değiştirince birkaç farklı kombinasyonlarla denedim sanırım ama sonuca ulaşamadım ulaşşam 2 repair edebilirdim.Sonrada bakmadım açıkcası
3.olarak Data/property/persistant_properties dosyası
Öncelikle düşünebilirsiniz acaba data da imeiler nerde tutuluyor.uzun aramalarım sonucunda imeileri 2 farklı yerde rastladım bunlar ilk olarak Data/property/persistant_properties dosyası bu persistant_properties dosyasını text editorle açtığınızda içerisinde 2 imeinizi de görebilirsiniz(persist.radio., persist.radio.imei1, persist.radio.imei2) . ve imei1 olan aynı ve ilk imei2 olan ise 2..İlginç olan 2.sim repair yaptığım da bu dosyadaki imei2 değişti ve imei1 0 olması gerekirken orijinal olarak kaldı.Telefonu wipe data yapıp yeniden rom yüklediğimde dosyada sadece imei2 gözüküyor ve ve imei1 kodları silinmiş.Kendim kullandığım telefonu ikide bir brick ettiğim için bu dosyayı düzenlemeye üşendim belki bir arkadaş düzenler ve sonucu yazar kim bilir belki telefon içinden direk değiştirebiliriz.Yabancı kaynaklardan anladığım kadarıyla persistant_properties, build.prop ve default.prop cihazın cihaz açılırken kendi aralarında karşılaştırılıyor ve sonuçta oluşturulan ortak dosya cihazın ramine gönderiliyor ve cihazınız çalışıyor.Bu gönderilen konum dev/_properties_ içerisine orada da imeileri aradığımda imeimi u_object_r:deviceid_prop:s0 içerisinde buldum.Denemek isteyenler ordanda değiştirip deneyebilir belki çözüm bulur ben yine diyorum neden denemedim çünkü brick etmeden yoruldum ve kullandığım kendi telefonum gün içerisinde yogunum ve telefon her an lazım oluyor.(Terminalde su, getprop yazınca ulaştıgınız sonuçlar dev/_properties_ in sonuçları. )
Ek olarak Vendor'daki bin içerisinde ki dosyalara bakabilirsiniz:
Vendor bin de de dikkatimi çeken birkaç şey görmüştüm ama şuan hatırlamıyorum meraklısı içindeki dosyaları açar text editorde nv veya olarak aratıp bakabilir.Dikkatimi çekmesi demek bazı elimdeki farklı cihazdaki eng romlarda bin içerisinde ek dosyalar olmasıydı ve o ek dosyalar nv veya qualcomm ile alakalı veya diag ile alakalı olmasıydı.Şuan hatırlamıyorum dediğim gibi.Sanırım diag ile alakalıydı.
cihazınızı android 10 ve 11 de rw yapmak istiyorsanız linki inceleyin:
Redmi note 10 gibi yeni güncel atılmayan telefonlara daha bakamadım ama denemek isterim üzerinde yakın zamanda romunu indirip inceleyebilirsem güzel olur ama vaktim yok.
ŞİMDİLİK AKLIMA GELENLER BUNLAR, GECE YAZDIM BU YAZIYI KAFAM YORGUN OLARAK GÜNCEL BİR ŞEY GELİRSE EKLERİM.BANA ÜZERİNDE DENEYEBİLECEĞİM DENEMELİK CİHAZ GÖNDERMEK İSTEYEN OLURSA DA SEVE SEVE KABUL EDERİM KENDİ CİHAZIMI BOOTLOOPa sokmaktan yoruldum
LÜTFEN BİRYERLERDE PAYLAŞIYORSANIZ SAYGI ÇERÇEVESİNDE İSMİMİ VEREREK PAYLAŞIN Kİ ÇÖZÜM BULABİLELİM.
Uzun zamandır xiaomi telefonum da dual repair üzerinde uğraşıyorum. Bazı şeyler keşfetsem de daha çözümü bulamadım.Sizlere bu keşfettiğim şeylerden bahsedeciğim belki benim bulduklarımı ileri götürecek arkadaşlar çıkar.Şuan bildiğiniz üzere sim2 ye bile yeni çıkan modeller de atmayı kapatıyorlar.Para için açgözlülüğü bir kenara bırakıp bu sorunu çözmeye uğraşmalıyız.Sorun çözülürse zaten para kazanılır onda herkes hemfikir.Şuan da mühendislik öğrencisiyim ve hobi olarak kendi yurtdışı cihazım üzerinden deniyorum
İlk olarak telefonum mi note 10 lite xiaomi.eu 12.5.1 Android 11 custom romlu bir cihaz.(İlk araştırma yaptıgım sırada kullandığım sürüm xiaomi.eu 12.0.3 Android 10 custom rom)
check_nv:
İlk olarak yazınca veren nv data corrupted hatası buna neyin sebep olduğunu buldum uzun araştırmalarım sonucunda.Bu hata yazılımsal olarak oluşturuluyor sanırım RSA protect dedikleri de bu.Öncelikle bu hataya sebebiyet veren dosya Android 10 cihazlarda system/bin içerisindeki check_nv adındaki dosya.Android 11 de bu dosyayı system/product/bin içerisine taşımışlar. Bu dosya açılışta telefon boot edildikten hemen sonra late_start yani geç başlatma olarak telefon tarafından başlatılıyor.Bu cihazdaki modem dosyalarını ( modem,modemst1,modemst2,fsg,fsc) kontrol ediyor.Eğer eksik veya corrupted oldugunu görürse telefonu stock recoverye yönlendiriyor ve nv data corrupted hatası vermesini sağlıyor.--Ekran görüntüsü ekliyorum dosyanın içeriğini aşağı*1--. Tabiki düşündüm bu dosyayı eğer rom içerisinden çıkartırsam atabilir miyim diye.Şimdi geldik başka bir soruna, eski android sürümlerinde rootla çok kolay şekilde system dosyasının içini düzenleyebiliyordunuz ama android 10 ile birlikte telefon rootlu olsa bile partitionlar genelde ro olarak yani read olarak mount edilmiş halde. rw olarak mount edemiyorsunuz.Bunun çözümüde rom'u baştan derlemek lazım.Ubuntu üzerinden romdaki system.img yi ayrıştırıp check_nv yi silip yeniden decode edip fastbootd üzerinden(fastboot ve fastbootd modu farklı) system.img yi tekrardan cihaza flashladım(Bazen system.img yanında vendor.img de flashlamak gerekebiliyor deneyecek olursaa)(*Altta güncel twrp den android 10 ve 11 için daha bu ay çıkıp xda da paylaşılan bir dosya paylaşacagım bunu twrp üzerinden flashlayınca cihaz içinden cihazı rw olarak düzenleyebiliyorsunuz bu yeni çıktı ben rom oluşturup çözüyordum şimdi direk rw olabiliyor bu dosyayı flashlayınca twrpden android 10 ve 11 de çalışıyor benim cihazım için). Sonuç olarak qfil üzerinden tekrardan düzenlenmiş çift imeili qcn yi flashlayınca ve telefonu yeniden başlatınca yazılıyor nv data hatası verilmiyor ama bu seferde şebeke gelmiyor.Burada tıkandım.Qualcomm QPST çalışma mantığını anlamadım QFIL uygulaması ve download uygulaması var neden ikisinden de yazmak gerekiyor cihaza.Sanırım biri fsg ye yazıyor biri normal modemst1 e yazıyor tek mantıklı açıklaması bu.(Bilenler yorum atarlarsa iyi olur anlamakta zorlanıyorum).Buna ek olarak düşündüğüm,cihazda partitionlar öncelikle boot edilirken başka bir yere kopyası yazılıyor yani cihazda aynı dosyadan 2 adet var buna android 10 ve üzeri sürümlerde geçtiler ve mirroring partition diyorlar yani aynalama bölümü.
Deneyecekler için konumlar:
Android 10: system/bin/check_nv , system/etc/init/check_nv.rc silebilirsiniz , Ek olarak system/etc/selinux/ dosyalarını açıp içerisinde check_nv arayabilirsiniz oluyor bazen
Android 11 : system/product/bin/check_nv , system/product/etc/init/check_nv.rc silebilirsiniz. Ek olarak system/product/etc/selinux/product_file_contexts içerisini açıp içerisindeki check_nv li kısmı silebilirsiniz.
Elinde mi note 10 lite eng rom olan arkadaşlar varsa benimle paylaşabilirse çok iyi olur.
Cihazın orijinal imeilerini uçurdugumda elimdeki qcn yedeği ile qfil veya download üzerinden kurduğumda çalışmıyordu ama eğer dd komutu ile önceden aldıgınız modemst1.img modemst2.img ve fsg yi cihaza flashlarsanız ilginç şeyler oluyor hemen anlatıyorum.
Mi note 10 lite için adb shell su yaptıktan sonra hafızaya yedek alma kodları:
dd if=dev/block/sdf5 of=/sdcard/modemst1.img
dd if=dev/block/sdf6 of=/sdcard/modemst2.img
dd if=dev/block/sdf1 of=/sdcard/fsg.img
Alınan Yedekleri Geri Yükleme Kodları:
dd if=/sdcard/modemst1.img of=/dev/block/sdf5
dd if=/sdcard/modemst2.img of=/dev/block/sdf6
dd if=/sdcard/fsg.img of=/dev/block/sdf1
dd if=/sdcard/modemst1.img of=/dev/block/platform/soc/1d84000.ufshc/sdf5
dd if=/sdcard/modemst2.img of=/dev/block/platform/soc/1d84000.ufshc/sdf6
dd if=/sdcard/fsg.img of=/dev/block/platform/soc/1d84000.ufshc/sdf1
dd if=/sdcard/modemst1.img of=/dev/block/bootdevice/sdf5
dd if=/sdcard/modemst2.img of=/dev/block/bootdevice/sdf6
dd if=/sdcard/fsg.img of=/dev/block/bootdevice/sdf1
Şimdi ilginç olan eğer sadece dev/block koduyla geri yedeğimi yüklersem gelmiyor veya yüklemiyor.Burdan anladığım cihazda bir kayıtlı olan bide o kayıtın kopyası olan var cihaz açılırken kopyalıyor orijinali ve ondan çalıştırıyor yani bootdevice olan kodlar (Emin değilim yorumlarınızı bekliyorum).Şimdi eğer orijinal yedekleri geri yüklerken yukardaki 9 kodu aynı anda cmd ye yapıştırıp cihazı zorlarsam anında orijinal yedeklerim yükleniyor. Sanırım kernel panic yaşıyor cihaz ve yeniden başlattığımda hafızaya ramdump dosyası atıyor yaklasık 5-10 gblık
2.olarak system/build.prop içerisinde ki ro.miui.restrict_imei=1 kodu:
İmei yazmayı ne engelliyor diye aradığımda kesinlikle alakalı olduğunu düşündüğüm bir kodla karşılaştım.System/build.prop un içerisinde ro.miui.restrict_imei=1 adlı kod gördüm ilginç olan bu kod çift yazılan cihazların build.propunda yok bu cihazlar android 9 ve altı yani bu kod android 10 dan sonra eklenmiş.Bu kodu kaldırıp veya ro.miui.restrict_imei=0 olarak değiştirince birkaç farklı kombinasyonlarla denedim sanırım ama sonuca ulaşamadım ulaşşam 2 repair edebilirdim.Sonrada bakmadım açıkcası
3.olarak Data/property/persistant_properties dosyası
Öncelikle düşünebilirsiniz acaba data da imeiler nerde tutuluyor.uzun aramalarım sonucunda imeileri 2 farklı yerde rastladım bunlar ilk olarak Data/property/persistant_properties dosyası bu persistant_properties dosyasını text editorle açtığınızda içerisinde 2 imeinizi de görebilirsiniz(persist.radio., persist.radio.imei1, persist.radio.imei2) . ve imei1 olan aynı ve ilk imei2 olan ise 2..İlginç olan 2.sim repair yaptığım da bu dosyadaki imei2 değişti ve imei1 0 olması gerekirken orijinal olarak kaldı.Telefonu wipe data yapıp yeniden rom yüklediğimde dosyada sadece imei2 gözüküyor ve ve imei1 kodları silinmiş.Kendim kullandığım telefonu ikide bir brick ettiğim için bu dosyayı düzenlemeye üşendim belki bir arkadaş düzenler ve sonucu yazar kim bilir belki telefon içinden direk değiştirebiliriz.Yabancı kaynaklardan anladığım kadarıyla persistant_properties, build.prop ve default.prop cihazın cihaz açılırken kendi aralarında karşılaştırılıyor ve sonuçta oluşturulan ortak dosya cihazın ramine gönderiliyor ve cihazınız çalışıyor.Bu gönderilen konum dev/_properties_ içerisine orada da imeileri aradığımda imeimi u_object_r:deviceid_prop:s0 içerisinde buldum.Denemek isteyenler ordanda değiştirip deneyebilir belki çözüm bulur ben yine diyorum neden denemedim çünkü brick etmeden yoruldum ve kullandığım kendi telefonum gün içerisinde yogunum ve telefon her an lazım oluyor.(Terminalde su, getprop yazınca ulaştıgınız sonuçlar dev/_properties_ in sonuçları. )
Ek olarak Vendor'daki bin içerisinde ki dosyalara bakabilirsiniz:
Vendor bin de de dikkatimi çeken birkaç şey görmüştüm ama şuan hatırlamıyorum meraklısı içindeki dosyaları açar text editorde nv veya olarak aratıp bakabilir.Dikkatimi çekmesi demek bazı elimdeki farklı cihazdaki eng romlarda bin içerisinde ek dosyalar olmasıydı ve o ek dosyalar nv veya qualcomm ile alakalı veya diag ile alakalı olmasıydı.Şuan hatırlamıyorum dediğim gibi.Sanırım diag ile alakalıydı.
cihazınızı android 10 ve 11 de rw yapmak istiyorsanız linki inceleyin:
Bağlantıyı görüntülemek için izniniz yok! Lütfen giriş yapınız veya üye olunuz.
Redmi note 10 gibi yeni güncel atılmayan telefonlara daha bakamadım ama denemek isterim üzerinde yakın zamanda romunu indirip inceleyebilirsem güzel olur ama vaktim yok.
ŞİMDİLİK AKLIMA GELENLER BUNLAR, GECE YAZDIM BU YAZIYI KAFAM YORGUN OLARAK GÜNCEL BİR ŞEY GELİRSE EKLERİM.BANA ÜZERİNDE DENEYEBİLECEĞİM DENEMELİK CİHAZ GÖNDERMEK İSTEYEN OLURSA DA SEVE SEVE KABUL EDERİM KENDİ CİHAZIMI BOOTLOOPa sokmaktan yoruldum
LÜTFEN BİRYERLERDE PAYLAŞIYORSANIZ SAYGI ÇERÇEVESİNDE İSMİMİ VEREREK PAYLAŞIN Kİ ÇÖZÜM BULABİLELİM.