activar banda WCDMA 900 en terminales chinos

He estado buscando esto de las bandas base para MTK6575 ya que el telefono con el que trato actualmente solo trae la banda de 2100.
Segun leo los chinos que tienen acceso al codigo fuente, compilan el modem y luego insertan en mediatek/custom/common/modem/[modem] los siguientes archivos: xxx.Mak lo renombran modem.Mak DSP_BL DSP_ROM catcher_filter.bin BPLGUIInfoxxx. Tambien modifican el ProjectConfig.mk para usar un CUSTOM_MODEM y de ahi compilan el proyecto completo.
Según se deduce de ahí, para que un ingerto de bandas funcione correctamente debe venir de un teléfono donante con igual procesador (6575 6577 etc) y misma versión de Android (2.3, 4.0, etc) al del paciente. Del donante al que le funcionen las bandas deseadas deberia extraerse:
/system/etc/firmware
DSP_ROM
catcher_filter.bin
modem.img
Los 3 archivos normalmente tienen la misma fecha de creacion.
Esos archivos irían al paciente en el mismo lugar.
Luego, extraer el DSP_BL del mtd (por ejemplo mtd1 con el dsp_bl para un MT6515 y Android 2.3.6) hacer un dd desde terminal con su al mtd correspondiente al paciente. En caso de telefonos con emmc (por ejemplo /dev/misc-sd con el dsp_bl luego del preloader en esa particion, para un MT6575 con 4.0.4) se sacaria el DSP_BL del /dev/misc-sd con la informacion que de cat /proc/dumchar_info ahi seria un dd usando count y skip.
 
Poco más o menos se entiende, pero si pones paso a paso lo que hay que hacer seguramente que alguien se anime a hacerlo :wink:


Enviado desde mi GT-G70
 
Poco más o menos se entiende, pero si pones paso a paso lo que hay que hacer seguramente que alguien se anime a hacerlo :wink:


Enviado desde mi GT-G70
Instrucciones más detalladas entonces, para teléfonos con Gingerbread 2.3.x. Primero: requisitos: teléfono rooteado y con busybox instalado, adb y drivers instalados en el computador, teléfono con la opcion Desarrollo / Depuración USB encendido y con un sdcard. Conectar el teléfono al computador.

Abrir un cmd en Windows o un terminal en Linux. Ir a un folder que dedicamos para el dispositivo que vamos a operar. Ahi ejecutamos

adb pull /system/etc/firmware/DSP_ROM
adb pull /system/etc/firmware/catcher_filter.bin
adb pull /system/etc/firmware/modem.img
adb shell (esto nos mete al shell del telefono)
su (esto nos da permisos de super usuario)
cat /proc/mtd

Eso producira algo asi:
dev: size erasesize name
mtd0: 00040000 00020000 "preloader"
mtd1: 000c0000 00020000 "dsp_bl"
mtd2: 00300000 00020000 "nvram"
mtd3: 00020000 00020000 "seccnfg"
mtd4: 00060000 00020000 "uboot"
mtd5: 00500000 00020000 "boot"
mtd6: 00500000 00020000 "recovery"
mtd7: 00120000 00020000 "secstatic"
mtd8: 00060000 00020000 "misc"
mtd9: 00300000 00020000 "logo"
mtd10: 000a0000 00020000 "expdb"
mtd11: 12700000 00020000 "system"
mtd12: 03c00000 00020000 "cache"
mtd13: 07f20000 00020000 "userdata"

De ahí sabemos que la partición del dsp_bl para este caso es mtd1. También que la partición tiene un tamaño de 000c0000 = 786,432 bytes. Ese será el tamaño del dsp_bl.img y ese tamaño debe coincidir en el paciente. Ahora procedemos a la extracción en crudo al sdcard.

dd if=/dev/mtd/mtd1 of=/sdcard/dsp_bl.img
exit (nos saca del super usuario)
exit (nos saca del shell del teléfono)
adb pull /sdcard/dsp_bl.img
exit (nos saca del cmd o terminal)

Listo, ya tenemos los 4 archivos del teléfono en el folder de donde empezamos, ya sea para sacarlos del donante o respaldo del paciente. Bien puede eliminarse el dsp_bl.img del sdcard.

Ahora, para el proceso de subida. Vamos al folder donde tenemos los archivos por subir, entramos en cmd o teminal y ejecutamos:

adb push DSP_ROM /system/etc/firmware
adb push catcher_filter.bin /system/etc/firmware
adb push modem.img /system/etc/firmware
adb push dsp_bl.img /sdcard
adb shell
su
cat /proc/mtd (ahi verificamos la partición igual que antes, supondré que es mtd1, VERIFICAR TAMAÑO)
dd if=/sdcard/dsp_bl.img of=/dev/mtd/mtd1
chmod 644 /system/etc/firmware/DSP_ROM
chmod 644 /system/etc/firmware/catcher_filter.bin
chmod 644 /system/etc/firmware/modem.img
rm /sdcard/dsp_bl.img
reboot

El teléfono reiniciara, salimos del cmd o terminal.

Para el caso de teléfonos en los cuales el cat /proc/mtd este vacío, como lo es con muchos dispositivos con ICS, es porque usan emmc en vez de mtd. cat /proc/emmc y cat/proc/dumchar_info darán la disposición de las particiones contra devs y habrá que modificar comandos para sacar el dsp_bl del /dev/misc-sd tomado en cuenta el offset que tiene según los comandos cat. En otro mensaje describo con un ejemplo como se haría. .

Para hacer un zip para instalación mediante recovery, el updater script que va en META_INF/com/google/android seria:

ui_print("Mounting system...");
mount("yaffs2", "MTD", "system", "/system");
ui_print("Deleting old files...");
delete("/system/etc/firmware/DSP_ROM");
delete("/system/etc/firmware/catcher_filter.bin");
delete("/system/etc/firmware/modem.img");
ui_print("Copying files...");
package_extract_dir("system", "/system");
ui_print("Fixing permissions...");
set_perm_recursive(0, 0, 0755, 0644, "/system/etc/firmware");
ui_print("Unmounting system...");
unmount("/system");
write_raw_image(package_extract_file("dsp_bl.img"), "dsp_bl");
ui_print("Installation complete!");

Es solo de copiar los 3 archivos en system/etc/firmware, dejar el dsp_bl.img en la raíz y empacar el zip con un update-binary que soporte el write_raw. Nota importantísima, antes de cargar el zip debe confirmarse coincidencia del tamaño de la partición del dsp_bl
 
Última edición:
Instrucciones mas detalladas entonces, para teléfonos con Gingerbread 2.3.x. Primero: requisitos: teléfono rooteado y con busybox instalado, adb y drivers instalados en el computador, teléfono con la opcion Desarrollo / Depuracion USB encendido y con un sdcard. Conectar el teléfono al computador.

Abrir un cmd en Windows o un terminal en Linux. Ir a un folder que dedicamos para el dispositivo que vamos a operar. Ahi ejecutamos

adb pull /system/etc/firmware/DSP_ROM
adb pull /system/etc/firmware/catcher_filter.bin
adb pull /system/etc/firmware/modem.img
adb shell (esto nos mete al shell del telefono)
su (esto nos da permisos de super usuario)
cat /proc/mtd

Eso producira algo asi:
dev: size erasesize name
mtd0: 00040000 00020000 "preloader"
mtd1: 000c0000 00020000 "dsp_bl"
mtd2: 00300000 00020000 "nvram"
mtd3: 00020000 00020000 "seccnfg"
mtd4: 00060000 00020000 "uboot"
mtd5: 00500000 00020000 "boot"
mtd6: 00500000 00020000 "recovery"
mtd7: 00120000 00020000 "secstatic"
mtd8: 00060000 00020000 "misc"
mtd9: 00300000 00020000 "logo"
mtd10: 000a0000 00020000 "expdb"
mtd11: 12700000 00020000 "system"
mtd12: 03c00000 00020000 "cache"
mtd13: 07f20000 00020000 "userdata"

De ahi sabemos que la partición del dsp_bl para este caso es mtd1. Ahora procedemos a la extracion en crudo al sdcard.

dd if=/dev/mtd/mtd1 of=/sdcard/dsp_bl.img
exit (nos saca del super usuario)
exit (nos saca del shell del teléfono)
adb pull /sdcard/dsp_bl.img
exit (nos saca del cmd o terminal)

Listo, ya tenemos los 4 archivos del teléfono en el folder de donde empezamos, ya sea para sacarlos del donante o respaldo del paciente. Bien puede eliminarse el dsp_bl.img del sdcard.

Ahora, para el proceso de subida. Vamos al folder donde tenemos los archivos por subir, entramos en cmd o teminal y ejecutamos:

adb push DSP_ROM /system/etc/firmware
adb push catcher_filter.bin /system/etc/firmware
adb push modem.img /system/etc/firmware
adb push dsp_bl.img /sdcard
adb shell
su
cat /proc/mtd (ahi verificamos la particion igual que antes, supondre que es mtd1)
dd if=/sdcard/dsp_bl.img of=/dev/mtd/mtd1
rm /sdcard/dsp_bl.img
reboot

El telefono reiniciara, salimos del cmd o terminal.

Para el caso de teléfonos en los cuales el cat /proc/mtd este vacio, como lo es con muchos dispositivos con ICS, es porque usan emmc en vez de mtd. cat /proc/emmc y cat/proc/dumchar_info daran la disposición de las particiones contra devs y habrá que modificar comandos para sacar el dsp_bl del /dev/misc-sd tomado en cuenta el offset que tiene según los comandos cat. En otro mensaje describo con un ejemplo como se haría.

Un 10 para ti :wink:

*** Sony Ericsson X10 Mini Pro ***
 
Extracción del dsp_bl para un teléfono con Android 4.0.4, procesador MTK6575 y particiones emmc. El cat /proc/mtd sale así:

cat /proc/mtd
dev: size erasesize name

Esto indica que el teléfono no utiliza particiones mtd, sino emmc. Los cat correspondientes salen así:

cat /proc/emmc
partno: start_sect nr_sects partition_name
emmc_p1: 00000020 00000002 "ebr1"
emmc_p2: 000dd720 00031800 "cache"
emmc_p3: 0010f720 00200800 "usrdata"
emmc_p4: 00310720 004228e0 "fat"
emmc_p5: 00009f00 00002800 "sec_ro"
emmc_p6: 0000ef20 000ce000 "android"

cat /proc/partitions
major minor #blocks name
7 0 18743 loop0
7 1 58244 loop1
7 2 18743 loop2
179 0 3774464 mmcblk0
179 1 1 mmcblk0p1
179 2 101376 mmcblk0p2
179 3 1049600 mmcblk0p3
179 4 2167920 mmcblk0p4
179 5 5120 mmcblk0p5
179 6 421888 mmcblk0p6
179 16 2048 mmcblk0boot1
179 8 2048 mmcblk0boot0
254 0 18742 dm-0
254 1 58243 dm-1
254 2 18742 dm-2

cat /proc/dumchar_info
Part_Name Size StartAddr Type MapTo
preloader 0x0000000000040000 0x0000000000000000 2 /dev/misc-sd
dsp_bl 0x00000000005c0000 0x0000000000040000 2 /dev/misc-sd
mbr 0x0000000000004000 0x0000000000000000 2 /dev/block/mmcblk0
ebr1 0x000000000005c000 0x0000000000004000 2 /dev/block/mmcblk0p1
pmt 0x0000000000400000 0x0000000000060000 2 /dev/block/mmcblk0
nvram 0x0000000000300000 0x0000000000460000 2 /dev/block/mmcblk0
seccfg 0x0000000000020000 0x0000000000760000 2 /dev/block/mmcblk0
uboot 0x0000000000060000 0x0000000000780000 2 /dev/block/mmcblk0
bootimg 0x0000000000600000 0x00000000007e0000 2 /dev/block/mmcblk0
recovery 0x0000000000600000 0x0000000000de0000 2 /dev/block/mmcblk0
sec_ro 0x0000000000600000 0x00000000013e0000 2 /dev/block/mmcblk0p5
misc 0x0000000000060000 0x00000000019e0000 2 /dev/block/mmcblk0
logo 0x0000000000300000 0x0000000001a40000 2 /dev/block/mmcblk0
expdb 0x00000000000a0000 0x0000000001d40000 2 /dev/block/mmcblk0
ebr2 0x0000000000004000 0x0000000001de0000 2 /dev/block/mmcblk0
android 0x0000000019d00000 0x0000000001de4000 2 /dev/block/mmcblk0p6
cache 0x0000000006400000 0x000000001bae4000 2 /dev/block/mmcblk0p2
usrdata 0x0000000040200000 0x0000000021ee4000 2 /dev/block/mmcblk0p3
fat 0x0000000083f1c000 0x00000000620e4000 2 /dev/block/mmcblk0p4
bmtpool 0x0000000000a00000 0xffffffffff9f0050 2 /dev/block/mmcblk0
Part_Name:tonguewink:artition name you should open;
Size:size of partition
StartAddr:Start Address of partition;
Type:Type of partition(MTD=1,EMMC=2)
MapTo:actual device you operate

Determinemos un tamaño de bloque de 4,096 bytes
El tamaño del dsp_bl es de 5c0000 = 6,029,312 bytes. 6,029,312 / 4,096 = 1,472 bloques
El offset del dsp_bl dentro de /dev/misc-sd es de 40000 = 262,144 bytes. 262,144 / 4,096 = 64 bloques

Para lectura
dd if=/dev/misc-sd of=/sdcard/dsp_bl.img bs=4096 count=1492 skip=64
Para escritura
dd if=/sdcard/dsp_bl.img of=/ dev/misc-sd bs=4096 count=1492 seek=64

De nuevo, el tamaño del dsp_bl DEBE coincidir.
 
Extracción del dsp_bl para un teléfono con Android 4.0.4, procesador MTK6575 y particiones emmc. El cat /proc/mtd sale así:

cat /proc/mtd
dev: size erasesize name

Esto indica que el teléfono no utiliza particiones mtd, sino emmc. Los cat correspondientes salen así:

cat /proc/emmc
partno: start_sect nr_sects partition_name
emmc_p1: 00000020 00000002 "ebr1"
emmc_p2: 000dd720 00031800 "cache"
emmc_p3: 0010f720 00200800 "usrdata"
emmc_p4: 00310720 004228e0 "fat"
emmc_p5: 00009f00 00002800 "sec_ro"
emmc_p6: 0000ef20 000ce000 "android"

cat /proc/partitions
major minor #blocks name
7 0 18743 loop0
7 1 58244 loop1
7 2 18743 loop2
179 0 3774464 mmcblk0
179 1 1 mmcblk0p1
179 2 101376 mmcblk0p2
179 3 1049600 mmcblk0p3
179 4 2167920 mmcblk0p4
179 5 5120 mmcblk0p5
179 6 421888 mmcblk0p6
179 16 2048 mmcblk0boot1
179 8 2048 mmcblk0boot0
254 0 18742 dm-0
254 1 58243 dm-1
254 2 18742 dm-2

cat /proc/dumchar_info
Part_Name Size StartAddr Type MapTo
preloader 0x0000000000040000 0x0000000000000000 2 /dev/misc-sd
dsp_bl 0x00000000005c0000 0x0000000000040000 2 /dev/misc-sd
mbr 0x0000000000004000 0x0000000000000000 2 /dev/block/mmcblk0
ebr1 0x000000000005c000 0x0000000000004000 2 /dev/block/mmcblk0p1
pmt 0x0000000000400000 0x0000000000060000 2 /dev/block/mmcblk0
nvram 0x0000000000300000 0x0000000000460000 2 /dev/block/mmcblk0
seccfg 0x0000000000020000 0x0000000000760000 2 /dev/block/mmcblk0
uboot 0x0000000000060000 0x0000000000780000 2 /dev/block/mmcblk0
bootimg 0x0000000000600000 0x00000000007e0000 2 /dev/block/mmcblk0
recovery 0x0000000000600000 0x0000000000de0000 2 /dev/block/mmcblk0
sec_ro 0x0000000000600000 0x00000000013e0000 2 /dev/block/mmcblk0p5
misc 0x0000000000060000 0x00000000019e0000 2 /dev/block/mmcblk0
logo 0x0000000000300000 0x0000000001a40000 2 /dev/block/mmcblk0
expdb 0x00000000000a0000 0x0000000001d40000 2 /dev/block/mmcblk0
ebr2 0x0000000000004000 0x0000000001de0000 2 /dev/block/mmcblk0
android 0x0000000019d00000 0x0000000001de4000 2 /dev/block/mmcblk0p6
cache 0x0000000006400000 0x000000001bae4000 2 /dev/block/mmcblk0p2
usrdata 0x0000000040200000 0x0000000021ee4000 2 /dev/block/mmcblk0p3
fat 0x0000000083f1c000 0x00000000620e4000 2 /dev/block/mmcblk0p4
bmtpool 0x0000000000a00000 0xffffffffff9f0050 2 /dev/block/mmcblk0
Part_Name:tonguewink:artition name you should open;
Size:size of partition
StartAddr:Start Address of partition;
Type:Type of partition(MTD=1,EMMC=2)
MapTo:actual device you operate

Determinemos un tamaño de bloque de 4,096 bytes
El tamaño del dsp_bl es de 5c0000 = 6,029,312 bytes. 6,029,312 / 4,096 = 1,472 bloques
El offset del dsp_bl dentro de /dev/misc-sd es de 40000 = 262,144 bytes. 262,144 / 4,096 = 64 bloques

Para lectura
dd if=/dev/misc-sd of=/sdcard/dsp_bl.img bs=4096 count=1492 skip=64
Para escritura
dd if=/sdcard/dsp_bl.img of=/ dev/misc-sd bs=4096 count=1492 seek=64

De nuevo, el tamaño del dsp_bl DEBE coincidir.

:dizzy:SMILEY: ufff me perdi!!!! a mi cuando llegueis a la conclusion y digais hay que darle a este boton y ya teneis banda 900 me avisais,como me fastidia no saber lo que estais tramando pero os admiro de veras:tonguewink:smiley:
 
:dizzy:SMILEY: ufff me perdi!!!! a mi cuando llegueis a la conclusion y digais hay que darle a este boton y ya teneis banda 900 me avisais,como me fastidia no saber lo que estais tramando pero os admiro de veras:tonguewink:smiley:
Ojala fuese tan fácil como de darle a un botón y listo. En algún momento es posible que comprobando el tamaño de la partición dsp_bl del teléfono que se le quiera encender la banda se pueda aplicar un zip mediante recovery que habilite las bandas. Habria que hacer archivos zip según procesador, versión de Android y tamaño de dsp_bl

Basicamente, en los MTK las bandas se definen según esos 4 archivos que están en el teléfono. El dsp_bl es una partición que está a la par del preloader. En el pasado he visto que gente cambia archivos en el /system/etc/firmware solamente sin resultados, esto se debe a que el modem.img está de hecho casado con el dsp_bl, si no coinciden, no camina.

Acá estoy explicando cómo hacer para extraer y luego actualizar los archivos que parecen necesitarse para así injertar bandas de un teléfono que funcione correctamente a uno que del todo no lo hace.

Primero se necesita de alguien que tenga un teléfono con la banda de 3G 900 funcionando. Luego, que el procesador, versión de Android y tamaño de dsp_bl coincidan con uno que no funcione. Al teléfono que no funciona se le inyectan los archivos del caso y debería entonces funcionarle las bandas del donante.
 
Ojala fuese tan fácil como de darle a un botón y listo. En algún momento es posible que comprobando el tamaño de la partición dsp_bl del teléfono que se le quiera encender la banda se pueda aplicar un zip mediante recovery que habilite las bandas. Habria que hacer archivos zip según procesador, versión de Android y tamaño de dsp_bl

Basicamente, en los MTK las bandas se definen según esos 4 archivos que están en el teléfono. El dsp_bl es una partición que está a la par del preloader. En el pasado he visto que gente cambia archivos en el /system/etc/firmware solamente sin resultados, esto se debe a que el modem.img está de hecho casado con el dsp_bl, si no coinciden, no camina.

Acá estoy explicando cómo hacer para extraer y luego actualizar los archivos que parecen necesitarse para así injertar bandas de un teléfono que funcione correctamente a uno que del todo no lo hace.

Primero se necesita de alguien que tenga un teléfono con la banda de 3G 900 funcionando. Luego, que el procesador, versión de Android y tamaño de dsp_bl coincidan con uno que no funcione. Al teléfono que no funciona se le inyectan los archivos del caso y debería entonces funcionarle las bandas del donante.

Pues el mío en modo ingeniero esta activada pero estoy seguro que no la tengo



Enviado desde mi x310e

uploadfromtaptalk1362948297716.jpg
 
Pues, si apagas todas menos la de 900 en la seccion de UMTS del modo ingeniero y luego fuerzas 3G en la configuracion Redes Moviles, Preferencias de red GSM/UMTS, GSM/WCDMA preferencia de WCDMA, le das a operadores de red y enganchas a la 3G que liste, si tu operador trabaja 3G en 900 deberia pegar y mostrar 3G en la barra del telefono. Si no, ese telefono realmente no pega en 900 y no seria un candidato para donacion.
 
Pues, si apagas todas menos la de 900 en la seccion de UMTS del modo ingeniero y luego fuerzas 3G en la configuracion Redes Moviles, Preferencias de red GSM/UMTS, GSM/WCDMA preferencia de WCDMA, le das a operadores de red y enganchas a la 3G que liste, si tu operador trabaja 3G en 900 deberia pegar y mostrar 3G en la barra del telefono. Si no, ese telefono realmente no pega en 900 y no seria un candidato para donacion.

Pues me temo que no va a ser un candidato para la donacion.Esto que me comentas ya lo habia probado antes y tengo comprobado que mi telefono no trabaja en la banda 900 por mucho que me lo diga el modo ingeniero...los chinos que son unos artistas en estas cosas.
 
Pues me temo que no va a ser un candidato para la donacion.Esto que me comentas ya lo habia probado antes y tengo comprobado que mi telefono no trabaja en la banda 900 por mucho que me lo diga el modo ingeniero...los chinos que son unos artistas en estas cosas.

Si, ese modo ingeniero es un gran mentiroso. Aca le acabo de hacer lo que te dije que hicieras a un C3-MTK6575 que el ingeniero solo reporta la de 2100, y magicamente me lista mi operador en 3G a 850. Para comprobar le meti mi sim, ajuste el APN, le salio una H en el indicador de señal y efectivamente el speedtest me reporta bajada de medio mega y subida a 300 kilos, que le tengo un plan economico, pero mas que suficiente para lo que necesito. Osea, no confiar en el modo ingeniero.
 

Del blog

¿Ha terminado la locura de añadir tantas cámaras a los móviles?

  • Si

  • No

  • No lo se

  • Ya me gustaría...

  • Ya te gustaría...


Los resultados solo son visibles tras votar.
Atrás
Arriba