Proyecto puerto serie PSP

1, 2, 3
A petición de WaSm que parecia interesado en el proyecto voy a hacer un resumen de lo que he hecho, el porqué y de mis futuros pasos. Agradecere toda ayuda que me podais dar (a ser posible técnica).

[*]El puerto serie de la psp
Se trata del conector que hay justo al lado del jack de audio de la psp. Se trata de un puerto serie con protocolo rs232 a una velocidad de 4800 bps. Además tiene otro par de lineas que no se muy bien que hacen y tampoco las encuentro documentadas asi que ya investigare de ellas.
Como sabeis actualmente es utilizada por el control remoto que viene con el value pack, creo que en algun juego tambien es utilizado (corregidme si me equivoco) e incluso ya es utilizado para programas homebrew como puede ser el gps o el psplink(para depurar sin tener que tirar de wifi o usb).

Mas informacion acerca del puerto:
http://mc.pp.se/psp/phones.xhtml


[*]¿Por qué ese interés por el puerto serie?
Mi experiencia trabajando con este puerto me dice que es muy sencillo de manejar y como más o menos lo entiendo pues me atrevo con él, ya que en otro aspecto de hardware no sabria muy bien como meterle mano.
Además se dice, se comenta, que a través de este puerto es "posible" acceder a la flash. No tengo ni idea en que se fundamentan estos rumores pero como tampoco me han demostrado lo contrario quiero investigar sobre él.

La idea en si es descubrir que otros comandos más allá del control remoto reconoce la psp y si suena la flauta con ellos y aparece la manera de acceder a la flash o algun error de seguridad pues ya veremos la manera de disfrutarlos :P

[*]Lo que hasta ahora he hecho
Básicamente investigar un poquito hacerca del tema, lo que ya se conoce del puerto.
También me he construido un adaptador para poder conectar la psp al ordenador y enviar y recibir datos. Siguiendo este esquema:
http://nil.rpc1.org/psp/files/PSP%20Serial%20Converter.pdf

[*]Futuros pasos
Visto que la psp solo envia algo para confirmar la recepciñon de un comando valido, que no da ninguna otra pista, mi idea actual es conocer qué otros comandos aparte del control remoto hay.

Como no se programar para pc, lo que voy a hacer es programar un pic (siguiendo el protocolo de la página de arriba) para que vaya recorriendo los distintos comandos posibles con varios parámetros y en el momento que reciba una respuesta no prevista la almacene en la ROM del pic para yo más tarde la analice.


Más o menos hasta aquí es lo que tengo pensado hacer en un futuro no lejano. Fotos, esquemas y gritos de desesperación en futuras entregas.

1 saludo
HE entendido de la misa la mitad xo m he kddo imprechionado ^ojala haya algu Blackhole xa acceder a la flash suerte tio ;)
Muy buena idea. Te ayudaria lo que tienes ya más idea que yo jejeje
Suerte, un saludo [fies]
animo tio, a ver si sacas algo ;) [oki] [oki] [oki]

salu2!
Impresionante, la gente pilota mucho. Yo estudié el pic 16f84 y siempre pensé que con estas "cucarachas" se podría hacer algo grande, tiene multitud de aplicaciones... bueno que te voy a decir a tí :p

Pues eso ánimo y ojalá se consiga algo.
Buenas,

Por lo que veo se envia primero el byte F0 a lo que la PSP contesta con F8 (diciendonos que está lista para recibir el comando), para entonces, a partir de aquí, enviarle el comando entero, esto es así?

Otra cosa, trabaja en ASCII o tal cual? Es que no veo que ponga nada al respecto.

Saludos
Es hexadecimal, por lo que he entendido manda el f0, devuelve f8 y para decirle que es un boton del control remoto manda un 84 y luego como atributo de 2 bytes tambien en hexadecimal por ultimo manda un xor del comando y el atributo y finaliza con fe.
Vamos yo en el pc solo he probado a mandar f0 y me devolvio el f8, como no se manejarme con el PC para esas cosas pues no se hacer mucho mas.

1 saludo
El proyecto es muy interesante. Lo que no acabo de entender es porque no usas mejor un pc, donde puedes hacer un debug en caliente, y no tener que cacharrear.

Según he leido de ese puerto (bastante poco), tiene un protocolo muy sencillo, de comando -> ACK. Sin embargo, es posible que una combinación de comandos resulte en algun especie de menu, o al menos un ACK diferente.

Esto ultimo es mucho más fácil con un pc, pues puedes hacer un bucle y probar a fuerza bruta todos los comandos posibles, y tiempo al tiempo :D

Si necesitas ayuda para programar en pc no hay ningún problema, yo te puedo pasar el programa en C (que es con lo que se programa en esos cacharritos), y tú lo aplicas, pues yo no tengo el adaptador.

Un saludo, y espero que esto llegue a buen puerto
mick16_alvaro escribió:El proyecto es muy interesante. Lo que no acabo de entender es porque no usas mejor un pc, donde puedes hacer un debug en caliente, y no tener que cacharrear.

Según he leido de ese puerto (bastante poco), tiene un protocolo muy sencillo, de comando -> ACK. Sin embargo, es posible que una combinación de comandos resulte en algun especie de menu, o al menos un ACK diferente.

Esto ultimo es mucho más fácil con un pc, pues puedes hacer un bucle y probar a fuerza bruta todos los comandos posibles, y tiempo al tiempo :D

Si necesitas ayuda para programar en pc no hay ningún problema, yo te puedo pasar el programa en C (que es con lo que se programa en esos cacharritos), y tú lo aplicas, pues yo no tengo el adaptador.

Un saludo, y espero que esto llegue a buen puerto


Esta es la clase de ayuda que buscaba, ya se que es raro que no sepa programar en el pc y si los PIC. Sobre todo si tenemos en cuenta que programo en C.
Ya me diras de ese programa.
Pues si quieres ayuda, lo primero que necesito saber es como envías, y como recibes. Con eso, y las librerías que hay que incluir, mañana lo tienes listo.

salu2
Buenas

Ya me imaginaba que era en hex, pero al ser por puerto serie podría ser que trabajase además en ASCII.

Yo no tengo hecho el cablecito, a si que si alguien que lo tiene hecho y lo quiere probar y comentar si se comunica correctamente adelante. Más adelante se le puede añadir un bucle para probar combinaciones de comandos automáticamente.

El comando debe cumplir con lo expuesto en la página.

Saludos

Adjuntos

Unos apuntes:

1.- Para tus primeras pruebas tal vez no necesites escribir ninguna línea de código, tal vez con el Hyperterminal, WinHexComm o similar puedas empezar a probar. El Hyperterminal creo que no, pero el WinHexComm te permite enviar y recibir datos en hexadecimal, y te puedes bajar una demo completamente funcional de http://www.aerospacesoftware.com/shareware.html

2.- Que yo sepa, ese puerto serie en aplicaciones COMERCIALES (es decir, dejo fuera el homebrewn no licenciado por Sony) no se utiliza salvo para las funciones de mando a distancia incluídas en la BIOS de la PSP. Y sinceramente, dudo mucho que haya un bug en el protocolo que te permita ejecutar un exploit, porque al ser un protocolo tan simple muy torpes tienen que ser en Sony para cagarla. No obstante hasta que no hayas probado... no se sabrá...

Yo hace tiempo estuve pensando en maneras de exploitear la PSP y también pensé en este puerto, pero lo descarté casi inmediatamente por lo que puse en el punto 2. Me parece bastante más factible hacer un exploit por USB utilizando alguno de los juegos que implementan funciones USB (como el Daxter) o incluso por WiFi. Con el WiFi de hecho probé a iniciar el navegador de la PSP y luego desde mi PC le hice un ping. Al ver que contestaba le pasé un escaner de puertos, pero por desgracia todos estaban cerrados :(.
Ese puerto tb se utiliza en los cascos del socom para hablar por el micro,y en los cascos no oficiales de DATEL,que sirven tanto para el socom como para el talkman
hombre segun comentan es por este puerto por donde sony repara las psp brickeadas osea que de alguna manera , de ser eso cierto , se accede a la flash aunque alomejor, o lo mas probable, es que haiga alguna seguridad, me imagino .
no se, ya ireis diciendo cosas , espero que os vaya bien y se consiga algo realmente bueno con esto, suerte.
el Dr Katz: Por favor, incluye las fuentes en el proyecto, porque no puedo ejecutar el programa en Linux.

doragasu: He leído que en las psp brickeadas, el único puerto que recibe voltaje si se conecta a la corriente es el del puerto serie, por ello se supone que habrá un protocolo para cargar un archivo directamente en la flash (Se supone [idea] )


Por ello repito lo de antes, dime que funciones usas para leer, cuales para enviar, librerías que requiere, y miramos que nos dice la psp.

salu2
doragasu escribió:Unos apuntes:

1.- Para tus primeras pruebas tal vez no necesites escribir ninguna línea de código, tal vez con el Hyperterminal, WinHexComm o similar puedas empezar a probar. El Hyperterminal creo que no, pero el WinHexComm te permite enviar y recibir datos en hexadecimal, y te puedes bajar una demo completamente funcional de http://www.aerospacesoftware.com/shareware.html


Yo utilizo el siow un programita que viene con el IDE de ccs para los pic (parezco monotemático), pero probare con el winhexcomm.
Y lo del agujero, yo no busco nada en concreto simplemente hacer algo de ingenieria inversa y ver que mas comandos hay preprogramados en la psp.

Respecto al programa Dr Katz me da un error de que falta el archivo MSCOMM32.ocx . Sabes de donde lo puedo sacar??? De hecho ya para ir haciendome una idea que hace exactamente ese programa??
a que se puede llegar con esto? quizá a un modchip externo o algo asi? :Ð
eL_ReMoRa escribió:
Yo utilizo el siow un programita que viene con el IDE de ccs para los pic (parezco monotemático), pero probare con el winhexcomm.
Y lo del agujero, yo no busco nada en concreto simplemente hacer algo de ingenieria inversa y ver que mas comandos hay preprogramados en la psp.

Respecto al programa Dr Katz me da un error de que falta el archivo MSCOMM32.ocx . Sabes de donde lo puedo sacar??? De hecho ya para ir haciendome una idea que hace exactamente ese programa??


Yo apenas escribo en este foro, solo leo, así que en una cosa en la que puedo ayudar...

Descarga MSCOMM32.ocx

Salu2 y animo con el proyecto!!!! tanto como si lo consigues o como si no lo consigues!!! [img]http://smilies.sofrayt.com/^/aiw/grin.gif[/img]
Me parece una genial idea este proyecto y me gustaria aportar un par de cosas que veo que no se han comentado,,,,,
estaria muy bien una vez que se tenga el el cable con la conexion al pc , probar en una psp brikeada, asi no hay nada que perder y hacer un ataque de esos de fuerza bruta haber si responde de alguna manera o se apaga a los 5 sg ( lo se por experiencia jejejje) , pork haber si vas a mandar algun codigo que por remota casualidad haga un borrado de la flash, jejej menuda grcia seria.
y la segunda es que igual que maneja el contrl remoto el start y el volumenn, igual tb estan los controles de juego, quiere decir que igual le podriamos colocar el mando de la hermanita mayor(ps2) o el de su tia abuela (ps1 sin analogico) . espero que este proyecto de sus frutos, como siempre, para intentar hacernos la vida mas comoda, jejeje.
Buenas

Aquí las dejo, no tiene mucha cosa la verdad, uso el componente MSCOMM para comunicarme por el puerto serie. Las fuentes están comentadas así que es difícil perderse.

Saludos

Adjuntos

Es visual basic no?? A ver si me hago con el. Creo que el primer paso a la hora de programar deberia ser utilizar los comandos ya conocidos para ver que hemos comprendido bien el protocolo y una vez hecho eso, ya meternos con el bucle que recorre los posibles comandos.

Unas fotos:
Imagen
Imagen Imagen
eL_ReMoRa escribió:Creo que el primer paso a la hora de programar deberia ser utilizar los comandos ya conocidos


Totalmente de acuerdo. ¿Cuales son esos comandos? ¿Como envías hacia la PSP? ¿Como recibes? ¿Solo has usado el PIC, o has probado a conectarlo al PC? ¿El conector, es un rs232, un puerto com?

salu2
mick16_alvaro escribió:
Totalmente de acuerdo. ¿Cuales son esos comandos? ¿Como envías hacia la PSP? ¿Como recibes? ¿Solo has usado el PIC, o has probado a conectarlo al PC? ¿El conector, es un rs232, un puerto com?

salu2

Solo he usado el PC, el rs232 es el mismo que el com xD
mick16_alvaro escribió:
Totalmente de acuerdo. ¿Cuales son esos comandos? ¿Como envías hacia la PSP? ¿Como recibes? ¿Solo has usado el PIC, o has probado a conectarlo al PC? ¿El conector, es un rs232, un puerto com?

salu2


try a telnet aplication or hyperterminal they can connect on rs232
Creo que te podría ayudar mucho tener un Analizador de Protocolos, para poder ver las tramas que envía en mando al pulsar cada botón y observar si el la psp responde.

Por cierto, leí, creo que en esta web, que el port del Quake para la psp usaba botones del mando para ciertos controles. Yo no lo he probado.
Haver una pregunta tengo entendido que hay adaptadores para pc para usar los mandos de la ps2 por el puertoi serie, no seria posible hacer lo mismo para la psp???
Emm... bueno, en realidad lo que intentas hacer ya lo han hecho, o al menos "casi hecho". Lo que es la comunicación vamos. Mirate esto:

http://nil.rpc1.org/psp/remote.html

Y aquí el programa que utilizan (fuentes)
http://nil.rpc1.org/psp/files/psp_remote_v1.00.tgz

Seguro que te sirve de ayuda para ver el protocolo ;)
esta muy bien...jeje...le pedire a mi cuñado ke me ayude en el cable y tal...haber si consigo hacer algo luego es cuestion deprovar...

PD: porke nos e van poniendo en la primera pagina las cosas nuevas ke se an ido enconrado??? es mas ke nada por comodidad
me parece que vas bien encaminado..... yo la verdad que en cuestion de pics ando algo ( por no decir muy ) verde ( me quede en las plds ), quiza con un pic debidamente programado y una memoria conteniendo un firmware , quiza se podrian desbrikear las consolas, como ya hemos hablado en otro hilo, e incluso downgradearlas sin complicaciones. te echaria una mano, pero es lo que te digo , en esas cuestiones estoy verde.

sigue asi! buen trabajo!
no eh seguido el scene mucho para que es esto para reescribir la flash de la psp, puede ser la solucion para las 2.70 /2.71/2.8 pa bajar a la 1.5
sotomonte escribió:Emm... bueno, en realidad lo que intentas hacer ya lo han hecho, o al menos "casi hecho". Lo que es la comunicación vamos. Mirate esto:

http://nil.rpc1.org/psp/remote.html

Y aquí el programa que utilizan (fuentes)
http://nil.rpc1.org/psp/files/psp_remote_v1.00.tgz

Seguro que te sirve de ayuda para ver el protocolo ;)


Si si, ese link ya lo puse en otro hilo, de ahi saque el esquema del conversor de niveles.
Lo diferente de mi proyecto es que yo quiero escanear los distintos comandos de la psp el solo maneja el remote control.

1 saludo
para mi que la psp limita el acceso a ese puerto al user mode solamente, no al kernel mode... por lo cual un downgrade x ahi no es factible
En los foros de ps2dev.org hay varios hilos sobre el puerto serie y el protocolo que utiliza la psp. De hecho se usa para hacer debug. También han enchufado un GPS y estaban intentando poner un teclado. Seguro que encuentras mucha info que te ayudará.

saludos
Patxito escribió:En los foros de ps2dev.org hay varios hilos sobre el puerto serie y el protocolo que utiliza la psp. De hecho se usa para hacer debug. También han enchufado un GPS y estaban intentando poner un teclado. Seguro que encuentras mucha info que te ayudará.


En ps2dev solo hablan del uso del control remoto y de como hacer el debug con el psplink. El gps utiliza su propio protocolo. Lo que yo intento es saber si hay otros comandos hasta ahora desconocidos que reconozca la psp.
ya pero una psp brikeada sis e consigue vovler a flashear la flash1 se puede pobner el firmw 1.0 o 1.5 con lo cual es como si la hubieras downgradeado
Eso tambien es verdad, pero como no se si voy a llegar hasta ese punto....
Joe, de lo que se entera uno, desde luego este foro nunca deja de sorprenderme. Me parece un proyecto muy interesante. Definitivamente hay que explotar todas las posibilidades que nos da la psp y ver que nos ofrece :)
me dejais preguntar para que quereis el puerto serie, se supone que es apra dejar operativa la psp despues de intendrar dongradear y qeu haya fallado o cualqueira de las otras causas con lo que la psp se queda con un bonito y caro pisapapeles
miavi escribió:me dejais preguntar para que quereis el puerto serie, se supone que es apra dejar operativa la psp despues de intendrar dongradear y qeu haya fallado o cualqueira de las otras causas con lo que la psp se queda con un bonito y caro pisapapeles


De momento lo único que pretenden es aprender... las utilidades prácticas se verán en el momento que sepan como funciona exactamente
Daedin escribió:De momento lo único que pretenden es aprender... las utilidades prácticas se verán en el momento que sepan como funciona exactamente


Veo que tu me has entendido:) Eso es basicamente lo que quiero, aprender y luego ya se vera.
Puesto que con el programa este que me pasaron no me aclaro, espero que para mañana o pasado ya tenga codificado el programa del pic. Lo posteare por aqui.

1 saludo
El Remora... ahora mismo eres un máquina, pero puedes convertirte en un ídolo para toda la gente que tiene las versiónes 2.70+

Aprende todo lo que puedas, pero si tienes ocasión, por favor, no nos abandones e intenta ver que posibilidades de donwgrade hay...

Un saludo y un millón de gracias!

[tadoramo]
Remora me ha interesado mucho este hilo y tus investigaciones propias (yo he buscado info y sólo he encontrado cosas para el control remoto desde el pc). Espero en septiembre poder conseguir un max3232 si esto avanza ^^. Sería interesante saber cuantas son las funciones no encontradas a día de hoy. Es una pena que este de vacaciones y lejos de todo :( . Sería interesante saber si los nuevos firmware's traen nuevos comandos o simplemente sólo trabaja con los comandos que implementa en la rom y el resto de utilidades (micrófono, etc) son usando otras interfaces fuera del RS232.

Sobre lo del desbrickeo de la psp a través de este puerto, los 4800bdps (0,5kB/s) parecen una transferencia extremadamente lenta como para meter un firmware desde ahí, por lo que puede ser simplemente lea un código para cargar un archivo de la MS.

Espero que la psp conteste algo cuando pongas en funcionamiento el pic.

Por cierto, a toda la gente que sólo busca el pirateo, dejad el tema tranquilo con el downgrade, cuando se consiga algo ya os podeis a poner a contar hipótesis, pero ahora estais metiendo mierda en un hilo bastante hermoso.


Saludos

PD: el problema de cargar un archivo antes de cargar la flash, es que los PBP no los va a entender, o eso supongo a menos que tenga el kernel en la propia rom.
yo estoy en proceso de hacerme un cable...cuando lo aga colaborare con vosotros...
Un par de cositas.
Para los que querais haceros el cable (aparte de que no me responsable de nada), no hace falta que os cargueis el cable del remote, con pcb se puede hacer isy.
Aparte, para patosos con el soldador, gente poco amiga de la electronica, alguno vago o perfeccinistas, hare unos folitos para que quede cuco, en 1 futuro.
Y para terminar un apunte acerca de la velocidad del puerto, puede que sea seleccionable (como en los routers) aunque no haya visto nada en ps2dev.

1 saludo
porque?
porque tu lo dices? en que te basas?
ojo que no digo que no tengas razon...
se sabe que es por ahi por donde sony desbrickea las consolas.
"se sabe"
[beer]
si me lo dijo un ingeniero electronico que trabaja en psplandia
Tenga o no tenga futuro esto es curiosidad, y nunca se sabe lo que se saca de ella.. hasta la negacion misma de lo que se busca es ya conocimiento... y me jode que venga gente tan lista con sus mega explicaciones de parbulillos a decir "esto no tiene futuro"... explicate joder, si es que no se puede, o llama a tu amiguito el ingeniero.. y si ni por esas.. pues callate y deja de spamear en este post que El_Remora abrio para intercambiar ideas y hechos con otra gente...

PD:Siento el post, pero me ha caido como una patada en los webis xD
PD2: Dadle duro ;) que aunque no saqueis "nada" algo ganareis ^^
elwiskonzi escribió:"se sabe"
[beer]
si me lo dijo un ingeniero electronico que trabaja en psplandia


Yo dentro de muy poco sere ingeniero de teleco. Y si un ingeniero electronico se dedica a arreglar psps, mal anda el mercado laboral...
Yo tenia entendido que el SAT de sony en España lo que hace es enviar las psp rotas fuera de España a que las arreglen, luego si esto es cierto, tu colega puede que no sepa nada del arreglo de la flash.

Por último para mi si tiene futuro. Por que aunque yo no consiga hacerle nada a la psp por el puerto serie, si alguien me enseña a hacer algun programilla para el pc o aprenda cualquier cosa, yo ya habre ganado algo.

1 saludo
Di que se el_remora, aqui lo que nos vale son los hechos, las pruebas que se consigan, y si todo esto al final solo vale para construirnos un micro pues mira, mala suerte, pero como hemos disfrutado con ello. jjejejeje , animo
106 respuestas
1, 2, 3