LDKK - Crea tus propios drivers para linux!

Imagen de Anónimo
+1
0
-1

Alguien sabe como se usa, instala ldkk, o como puedo crear drivers para linux? Envien todas las respuestas que se les ocurra (por ridículas que les parezca).

En el enlace aparecen varios archivos (me imagino que solo se descarga uno y que pesa 100 mb). No se como se instala o cuales archivos descargar. O si existe algun repositorio para ldkk. Luego que me expliquen como instalarlo me pueden decir como usarlo (algo sencillo, con un ejemplo sencillo es suficiente).

La idea es tratar de entender como hacer drivers, expliquenlo tanto para novatos, o para profesionales, no se preocupen si no entiendo, hay muchos programadores y pueden aclarar mejor las respuestas.

Repito, envien tantas respuestas como se les ocurra (preguntas o respuestas).

Gracias.

+1
0
-1
Imagen de gabiel
+1
0
-1

Es una imágen iso, la puedes grabar en un cd o acceder a ella montandola o mediante algún programa que pueda leerla.

Dentro se incluía documentación variada, entre ella un buen libro de O'Reilly con la información que solicitas; una imágen de una de las últimas versiones del kernel, y alguna cosilla más.

Saludos.

♠ ♣ ♥ ♦
Este comentario puede contener trazas de cacahuetes, almendras y germen de trigo.
[Documentación oficial][Normas del foro]

+1
0
-1
Imagen de Anónimo
+1
0
-1

Hasta ahora entiendo lo siguiente:

1.- Quemar la iso en un cd (con la opción quemar imagen)
2.- Ahora puedo ver el contenido del paquete (documentos y programas)

Me hace falta lo mas importante:

Con el kernel, el libro y lo demás, que se supone que debo hacer?

No quiero que leas todo el libro, solamente me gustaria que me orientaras sobre como hacer un driver sencillo (no son necesarios los detalles), digamos, en una 5 o mas frases (pasos).

---------

Pd. Propongo una meta: Hacer un driver sencillo (entre todos los foreros), seguramente algunos lo consideran fácil, yo no tengo ni idea de por donde empezar (disculpa si no he leido el libro).

+1
0
-1
Imagen de gabiel
+1
0
-1

Con el kernel, el libro y lo demás, que se supone que debo hacer?

Pues dos cosas, leer y aprender. Es lo único que puedo decirte. De echo, ese libro está bastente bien explicado, y presenta conceptos previos necesarios de forma muy clara, antes de entrar en los temas concretos sobre Linux.

Como módulo sencillo, el primero que presenta el libro (para explicar la "estructura básica" de un módulo) no es más que una adaptación de un Hola Mundo; al cargarlo imprime Hola en el registro del kernel y al eliminarlo escribe Adios. Mientras lo presenta da la explicación que pides de forma muy clara, no en 5 frases porque no es posible, pero sí de forma sencilla.

Si quieres más información sobre Linux, puedes dirigirte a KernelNewbies en inglés, o a kernel-labs en español.

Saludos.

♠ ♣ ♥ ♦
Este comentario puede contener trazas de cacahuetes, almendras y germen de trigo.
[Documentación oficial][Normas del foro]

+1
0
-1
Imagen de Anónimo
+1
0
-1

Gracias por comentar!

Ahora, olvidemos lo dificil y centremonos en lo fácil.

========

Meta/Propuesta: Crear un driver fácil de hacer.

Si alguien ha hecho un driver, y tiene todos los datos necesarios comente como lo ha hecho,

======

miren un ejemplo:

http://xataka.com/archivos/2006/04/16-conecta-el-raton-de-la-snes-a.php

Ese es un hardware solo para linux!

+1
0
-1
Imagen de Anónimo
+1
0
-1

Hasta ahora tenemos lo siguiente:

Ant30

Hace falta saber como funciona el hardware a controlar, así como los mecanismos que intervengan en los protocolos existentes de comunicaciones con buses

Juan

Conocimientos básicos de programación en C
http://www.ubuntu-es.org/node/20185
http://www.ubuntu-es.org/node/14956

Gabiel

Módulo sencillo:
El primero que presenta el libro (para explicar la "estructura básica" de un módulo)

Morpheus

El manual perfectamente explicado y en español:

http://bachue.com/svnwiki/linux%20drivers (copienlo y quemenlo)

Si logran hacer un driver y funciona comentenlo.

+1
0
-1
Imagen de gabiel
+1
0
-1

Hay algo que todabían no veo claro, ¿que pretendes hacer exáctamente? ¿un controlador para un hardware en concreto? ¿un módulo para algún protocolo no soportado? ¿un módulo didáctico que sirva como referencia?

Las dos primeras pueden llevar meses (lease años dependiendo de la información disponible, sobre todo el primer caso). La tercera podría ser "abarcable", pero no se que más podría añadir sobre los ejemplos existentes (por ejemplo los de el libro que aparece en el CD). Podría ser un módulo que gestionase una pequeña zona de memoria (digamos 9 "posiciones"), y que permitiese acceder a ella de forma controlada (digamos "por turnos") y solo permitiendo que se escribiese determianda información (digamos un 0 ó una X). Pero ese ejemplo no añadiría nada sobre los del libro (a parte de poder decir que has creado un módulo para Linux que permite jugar al tres en raya con una zona de memoria).

Saludos.

PD para SOLUNTU: Frases parecidas a la de mi firma se pueden ver principalmente en tabletas de chocolate y similares, también vi una variacion en una página hace tiempo. La uso porque recibí quejas de la firma anterior:

Para ver mi firma rasca aquí ===> ||||||||||||||||||||||||||||||||

Algo relacionado con monitores rallados y pantallas TFT tiradas a la basura ;).

En cuanto a si es algo de "informáticos", la respuesta es evidente: 42

♠ ♣ ♥ ♦
Este comentario puede contener trazas de cacahuetes, almendras y germen de trigo.
[Documentación oficial][Normas del foro]

+1
0
-1
Imagen de Anónimo
+1
0
-1

El que sea, y que funcione en cualquier hardware.

No creo que hacer un sistema operativo sea imposible, hacer drivers seguramente es fácil, y mas cuando ya existe software libre y gratuito (que puedes conocer libremente, saber como funciona, modificarlo, o servirte de pauta para tener una idea de como hacer otro mejor).

El software libre es el que nos diferencia de los humanos de hace un siglo. Tienes dos opciones: Vivir esclavizado usar software cerrado, o abrir los ojos y aprender nueva ciencia.

Repito: Cualquier hardware, cualquier driver (eso si, hecho con software libre, e información libre).

Este comentario puede tener un poco de leche...

+1
0
-1
Imagen de gabiel
+1
0
-1

Vamos a ver, imposible no es, resulta evidente viendo la gran cantidad y tipos de SO que existen. Ahora bien, que no sea imposible no significa que cualquiera esté capacitado, ni que estandolo sea algo sencillo; tomese por ejemplo el caso de un tumor cerebral, no es imposible extirparlo, pero no cualquier persona está capacitada, ni estandolo resulta sencillo; y también tienes ejemplos y "libro tutoriales" de como hacerlo.

Ahí tienes el comentario de ant30, hacer un controlador (cualquiera) no es algo sencillo, necesitas muchos conocimientos previos tan solo para saber como hacerlo, y necesitas muchos conocimientos sobre el hardware que quieres manejar. Y lo más importante, no existe una "receta milagrosa" que puedas usar; como bien dices, existe software que te permite ver ejemplos reales de como hacer (o no hacer) las cosas, pero para poder aprobecharlo necesitas ser capaz de entenderlo.

Si buscas crear un controlador para un dispositivo en concreto, lo mejor sería que especificases de cual se trata y que pidieses colaboraciones, a ser posible presentando toda la información y recursos de los que dispongas. Pero con un "envíen lo que sea" no creo que atraigas mucho público; básicamente, suscribo las palabras de ant30 "Cuando tengáis decido lo que queráis hacer y tengáis a un grupo de personas con conocimientos sobre el tema, podéis contar conmigo". Por supuesto, colaboraré hasta donde mis conocimientos me lo permitan.

Saludos.

♠ ♣ ♥ ♦
Este comentario puede contener trazas de cacahuetes, almendras y germen de trigo.
[Documentación oficial][Normas del foro]

+1
0
-1
Imagen de Anónimo
+1
0
-1

Este tema queda solo como, se pueden hacer drivers para linux? y la respuesta es, si se puede, no es fácil, no es imposible.

+1
0
-1
Imagen de Anónimo
+1
0
-1

Soy estudiante de ingenieria elecronica y estoy haciendo una pasantia corta en la que e mandaon a hace un driver en linux para una tarjeta fox de acme systems. Trabajo con windows xp, pero uso vmware con la cual tengo creadas dos maquinas virtuales, debian y red had.

El driver es para hacer que la tarjeta que mencione arriba reconozca una MMC. Utilizo debian (como maquina virtual en vmware) para hacer la compilacion de los drivers escritos en C y los trasmito a la tarjeta usando puTTY mediante telnet.

Si alguno esta interesado en ayudarme es bienvenido y le estare agradecido.

Este driver lo tengo que hacer en tres seanas contando a partir de hoy. Teng conocimientos basicos de s.o y de C.

+1
0
-1
Imagen de Anónimo
+1
0
-1

De momento lee la información disponible, cualquier duda pregunta, se te responderá.

+1
0
-1
Imagen de Anónimo
+1
0
-1

Ahh, conoce mas sobre linux:

http://www.ubuntu-es.org/blog/18904

+1
0
-1
Imagen de SOLUNTU
+1
0
-1

Que bueno lo de "Este comentario puede contener trazas de cacahuetes, almendras y germen de trigo" De donde lo has sacado?? es algo de informaticos?

+1
0
-1
Imagen de SOLUNTU
+1
0
-1

Que bueno lo de "Este comentario puede contener trazas de cacahuetes, almendras y germen de trigo" De donde lo has sacado?? es algo de informaticos?

+1
0
-1
Imagen de Anónimo
+1
0
-1

Me temo que hacer un driver requiere algo más que leerse un tutorial. Se dice que en el cd se incluye todo lo que necesita un programador. Y no será un programador cualquiera de visualbasic o python sino más bien tirando al C y a fondo y además con profundos conocimientos de hardware.

Piensa, por ejemplo, hacer un driver para una impresora Epson, para la cual el fabricante, por sistema, no te da ninguna documentación de cómo funciona su máquina, ahora ponte a averiguarlo descifrando el código que un driver de windows envía a la impresora una vez que has pinchado el cable usb, y luego programa en C un programa que haga lo mismo.

Ojalá fuera algo que cualquiera pudiera hacer después de leerse un libro.

Si estoy equivocado, y alguien como yo, con conocimientos de python y casinada de C puede hacer algo, avisadme que me leo el libro ya.

Saludos
Juan

+1
0
-1
Imagen de gabiel
+1
0
-1

Es cierto que a parte de saber programar, se necesita conocer C y dependiendo de lo que quieras hacer tendrás que añadir conocimientos de lenguaje máquina. Y sobre todo, necesitas tener conocimientos sobre SO, aunque muchos los introduce el libro en los primeros capítulos.

Ahora bien, el ejemplo que mencionas no es aplicable, ya que la parte de ingeniería inversa que requiere no es parte del desarrollo de un módulo para Linux. Es algo necesario si el fabricante no da las especificaciones necesarias, pero no para hacer el módulo en sí, sino para saber como comunicarse con el hardware. A parte, no todos los módulos tienen porque estar relacionados con el hardware, por ejemplo los módulos que implementan protocolos de red no se comunican directamente con el hardware, o el que implementa el protocolo de las SD.

De todas formas, el libro en cuestión es muy claro, y utiliza ejemplos que pueden probarse y con los que poder "salsear". Al fin y al cabo, la mejor forma de aprender algo es haciendolo y experimentando.

Saludos.

♠ ♣ ♥ ♦
Este comentario puede contener trazas de cacahuetes, almendras y germen de trigo.
[Documentación oficial][Normas del foro]

+1
0
-1
Imagen de ant30
+1
0
-1

Lo primero que tengo que decir, es que desarrollar un driver no es algo tan fácil como parece. Hace falta bastantes conocimientos del funcionamiento de Linux en sí. De esto hay mucha información pero hay que ser muy hábil para filtrarla. También hace falta saber como funciona el hardware a controlar, así como los mecanismos que intervengan en los protocolos existentes de comunicaciones con buses ya sean Rs232, USB, PCI... C, Ensamblador, rutinas, ... a borbotones. Saber depurar estas mezclas de códigos y las comunicaciones que intervienen entre las partes afectadas.
Una muy buena forma de empezar desde luego, una vez adquirido los conocimientos antes citados es trabajando con módulos del mismo núcleo intentando descifrar el código poco a poco y sin prisas de algún controlador ya existente, que tenga poco código y que sea de alguna "pieza" que tenga mucha mucha mucha gente.
¿Alguno de vosotros ha programados microcontroladores? Es una buena forma de empezar a controlar hardware. Aunque luego, lo que es la posible incorporación al kernel ya es otra cosa arto complicada.

Al final y a grosso modo "todo se reduce" a tocar una serie de registros situados en la memoria reservada para IN/OUT del dispositivo (cuya reserva tendremos que hacer también en el mismo controlador).

Yo no he hecho controladores y tampoco he tenido tiempo para hacerlos, aún estoy terminando esta carrera de Ingeniería técnica en Informática Sistemas, pero si que he hecho algunas cosas por cuenta propia como comunicar aplicaciones C con microcontroladores que también he programado(ASM/C), utilizando el archiconocido en estos niveles académicos Rs232 (bus puerto serie). Lógicamente este programa corria en lo que se llama lado del usuario o userui, pero aún así, ya empieza a complicarse la cosa que no veas para extraer la información binaria que el programa en el microntrolador convertía a código entendible entre PC-PIC y (El microcontrolador capturaba información de una serie de sensores infrarrojos, ultrasonido y contacto/push)

Bueno,voy a parar porque al final me demoro demasiado. Cuando tengáis decido lo que queráis hacer y tengáis a un grupo de personas con conocimientos sobre el tema, podéis contar conmigo.

PD: ¿He fardao demasiao no? QUIERO TENER TRABAJO DENTRO DE UNOS MESES Y OJALÁ ME ABURRA USANDO LINUX EN ÉL , NO AL INTRUSISMO LABORAL EN INFORMÁTICA. Perdonen las mayúsculas pero tenía que deshaogarme.

-----------------------------------------------
Actualmente con:
portátil HP nx9030

móvil nokia 6670
¿Alguien me ayuda con el multisync?
Mi blog--> http://ant30.bitacoras.com/

Uso GNU/linux Ubuntu porque quiero.

+1
0
-1

-----------------------------------------------
Actualmente con:
portátil HP nx9030

móvil nokia 6670
¿Quieres controlar tu Linux desde tu Móvil ?
Visita mi proyecto azulremoto
http://azulremoto.sf.net

Imagen de Anónimo
+1
0
-1

A extender el tema, poco a poco se avanza, si tienen otros datos comentenlos, gracias.

+1
0
-1