[Investigacion] PSJailbreak usando un microchip 18f2550

1, 2, 3, 4, 533
¿200 PIC? MEnudo negocio te vas a montar ¿Eh, pillín? :)
no compi, de los aprox 200 de historias antiguas tan solo valen uno o dos de cada y aunque hubiese sido asi no lo habria echo o lo habria vendido a su valor y el que me conoce de antaño puede dar fe de ello es un entretenimento no un negocia almenos para mi si es cierto que para algunos es negocio, date cuenta que solo con el dinero que tengo en pic,smd,programadores,resistencias,cristales,estacion de soldadura etc compraba bastantes psj a 100 euros ,saludos compi [beer]
bueno he hecho una pequeña prueba pero la consola no arrancado.

el hardware que he usado es este:

Imagen

voy a ver si saco un poco tiempo y reviso el codigo, pero creo que no tengo algun concepto claro, intentare tambien ponerme con el ccs ya que con basic creo que no accede a un nivel tan bajo como este.

Imagen

por internet encontre esta imagen es del snifeo de la comunicacion de la ps3 con el ps3jailbreak



J1M: ¿Como lo llevas?
gally escribió:bueno he hecho una pequeña prueba pero la consola no arrancado.

el hardware que he usado es este:

[img.]http://lh3.ggpht.com/_xEBlDAxHzYI/TH_2vx4gBJI/AAAAAAAAAmE/Q6H6oQHawPI/s640/hwps3.JPG[/img]

voy a ver si saco un poco tiempo y reviso el codigo, pero creo que no tengo algun concepto claro, intentare tambien ponerme con el ccs ya que con basic creo que no accede a un nivel tan bajo como este.

J1M: ¿Como lo llevas?


[OFFTOPIC] ¿que basic usas PBP, proton , otro....?, por curiosidad mas que nada, que ando intentando aprender.....
Si quieres rendimiento y niveles bajo, no es nada mejor que programar el PIC18F en ensamblador.- Hay ejemplos en la propia http://www.microchip.com en temas de USB en ASM. Lo vi y es un tostón que tardarás mucho tiempo en comprender y de no equivocarte pero se puede.

Lo que hay que lograr son los mismo envío de tramas como el de AVR. Los chinos lo hicieron así con sus super analizadores lógicos.

Imagen
tambien he encontrado esto a lo mejor podemos hacerlo mas sencillo
The first 8 bytes are from the usb protocol left [09 02 ... ]

The code Will be pushed four times onto ps3 usb stack:

09 02 12 00 01 00 00 80 FA 09 04 00 00 00 FE 01
02 00 00 00 00 00 00 00 FA CE B0 03 AA BB CC DD
38 63 F0 00 38 A0 10 00 38 80 00 01 78 84 F8 06
64 84 00 70 38 A5 FF F8 7C C3 28 2A 7C C4 29 2A
28 25 00 00 40 82 FF F0 38 84 00 80 7C 89 03 A6
4E 80 04 20 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
7C 08 02 A6 F8 21 FF 61 FB 61 00 78 FB 81 00 80
FB A1 00 88 FB C1 00 90 FB E1 00 98 F8 01 00 B0
3B E0 00 01 7B FF F8 06 7F E3 FB 78 64 63 00 05
60 63 0B 3C 7F E4 FB 78 64 84 00 70 60 84 01 AC
38 A0 04 FA 4B 97 BF 59 7F E3 FB 78 64 63 00 05
60 63 0B 3C 38 63 00 20 4B 9D 22 01 7F E3 FB 78
64 63 00 05 60 63 0B 3C 7F E4 FB 78 64 84 00 2E
60 84 B1 28 38 63 00 10 F8 64 01 20 7F E5 FB 78
64 A5 00 70 60 A5 01 50 80 65 00 00 28 03 00 00
41 82 00 18 80 85 00 04 7C 63 FA 14 90 83 00 00
38 A5 00 08 4B FF FF E4 48 00 05 88 F8 21 FF 51
7C 08 02 A6 FB C1 00 A0 FB E1 00 A8 FB A1 00 98
F8 01 00 C0 3B C0 07 D0 3B E0 00 C8 4B 90 A9 B8
00 04 90 E0 E8 82 0F 08 00 04 90 E4 E8 7C 00 20
00 04 90 E8 F8 64 00 00 00 04 F0 A8 48 00 1A 9D
00 2A AF C8 4B DA 5B 80 00 04 ED 18 38 80 00 00
00 04 ED 1C 90 83 00 00 00 04 ED 20 4E 80 00 20
00 3B A8 90 01 00 00 00 00 05 05 D0 38 60 00 01
00 05 05 D4 4E 80 00 20 00 00 00 00 38 60 00 01
4E 80 00 20 48 00 02 78 48 00 01 EC 80 00 00 00
00 05 0C A8 80 00 00 00 00 33 E7 20 80 00 00 00
00 05 10 32 80 00 00 00 00 05 0B 7C 80 00 00 00
00 05 0B 8C 80 00 00 00 00 05 0B 9C 80 00 00 00
00 05 0B D4 80 00 00 00 00 33 E7 20 80 00 00 00
00 05 0C 1C 80 00 00 00 00 33 E7 20 80 00 00 00
00 05 0C 78 80 00 00 00 00 33 E7 20 80 00 00 00
00 05 0C 84 80 00 00 00 00 33 E7 20 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 F8 21 FF 81 7C 08 02 A6 F8 01 00 90
38 80 00 00 38 A0 00 01 48 08 1D B1 80 A3 00 08
38 60 00 00 3C 80 AA AA 60 84 C0 DE 7C 04 28 40
41 82 00 08 38 60 FF FF 7C 63 07 B4 E8 01 00 90
7C 08 03 A6 38 21 00 80 4E 80 00 20 F8 21 FF 81
7C 08 02 A6 F8 01 00 90 38 80 00 00 48 08 1D 99
38 81 00 70 38 A0 00 00 F8 A4 00 00 38 C0 21 AA
B0 C4 00 00 38 C0 00 00 B0 C4 00 06 38 C0 00 01
78 C6 F8 06 64 C6 00 05 60 C6 0B AC 38 E0 00 00
48 08 1C CD 38 60 00 00 E8 01 00 90 7C 08 03 A6
38 21 00 80 4E 80 00 20 38 60 00 00 39 60 00 FF
44 00 00 22 2C 03 00 00 40 82 00 1C 38 60 00 01
78 63 F8 06 64 63 00 05 60 63 0B BC 38 80 00 01
90 83 00 10 4E 80 00 20 F8 21 FF 31 7C 08 02 A6
F8 01 00 E0 FB E1 00 C8 38 81 00 70 48 16 2E 81
3B E0 00 01 7B FF F8 06 67 FF 00 05 63 FF 0B BC
E8 7F 00 00 2C 23 00 00 41 82 00 0C 38 80 00 27
48 01 17 E9 38 80 00 27 38 60 08 00 48 01 13 9D
F8 7F 00 00 E8 81 00 70 4B FF C5 F9 E8 61 00 70
38 80 00 27 48 01 17 C5 E8 7F 00 00 4B FF C6 0D
E8 9F 00 00 7C 64 1A 14 F8 7F 00 08 38 60 00 00
EB E1 00 C8 E8 01 00 E0 38 21 00 D0 7C 08 03 A6
4E 80 00 20 F8 21 FF 61 7C 08 02 A6 FB 81 00 80
FB A1 00 88 FB E1 00 98 FB 41 00 70 FB 61 00 78
F8 01 00 B0 7C 9C 23 78 7C 7D 1B 78 3B E0 00 01
7B FF F8 06 7F A3 EB 78 7F E4 FB 78 64 84 00 05
60 84 10 28 38 A0 00 09 4B FF C5 CD 28 23 00 00
40 82 00 34 67 FF 00 05 63 FF 0B BC 80 7F 00 10
28 03 00 00 41 82 00 20 E8 7F 00 00 28 23 00 00
41 82 00 14 E8 7F 00 08 38 9D 00 09 4B FF C5 45
EB BF 00 00 7F A3 EB 78 48 25 A2 38 7C 08 02 A6
F8 21 FE 61 FB 61 00 78 FB 81 00 80 FB A1 00 88
FB C1 00 90 FB E1 00 98 F8 01 01 B0 7C 7D 1B 78
7C 9E 23 78 3B E0 00 01 7B FF F8 06 EB 82 96 00
EB 9C 00 68 EB 9C 00 18 EB 62 0F 08 E9 3D 00 18
81 29 00 30 79 29 84 02 2C 09 00 29 40 82 00 58
E8 9C 00 10 78 85 C1 E4 78 A5 46 20 2C 05 00 FF
41 82 00 18 60 84 00 03 F8 9C 00 10 38 60 00 06
90 7E 00 00 48 00 00 14 60 84 00 02 F8 9C 00 10
38 60 00 2C 90 7E 00 00 80 BC 00 04 E8 9C 00 08
E8 7B 00 00 7D 23 2A 14 F9 3B 00 00 48 02 B1 C1
48 00 00 C4 7F A3 EB 78 7F C4 F3 78 4B FF D9 B1
7F FD FB 78 67 BD 00 05 63 BD 0B D0 80 7D 00 00
80 BC 00 04 7C 63 2A 14 90 7D 00 00 E8 9C 00 10
78 85 C1 E4 78 A5 46 20 2C 05 00 FF 40 82 00 88
E8 7B 00 00 38 80 00 00 38 C0 00 00 7C E3 22 14
80 A7 00 00 7C C6 2A 78 38 84 00 04 28 24 04 00
40 82 FF EC 80 7D 00 00 78 C6 07 C6 7C C6 1B 78
38 60 00 00 90 7D 00 00 7F E7 FB 78 64 E7 00 05
60 E7 0F 70 E8 67 00 00 28 23 00 00 41 82 00 38
38 E7 00 10 7C 23 30 40 40 82 FF EC E8 A7 FF F8
E8 FB 00 00 80 65 00 00 28 03 00 00 41 82 00 18
80 85 00 04 7C 63 3A 14 90 83 00 00 38 A5 00 08
4B FF FF E4 38 60 00 00 EB 61 00 78 EB 81 00 80
EB A1 00 88 EB C1 00 90 EB E1 00 98 E8 01 01 B0
38 21 01 A0 7C 08 03 A6 4E 80 00 20 F8 21 FF 51
7C 08 02 A6 FB C1 00 A0 FB E1 00 A8 FB A1 00 98
F8 01 00 C0 3B C0 0F A0 3B E0 00 C8 4B FB 9B 98
A0 55 6F 3D 00 2C B8 FD 80 00 00 00 00 05 0F B8
8C 0A 94 8C 00 0D 99 B1 80 00 00 00 00 05 0F E0
A2 BC 1A 56 00 05 2A DC 80 00 00 00 00 05 10 04
6B 70 28 02 00 02 00 17 80 00 00 00 00 05 0F D4
00 00 00 00 00 00 00 00 00 30 53 54 38 60 00 82
00 5F 3F C0 38 60 00 01 00 5F 3F C4 4E 80 00 20
00 00 00 00 00 02 ED 0C 3B A0 00 01 00 00 00 00
00 22 B8 88 5F 74 6F 6F 00 22 B8 8C 6C 32 2E 78
00 22 B8 90 6D 6C 23 72 00 22 B8 94 6F 6F 74 00
00 00 00 00 00 0D 68 B8 5F 74 6F 6F 00 0D 68 BC
6C 32 2E 78 00 0D 68 C0 6D 6C 23 72 00 0D 68 C4
6F 6F 74 00 00 00 00 00 2F 64 65 76 5F 62 64 76
64 00 6D 6F 64 00 00 00 00 00 00 00 00 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90
EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6
38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00
38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90

After that they push this two times on the stack to run
the code via disconnect/reconnect usb devices on the bus.

09 02 4D 0A 01 01 00 80 01 09 04 00 00 00 FE 01
02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE
01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00
00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04
00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00
02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02
01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00
00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04
00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00
09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02
00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE
00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04
00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00
09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01
02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02
00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE
01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00
00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00
09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01
02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02
00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE
01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00
00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04
09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01
02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE
01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00
00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04
00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00
02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02
01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00
00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04
00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00
09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02
00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE
00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04
00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00
09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01
02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02
00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE
01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00
00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00
09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01
02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02
00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE
01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00
00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04
09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01
02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE
01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00
00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04
00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00
02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02
01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00
00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04
00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00
09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02
00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE
00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04
00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00
09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01
02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02
00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE
01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00
00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00
09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01
02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02
00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE
01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00
00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04
09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01
02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE
01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00
00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04
00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00
02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02
01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00
00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04
00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00
09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02
00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE
00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04
00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00
09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01
02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02
00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE
01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00
00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00
09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01
02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02
00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE
01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00
00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04
09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01
02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE
01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00
00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04
00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00
02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02
01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00 00
00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04
00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00
09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01
FE 01 02 00 09 04 00 00 00 FE 01 02 00 09 04 00
00 00 FE 01 02 00 09 04 00 00 00 FE 01 02 00 09
04 00 00 00 FE 01 02 00 09 04 00 00 00 FE 01 02
00 09 04 00 00 00 FE 01 02 00 09 04 00 00 00 FE
00 FE 01 02 00 09 04 00 00 00 FE 01 02

So what does this mean? Disane has summed it up below:

This is the disassembled PPC code more like the shell code that is being injected. The best way would be to use the lv2 dump and this to figure out how the stack overflow exploit works in the USB buffer of the PS3 after that it can be reproduced on any FW. On both slim and fat PS3s.

The JIG ID is probably passed to trigger some code pathern which the Configuration Descriptor overflows and injects the shell code after that the code gets executed. The shell code patches lv2 to run fselfs and all kinds of interesting flags which I haven’t noticed yet…
a todo esto ¿ya tiene nombre el futuro pequeñin?
gally, osea que te va a tocar empezar de nuevo y en binario?

ojala avences rapido...
Mirlo2004 escribió:
ferhacker escribió:ICSP es el standar para programar tanto PIC como AVR.
Otra cosa distinta es el programador que utilices.
El pickit2 SOLO programa PIC. NO AVR.

Pero si yo por el ICSP del pickit2clone lo convierto a AVR(que se pued) entonces si no????

Con el software de microchip no creo que puedas hacerlo.
Hay un proyecto en el que para un mismo programador queda abierta la posibilidad de programar tanto PIC como AVR utilizando un software distinto para cada caso: programador de pic y avr
Segun tengo entendido para los AVR hacen falta mas pines que para un PIC, si alguien lo confirma mejor.
PIC: DATA, CLOCK, VPP, VDD y GND
AVR: XTL1, MOSI, MISO, CLOCK, RST, VDD y GND
ferhacker escribió:
Mirlo2004 escribió:
ferhacker escribió:ICSP es el standar para programar tanto PIC como AVR.
Otra cosa distinta es el programador que utilices.
El pickit2 SOLO programa PIC. NO AVR.

Pero si yo por el ICSP del pickit2clone lo convierto a AVR(que se pued) entonces si no????

Con el software de microchip no creo que puedas hacerlo.
Hay un proyecto en el que para un mismo programador queda abierta la posibilidad de programar tanto PIC como AVR utilizando un software distinto para cada caso: programador de pic y avr
Segun tengo entendido para los AVR hacen falta mas pines que para un PIC, si alguien lo confirma mejor.
PIC: DATA, CLOCK, VPP, VDD y GND
AVR: XTL1, MOSI, MISO, CLOCK, RST, VDD y GND



El programdor GTP-USB programa PIC y AVR.
Imagen

Es caro 60 € la Web oficial.
http://www.winpic800.com//index.php?opt ... &Itemid=88

En otra Web el mismo programador a 40 €.

Otro que es bueno es este pero cuesta 65 €. (Que caros son).
Imagen
http://www.msebilbao.com/tienda/product ... cts_id=582

Manual con TE20x y WinPic800.
Ver manual

Manual Ic-porg y TE20x
Ver manual.

Los códigos de antes por aquí.
http://www.picsystems.net/community/pos ... tml#p68498
hola,
no seria posible usar un pic16f876-04/Sp, y si faltara memoria ampliarlo con una memoria eeprom?
Koolk escribió:El programdor GTP-USB programa PIC y AVR.
Imagen

Es caro 60 € la Web oficial.
http://www.winpic800.com//index.php?opt ... &Itemid=88

En otra Web el mismo programador a 40 €.

Otro que es bueno es este pero cuesta 65 €. (Que caros son).
Imagen
http://www.msebilbao.com/tienda/product ... cts_id=582

Manual con TE20x y WinPic800.
Ver manual

Manual Ic-porg y TE20x
Ver manual.

Los códigos de antes por aquí.
http://www.picsystems.net/community/pos ... tml#p68498


Yo he encontrado TE20x por 13€

Saludos!
superstallone escribió:hola,
no seria posible usar un pic16f876-04/Sp, y si faltara memoria ampliarlo con una memoria eeprom?



Buenas:

Para temas de USB están preparado internamente para los 18F, ese PIC16F876-04 a parte que es obsoleto y http://www.microchip.com ya no los fabrica, precisamente el que indicas 4 MHz es poco. Debe ser un 18F con 12 MHz para USB 2.0 (ya saldrán PIC para USB 3.0 en el futuro).

El sustituto del PIC16F876A es el PIC16F886 por fin con oscilador interno y mejores prestaciones. (eldel 16F877A es el 16F887). Ver sustitutos de PIC a partir de la página 71 de este manual.

Ver manual.

Otra cosa. Debes tener en cuenta que si no tiene memoria de programa de la Flash, la EEPROM no tiene nada que ver. Para eso se usa PIC de más capacidad que hay de sobra aunque sea 512K de un PIC32.

Si fuera falta de RAM, hay RAM con protocolo SPI que son de 128k, muchísimo para un PIC. EEPROM es para guardar datos como configuraciones, mensajes para LCD, etc. Para que te hagas una idea.

Si le interesa aprender a programar en asm, hay un buen libro sobre ello aquí. http://www.pic16f84a.org/index.php?opti ... &Itemid=87

Si deseas programar en C18 con el MPLAB, aquí hay tutoriales.
http://electronicapic.iespana.es/manual ... e_cero.pdf

_DeV_
A probarlo...

Saludo.
Koolk escribió:
superstallone escribió:hola,
no seria posible usar un pic16f876-04/Sp, y si faltara memoria ampliarlo con una memoria eeprom?



Buenas:

Para temas de USB están preparado internamente para los 18F, ese PIC16F876-04 a parte que es obsoleto y http://www.microchip.com ya no los fabrica, precisamente el que indicas 4 MHz es poco. Debe ser un 18F con 12 MHz para USB 2.0 (ya saldrán PIC para USB 3.0 en el futuro).

El sustituto del PIC16F876A es el PIC16F886 por fin con oscilador interno y mejores prestaciones. (eldel 16F877A es el 16F887). Ver sustitutos de PIC a partir de la página 71 de este manual.

Ver manual.

Otra cosa. Debes tener en cuenta que si no tiene memoria de programa de la Flash, la EEPROM no tiene nada que ver. Para eso se usa PIC de más capacidad que hay de sobra aunque sea 512K de un PIC32.

Si fuera falta de RAM, hay RAM con protocolo SPI que son de 128k, muchísimo para un PIC. EEPROM es para guardar datos como configuraciones, mensajes para LCD, etc. Para que te hagas una idea.

Si le interesa aprender a programar en asm, hay un buen libro sobre ello aquí. http://www.pic16f84a.org/index.php?opti ... &Itemid=87

Si deseas programar en C18 con el MPLAB, aquí hay tutoriales.
http://electronicapic.iespana.es/manual ... e_cero.pdf

_DeV_
A probarlo...

Saludo.


Bastante interesante, me ha quedado claro, gracias por la aclaración!
Para programar PICS 18F, la mejor opcion seria un ART2003, ya que es facil de hacer y sus componentes son muy, muy economicos y los encuentran en cualquier tienda.

Yo lo use para programar el 18F2455 para hacerle JTAG a las XBOX 360 y es muy sencillo, en verdad, si tienen aunque sea poca practica con el soldador, el ART2003 es una excelente opcion y super economica.

Si alguien esta interesado en el tema, puede visitar los hilos dedicados al JTAG de XBOX 360 y ahi viene todo perfectamente explicado, incluso, si la programacion de PSGROOVE para 18F llega a buen puerto, me ofrezco a ayudar en lo que pueda a la gente que quiera hacerse su propio ART2003.


Saludos!
Burger escribió:Para programar PICS 18F, la mejor opcion seria un ART2003, ya que es facil de hacer y sus componentes son muy, muy economicos y los encuentran en cualquier tienda.

Yo lo use para programar el 18F2455 para hacerle JTAG a las XBOX 360 y es muy sencillo, en verdad, si tienen aunque sea poca practica con el soldador, el ART2003 es una excelente opcion y super economica.

Si alguien esta interesado en el tema, puede visitar los hilos dedicados al JTAG de XBOX 360 y ahi viene todo perfectamente explicado, incluso, si la programacion de PSGROOVE para 18F llega a buen puerto, me ofrezco a ayudar en lo que pueda a la gente que quiera hacerse su propio ART2003.


Saludos!



yo tambien hice el mio, fue muy facil de hacer y economico.
Koolk escribió:
superstallone escribió:Para temas de USB están preparado internamente para los 18F,


Aun asi, seria mucho mas comodo desarrollar esto en un 24F con OTG (USB tipo host), pero ahora mismo no recuerdo ninguno con encapsulado DIP (el de las patillas grandes, facil de soldar o usar un zocalo).



Me pondría ahora mismo a ayudar en el desarrollo, pero los exámenes me están comiendo (de ingenieria electrónica precisamente) y supongo que para cuando termine (el dia 13) ya estara todo acabado, con la velocidad que esta cojiendo esto en internet...

Recomendaria el PIC24FJ64GB002-I/SO Formato SOIC de 28 patillas tal que asi
http://rocky.digikey.com/weblib/Zilog/W ... 8-SOIC.jpg

Ademas de que es posible de obtener muestras gratuitas ;)

Por cierto para programar uso el Pickit3, muy recomendable, una solucion mas economica es buscarse un clone de ICD 2 en ebay, asi teneis acceso completo a las herramientas oficiales a bajo precio (los chinos son unos maquinas)

Un saludo, y espero ver pronto una versión para 18F(que tambien se puede) ya que tengo unos cuantos por aqui...
Hola, he estado siguiendo este proyecto con bastante interés y también he buscado información por ahí, y parece ser que comentan que utilizar los Pics 18F para el PSGroove es imposible, pues dicen que estos chips solo incorporan el USB para conexión serie al PC para utilizarlos en PCs que no poseen RS232 y que no se puede utilizar para emular dispositivos JIG.

Esto es cierto? (esque no estoy al tanto de los juegos de instrucciones ni datasheet de estos modelos de PIC, asique me entró la duda XD)


Salu2
mnlgarbe escribió:
Koolk escribió:
superstallone escribió:Para temas de USB están preparado internamente para los 18F,


Aun asi, seria mucho mas comodo desarrollar esto en un 24F con OTG (USB tipo host), pero ahora mismo no recuerdo ninguno con encapsulado DIP (el de las patillas grandes, facil de soldar o usar un zocalo).

Los 24F son de 16 bits, son más potente el PIC. No hace falta tanto, un poco más le metes un PIC32.


Me pondría ahora mismo a ayudar en el desarrollo, pero los exámenes me están comiendo (de ingenieria electrónica precisamente) y supongo que para cuando termine (el dia 13) ya estara todo acabado, con la velocidad que esta cojiendo esto en internet...

Recomendaria el PIC24FJ64GB002-I/SO Formato SOIC de 28 patillas tal que asi
http://rocky.digikey.com/weblib/Zilog/W ... 8-SOIC.jpg

Mejor los encapsulado para la mayoría de la gente tipo DIP.

Imagen

Ademas de que es posible de obtener muestras gratuitas ;)

Cuando lo fui a pedir me lo denegaron. Quieren que sea un profesor para enseñar a los alumnos por poner un ejemplo, por la cara no te lo dan.

Por cierto para programar uso el Pickit3, muy recomendable, una solucion mas economica es buscarse un clone de ICD 2 en ebay, asi teneis acceso completo a las herramientas oficiales a bajo precio (los chinos son unos maquinas).

La gente lo ven caro si es de paquete. Están el Clon de PicKit 2.

http://electronicapic.iespana.es/manual/pickit2.pdf

Hay competencia de Arduino como microingenia.
Imagen

http://www.microingenia.com/electronics ... _product=1

Un saludo, y espero ver pronto una versión para 18F(que tambien se puede) ya que tengo unos cuantos por aqui...


Esperemos todos el PIC casero.

Er_Garry
Están investigando. Se trata de copiar el envío de tramas de bites del protocolo USB. Con eso es suficiente si tienes un buen analizador lógico. Lo chino lo hicieron así.
yo en este momento estoy atascado, no avanzo ni para delante ni para atrás,

llevo un montón de tiempo sin dormir XD.

Lo único ahora lo que voy a hacer es explicar a j1m lo que hacen esa funciones que no sabia.

Dime j1m si me equivoco:

CALLBACK_USB_GetDescriptor

Esta salta cuando el host pide la descripción del dispositivo conectado, no se si existe esta interrupción en los pic, por mas que busco no encuentro nada.

EVENT_USB_Device_UnhandledControlRequest

Esta salta cuando hay una peticion de control desde el host, otra igual que la anterior no se si esiste en los pic.


supongo que ya lo sabrias, pero la diarrea mental que tengo ahora mismo me afecta [buaaj]
gally:
Estás haciendo mucho esfuerzo. No puedes decir que no puedes si no lo dejas de intentar.
Ánimos.
bueno llevo toda la noche investigando y con el MICROCHIP USB DEVICE
FIRMWARE FRAMEWORK, si se puede hacer ya que permite varias descripciones para cada dispositivo, y ademas se parece un poco a LUFA.


edito: http://openprog.altervista.org/USB_firm_eng.html en esta web hay un ejemplo para usar varios descriptores hid, solo nos queda adaptarlo a nuestra necesidades, pero yo ya no veo nada ZzzZZ J1M cuando te levantes echa un ojo que esta muy sencillo, eso creo yo.

No se si me podre conectar hoy es que ahora me voy al paro y ya se sabe la cola que hay alli. [triston]
gally escribió:bueno llevo toda la noche investigando y con el MICROCHIP USB DEVICE
FIRMWARE FRAMEWORK, si se puede hacer ya que permite varias descripciones para cada dispositivo, y ademas se parece un poco a LUFA.


edito: http://openprog.altervista.org/USB_firm_eng.html en esta web hay un ejemplo para usar varios descriptores hid, solo nos queda adaptarlo a nuestra necesidades, pero yo ya no veo nada ZzzZZ J1M cuando te levantes echa un ojo que esta muy sencillo, eso creo yo.

No se si me podre conectar hoy es que ahora me voy al paro y ya se sabe la cola que hay alli. [triston]


De todos modos gracias por el tiempo, ya sera luego...

un saludo...
gally escribió:bueno llevo toda la noche investigando y con el MICROCHIP USB DEVICE
FIRMWARE FRAMEWORK, si se puede hacer ya que permite varias descripciones para cada dispositivo, y ademas se parece un poco a LUFA.

edito: http://openprog.altervista.org/USB_firm_eng.html en esta web hay un ejemplo para usar varios descriptores hid, solo nos queda adaptarlo a nuestra necesidades, pero yo ya no veo nada ZzzZZ J1M cuando te levantes echa un ojo que esta muy sencillo, eso creo yo.


Sigo con la identificación de funciones, creo que las tengo todas (aunque no estoy muy convencido XD)... así que empiezo a escribir código....... no va a funcionar [666]

Yo estoy con CCS, a priori, su Stack USB parece más sencillo para esto que vamos a hacer...

Los descriptores es lo que menos preocupa, hay que mandarlo tal cuál está en el código original!!

PD: .......Duerme que esto no sirve para salvar el mundo ;)
Yo he conseguido avanzar con el stack de microchip, ya consigo que me detecte la conexión de dispositivos al hub, pero algo
no estoy mandandole bien, porque al detectar el dispositivo, hace la secuencia bien: pide estado, comprueba que ha habido conexión, limpia el flag, pide reset, espero unos 20ms y le notifico reset, pide el estado, limpia el flag, pero despues en vez de pedirme el descriptor del nuevo dispositivo, se queda en bucle pidiendo reset 3 veces y se cansa. Algo no hago bien :) me va a tocar escribir por el puerto serie todos los datos a ver qué estoy mandando mal :)

Eso si, en el stack de microchip he tenido que cambiar la mitad del codigo :) porque de serie no soporta hubs ni mensajes que no sean los estandar de enumeración.
ElSemi escribió:Yo he conseguido avanzar con el stack de microchip, ya consigo que me detecte la conexión de dispositivos al hub, pero algo
no estoy mandandole bien, porque al detectar el dispositivo, hace la secuencia bien: pide estado, comprueba que ha habido conexión, limpia el flag, pide reset, espero unos 20ms y le notifico reset, pide el estado, limpia el flag, pero despues en vez de pedirme el descriptor del nuevo dispositivo, se queda en bucle pidiendo reset 3 veces y se cansa. Algo no hago bien :) me va a tocar escribir por el puerto serie todos los datos a ver qué estoy mandando mal :)

Eso si, en el stack de microchip he tenido que cambiar la mitad del codigo :) porque de serie no soporta hubs ni mensajes que no sean los estandar de enumeración.


yo cuando estoy en pruebas siempre le pongo una salida al uart para ver si realmente funcionan mis proyectos.


J1M escribió:
gally escribió:bueno llevo toda la noche investigando y con el MICROCHIP USB DEVICE
FIRMWARE FRAMEWORK, si se puede hacer ya que permite varias descripciones para cada dispositivo, y ademas se parece un poco a LUFA.

edito: http://openprog.altervista.org/USB_firm_eng.html en esta web hay un ejemplo para usar varios descriptores hid, solo nos queda adaptarlo a nuestra necesidades, pero yo ya no veo nada ZzzZZ J1M cuando te levantes echa un ojo que esta muy sencillo, eso creo yo.


Sigo con la identificación de funciones, creo que las tengo todas (aunque no estoy muy convencido XD)... así que empiezo a escribir código....... no va a funcionar [666]

Yo estoy con CCS, a priori, su Stack USB parece más sencillo para esto que vamos a hacer...

Los descriptores es lo que menos preocupa, hay que mandarlo tal cuál está en el código original!!

PD: .......Duerme que esto no sirve para salvar el mundo ;)


a ver si me enseñas como capturas con el ccs esas dos funciones [looco]
ElSemi escribió:Yo he conseguido avanzar con el stack de microchip, ya consigo que me detecte la conexión de dispositivos al hub, pero algo
no estoy mandandole bien, porque al detectar el dispositivo, hace la secuencia bien: pide estado, comprueba que ha habido conexión, limpia el flag, pide reset, espero unos 20ms y le notifico reset, pide el estado, limpia el flag, pero despues en vez de pedirme el descriptor del nuevo dispositivo, se queda en bucle pidiendo reset 3 veces y se cansa. Algo no hago bien :) me va a tocar escribir por el puerto serie todos los datos a ver qué estoy mandando mal :)

Eso si, en el stack de microchip he tenido que cambiar la mitad del codigo :) porque de serie no soporta hubs ni mensajes que no sean los estandar de enumeración.


Bravo! si quieres aunar esfuerzos escríbeme un MP...

Gally en un momentito pego las funciones en CCS y sus equivalentes AVR...
Vamos tios! Estais muy cerca!

Saludos!
Yo tambien estoy intentando portar el codigo, pero tambien me cuesta la parte de los descriptores del USB, he observado que en la libreria pic18_usb.h hay tambien una funcion usb_getdescriptors que es llamada por la interrupción de datos del pic, pero lo que no consigo es modificarla y personalizarla en CCS.
Bueno a grandes rasgos creo que estas son las funciones......... algunas hay que reescribirlas completamente y comentarlas del stack, al igual que hace el psgroove.

AVR function                              PIC CCS function     CCS file

USB_Device_SetDeviceAddress / UDADDR      usb_set_address      pic18_usb.c
HUB_Task               
   Endpoint_SelectEndpoint
   Endpoint_IsReadWriteAllowed
   Endpoint_ResetDataToggle
      Endpoint_Write_Byte                 usb_put_packet       pic18_usb.c
   Endpoint_ClearIN
JIG_Task
   Endpoint_SelectEndpoint
   Endpoint_IsReadWriteAllowed
      Endpoint_Discard_Stream             usb_flush_out        pic18_usb.c
   Endpoint_ClearOUT

   Endpoint_SelectEndpoint
   Endpoint_IsReadWriteAllowed
      Endpoint_Write_PStream_LE           usb_puts             pic18_usb.c
   Endpoint_ClearIN
CALLBACK_USB_GetDescriptor                usb_Get_Descriptor   usb.c
EVENT_USB_Device_UnhandledControlRequest  usb_isr_sof          pic18_usb.c
EVENT_USB_Device_ConfigurationChanged     usb_isr_tok_dne      pic18_usb.c
J1M te he enviado un privado, estoy mirando como modificar la parte de los descriptores, en el psgroove va modificando los descriptores a medida que va cargando los puertos, y dependiendo de los bytes que recibe al cambiar el descriptor, carga uno corto o uno largo.
nesi_tor escribió:J1M te he enviado un privado, estoy mirando como modificar la parte de los descriptores, en el psgroove va modificando los descriptores a medida que va cargando los puertos, y dependiendo de los bytes que recibe al cambiar el descriptor, carga uno corto o uno largo.


nesi_tor, en principio lo de los descriptores no es problema, simplemente se envían cuando corresponde (cuando se activa un determinado puerto del hub). Lo complicado es todo lo que hay detrás hasta el momento del envío...
J1M escribió:
nesi_tor escribió:J1M te he enviado un privado, estoy mirando como modificar la parte de los descriptores, en el psgroove va modificando los descriptores a medida que va cargando los puertos, y dependiendo de los bytes que recibe al cambiar el descriptor, carga uno corto o uno largo.


nesi_tor, en principio lo de los descriptores no es problema, simplemente se envían cuando corresponde (cuando se activa un determinado puerto del hub). Lo complicado es todo lo que hay detrás hasta el momento del envío...


Si :), ahi es donde estoy atascado yo, creo que solo me falta este ultimo escollo y ya todo tirará para adelante :), me falta que empiece a pedir descriptores de los dispositivos tras su inicialización al conectar al hub.
A ver si esta tarde lo arreglo, que ahora estoy en el trabajo.
ánimo, que parece que lo lleváis muy, muy encaminado !!! [oki] [oki]

ElSemi escribió:
J1M escribió:
nesi_tor escribió:J1M te he enviado un privado, estoy mirando como modificar la parte de los descriptores, en el psgroove va modificando los descriptores a medida que va cargando los puertos, y dependiendo de los bytes que recibe al cambiar el descriptor, carga uno corto o uno largo.


nesi_tor, en principio lo de los descriptores no es problema, simplemente se envían cuando corresponde (cuando se activa un determinado puerto del hub). Lo complicado es todo lo que hay detrás hasta el momento del envío...


Si :), ahi es donde estoy atascado yo, creo que solo me falta este ultimo escollo y ya todo tirará para adelante :), me falta que empiece a pedir descriptores de los dispositivos tras su inicialización al conectar al hub.
A ver si esta tarde lo arreglo, que ahora estoy en el trabajo.
No quiero parecer ansioso pero... si la cosa termina bien (como parece) ¿que haría falta??

¿Lo mismo que lo del hilo del AT90USB162???


LISTA:
- 1x Microchip 18f2550
- 2x Condensador de 15pF (pero valen desde 15pF a 22pF, cualqueir valor intermedio)
- 1x Cristal 8Mhz (o 16Mhz)
- 1x Condensador 1uF
- 2x Resistencia 22 Ohm
Botones: (si quereis dejarlos en el diseño final, pero solo valen para programar)
- 2x Pulsador/Interruptor
(- 2x Resistencia 47k) Esto es opcional se podría quitar
(- Condensador, de cualquier valor) Esto es opcional, se podría quitar
Opcional: Si quereis poner leds
- 2x Leds de 10mA
- 2x Resistencias 1K

Dios mio dame paciencia.... ¡¡¡ PERO DAMELA YAAAAAAAAAAAA !!!


edito: Bueno evidentemente, quitando tambien lo de programar.
Y haría falta el programador de pic ¿no?.
.
kie1313 escribió:No quiero parecer ansioso pero... si la cosa termina bien (como parece) ¿que haría falta??

¿Lo mismo que lo del hilo del AT90USB162???


LISTA:
- 1x Microchip 18f2550
- 2x Condensador de 15pF (pero valen desde 15pF a 22pF, cualqueir valor intermedio)
- 1x Cristal 8Mhz (o 16Mhz)
- 1x Condensador 1uF
- 2x Resistencia 22 Ohm
Botones: (si quereis dejarlos en el diseño final, pero solo valen para programar)
- 2x Pulsador/Interruptor
(- 2x Resistencia 47k) Esto es opcional se podría quitar
(- Condensador, de cualquier valor) Esto es opcional, se podría quitar
Opcional: Si quereis poner leds
- 2x Leds de 10mA
- 2x Resistencias 1K

Dios mio dame paciencia.... ¡¡¡ PERO DAMELA YAAAAAAAAAAAA !!!


edito: Bueno evidentemente, quitando tambien lo de programar.
Y haría falta el programador de pic ¿no?.
.


Si, aparte del programador de PIC, que solo haria falta la primera vez, porque tengo pensado meter un bootloader por USB, haria falta:

1 pic 18f2550
1 xtal de 20Mhz (se podría hacer con 12 tambien, pero de 20 es el que tenia por casa :))
2x condensadores de entre 15pF y 22pF (creo que para 20 mejor 15, para 12 mejor 22, pero tampoco afecta mucho)
1x condensador de 220nF (para el regulador interno del USB del pic)
1x pulsador (para entrar en el bootloader al mantenerlo pulsado enchufando el cacharro al PC y asi poder actualizar el firmware sin programador)
1x LED (con 1 creo que servirá para lo que hay que notificar)
1x resistencia de 1Kohm para el led

y luego, 1 conector macho USB-A, o bien un cable usb con conector macho y cortar y usar el cable.
Menos mal que esta mañana compre en el unico sitio donde habia un PIC18F2550 :D
Ojala podamos probar esta tarde su funcionamiento, de todas formas, podriamos ir dejando el esquema de como iria para ir haciendolo y cuando este el HEX que solo sea programar y probar :D
Muchisimas gracias tios! Soys grandes!!!
Pero por que comprais el PIC ya si aun no tenemos el .hex?, que esperamos de los expertos en programacion. Metiendo un bootloader por USB como por ejemplo el que tenemos para el nandflasher usb de X360, podremos actualizar el firm unicamente conectandolo al PC y escribiendo con el programa oficial, sin ningun programador.
Pues he comprado el pic porque cundo salga el HEX seguro k no lo puedo comprar, el T-20 lo tenia ya de hace años y el resto de componentes también asi que para k esperar por 8 €?
Yo tengo confianza en que lo sacaran, seguro, asi que como de todas formas no hay manera de comprar ni A90USBKEY , ni Teensy, ni el AT90USB162 ni na de na, esta es la unica esperanza que tengo de poder probar algo sin tener k esperar dos semanas a que llegue algo cuando ya en ENUC tengan clones por 30€
Yo por el momento solo puedo comprar el 4550, he visto que podría valer.

Me lo pillo, o busco (espero) el 2550.

¿Valdría el mismo "port"? ¿habría que modificar algo? ¿vale el mismo programador (t-20)??

Edito: Si me lo confirma algún entendido, me voy a por él.

.
Ambos chips funcionarian, pues internamente son practicamente iguales (comparten Datasheet asique XD) la diferencia mas grande es el Nº de pines, pues el 2550 tiene 28, y el 4550 tiene 40 o 44, no estoy seguro, y por lo tanto, este último no lo podrás programar con un T20, pues solo admite Pics de hasta 28 pines.


Salu2
Er_Garry escribió:Ambos chips funcionarian, pues internamente son practicamente iguales (comparten Datasheet asique XD) la diferencia mas grande es el Nº de pines, pues el 2550 tiene 28, y el 4550 tiene 40 o 44, no estoy seguro, y por lo tanto, este último no lo podrás programar con un T20, pues solo admite Pics de hasta 28 pines.


Salu2


Pues gracias compi, entonces como que no, porque encima que no tengo ni idea del tema... variará un poco todo.


.
Hola,
Realmente la diferencia entre el 4550 y el 2550 es el protocolo SPP (Streaming Parallel Port) que el 4550 si lo soporta y el 2550 no.
El protocolo SPP es un protocolo de transferencia de alta velocidad implementado en esta familia de PICs utilizado sobre todo para transferir datos externos entre el USB y el PIC.

Respecto a la programación con un T-20, sí que lo puedes utilizar porque realmente el T-20 es un JDM un poquito modificado.
Tan sólo tendrías que hacer bien la correspondencia de pines y te puedes hacer un adaptador fácilmente con una plaquita de prototipos y un zócalo de 40 pines.
Tenéis una página web donde está el diseño de la PCB (CucaWeb) para adaptar el T-20, pero vamos para que no os metáis en complicaciones os digo la correspondencia de pines:

SEÑAL ZÓCALO 28 <-----> ZÓCALO 40
------ ------------ -------------
VPP 1 --------------------- 1
VSS 8 --------------------- 12
VSS 19 --------------------- 31
VDD 20 --------------------- 11 Y 32
PGC 27 --------------------- 39
PGD 28 --------------------- 40

Como software usad el i2cprog o el winpic800, os recomiendo este último porque está probado en Windows 7 y funciona perfecto.

Por cierto, como aclaración:
Han dicho que le meterían el bootloader para programarlo por USB, pero .... el principal problema es que HAY QUE METERLO, porque el PIC viene vacío de fábrica (a no ser que lo pidas específicamente con un bootloader USB.... y os aseguro que poquitas tiendas tienen).
Una vez metido con cualquier programador, simplemente llevando la pata que el programador decida a GND, arranca el pic en modo Update por USB y ya dejaría actualizar.

Si se lo curran bien (lo siento pero yo no me quedo libro hasta la semana que viene) se podría utilizar un PIC inferior con 24Kb de Flash, pero bueno, por 20 o 30 céntimos de diferencia no merece la pena.

Salu2
seroculto escribió:Hola,
Realmente la diferencia entre el 4550 y el 2550 es el protocolo SPP (Streaming Parallel Port) que el 4550 si lo soporta y el 2550 no.


Salu2


Tenga o no puerto paralelo no lo vas a usar. Si queres aprender como se usa desde el PC puedes mirar este tutorial.

Ver tutorial puerto paralelo LPT con Visual C#, Visual C++ y Visual Basic .net

Saludo.
Bueno, claro que no lo vas a utilizar, sólo estaba dando una explicación a la gente para que no se volviera loca sobre que PIC comprar en caso de que no tengan del 2550.....

Realmente el SPP si lo utilizas para el paralelo es desperdiciarlo ;)
Yo lo he utilizado antes para transmitir datos a dispositivos externos tales como SDs y tal por el USB.

1 Saludo
ElSemi escribió:Si, aparte del programador de PIC, que solo haria falta la primera vez, porque tengo pensado meter un bootloader por USB, haria falta:

1 pic 18f2550
1 xtal de 20Mhz (se podría hacer con 12 tambien, pero de 20 es el que tenia por casa :))
2x condensadores de entre 15pF y 22pF (creo que para 20 mejor 15, para 12 mejor 22, pero tampoco afecta mucho)
1x condensador de 220nF (para el regulador interno del USB del pic)
1x pulsador (para entrar en el bootloader al mantenerlo pulsado enchufando el cacharro al PC y asi poder actualizar el firmware sin programador)
1x LED (con 1 creo que servirá para lo que hay que notificar)
1x resistencia de 1Kohm para el led

y luego, 1 conector macho USB-A, o bien un cable usb con conector macho y cortar y usar el cable.


Bueno pues ya he localizado el 2550, mañana voy a por él.

¿El cristal tiene que ser, mínimo de 12?
¿Los condensadores, si el cristal es menor son mayores?
El cable USB, ¿podemos cortar uno de los que tenemos por ahí?? (o es una chapuza, o complicarse).

No estoy poniendo en duda nada de lo que has puesto, yo no tengo ni pajolera idea, simplemente es para repasar la lista de la compra. Si no es mucha molestia.

gracias.


.
¿El cristal tiene que ser, mínimo de 12?

El cristal puede ser de lo que "quieras"
Realmente el PIC lleva un PLLDIV ya que la frecuencia interna de trabajo tiene que hacerla a 4 MHz.
En la entrada de oscilación tienes que ponerle un valor que al dividirlo por:
12, 10, 6,5,4,3,2, o 1 te de 4 MHz.
Claro está, depende del que utilices, habrá que configurar el código fuente para utilizar un divisor u otro. Normalmente se emplean de 20 MHz.... pero vamos lo que pilles xD

¿Los condensadores, si el cristal es menor son mayores?

El tema de los condensadores pues es para que la oscilación se estabilice... según Microchip, en su datasheet han empleado lo siguiente:
4 MHz - 27 pF
8 MHz - 22 pF
20 MHz - 15 pF

Realmente, para el uso que vas a darle al USB, emplea lo que te de la gana, pero sí, a osciladores menores, condensadores mayores.
Para 4MHz yo empleo 33pF para mayor estabilidad, por si te sirve de referencia.

El cable USB, ¿podemos cortar uno de los que tenemos por ahí?? (o es una chapuza, o complicarse).

Cortas uno cualquiera y ya está, con que identifiques los pines de Tensión y Datos con el polímetro te sirve (claro está que es un poco chapucero... lo suyo es ponerle un conector tipo impresora como dicen en la placa y luego utilizar un cable USB A-B.)

Un saludo
1603 respuestas
1, 2, 3, 4, 533