3 votos

Archivo de configuración de ODIN - significado de los elementos

Comencé esta pregunta con el fin de arrojar más luz sobre una herramienta que es utilizada por casi todos los propietarios de dispositivos Samsung que realizan operaciones como el flasheo: ODIN.

Dado que ya hay una buena respuesta que cubre el significado detrás de las casillas de verificación más comúnmente utilizadas, me gustaría hacer que todos piensen en el archivo de configuración de ODIN, específicamente Odin3.ini. Este archivo reside en la misma posición que el ejecutable principal de ODIN, y es obligatorio para ejecutar el programa en sí. Su contenido (v.3.10.7) se puede observar a continuación:

[Opción]
Título=odin
FactoryResetTime=1
OptionEnable=1
SLP=0
AuthorityKey=pw
RtnForSprint=1

[APOpción]
RePartition=0
AutoReboot=1
FResetTime=1
FlashLock=0
TFlash=0
NandErase=0

[CPOpción]
PhoneEFSClear=0
PhoneBootUpdate=0k

[UIOpción]
LED=0

[ButtonOpción]
Bootloader=1
PDA=1
Phone=1
CSC=1
UMS/PATCH=0
USERDATA=0

[D300Jig]
;[0] no utilizar / COM [1~2] utilizable
D300COM=0
;[0] no utilizar / [1] utilizar
MicroCable=0

[PortArrange]
;Puerto de módem móvil SAMSUNG (para modo de descarga)
DPort0=
DPort1= 
DPort2=
DPort3= 
DPort4= 
DPort5=
DPort6=
DPort7=
;Puerto de módem USB Android SAMSUNG (para Samsung Kies)
SPort0=
SPort1=
SPort2=
SPort3=
SPort4=
SPort5=
SPort6=
SPort7=

Recientemente realicé algunas pruebas en los valores mencionados anteriormente. Puedes ver mis hallazgos en la respuesta a continuación, la cual es editable por cualquier persona.

Ahora viene la parte de la pregunta: ¿Alguien logró determinar el uso de esos ajustes que no pude/didn't testear? Por ejemplo:

  • Utilidad de FactoryResetTime - no resetea el contador de flasheo, antes de que digas eso;
  • Salida de conexión FTP después de editar SLP;
  • Salida eventual de DeviceInfo;
  • Uso de AuthorityKey;
  • Uso de RtnForSprint (solo v3.10.7);
  • Uso de la casilla de verificación T Flash;
  • Qué se supone que se debe elegir como el archivo UMS/PATCH - nunca he visto uno.

Y sí, soy consciente de que esto requiere un poco de trabajo, es amplio, y no está estrictamente relacionado con Android. Sin embargo, no encontré nada en la comunidad de XDA, y siento que aún debemos descubrir el verdadero poder de esta herramienta ODIN. Cualquier respuesta sobre este tema tiene el potencial de ayudar a los usuarios de Samsung a comprender mejor este software.

0 votos

UMS/PATCH podría ser para flashear una actualización parcial en lugar de simplemente sobrescribir todo. USERDATA es casi con seguridad /datos. Supongo que la mayoría del resto es realmente solo útil en la intranet de Samsung.

0 votos

@MatthewRead A partir de ahora, comencé a desarmar el código de Odin. Lo interesante es que encontré el componente "LOKE" referenciado en una cadena. Supongo que es para el propósito de la salida. En cuanto a USERDATA, experimenté un borrado interno de SD cada vez que flasheaba una ROM stock. Tal vez eso se hizo para evitar que Odin limpie /storage/sdcard0 (/data/media).

1 votos

Creo que he encontrado la IP del servidor al que se conecta Odin. Parece ser 165.213.149.206.

2voto

Como sugirió @MatthewRead, esta respuesta reflejará la misma moda de la pregunta: será editable por cualquier persona que tenga algo útil que decir.

En relación con la pregunta original, aquí están mis últimas conclusiones:

  • Para la etiqueta [Options]:

    • Título: string. Se utiliza para cambiar la cadena mostrada cerca de "Odin"; libremente personalizable;
    • FactoryResetTime: desconocido. Pude cambiar este valor, pero no sucedió nada;
    • OptionEnable: flag. Cuando se establece en 0, hace que cualquier ajuste aparezca atenuado;
    • PhoneEnable: flag. Por lo general, no está presente en un Odin3.ini nuevo, se puede añadir manualmente. Cuando se establece en 1, hace que Borrar EFS del Teléfono y Actualizar Bootloader del Teléfono sean seleccionables;
    • DeviceInfo: flag. Por lo general, no está presente en un Odin3.ini nuevo, se puede añadir manualmente. Cuando se establece en 1, hace que el checkbox de DeviceInfo esté disponible. Marcar el checkbox no produce ningún resultado;
    • SLP: flag. Cuando se establece en 1, hace que el programa intente una conexión a 165.213.149.206 a través de FTP, para buscar actualizaciones del ejecutable principal. NOTA: Rastreé la IP, y realmente es un servidor coreano;
    • AuthorityKey: desconocido. Parece ser una cadena de algún tipo, y creo que está conectado al parámetro anterior, pero no tengo pistas;
    • RtnForSprint: flag. No probado.
  • Para la etiqueta [APOption]:

    • De RePartition a NandErase: flags. Editarlos modifica el comportamiento predeterminado de la opción correspondiente (0 = desmarcado / 1 = marcado).
  • Para la etiqueta [CPOption]:

    • PhoneEFSClear: flag. Por lo general, el checkbox correspondiente está atenuado. Al cambiar el valor a 1, es posible que se marque, pero sigue estando atenuado. Hacerlo hará que la aplicación te pida que elijas un archivo de firmware, evitando que comiences el proceso de flasheo solo para, por ejemplo, reiniciar;
    • PhoneBootUpdate: aparentemente un flag. El valor predeterminado de 0k puede parecer extraño, pero este flag hace lo mismo que el anterior, en el checkbox de Actualizar Bootloader del Teléfono.
  • Para la etiqueta [UIOption]:

    • LED: desconocido. Puede ser cualquier cosa: cambié este valor, pero no sucedió nada.
  • Para la etiqueta [ButtonOption]:

    • De Bootloader a UMS/PATCH: flags. Editarlos habilita o "atenua" el checkbox correspondiente (0 = deshabilitado / 1 = habilitado);
    • USERDATA: desconocido, posiblemente un flag. Dado que no encontré ninguna referencia para este valor en el código del programa, supongo que esta es una característica que se desarrollará en el futuro. Por ahora, no hace nada.
  • Para la etiqueta [D300Jig]:

    • D300COM: entero. Cambié este valor, pero no sucedió nada;
    • MicroCable: flag. Cambié este valor, pero no sucedió nada.
  • Para la etiqueta [PortArrange]:

    • De DPort0 a SPort7: desconocido. No probado.

Notas:

  • SLP: como se mencionó anteriormente, este flag activa una conexión FTP a una dirección IP codificada. Creo que puede ser útil para actualizar Odin desde una fuente confiable, pero no tengo pruebas. Sería útil si alguien con un Odin desactualizado prueba esto;
  • D300Jig: encontré una referencia a esta sección en el código de Odin, junto con una cadena que se supone que se mostrará en la salida. Aun así, no pude hacer que funcione. Dos foros rusos afirman que es una forma de flashear firmware en dispositivos antiguos sin ni Loke ni la partición de Recuperación. Se necesita más investigación.

0 votos

Puede que no tenga relación con este tema, pero las versiones anteriores de Odin (v3.7) tenían una opción de "Dump". No hay forma de activarlo manualmente, y después de una discusión con el autor de Heimdall, Benjamin Dobell, puedo confirmar que es Loke el que señala la disponibilidad de la función a Odin. Las versiones posteriores del software carecen de la función, ya que los últimos bootloaders tampoco la implementan.

2voto

Nadu Puntos 121

Acabo de ingenierizar la parte ini de Odin3 (usando IDA 66 + HexRaysDecompiler & Rohitab API Monitor 2.32).

Entonces aquí están todas las configuraciones ini disponibles + sus valores por defecto:

; Estas configuraciones ini se aplican a Odin3 v3.12 (Compilado el 21 de enero de 2016)

[Option]
 ; [Evitar omitir esto o cualquier cosa que comience como 'Odin3. [Android + SLP]' ]
    Title                   =       [Android + SLP]
    FactoryResetTime        =       1   # [Por defecto: 1 ] ???
    PacketSize              = 1048576   # [Por defecto: 1048576 ] ???

    OptionEnable            =       1   # [Por defecto: 1 ] 'Opciones' se vuelve disponible 
    PhoneEnable             =       1   # [Por defecto: 0 ] 'Limpieza de EFS de teléfono' y 'Actualización de bootloader de teléfono' se vuelven disponibles
    DeviceInfo              =       1   # [Por defecto: 0 ] 'Información del dispositivo' se vuelve disponible 
    RtnForSprint            =       1   # [Por defecto: 0 ] 'RTN para Sprint' se vuelve disponible

    ; Verificar actualizaciones
    ;   ftp://odindown.user:nwodnido110110@165.213.149.206/pub/Tools/USB_Downloader/Odin_Downloader/
    ;   "OdinVersion.txt", "OdinNew.exe", "OdinLauncher.exe"
    ;SLP                    =       0   # Versión 3.09 solamente! [Por defecto: 0 ]
    ;ComPortWaitingTime     =       0   # Versión 3.09 solamente! [Por defecto: 1 ] 
    ;AuthorityKey           =       pw

[ButtonOption]
    Bootloader  =   1   # [Por defecto: 1 ]     Se vuelve disponible la entrada de archivo 'BL'
    PDA         =   1   # [Por defecto: 1 ]     Se vuelve disponible la entrada de archivo 'AP'
    Phone       =   1   # [Por defecto: 1 ]     Se vuelve disponible la entrada de archivo 'CP'
    CSC         =   1   # [Por defecto: 1 ]     Se vuelve disponible la entrada de archivo 'CSC'
    UMS/PATCH   =   1   # [Por defecto: 1 ]     Se vuelve disponible la entrada de archivo 'UMS'
    ;USERDATA   =   0

[APOption]
    RePartition     =   0   # [Por defecto: 0 ] Establece la casilla de verificación por defecto para 'Reparticionar'
    AutoReboot      =   0   # [Por defecto: 1 ] Establece la casilla de verificación por defecto para 'Reinicio automático'     Reiniciar después de la carga de datos
    FResetTime      =   0   # [Por defecto: 1 ] Establece la casilla de verificación por defecto para 'Tiempo de reinicio de fábrica'

    FlashLock       =   0   # [Por defecto: 0 ] Establece la casilla de verificación por defecto para 'Bloqueo de flash'
    NandErase       =   0   # [Por defecto: 0 ] Establece la casilla de verificación por defecto para 'Borrado de Nand'
    TFlash          =   0   # [Por defecto: 0 ] Establece la casilla de verificación por defecto para 'T Flash'

[CPOption]
    PhoneEFSClear   =   0   # [Por defecto: 0 ] Establece la casilla de verificación por defecto para 'Limpieza de EFS de teléfono'
    PhoneBootUpdate =   0   # [Por defecto: 0 ] Establece la casilla de verificación por defecto para 'Actualización de bootloader de teléfono'

;[UIOption]
;   LED =   0 [Por defecto: 0 ]  ¡Versión 3.09 solamente! Establece la casilla de verificación por defecto para 'Control de LED'

;Nota:  faltan casillas de verificación para 'RTN para Sprint' e 'Información del dispositivo'

[D300Jig]
    ;[0] no usar *ValorDefecto* / COM [1~2] utilizable
    D300COM     =   0

    ;[0] no usar *ValorDefecto* / [1] usar (solo aplicado si D300COM = 1)
    MicroCable  =   0

; [PortArrange]
    ; ;Puerto de modem móvil SAMSUNG (para el modo de Descarga)
    ; DPort0    =   
    ; DPort1    =    
    ; DPort2    =   
    ; DPort3    =    
    ; DPort4    =    
    ; DPort5    =   
    ; DPort6    =   
    ; DPort7    =   
    ; ;Puerto de modem USB Android de SAMSUNG (para Samsung Kies)
    ; SPort0    =   
    ; SPort1    =   
    ; SPort2    =   
    ; SPort3    =   
    ; SPort4    =   
    ; SPort5    =   
    ; SPort6    =   
    ; SPort7    =   

Registro del monitor de API de Odin3.ini:

"Option"        "Title"             "[Android + SLP]"
"Option"        "Title"             "Odin3. [Android + SLP]"
"Option"        "FactoryResetTime"  "1"
"Option"        "PacketSize"        "1048576"

"APOption"      "RePartition"       "0"
"APOption"      "AutoReboot"        "1"
"APOption"      "FResetTime"        "1"

"CPOption"      "PhoneEFSClear"     "0"
"CPOption"      "PhoneBootUpdate"   "0"

"APOption"      "FlashLock"         "0"
"APOption"      "NandErase"         "0"
"APOption"      "TFlash"            "0"

"ButtonOption"  "Bootloader"        "1"
"ButtonOption"  "PDA"               "1"
"ButtonOption"  "Phone"             "1"
"ButtonOption"  "CSC"               "1"
"ButtonOption"  "UMS/PATCH"         "1"

"Option"        "OptionEnable"      "1"
"Option"        "PhoneEnable"       "0"
"Option"        "DeviceInfo"        "0"
"Option"        "RtnForSprint"      "0"

Poco a poco trato de descubrir más sobre el significado de las opciones.

Otra información útil a tener en cuenta:

Atajos de teclado de Odin3

 + S           BL
 + P           AP
 + M           CP
 + C           CSC

 + S      Iniciar
 + R      Reiniciar
 + E      Salir

¿Cómo detecta Odin3 si algún dispositivo está conectado? Ver los nombres de las entradas en HKLM\HARDWARE\DEVICEMAP\SERIALCOMM que contienen 'mdm' y si su valor comienza con 'COM'

Ejemplo

"\Device\ssudmdm0000"   "COM8"

Nota: "Odin_Multi_Downloader_v4.44" (2011) es más exigente y solo encuentra "\Device\sscdmdm0..9"

"Odin3.09" (2013) encuentra "\Device\ssudmdm" "\Device\sscdmdm" "\Device\ssacmdm" "\Device\ssadmdm"

Es el 'Módem USB móvil SAMSUNG' (USB\VID_04E8&PID_685D&Modem) quien escribe las entradas en 'HKLM\HARDWARE\DEVICEMAP\SERIALCOMM' -> Habilitar/Deshabilitar esto en el administrador de dispositivos de Windows activa para registrar entradas "¡¡Eliminado!! / ¡¡Añadido!!" en Odin3

Pero en lugar de deshabilitar/habilitar el módem, deshabilitar/habilitar el 'Dispositivo compuesto USB móvil SAMSUNG' para una reinitialización adecuada. O conseguir Nirsoft DevManView y hacerlo con este script de cmd:

::Comenta en caso de que Odin3 se 'cuelgue' en  "Configurando conexión.."
::  ... y así mantiene un asa abierta a "\\Device\ssudmdm0000"
::  ... que evita/bloquea que el dispositivo y sus dependencias se eliminen 
::taskkill /fi "IMAGENAME eq odin*"

DevManView /ShowLegacyDrivers  /use_wildcard /disable  "SAMSUNG Mobile USB *" 
DevManView /ShowLegacyDrivers  /use_wildcard /enable   "SAMSUNG Mobile USB *" 

luego simplemente crear un acceso directo en el escritorio y establecer en las propiedades del acceso directo una combinación de teclas como ALT+CTRL+Y para ejecutarlo.

Bueno, alternativamente también se puede hacer de la manera de enchufar y listo, sacar el enchufe USB y luego volver a conectarlo.

0 votos

+1 por tu interés en este tema, y por la información útil que descubriste.

1voto

Kristiann Redd Puntos 11

Mi suposición es que The D300JIG está destinado a ser utilizado con la unidad JTAG propietaria de Samsung llamada Samsung Anyway Jig. Es lo que sus ingenieros de software y centros de servicio utilizan para revivir teléfonos brickeados y flashear firmware.
También podría estar relacionado con flashear y dar servicio a sus televisores inteligentes de la serie D300

También es probable que Authority Key=pw sea para una contraseña necesaria para acceder a los servidores seguros de Samsung en la dirección IP que mencionaste anteriormente.

1 votos

¿Tienes alguna investigación para respaldar tus afirmaciones?

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X