A mi me ha funcionado pero CUIDADO, hay personas que han tenido problemas gordos. Te puede entrar la tele en un bucle sin fin y tener que desmontarla para que vuelva a funcionar.Pagina del proyecto (en ingles):
http://samygo.sourceforge.net/La televisión lleva un (digamos) miniordenador con un linux dentro. Lo que he conseguido (instrucciones para hacerlo en
http://www.avsforum.com/avs-vb/showthread.php?t=1047445 es acceder a ese linux mediante la consola (algo similar a las antiguas ventanas de MSDOS)
http://es.wikipedia.org/wiki/Consola_de_sistema .
Al hacer eso, monto por NFS (
http://es.wikipedia.org/wiki/NFS ) un directorio que comparto en
el ordenador donde tengo todo, y así me salto las limitaciones de no tener funcionando
el Samsung Share Manager y puedo ver lo del ordenador desde la televisión como si lo tuviera en un disco externo USB.
A pesar de todo,
el proceso para hacerlo es un coñazo, y no puedo (o debo) pasaros
el firmware modificado por mí, ya que aparte de no ser legal (lleva código propiedad de Samsung),
si luego convertís la tele en un ladrillo yo sería el culpable.
Hay que hacer dos firmwares distintos, uno para conseguir acceso por telnet a la tele, y una vez conseguido, otro para que
el directorio compartido se cargue automáticamente.
Traduzco las instrucciones por si hay interesados:
1. Descomprimir
el archivo T-CHU7DEUC.exe
2. Desencriptar exe.img.enc usando XOR con la clave T-CHU7DEUC , en linux por ejemplo con crypt-xor.P.ej.:
../../crypt-xor -key T-CHL7DEUC -file ./exe.img.enc -outfile ./exe.img.dec
3. Con un editor hexadecimal (por ejemplo okteta en KDE) hacer los siguientes cambios:
ORIGINAL: export KF_LOG=/dev/null #Remove engine logging.
CAMBIARLO A: export KF_LOG=/dev/null;/etc/telnetd_start.sh&
4. Recalcular
el CRC para exe.img
5. Cambiar en validinfo.txt
el CRC antiguo por
el nuevo.
6. Encriptar exe.img usando XOR con la clave T-CHU7DEUC y volver a ponerlo en su sitio (exe.img.enc)
rm -fr exe.img.enc
~/crypt-xor -key T-CHL7DEUC -file ./exe.img.dec -outfile ./exe.img.enc
7. Enchufar
el USB en la tele y actualizar
el firmware.
Después de esto, podremos hacer telnet IPDELATELE, usuario root sin contraseña.
Ya tenemos la primera parte hecha, ahora es necesario crear dos archivos en la zona donde se puede escribir (mtd_rwarea), que yo llamo inicio.sh e inicio2.sh, que contienen:
/mtd_rwarea/inicio.sh:
mount -t devpts devpts /dev/pts
telnetd
/mtd_rwarea/inicio2.sh &
inicio2.sh:
sleep 20
umount /dev/sda
mkdir /dtv/usb/sda/pelis
mount -o ro,soft,udp,async,nolock,rsize=32768,wsize=8192 IPSERVIDOR:/nombrecarpetacompartida /dtv/usb/sda/pelis
Recordad hacer chmod +x en los dos archivos.
Ahora es necesario volver a modificar otra vez
el firmware para que monte automáticamente los recursos nfs (espera 20 segundos al encender la tele para que reconozca
el USB). Volvemos a modificar
el firmware y cambiamos:
ORIGINAL: export KF_LOG=/dev/null #Remove engine logging.
CAMBIARLO A: export KF_LOG=/dev/null;/mtd_rwarea/inicio.sh&
Hacemos todos los pasos, y al reiniciar después de instalar
el firmware, esperando 20 segundos (teniendo
el lápiz usb metido en la tele) ya debemos de tener conectado
el recurso NFS.
Yo he usado:
- crypt-xor: Cogí
el paquete de debian
http://crypt-xor.sourceforge.net/ y descomprimí
el ejecutable en mi home.
Para
el crc use
el siguiente script (no recuerdo donde lo baje) en python. Necesita un módulo de python instalado (python-fchksum):
#/usr/bin/python
import sys, re, zlib
c_null="" c_red="" c_green=""
def crc32_checksum(filename):
filedata = open(filename, "rb").read()
sum = zlib.crc32(filedata)
if sum < 0:
sum &= 16**8-1
return "%.8X" %(sum)
for file in sys.argv[1:]:
sum = crc32_checksum(file)
try:
dest_sum = re.split('[\[\]]', file)[-2]
dest_sum = re.search('[\[(][\dA-F]{8}[\])]', file).group()[1:-1]
if sum == dest_sum:
c_in = c_green
else:
c_in = c_red
sfile = file.split(dest_sum)
print "%s%s%s %s%s%s%s%s" % (c_in, sum, c_null, sfile[0], c_in, dest_sum, c_null, sfile[1])
except IndexError:
print "%s %s" %(sum, file)
En windows hay varios editores hexadecimales que hacen lo del xor y lo de calcular
el crc.
EDITO:
por 3vagos Hoy 15:28
Solo añadir que los firmwares para los modelos con "T2P" (los que incorporan CI+) , vienen codificados con SSL y de momento se desconoce la manera de decodificarlos.
EDITO:
Para acceder a carpetas compartidas de windows:
1. Tener acceso por telnet a la tele, y compartir una carpeta con pelis en windows.
2. Ir a linux.zsolttech.com/Samsung/ y bajar
el fichero que hay. Descomprimirlo y meter
el fichero que hay en un lápiz.
3 .Copiarlo al directorio /mtd_rwarea. Así
cp /dtv/usb/sda1/cifs.ko (o algo así, no tengo la tele ahora) /mtd_rwarea/
4. Con un lápiz metido en la tele:
umount /dev/sda
insmod /mtd_rwarea/cifs.ko
mount -o user=USUARIOWINDOWS,password=CONTRASEÑAWINDOWS -t cifs //IPWINDOWS/NOMBRECARPETACOMPARTIDA /dtv/usb/sda1/smb)
5. Ir al menú de Media Player en la tele, vídeos y ... a disfrutar.
Para quien tenga instalado
el 2º
firmware,
el fichero inicio2.sh sería algo así:
sleep 20
umount /dev/sda
mkdir /dtv/usb/sda/pelis
insmod /mtd_rwarea/cifs.ko
mount -o user=USUARIOWINDOWS,password=CONTRASEÑAWINDOWS -t cifs //IPWINDOWS/NOMBRECARPETACOMPARTIDA /dtv/usb/sda/pelis
EDITO:
por hastaelnabo2000 Ayer 21:01
Buenas,
Soy usuario de windows y gracias a la gente de avsforums yo ya puedo acceder por telnet a mi Tv. La verdad es que con Windos es fácil, fácil, sólo hay que seguir éstos pasos:
1. Instalar
el software FlexHex
2. Descomprimir
el firmware del archivo T-CHL7DEUC.exe en una carpeta
3. Abrir con
el software FlexHex
el fichero T-CHL7DEUC\image\exe.img.enc
4. Quitar la protección XOR del fichero desde FlexHex de ésta forma:
4.1. edit -> operation -> bitwise
4.2. En la ventana que aparece seleccionamos XOR (exclusive or) y ANSI. En la ventana de texto pegamos la contraseña _________de desencripatdo: T-CHL7DEUC
4.3. Presionamos OK.
5. Buscamos (Ctr+F) la siguiente cadena como ANSI Text: export KF_LOG=/dev/null
6. Modificamos la cadena: export KF_LOG=/dev/null #Remove engine logging.
con la cadena: export KF_LOG=/dev/null;/etc/telnetd_start.sh;
NOTA: Yo he susituido
el . del final que sobra (logging.) con un espacio, pero creo que no es necesario
7. Calculamos
el CRC del fichero modificado con HexFlex de la siguiente forma:
7.1. Tools -> Checksum -> CRC-32
7.2.
El valor se copiará en
el portapapeles. Pegadlo en un bloc de notas.
8. Volvemos a poner la protección XOR siguiendo los mismos pasos del punto 4.
9. Cambiamos
el valor CRC del fichero validinfo.txt por ejemplo, con
el bloc de notas. Haremos lo siguiente:
9.1. Abrimos
el fichero validinfo.txt por ejemplo con
el bloc de notas.
9.2. Localizamos
el CRC del
firmware original: *007_exe.img_2982db40*011_appdata.img_e6fe10aa
9.3.
El valor en negrita es que tenemos que sustituir con
el valor obtenido con FlexHex pero ¡¡OJO!! lo haremos al revés:
9.3.1. FlexHex nos devuelve
el CRC al revés, si
el valor recibido es 33664a83 nosotros lo escribiremos así:
834a6633. Si os fijás, se escribe de derecha a izquierda en bloques de 2 cifras.
10. Copiamos la carpeta T-CHL7DEUC con los ficheros modificados en la raiz de un Pendrive
11. Pinchamos
el Pendrive en la Tv
12. Seleccionamos Software Superior y seguimos los pasos para actualizar
el firmware.
Si todo ha ido bien, una vez se reincie la TV después de actualizar, ya podréis tener acceso por telnet.
PD: Si la Tv no reconoce
el firmware probablemente sea porque
el CRC que hemos puesto en
el fichero validinfo.txt no sea correcto.
Espero que éstos pasos os sirvan para habilitar
el telnet en vuestras Tv.
Un saludo.
EDITO:
Aquí tenéis una herramienta (en python) para hacer todo al
firmware de una vez (incluye acceso telnet+parche de ajuste de bandas negras) aparte de la medida de seguridad del & (para que no os quedéis sin tele)
http://sourceforge.net/apps/phpbb/samyg ... p?f=5&t=13Para hacerlo funcionar, desde una ventana de comandos:
python SamyGo.py CARPETAFIRMWARE(T-CHL7DEUC)
Si estáis en windows, descargad
http://www.python.org/ftp/python/2.6.3/python-2.6.3.msi e instaladlo.
Los que tengáis
el firmware modificado para
el automontaje, modificad la línea:
ifile.write( ';/etc/telnetd_start.sh&' )
por la siguiente :
ifile.write( ';/mtd_rwarea/inicio.sh&' )
Lo acabo de probar y funciona correctamente.
En teoría con este no hay posibilidades de convertir la tele en un ladrillo, ya que gracias al "&" siempre va a pasar de esa línea y ejecutar exeDSP (
el programa de la tele).