miércoles, 10 de febrero de 2010

Entrevista con:Mjmartin(USB)

 

Microphone-Disabled-icon Con Mjmartin abrimos una nueva vía  de información directa que va a permitir conocer de primera mano sus avances en el campo del USB 2.0.

Esperamos que poco a poco el resto de desarrolladores se animen a esta iniciativa, y presten parte de su tiempo para ser entrevistados. Además, ponemos este Blog a vuestra disposición para que planteeis vuestras preguntas creando así una pequeña comunicación bidireccional entre los Usuarios/Fans y nuestros desarrolladores.

 

Son las dos de la mañana en España, y acaba de entrar Bugboy en el canal de #reactos, pobrecillo, no sabe lo que le espera. Tras el nick de Bugboy se oculta MJ Martin,el desarrollador encargado de dar soporte USB 2.0 a ReactOS. Una tarea titánica.

Ahora son aproximádamente las 10 de la mañana en Japón,desde donde nuestro desarrollador está conectado.Está a punto de producirse un Asalto Matinal.Sin anestesia.

 

Pregunta: Muy buenas BugBoy

mjmartin: Hi!

Pregunta: ¿Status?(Algo así como ¿en que andas trabajando?.Directo a la yugular)

mjmartin: USB

mjmartin: USB

mjmartin: USB

 

(Por triplicado. Y es que el USB es una tarea titánica con muy poca documentación disponible.Algunos, tras un par de semanas sin commits de mjmartin,habían llegado a pensar que se había dado por vencido…Se lo hago saber..)

Pregunta:Pensé que habías abandonado el puñet*** USB

mjmartin: Nope, estuve apunto de abandonar al intentar encajar (nuestro) usbehci con el usbhub de Microsoft.Pero tuve suerte e hice progresos en conseguir que uno hablara con el otro.(Nope, i was about to give up trying to fit usbehci in with ms's usbhub. But i got lucky and made some progress in getting them talking to each other.)

Si alguien no recuerda el esquema USB, en esta entrada podeís encontrar la base mínima para comprenderlo.Repaso el esquema mientras hablo con él y me doy cuenta que el usbhub no habla directamente con el usbehci,sino que existe un intermediario llamado usbport

Pregunta:Pero,¿quien habla con usbehci?¿usbhub o usbport?¿o es que estás hackeando el usbport?

mjmartin: Usbhub habla realmente con usbport, ya que este es el encargado de crear los Device Objects. Pero ahora mismo estoy básicamente “pasando” del usbport, e implementando todo en el usbehci.Yo estoy creando el usbehci,así que no será dificil de separar todo más tarde.(usbhub talks to usbport really, as thats who creates the deviceobjects. Im basically leaving usbport out of the picture for right now, and implementing everyhing in usbehci. Im working it so it wont be to hard to seperate everyything later.)

(Releyendo la entrada del USB, me doy cuenta que el USBport realmente es un driver que realiza tareas comunes al USBehci,ohci y uhci.Mientras que estos últimos se encargan de las tareas específicas de los protocolos USB2.0, 1.1 y 1.0. Asi pues, parece que para facilitar las cosas, va a integrar temporalmente estas tareas específicas en el mismo driver usbehci, y cuando todo funcione, partir el driver usbehci en los verdaderos usbport y usbehci.)

Pregunta:¿Que hay sobre nuestros Client Drivers?¿Tenemos que crearlos?¿O podemos reutilizar algun proyecto GPL que haya por la red?

mjmartin: Creo que algunos van a tener que ser creados, pero realmente no estoy seguro, pues no he mirado tan arriba en el Stack.( i think some of them will have to be coded also,not sure though, as i havent looked that high in the stack.)

(Algo bastante normal.  Los Client Drivers son la última pieza del rompecabezas,pero para llegar a ellos, es necesario que las anteriores encajen..y aun queda bastante tiempo para eso. Ahora toca meter el dedo en la llaga…)

Pregunta: ¿Actualmente qué te está volviendo loco al codificar el USB?

mjmartin: Simplemente el tiempo que se tarda en codificarlo todo.Tardé bastante tiempo en encontrar la documentación de cómo el driver hub (usbhub,sys) habla con usbport/usbehci via interfaz de llamada directa. Necesitamos incluir algunas cabecerás mas relacionadas con el USB. Es el enorme tamaño de todo esto lo que es una locura. (Its just the time it takes to code it all, documentation on how the hub driver talks to usbport/usbehci via direct call interface took some time to track down.We need to include some more usb related headers.Its the sheer size of this thats crazy.)

(Parece ser que no existe una roca en el camino,sino que simplemente el USB es una enorme roca,y no excesivamente bien documentada)

Pregunta: ¿Podemos esperar más USB commits pronto?

mjmartin: Si.Debería poder hacer un commit hoy.(yea they do, I should have a commit today.)

 

(Así pues, parece que Mjmartin sigue trabajando en el USB,aunque haya estado un par de semanas casi desaparecido. Le voy a dar una oportunidad para que añada lo que quiera…)

 

 

Pregunta: ¿Te apetece añadir algo a esta mini-entrevista?¿Algun comentario,alguna puntualizacion?

mjmartin: Si (Yes)

Pero enseguida dice:

mjmartin: No

 

(A saber que está tramando.Pero es que mjmartin es así, de pronto te viene con un arreglo de la instalación del OpenOffice,como anunciándo que está trabajando en el USB.Sin anestesia.De pronto caigo en algo….)

Pregunta: Entonces, si no estoy equivocado..tu estás realmente creando el primer USB stack de código abierto para arquitectura NT,¿correcto?

mjmartin: Intentándolo,sí.Aunque la verdad he encontrado una buena cantidad de pistas de James Harper: http://xenbits.xensource.com/ext/win-pvdrivers.hg?file/a3f0201d7fa0/xenusb/ (Attempting to yes.Though I did get alot of good pointers from James Harper. )

(James Harper, Harper….uhmm…ni idea…)

Pregunta: ¿De que va el projecto de James Harper?

Esta vez contesta gigaherz: XEN es un software Hypervisor,algo que permite correr multiples Sistemas Operativos en un mismo hardware.

 

(Entonces se me ocurre algo..)

 

 

Pregunta: ¿Podría servirte de algo la implementación USB de Virtualbox?

mjmartin: Realmente no lo he mirado.Creo que nos serviría de muy poco.(Havent really looked at it. Im guessing it would only be a bit of use.)

Gigaherz remarca que no es lo mismo la implementacion de dispositivos y de drivers,que es totalmente distinto.

 

Ya le he robado demasiado tiempo a mjmartin, y lo que es peor ;) al USB 2.0. Asi que decido marcharme y dejarle tranquilo mirando el código.

Seguro que en breve tendremos que hacerle una nueva entrevista….Asi que si queréis preguntarle algo,solo tenéis que escribir en la sección de Comentarios vuestras preguntas, y cuando tengamos unas cuantas…le asaltaremos de nuevo.

6 comentarios:

  1. Editado: Lo siento, el Spam no está permitido.
    Además la cuenta rosasm@reactos.org no es una cuenta oficial de reactos.org. Dicha cuenta no existe.
    La apropiación y el uso de un falso email asociado a una entidad puede ser motivo suficiente para emprender acciones legales.
    Gracias por tu comprensión.

    ResponderEliminar
  2. ¿Por qué no intentáis implementar los drivers (todos) del kernel de Linux? Gracias :P
    PD: MJMartin USB se lo está currando, perdón, MJMartin :D

    ResponderEliminar
  3. ¡Genial! Muy buena idea la de realizar entrevistas a los desarrolladores de ReactOS. Quizás sería muy interesante su traducción y adición a las Newsletters oficiales de ReactOS, o en una nueva entrada en los Foros oficiales. Creo que toda la comunidad las apreciaría.

    Espero que esta sea una de otras muchas entrevistas. Me gustaría saber más sobre autores como janderwald, Fireball, sir_richard, los ninjas,.... uf! esto puede ser interminable. Ah! Y por supuesto a Alex Ionescu sobre su trabajo previo y sus impresiones sobre el futuro del proyecto.

    Como siempre, muchas gracias.

    ResponderEliminar
  4. Por cierto (y perdonadme por postear doble), teneis que poner un espacio entre los dos puntos que siguen a "mjmartin" y a "Pregunta" en la entrevista porque, cuando le sigue una palabra que empieza por P, el blog lo traduce como un emoticono :P

    P.ej. "Pregunta (:P) ensé que habías abandonado el..."

    ResponderEliminar
  5. [...]   Ciertamente el soporte USB y la apariencia son dos piedras fundamentales. Del USB ya hemos hablado con Mjmartin AQUI. [...]

    ResponderEliminar
  6. [...] Ciertamente el soporte USB y la apariencia son dos piedras fundamentales. Del USB ya hemos hablado con Mjmartin AQUI. [...]

    ResponderEliminar