- Katılım
- 23 Haz 2018
- Mesajlar
- 1,118
- Tepkime puanı
- 5,741
- Puanları
- 113
- Yaş
- 22
Çevrimdışı
Merhabalar,
Bu yazımda eMMCDL aracının kullanımından bahsedeceğiz.
Araç açık kaynak kodludur; C ve C++ ile yazılmıştır.
Aracın açık kaynak kodlarına buradan ulaşabilirsiniz.
Bu araç Qualcomm yonga setine sahip cihazları acil yükleme modunda yazılım ve yönetim işlemleri sunar.
Burada Qualcomm yonga setinin terimleri kısmında detaylı anlatımından bahsettim.
Aracın ingilizce olarak kullanımı geliştirici tarafından şu şekilde belirtildi:
Kodlardan biraz anlıyorsanız yaptığı işlemleri az çok tahmin edebilirsiniz.
Başlangıç olarak özet geçeceğim.
Bu yazımda eMMCDL aracının kullanımından bahsedeceğiz.
Araç açık kaynak kodludur; C ve C++ ile yazılmıştır.
Aracın açık kaynak kodlarına buradan ulaşabilirsiniz.
GitHub - zenlty/emmcdl: command line utility for all sorts of manipulating MSM devices in EDL mode using Qualcomm Sahara/Firehose protocol
command line utility for all sorts of manipulating MSM devices in EDL mode using Qualcomm Sahara/Firehose protocol - zenlty/emmcdl
github.com
Bu araç Qualcomm yonga setine sahip cihazları acil yükleme modunda yazılım ve yönetim işlemleri sunar.
Burada Qualcomm yonga setinin terimleri kısmında detaylı anlatımından bahsettim.
Development - Android Yonga Setine Göre Ayrışan Terimler | Qualcomm
Merhabalar, Yonga Setine göre ayrışan terimlerden bahsedeceğim. Bu terimler,i sizlerin işini sorun çözümlerinde ve araştırma yaparken sonuca daha kolay erişebilmeniz için anlatıyorum. Bu anlatımları başka yerde bulamazsınız, tecrübelerimden irdelenmiştir. Anlatım GSMTURKEY için ZENLTY tarafından...
gsmturkey.net
Aracın ingilizce olarak kullanımı geliştirici tarafından şu şekilde belirtildi:
Kod:
Version 2.10
Usage: emmcdl <option> <value>
Options:
-l List available mass storage devices
-info List HW information about device attached to COM (eg -p COM8 -info)
-MaxPayloadSizeToTargetInBytes The max bytes in firehose mode (DDR or large IMEM use 16384, default=8192)
-SkipWrite Do not write actual data to disk (use this for UFS provisioning)
-SkipStorageInit Do not initialize storage device (use this for UFS provisioning)
-MemoryName <ufs/emmc> Memory type default to emmc if none is specified
-SetActivePartition <num> Set the specified partition active for booting
-disk_sector_size <int> Dump from start sector to end sector to file
-d <start> <end> Dump from start sector to end sector to file
-d <PartName> Dump entire partition based on partition name
-d logbuf@<start> <size> Dump size of logbuf to the console
-e <start> <num> Erase disk from start sector for number of sectors
-e <PartName> Erase the entire partition specified
-s <sectors> Number of sectors in disk image
-p <port or disk> Port or disk to program to (eg COM8, for PhysicalDrive1 use 1)
-o <filename> Output filename
[<-x <*.xml> [-xd <imgdir>]>...] Program XML file to output type -o (output) -p (port or disk)
-f <flash programmer> Flash programmer to load to IMEM eg MPRG8960.hex
-i <singleimage> Single image to load at offset 0 eg 8960_msimage.mbn
-t Run performance tests
-b <prtname> <binfile> Write <binfile> to GPT <prtname>
-g GPP1 GPP2 GPP3 GPP4 Create GPP partitions with sizes in MB
-gq Do not prompt when creating GPP (quiet)
-r Reset device
-ffu <*.ffu> Download FFU image to device in emergency download need -o and -p
-splitffu <*.ffu> -o <xmlfile> Split FFU into binary chunks and create rawprogram0.xml to output location
-protocol <s|f> Can be <s>(STREAMING), default is <f>(FIREHOSE)
-gpt Dump the GPT from the connected device
-raw Send and receive RAW data to serial port 0x75 0x25 0x10
-wimei <imei> Write IMEI <imei>
-v Enable verbose output
Examples: emmcdl -p ttyUSB0 -info
emmcdl -p ttyUSB0 -gpt
emmcdl -p ttyUSB0 -SkipWrite -SkipStorageInit -MemoryName ufs -f prog_emmc_firehose_8994_lite.mbn -x memory_configure.xml
emmcdl -p ttyUSB0 -f prog_emmc_firehose_8994_lite.mbn -x rawprogram0.xml -SetActivePartition 0
emmcdl -p ttyUSB0 -f prog_emmc_firehose_8994_lite.mbn -x rawprogram0.xml -xd imagedir -SetActivePartition 0
emmcdl -p ttyUSB0 -f prog_emmc_firehose_8994_lite.mbn -ffu wp8.ffu
emmcdl -p ttyUSB0 -f prog_emmc_firehose_8994_lite.mbn -d 0 1000 -o dump_1_1000.bin
emmcdl -p ttyUSB0 -f prog_emmc_firehose_8994_lite.mbn -d SVRawDump -o svrawdump.bin
emmcdl -p ttyUSB0 -f prog_emmc_firehose_8994_lite.mbn -b SBL1 c:\temp\sbl1.mbn
emmcdl -p ttyUSB0 -f prog_emmc_firehose_8994_lite.mbn -e 0 100
emmcdl -p ttyUSB0 -f prog_emmc_firehose_8994_lite.mbn -e MODEM_FSG
emmcdl -p ttyUSB0 -f prog_emmc_firehose_8994_lite.mbn -raw 0x75 0x25 0x10
Başlangıç olarak özet geçeceğim.
Bu komut telefonun bölümleme tablosunu ortaya çıkartacaktır.
Bölümle tablosundan kasıt partition adı verdiğimiz bölümlerin listesidir.
Qualcomm, bölümlemelerini GPT adı verdiği tabloda tutar.
GPT tablosunun bir çıktısını aşağıdaki programa bağlayıp listeledim.
GSMTurkey Tool Qualcomm Modulu 2.2.6 versiyonunda Wiko Freddy cihazının bölümleme tablosunu programa dökmüştüm.
Kısaca eMMCDL bu komut ile GPT de bulunan partitionları size listeler.
Bölümle tablosundan kasıt partition adı verdiğimiz bölümlerin listesidir.
Qualcomm, bölümlemelerini GPT adı verdiği tabloda tutar.
GPT tablosunun bir çıktısını aşağıdaki programa bağlayıp listeledim.
GSMTurkey Tool Qualcomm Modulu 2.2.6 versiyonunda Wiko Freddy cihazının bölümleme tablosunu programa dökmüştüm.
Kısaca eMMCDL bu komut ile GPT de bulunan partitionları size listeler.
-P komutu, cihaz önyükleyici modunda iken (EDL Mode) bilgisayara verdiği COMPORT u tanıtmanızı ister.
Amacı ise bilgisayarda birden fazla COMPORT bulunabilir, sağlıklı şekilde yönetimi hedeflemek adına portu otomatik algılamak yerine kullanıcıdan ister.
Kullanım şekli ise şu şekildedir :
Yukarıdaki araçta yeşil olarak işaretli yerde COM6 'yı görüyorsunuz.
şeklindedir.
Amacı ise bilgisayarda birden fazla COMPORT bulunabilir, sağlıklı şekilde yönetimi hedeflemek adına portu otomatik algılamak yerine kullanıcıdan ister.
Kullanım şekli ise şu şekildedir :
Kod:
emmcdl.exe -p COM3
Yukarıdaki araçta yeşil olarak işaretli yerde COM6 'yı görüyorsunuz.
Kod:
emmcdl.exe -p COM6
-F parametresi ile firehose belirtiyoruz. Firehose yi bir önyükleyici için kilit dosyası gibi düşünebilirsiniz. Firehose dosyası genelde official yazılımların içinde bulunur. Adları prog_emmc_loader şeklinde başlar. Örnek kullanımı şu şekildedir :
Programda kod bu şekilde çalışıyor. Wiko_Freddy.mbn dosyası firehose dosyasının adıdır.
Kod:
emmcdl.exe -p COM6 -f Wiko_Freddy.mbn
-D parametresi, yazılımı cihazdan çekmeye yarar. Bilindiği gibi yazılımı komple çekmez, yazılan kodlara göre spesifik olarak çeker.
Örnek vermek gerekirse, boot bölümünü cihazdan bilgisayara yedek alacağım.
-D parametresi - O parametresi ile birlikte kullanılır.
-O parametresi dosya adı belirtir. Boot dosyasını yedek alacaksanız -o boot.img şeklinde yazacaksınız.
Örnek kullanımı şu şekildedir :
Bilgisayarımında C:/Temp klasörüne telefonun boot yedeğini yedekledim.
Örnek vermek gerekirse, boot bölümünü cihazdan bilgisayara yedek alacağım.
-D parametresi - O parametresi ile birlikte kullanılır.
-O parametresi dosya adı belirtir. Boot dosyasını yedek alacaksanız -o boot.img şeklinde yazacaksınız.
Örnek kullanımı şu şekildedir :
Kod:
emmcdl.exe -p COM6 -f Wiko_Freddy.img -d boot -o boot.img
Bu parametre cihaza dosya yazmaya yarar.
-b partitionname dosyadi şeklindedir.
Boot bölümüne boot.img yazmak istersek örnek kullanımı şu şekilde olacaktır :
-b partitionname dosyadi şeklindedir.
Boot bölümüne boot.img yazmak istersek örnek kullanımı şu şekilde olacaktır :
Kod:
emmcdl.exe -p COM6 -f Wiko_Freddy.mbn -b boot boot.img
Bölümü formatlama yarar. -e partitionname şeklinde kullanılır.
Boot bölümünün içi boşaltılacak ise -e boot yazılmalıdır.
Örnek kullanımı şu şekildedir :
Boot bölümünün içi boşaltılacak ise -e boot yazılmalıdır.
Örnek kullanımı şu şekildedir :
Kod:
emmcdl.exe -p COM6 -f Wiko_Freddy.mbn -e boot
AB Treble destekli cihazların GPT yapıları farklıdır. Veri yazarken veya yedekleme işlemi yaparken _a veya _b bölümlerine dikkat edin.
boot yerine boot_a
boot_b şeklinde bölümlemeleri olacaktır.
boot yerine boot_a
boot_b şeklinde bölümlemeleri olacaktır.
Lütfen konu altına yorum yaparken Teşekkürler, Elinize sağlık, süper, sağol, helal olsun gibi kelimeler yazıp konuları kirletmeyelim. Herkes aradığını bu mesajlar yüzünden bulamıyor. Altta beğen butonuna basmanız yeterlidir. Konu ile ilgili sorununuzu veya çözümünüz varsa yorum yapın.
Moderatör tarafında düzenlendi: