Może komuś się przyda..
Po kilkakrotnym modowaniu E3372s i E3372h rozjechały mi się totalnie sterowniki na komputerze i za czorta nie mogłem doprowadzić ich do porządku.
Przy którejś z kolei zmianie E3372s z nie-hilink na hilink udało sie wgrać modowany FW, ale wgranie WebUI sie nie udało - program updatera przełączał tryb debug w modemie i powinien włączyć dodatkowe porty ale komp sobie nie radził z instalacja sterowników. Zostałem więc z połowicznie zmodowanym modemem - działał jako hilink, ale zero dostępu do webui i zero możliwości konfiguracji.
Wgrałem FW E3372Update_22.286.53.01.161_S_ADB_TLN_01.exe,
nie udało się wgrać Update_WEBUI_16.100.05.00.03_Hilink_V7R2_9x25_CPIO_Mod1.2.exe
O ile działa sieć (pingi na adres modemu) i wgrany FW ma odblokowany telnet czy adb to można odratować modem.
Całą procedurę robiłem na Linuksie, ale to akurat nie ma znaczenia.
Procedura:
1. Potrzebna jest karta microSD o pojemności min. 64MB
2. Formatujemy ją aby miała 1 partycje vfat (lepiej aby nie miała systemu plików na całej karcie, tylko na partycji - np. niektóre telefony formatują całą kartę)
3. Wgrywamy na kartę pliki:
flash_erase, nanddump, nandwrite i webui_pl.img
Pierwsze trzy do znalezienia w sieci, ostatni to dump webroota z WebUI z działającego modemu.
4. Wkładamy kartę SD do modemu, kartę sim na wszelki lepiej wyjąć
5. Wkładamy modem do usb kompa.
6. Jeśli komp zamontuje kartę sd jako wymienny dysk, odmontowujemy/wysuwamy go
7. Łączymy się z modemem telnetem i zaczynamy:
Kod: Zaznacz cały
# mount
rootfs / rootfs rw,relatime 0 0
/dev/block/mtdblock12 /modem_log yaffs2 rw,relatime 0 0
/dev/block/mtdblock17 /online yaffs2 rw,relatime 0 0
/dev/block/mtdblock3 /mnvm2:0 yaffs2 rw,relatime 0 0
tmpfs /dev tmpfs rw,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/mtdblock15 /system yaffs2 ro,relatime 0 0
/dev/block/mtdblock16 /data yaffs2 rw,relatime 0 0
/dev/block/mtdblock13 /app yaffs2 ro,relatime 0 0
/dev/block/mtdblock14 /app/webroot jffs2 ro,relatime 0 0
/dev/block/mtdblock18 /root yaffs2 rw,relatime 0 0
webroot jest na partycji 14 pamięci NAND
Kod: Zaznacz cały
# cat /proc/partitions
major minor #blocks name
31 0 256 mtdblock0
31 1 768 mtdblock1
31 2 2304 mtdblock2
31 3 4096 mtdblock3
31 4 2048 mtdblock4
31 5 1536 mtdblock5
31 6 1280 mtdblock6
31 7 6144 mtdblock7
31 8 6144 mtdblock8
31 9 512 mtdblock9
31 10 3072 mtdblock10
31 11 11264 mtdblock11
31 12 6144 mtdblock12
31 13 4608 mtdblock13
31 14 15360 mtdblock14
31 15 10752 mtdblock15
31 16 4608 mtdblock16
31 17 41984 mtdblock17
31 18 8192 mtdblock18
179 0 124160 mmcblk0
179 1 123136 mmcblk0p1
#
modem widzi partycję 1 na karcie SD (mmcblk0p1)
Kod: Zaznacz cały
# mount -t vfat /dev/block/mmcblk0p1 /mnt/sdcard
#cd /mnt/sdcard
Robimy zrzut partycji 14 NAND (na wszelki, pewnie i tak są tam smieci...
i porównujemy wielkości zrzutu i img z działającego modemu:
Kod: Zaznacz cały
# ./nanddump -f /mnt/sdcard/orig_webui.img /dev/mtd/mtd14
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00f00000...
# sync
# sync
# ls -l
Wielkości plików orig_webui.img i webui_pl.img powinny byc identyczne (czyli oba modemy - źródłowy i ten uwalony mają taką samą organizację partycji w pamięci NAND)
Teraz kasujemy zawartość partycji 14 NAND i wgrywamy tam zrzut z działającego modemu:
Kod: Zaznacz cały
# ./flash_erase /dev/mtd/mtd14 0 0
# ./nandwrite /dev/mtd/mtd14 /mnt/sdcard/webui_pl.img
Pozostaje tylko restart modemu i wszystko powinno wrócić do normy.
webui zgrane z działającego modemu na dropie:
https://www.dropbox.com/s/0snck4b71xqn8 ... g.zip?dl=0
Mam nadzieję że komuś uratuje to trochę czasu