Wii DVD Drive Serial Tool

Erant has released a tool kit for linux to communicate with the Wii DVD drive serial port, it includes instructions how to build the cable, diagrams, source code, firmware code samples and more. Pretty much all you need to get started on the Wii DVD drive hacking. ;)


Fuente [url=Eurasia]http://www.eurasia.nu/modules.php?name=News&file=article&sid=1860&mode=&order=0&thold=0[/url]

se viene se viene [angelito]
Esto, no funciona el link y una pequeña traducción no vendria nada mal de todas formas gracias
el enlace tal cual esta no va, pero copia y pega la direccion hombre.

LINK
Erant a sacado un conjunto de herramientas para linux que permite la conexión con la unidad de DVD de WII a traves de su puerto serie. Incluye instrucciones para construir el cable, diagramas, el codigo fuente, ejemplos de codigos firmware. Mucho más de lo que necesitas para empezar con el hackeo de la unidad DVD de Wii.
Es algo así vamos.
chufirulo está baneado por "Crearse un clon para saltarse un baneo"
Weno si podemos conectar el lector al pc y se puede acceder ya a la lectura de la firmware... esto ya esta cantao, es cuestion de un poco de tiempo y paciencia, pero seguro seguro que cae.
El metodo: exactamente el mismo que con xbox360, lectura de firmware original, parcheo y pa la saca... [sonrisa]
Dios, en el de gbatemp pone algo sobre inyectar codigo...mooola
Wii DVD Drive Serial Tool
by Erant

Usage of the program:

The DVD Tool usage is fairly simple, to read from memory, type
./dvdtool -s -r
So, if you wanted to read 0x40 bytes from 0x8000 (main memory start), you'd type
./dvdtool -s 0x40 -r 0x8000
The file argument is an optional argument for reading, if no valid file is specified,
the output is a formatted output to stdout. The -s argument is also an optional argument,
not specifying it will assume a default of 0x20 bytes.

To write to memory, you'd use a similar syntax

./dvdtool -s -w

The only difference is the last argument, it can take a file or a formatted array.
In either case, the -s option is again optional, not specifying it will assume
the size of the array, or the size of the file.
An example to write an array to 0x8100:

./dvdtool -w 0x8100 "0xFF,0x0,0xFF,0x0" will write {0xFF,0x0,0xFF,0x0} to 0x8100.

The insert code command is slightly more complicated, you need a compiled and assembled
binary to insert. Code execution starts at 0x408000, which is in extra RAM. Code size limit
is estimated at roughly 8kb, so enough for pretty much anything. You need to pre-pend your code
with a NOP instruction, and append it with an 'RTS' instruction, to resume normal code execution.

An example of some code you could assemble and insert:

NOP
MOV 0xFF, D0
MOV 0x8000, A0
MOV D0, (A0)
RTS

This will write the value 0xFF to 0x8000. You can again check proper execution by performing a read operation.If the application returns a 'write error' after code injection, your code has crashed the interrupt thread of the DVD drive, and it'll need either a power cycle or reboot. Syntax of the code inject is easy enough,

./dvdtool -i code.bin

(A sample, compiled program called code.bin is included, it's source is also included. Run it, and check for 0xEA, 0xEA at 0x8001 for correct functioning).

Making the datacable

In order to make the datacable, you need only a few basic items. A DB-25 connector, two diodes, and some cable. Connect the diodes in reverse (so, PC ---|<--- Wii) to the DB-25 connector, to pins 1 and 14. Just connect some wires to pins 18 and 11, these will be the GND and output wires. The other two dioded wires are clock and input. Now, open your Wii, remove the DVD drive, and turn it over. Look for the following pattern near IC3001:
- 1 -
2 3 4
- 5 6

3 is SBO1 (Output)
4 is SBT1 (CLK)
6 is SBI1 (Input)

With the numbers being pads, and - being nothing. Now, solder the wire from pin 1 to pad 4 (CLK line). Pin 14 goes to pad 6, and pin 11 goes to pad 3. Just find a suitable place to attach the wire from pin 18, which is GND. (Placing the board so you can read the writing on IC3001, look at connector P3001, the rightmost pad is GND and the third from the right is GND). Check your solder connections with a multimeter, then close up your Wii, and issue the ./dvdtool -r 0x8000 command in root mode. If you see hexadecimal numbers, congratulations! If you don't, check the proper functioning of your cable, wether or not you're in root mode, and if the parport0 and ppdev drivers are properly installed.

dvdtool.conf

Contains only two things, the second line is the command write delay, the delay after a command is written, and should probably be left alone. The first is the bit read/write delay, the delay done after a bit is written or read. In standby mode (orange led), this is pretty safe at 50, but for ON mode (green led), should be set to 100 or higher, to avoid sync errors.

Debugging

If you're getting out of sync errors every now and again, make sure your Wii is in stand by mode (orange LED, higher transfer rates), or adjust the timing settings in dvdtool.conf, or try adding a 47pF capacitor to GND to your clock line. (At the Wii side). The code is also still fairly crude, so if you encounter any bugs, please give them to me.


Wii Disc Drive:

Chips:

IC1001 "[M]" "AN22023" "619P7002" (tqfp-48)
IC1002 "[M]" "41224" "616C5279" (probably a power switching / motor controller chip. - tqfp-65)
IC2001 "GC2-D1" "616P7300" (tqfp-144)
IC2003 "(underlined L) X9" "TDA" (6-pin package)
IC3001 Panasonic "Panasonic" "GC2R-D2A" "610U6MF7" (tqfp-100)

Ports:

P1001 Connects to laser/focus/read assembly
P1003 Connects to laser assembly movement motor
P1004 Connects to optical Disc detection subboard on "bottom" side
P2001 Connects to Wii motherboard Port P4 (via 32 pin flat cable)
P3001 Connects to Wii motherboard Port P8 (via 12-pin wire bundle cable)


Wii Mainboard Chips:

Chip listing:

U1: "(E)" "HOLLYWOOD" "(C)(M)'06Nintendo" "(ATI logo)" "(BroadOn logo)" "(NEC logo) JAPAN" "C10046F5-211-PN2-A" "0633KK01X" (video/IO chip, BGA/unknown 31x31mm)
U2: "(IBM logo)" "BROADWAY" "39X6735" "IBM9316" "BWYC-72914" "06340706V 14" "CANADA" (CPU, BGA/unknown 21x21mm)
U3: Samsung K4J52324QC-BC14 "SAMSUNG 631" "K4J52324QC-BC14" "EFEA75DX" (Memory!, BGA/unknown 14x11mm)
U3 (alternate): Quimonda "0638" "A" "HYB18H512321AFL14B" "HVV52176" (Memory chip, likely the same pinout and same/similar specs to the samsung chip)
U4: Sharp PQ070XH02Z "070XH02" "SHARP" "12H U6" (LDO voltage regulator, set at 1.8V - TO-263 package, 5 pins 10x8mm)
U5: "H8DU" (*tiny* 5-pin tsop-6 3x1.5mm)
U6: "AVE-RVL" "BU9055EKV" "629 145" (Audio/Video encoder/DAC tqfp-64 10x10mm)
U6 (alternate): "AVE-RVL A" "C8391" "0635EMM" (same package as previous chip)
U7: Mitsumi "616" "AMPAM" (Audio Amp, tsop-8 5x4mm)
U7 (alternate): No logo, "AMPAM" "6943" (same package as previous chip)
U8: MX "E062674-MG" "MX23L4005-24C1" "RTC-RVL A" "2S08802" (RTC, TSOP28 18x8mm)
U9: "JK0U" (Power-on-reset generator *tiny* 5-pin tsop-6 3x1.5mm)
U10: "JK0U" (Power-on-reset generator *tiny* 5-pin tsop-6 3x1.5mm)
U11:
U12:
U13:
U14: Samsung K9F4G08U0A "SAMSUNG 631" "K9F4G08U0A" "PCG1" "FHFL82GAU" (flash memory, tsop-48 18.5x12mm)
U14 (alternate): Hynix "KOR" KY27UF084G2M" "TPCB 647A" (flash memory, same package/pinout as samsung chip)
U15: Sanyo LV5043 "LV5043" "6SP0" (DC-DC Converter controller, ssop-30 10x5mm)
U16: Sanyo LV5043 "LV5043" "6SP0" (DC-DC Converter controller, ssop-30 10x5mm)
U17: Sanyo LV5043 "LV5043" "6SP0" (DC-DC Converter controller, ssop-30 10x5mm)
U18: "2901" "6M56" (tsop-14 5x4mm)
U19: Sharp PQ033DNA1ZPH "033DNA1" "SHARP" "H U7" (LDO regulator, 3.3V 1A, 4 pins 6x5mm)
U20:
U21:
U22: "H4" (*tiny* 5-pin tsop-6 3x1.5mm)

Ports:

P1 Gamecube memory cards port
P2 Rear fan power connector
P3 Disc slot LED port
P4 Disc drive port (see Wii console Disc Drive page)
P5 AV and "sensor bar" port
P6 Gamecube controller ports (all 4 of 'em)
P7 Battery port
P8 Disc drive port (see Wii console Disc Drive page)
P9 USB ports
P10 SD Card port. Marked "A0635D6"
P11 Power connector
P12 Bluetooth Daughtercard
P13 802.11 Wifi daughtercard

Crystals:

X1 "6373" "T 6276"
X1 (alternate) "27000" "K640Y"
X2 "32.768" "KDS0631" (32768Hz, RTC oscilator)

Descargar

¿Nadie a probado nada? Yo estoy convencido que el Wiinja pudo hacerse gracias a esto y ya que no publican el codigo porque no investigar.

Primero de todo habria que crear el cable serie (DB25)

[IMG]Making the datacable

In order to make the datacable, you need only a few basic items. A DB-25 connector, two diodes, and some cable. Connect the diodes in reverse (so, PC ---|<--- Wii) to the DB-25 connector, to pins 1 and 14. Just connect some wires to pins 18 and 11, these will be the GND and output wires. The other two dioded wires are clock and input. Now, open your Wii, remove the DVD drive, and turn it over. Look for the following pattern near IC3001:
- 1 -
2 3 4
- 5 6

3 is SBO1 (Output)
4 is SBT1 (CLK)
6 is SBI1 (Input)

With the numbers being pads, and - being nothing. Now, solder the wire from pin 1 to pad 4 (CLK line). Pin 14 goes to pad 6, and pin 11 goes to pad 3. Just find a suitable place to attach the wire from pin 18, which is GND. (Placing the board so you can read the writing on IC3001, look at connector P3001, the rightmost pad is GND and the third from the right is GND). Check your solder connections with a multimeter, then close up your Wii, and issue the ./dvdtool -r 0x8000 command in root mode. If you see hexadecimal numbers, congratulations! If you don't, check the proper functioning of your cable, wether or not you're in root mode, and if the parport0 and ppdev drivers are properly installed.[/IMG]

¿Donde conectar? Seguramente los puntos del Winnja. Alguien se apunta ? El problema que tengo para linux soy patosillo.

Alguien puede indicar para novatos con linux que poder usar, si con el Knopiix live seria suficiente o hay que cambiar archivos del sistema, etc...

Un saludo.
interesante...me apuntaria pero no tengo puesto ni linux
Flash78 escribió:...


uf, yo me pierdo. a ver si alguien arroja luz sobre el tema.


p.d.: soy yo, o cada vez nos hacemos más cutres y no queremos gastar
ni 0 en estas historias? [+risas]
Yo puedo intentarlo después de exámenes, pero me da un mal rollo que no veas abrir la wii, sin embargo, por la parte de linux o la parte de extracción del firmware (sería cuestión de probar un par de cosillas), no le veo demasiado problema...

En principio, no hace falta nada más que instalar el programilla éste y conectar al puerto serie, y ale...

Parece que han solucionado (dicen algo de usar bit-banging) el hecho de que el dvd sea síncrono, y el serie asíncrono...De todos modos, esto se podría usar simplemente para llamar a la subrutina que hayamos creado cuando se produce alguna excepción...

No sé, me vienen unas cuantas dudas conforme escribo y no parece ser tan fácil como escribir un simple código que devuelva 'true' tanto si el disco está firmado como si no...

En fin, es cuestión de ir probando... yo puedo ofrecer mis escasos conocimientos, pero no me quiero arriesgar a cascar la consola...
El codigo fuente : Enlace

Fuente: Eurasia
No quiero que se pierda el hilo , ya que lo veo muy interesante , porque esto abre las puertas a todo , desde aki podemos hacer escuchas , de lectores de wii , lo suyo seria , hacer una escucha desde un drive con wiinja y otro sin wiinja , buscar los parametros que no coinciden y probar de todo un poco , esta jodida la cosa yo de linux ando muy pez , segun el TXT que pone en el pack este , y efectivamente son los 3 puntos que usan todos los chips , es decir datain , dataout y un clock , primero tenemos que empezar a configurar los linux, yo solo he usado liveCDs para sacar claves WEP¨s y esas cosillas pero no mas , con un conector DB25 y los 3 cables soldados y escribar la sintaxis esa en linux ya tendriamos el firmware dumpeado luego seria estudiarlo lo mas dificil.
vaya noticion :D a meterle curro haber que sale
Esto se pone interesante... sera cuestion de echarle un vistazo. Poco a poco van apareciendo cosas nuevas, mola X-D
Flash, si necesitas ayuda cn linux para cachatrrear con el dvd t puedo echa una mano, controlo bastante del tema.
norhild escribió:Yo puedo intentarlo después de exámenes, pero me da un mal rollo que no veas abrir la wii, sin embargo, por la parte de linux o la parte de extracción del firmware (sería cuestión de probar un par de cosillas), no le veo demasiado problema...

En principio, no hace falta nada más que instalar el programilla éste y conectar al puerto serie, y ale...

Parece que han solucionado (dicen algo de usar bit-banging) el hecho de que el dvd sea síncrono, y el serie asíncrono...De todos modos, esto se podría usar simplemente para llamar a la subrutina que hayamos creado cuando se produce alguna excepción...

No sé, me vienen unas cuantas dudas conforme escribo y no parece ser tan fácil como escribir un simple código que devuelva 'true' tanto si el disco está firmado como si no...

En fin, es cuestión de ir probando... yo puedo ofrecer mis escasos conocimientos, pero no me quiero arriesgar a cascar la consola...


El tema es centrarse en la proteccion.

A grandes rasgos la proteccion de X360 son los ejecutables firmados y unos sectores en el disco (supongo que en el lead-in) los cuales no podemos copiar con nuestras grabadoras (el lead-in y lead-out del disco es grabado por la grabadora sin que el software pueda modificar lo que se graba y dependiendo de cada grabadora) en x360 lo que se hace es que el firmware compruebe en otros sectores esa parte del disco (los SS con los que se parcheaban las imagenes al principio). el tema es ver como esta estructurada la protecccion de los wods y ver si se puede hacer una cosa similar (supongo que si)
Hace falta un manual con fotos de como se fabrica el cable especial.
Flash78 con una distribucion como ubuntu te deberia de valer, incluso lo mas probable que con un live cd como el slax te tirara bien el problema es que no tenga un buen kernel y tengas que hacerle algo como dices. Pero yo te digo que te instales un slackware porque con un kernel que este wapo (me refiero a que te busques algun slackware con un kernel modificado por alguien que este completito) y podras hacer maravillas, si tienes dudas de comandeo buscate paginillas de tutoriales unix y tirando.
Con el slackware + el serial tool todo te deberia ir sobre ruedas, otra cosa seria cagarla siguiendo el tutorial que han expuesto sobre el serial tool, que podria ser la destruccion de la consola xD y eso no mola nada, asique si te atreves entre todos podemos colaborar, unos tienen mas conocimientos de unix que otros por lo tanto hacer un script para gente manazas no seria mu dificil.
plasma escribió:Hace falta un manual con fotos de como se fabrica el cable especial.


La verdad es que al no haber un esquema y estar en ingles sigo pensando , sera así o no. mirando la fuente original donde se publicó al menos parece que se ha compilado para windows. Creo que eso facilita las cosas pero no se si es 100 % funcional el port.

Fuente original: http://forum.wiibrew.org/viewtopic.php?t=22
El problema que yo le veo: como realices mal la instalacion hardware (el cable) puedes joder tu pc o tu wii :-?

El codigo fuente parece ser que permite crear la utilidad tanto para windows como para linux con el mingw32. De hecho ya viene compilada la version para Windows :Ð

No se que pensar...

EDITO :

Ya he conseguido compilar por mi mismo la utilidad dvdtool.exe para windows (aunque de hecho ya viene en el archivo zip).

Aqui teneis una imagen del dvdtool en ejecucion:

Imagen

A la espera de saber como se crea el "cable especial" [fumeta]
Lo he probado con todos los live linux que tenia en casa (ubuntu, knoppix y slax) y con ninguno tira, sin embargo bajo windows va perfecto :).

D:\Wii\dvdtool>dvdtool -s 0x20000 -r 0x80000 firmware.bin
autodetecting console...
f7
autodetecting drive...
inquiry info: 2006/05/26 (A)
Console: WII, Drive: 2006/05/26 (A)
  READING BLOCK [##########]
D:\Wii\dvdtool>
N3TKaT escribió:Lo he probado con todos los live linux que tenia en casa (ubuntu, knoppix y slax) y con ninguno tira, sin embargo bajo windows va perfecto :).

D:\Wii\dvdtool>dvdtool -s 0x20000 -r 0x80000 firmware.bin
autodetecting console...
f7
autodetecting drive...
inquiry info: 2006/05/26 (A)
Console: WII, Drive: 2006/05/26 (A)
  READING BLOCK [##########]
D:\Wii\dvdtool>



si quieres hacer es esquema aunque sea con el paint, muchos lo agradeceran XD.

Creo que con la GC tambien sirve, con esta podria porbar sin miedo alguno.
bueno a mi si me va en suse 10.1 64bits, el problema es que el archivo tiene permisos de root solamente, tenia otra descarga y ese no conservo los permisos de root, no se si porque lo pase a una usb, pero si lo descomprimo en fat32 se cambian los permisos a root, ahora no puedo hacer mucho pues no tengo wii ;)
krmen@linux-krmen-lap:~/Desktop/wii-gc> ./dvdtool -r 100
Wii DVD drive serial tool, by Erant
Could not open parallel port driver /dev/parport0
krmen@linux-krmen-lap:~/Desktop/wii-gc> ./dvdtool
Wii DVD drive serial tool, by Erant
Usage: ./dvdtool [options] [offset] file
-i Inject code into the Wii
-r Read a data block from Wii
-w Write a data block to Wii
-s Specify size of data block
krmen@linux-krmen-lap:~/Desktop/wii-gc>
Flash78 te subo una chapuzilla ke he hecho con el paint , mas o menos esta explicado , aver si este finde tengo tiempo y le meto mano.

Adjuntos

Pero sirve para cargar backups o solo para hacerlos?
PZ! escribió:Pero sirve para cargar backups o solo para hacerlos?
Pasate por ASQUI y por ASQUI :)
26 respuestas