Android Bilgi Rehberim - eMMCDL Kullanım Kılavuzu

Zenlty

Firmware Team Leader at OMIX Mobile Technology
VIP Üye
Katılım
23 Haz 2018
Mesajlar
1,118
Tepkime puanı
5,737
Puanları
113
Yaş
22
Konum
Beşiktaş , İstanbul , Türkiye
Ç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.
1611585493234.png

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
Kodlardan biraz anlıyorsanız yaptığı işlemleri az çok tahmin edebilirsiniz.
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.1611585683234.png
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 :
Kod:
emmcdl.exe -p COM3
1611585683234.png
Yukarıdaki araçta yeşil olarak işaretli yerde COM6 'yı görüyorsunuz.
Kod:
emmcdl.exe -p COM6
şeklindedir.
-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 :
1611585683234.png
Kod:
emmcdl.exe -p COM6 -f Wiko_Freddy.mbn
Programda kod bu şekilde çalışıyor. Wiko_Freddy.mbn dosyası firehose dosyasının adıdır.
-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 :
Kod:
emmcdl.exe -p COM6 -f Wiko_Freddy.img -d boot -o boot.img
Bilgisayarımında C:/Temp klasörüne telefonun boot yedeğini yedekledim.
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 :
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 :
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.


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:
eMMCDL Kullanırken ihtiyacınız olacak FireHose dosyalarını aşağıdan temin edebilirsiniz.
Eklemek istedikleriniz olursa github üzerinden ekleyebilir veya konu altına ekleyebilirsiniz.
 
no response to configure packet hatası neydendir hocam

Portu doğru yazın, firehose dosyasini doğru yazdığınızdan emin olun.
Ayrica her hatadan sonra cihazı tekrar edl moduna alın.
cihazda yapmak istediğiniz işlem nedir?
cihazın durumu nedir?
 
bu komutlar ile manuel qualcomm cihazlar için qcn çekilebilir mi?
 
Geri
Üst Alt