Ver la versión completa : Cómo se compilan módulos/drivers?
Hola de nuevo:
Vuelvo a ser el pesao noob que pregunta obviedades, pero llevo ya dos meses atascado en el mismo punto pese a haber hecho cientos de pruebas.
Tengo las toolchains, y el SDK oficial con dev-cpp y con ninguna se compilar un módulo para ponerle el wifi a mi negrita. Con las toolchains he podido hacer un make pero no me vale, y en ninguna de las dos formas puedo compilar el código fuente y obtener un .ko.
Por favor, arrojad un poco de luz a este novato (las lechugas y tomates despues, por favor)
:rever::rever::rever:
No he compilado nunca drivers y me peleo todavía con los makefiles, pero creo que sólo se pueden compilar en Linux, ya que usan cabeceras específicas del kernel. Te dejo algunos enlaces por si te ayudan.
Compiling drivers for newbies (http://linmodems.technion.ac.il/compiling.html)
Writing device drivers in Linux (http://www.freesoftwaremagazine.com/articles/drivers_linux)
drumpi, como has hecho para poder utilizar el toolchain oficial con Dev cpp??
drumpi, como has hecho para poder utilizar el toolchain oficial con Dev cpp??
eso querría decir que no haría falta parche con la 4.1?
eso querría decir que no haría falta parche con la 4.1?
Zer?
Mandelocual??
^MiSaTo^
12/01/2009, 22:49
No es con el SDK oficial, había una toolchain distinta para eso. Yo compilé un módulo para wifi y para bluetooth pero sinceramente no me acuerdo de qué compilador eran.
Pero te aseguro que no era del SDK oficial XD
Open2x tiene un toolchain específico para módulos del kernel. Todos los que estén basados en GCC 3.4 (exepto quizá el oficial, que está muy capado) debería valer igualmente. Por cierto, no es solo para Linux. Necesitas las cabeceras del kernel, eso sí, pero puedes instalarlas en Windows :)
drumpi, como has hecho para poder utilizar el toolchain oficial con Dev cpp??
Yo solo descarge el SDK oficial del enlace de la wikipedia: http://wiki.gp32spain.com/index.php/Programaci%C3%B3n_para_GP2X:_primeros_pasos
Una de las cosas que vi fue que, por lo que pude entender, las cabeceras del kernel estaban en SVN, y como en esta facultad no tenemos programa para eso, había que descargar los archivos uno a uno ([Ahhh]).
Yo probe en su dia el módulo que compiló Misato, pero el dongle seguía muerto, y tengo que probar con las rt2570 o con la ¿rt71?
Menos mal que Linux es la alternativa a Windows, que si no, tendríamos que aprender todos a programar (warning: ironic mode detected in this line).
Me iré leyendo los tutoriales, mientras pruebo (al menos, el minuto libre que me queda libre) con el open2x, pero de Linux mejor irnos olvidando, porque sin internet no puedo instalar nada (compilador incluido)
civantoz
13/01/2009, 17:55
pero de Linux mejor irnos olvidando, porque sin internet no puedo instalar nada (compilador incluido)
mmm no se si te he entendido mal, pero en Linux puedes instalar cosas con y sin internet como en cualquier sistema, eso si ya me gustaria ver como te compilas un programa en windows sin red y sin compilador (sin tenerlo previamente claro, que supongo que será a lo que te refieres) y lo mas chulo, a ver como te recompilas un kernel de Windows a medida... ;P
saludos
Zer?
Mandelocual??
jajaja nada pensé que hablabais de otra cosa... ala seguir con vuestra conversación culta jajajajja:D
Yo solo descarge el SDK oficial del enlace de la wikipedia: http://wiki.gp32spain.com/index.php/Programaci%C3%B3n_para_GP2X:_primeros_pasos
Una de las cosas que vi fue que, por lo que pude entender, las cabeceras del kernel estaban en SVN, y como en esta facultad no tenemos programa para eso, había que descargar los archivos uno a uno ([Ahhh]).
Yo probe en su dia el módulo que compiló Misato, pero el dongle seguía muerto, y tengo que probar con las rt2570 o con la ¿rt71?
Menos mal que Linux es la alternativa a Windows, que si no, tendríamos que aprender todos a programar (warning: ironic mode detected in this line).
Me iré leyendo los tutoriales, mientras pruebo (al menos, el minuto libre que me queda libre) con el open2x, pero de Linux mejor irnos olvidando, porque sin internet no puedo instalar nada (compilador incluido)
Para acceder al SVN el Tortoise vale en Windows.
mmm no se si te he entendido mal, pero en Linux puedes instalar cosas con y sin internet como en cualquier sistema, eso si ya me gustaria ver como te compilas un programa en windows sin red y sin compilador (sin tenerlo previamente claro, que supongo que será a lo que te refieres) y lo mas chulo, a ver como te recompilas un kernel de Windows a medida... ;P
saludos
Pero es que lo que me raya de linux es que para instalar los "drivers" del wifi para conectarme a internet me pide que los descargue de internet :loco:
¿Que se puede hacer sin conexion? claro, hoy me descargo un paquete, mañana vuelvo a por otro que hace falta por las dependencias, pasado a por otro, y así cuando tenga ya todos los paquetes dentro de dos meses me leeré siete tutoriales de cinco páginas sobre cómo configurar la conexión en versiones anteriores de ubuntu a la mia y a rezar por que funcione.
Lo siento, pero es que llevo ya un año sin usar Linux por el tema de internet y estoy más que quemado del asunto, y cuando pido ayuda me dan la callada por respuesta o me dicen que me lea los manuales. (PD: no, ahora no tengo internet para ponerme a configurarlo, así que dejadlo).
Mmmm, vale, Tortoise, buscando... No, no está instalado. No, tampoco lo puedo instalar :(
En fin, seguiré otro dia, que ya tengo overflow en la cabeza.
Pero es que lo que me raya de linux es que para instalar los "drivers" del wifi para conectarme a internet me pide que los descargue de internet :loco:
Por supuesto, los demás sistemas operativos no necesitan drivers, y cuando los necesitan son tan listos como para crearlos ellos mismos.
(si respondes "en el sistema W tengo un CD con los drivers" entonces el problema no es de Linux, sino del fabricante por darte un CD que solo funciona en W. O quizá el problema es que no has descubierto ndiswrapper. O que no has probado a conectarlo con cable, como recomiendan los fabricantes de routers inalámbricos para configurarlos cuando aún no tienes drivers incluso en W :))
De todas formas si tu dispositivo tiene más de un año ya, deberías probar alguna versión más moderna de cualquier distribución Linux. Casi con toda seguridad ya tendrás los drivers incluidos.
y cuando pido ayuda me dan la callada por respuesta o me dicen que me lea los manuales.
Eso es que no nos preguntas a los adecuados :) ¿Te has pasado por el offtopic de estos mismos foros? :)
Entonces pasaré olimpicamente de los señores del foro de ubuntu-es y me vendré aqui, porque alli mencionar las ndiswrapper es como mencionar al demonio :miedo:.
Obviamente es una p***** que los señores de conceptronic no hagan drivers para linux, y más cuando este dispositivo lleva a la venta más de tres años, y que los prometidos drivers que lleva linux de serie desde que serialmonkey se añadieron a la lista de colaboradores oficiales desde la 7.04 sigan sin funcionar (curiosamente, recompilandolos, funcionaron en la 7.04).
Pero es aun más cuando tu cable de conexion no llega al router, y tu PC no es portatil.
En fin, cuando disponga de nuevo de una señal de conexion, volveré a intentarlo, a ver si hay más suerte con la 8.10 (aunque me han contado que hay un problema gordo con grub y NTFS)
Entonces pasaré olimpicamente de los señores del foro de ubuntu-es y me vendré aqui, (...) En fin, cuando disponga de nuevo de una señal de conexion, volveré a intentarlo, a ver si hay más suerte con la 8.10 (aunque me han contado que hay un problema gordo con grub y NTFS)
En los foros ingleses de ubuntu escarbando mucho entre la basura a veces encuentras algo de valor. En los foros ubuntu-es ni te molestes. Te puedes pinchar con algo. No creo que haya ningún problema generalizado con grub y NTFS en 8.10, varios cientos de miles de personas que se habrían quejado a estas alturas :) Sí que puede ser que al actualizar el ordenador de tus amigos se haya roto algo. Desgraciadamente eso es demasiado habitual en Ubuntu :(
ndiswrapper suele funcionar muy bien con los drivers de Windows XP... si resuelves los conflictos de módulos en el kernel. En mi ordenador por ejemplo, ndiswrapper es incompatible con el módulo ath_pci y tienes que ponerlo en la lista negra (porque el muy tonto se piensa que ese módulo y no ndiswrapper es el que controla el wifi) Pero no vale con descargarlo de la memoria, una vez prohibido hay que reiniciar el ordenador porque ath_pci cargó otros módulos incompatibles o puso el kernel en estado incompatible, no sé, pero si no reinicias piensas que es ndiswrapper el que no funciona y te tiras de los pelos :D "dmesg" y "tail -f /var/log/messages" son tus amigos para detectar estas cosas.
Buenas de nuevo:
Pues ahora que se han acabado los exámenes y tengo tiempo para mi, pues me he puesto algo serio con la negrita. Gracias a que he dispuesto de internet un par de dias, he pasado a informarme bien de algunas cosas y he sacado algunas conclusiones.
1- Dado que el kernel de la negrita es un 2.4, la extensión correcta para los módulos del kernel no es .ko como andaba buscando, sino .o a secas. De haber sabido esto en un primer momento habría estado dos semanas intentándolo con los recursos actuales en lugar de andar perdiendo el tiempo con quejas :P De todas formas, aun tengo que mirar el manual para compilar dichos módulos que me pasó no recuerdo quién (sorry, efectos colaterales de los exámenes y del alzheimer)
2- El uso de Termula y un teclado USB facilíta 1000 veces el trastear con la negrita. Hace dos semanas que me llegó mi teclado enrollable marca "hello Kitty" (¬¬U) por 10€ y se está rentabilizando (a ver lo que dura).
3- Que los módulos que existen para el rt2570 (entre los que se encuentran los programas para la configuración de redes que compiló Misato) si le sirven a mi modem-router usb. Usando los gpu que se incluyen, al principio, pues como que no iba, pero ahora no se por qué, si ¿será el tener el teclado lo que ayudo?.
En fin, sea por A o por B, he conseguido conectarme, de momento, a un router sin proteccion (bueno, si, por direcciones MAC), y sin red. Al menos, ping he conseguido. Lo siguiente es probar con una red con proteccion y acceso a internet.
Pido perdón si he estado siendo muy pesado con esto.
Lo que no puedo hacer es navegar por internet: descargué el Qtopia, pero cuando lo arranco con el usb conectado se queda pillado, y si pulso alguna tecla del mismo, se vuelve loco y sólo se puede salir apagando la consola.
Así que seguiré investigando, de todas formas, el tema de los módulos de kernel. Pero necesito buscar un navegador, o por lo menos, ver cómo se puede hacer algo sencillo para comunicarse por internet (pedir códigos html, o quizás una pequeña aplicacion de mensajeria instantanea por SDL).
Tambien saber cómo hacer para ver los videos de mi pc en la negrita ¿se usa el mismo método de montar una carpeta compartida en red mediante el cliente samba, como se hacía por conexion usb, o hay otra forma?
No recuerdo si tienes una F100 o una F200. Si es la F100 con firmware 2.x, recuerda que hay un bug en el kernel que casca tras recibir el primer paquete :) En la wiki inglesa hay un módulo que arregla ese bug. Puede estar relacionado con el "antes sí y ahora no"
Si el ping funciona, debería funcionar igualmente todo lo demás, incluida navegación web. Haz un ping a www.google.com, por ejemplo, o intenta descargar la página principal de google desde línea de comandos con:
echo "GET / HTTP1.0\n" | netcat www.google.com 80
Si funciona el ping pero no conectas a internet (es decir, no has usado HCP), entonces tienes que tocar la tabla de rutas y el archivo /etc/hosts. Mira en cualquier tutorial de conexión a redes de Linux, pero te adelanto los comandos:
echo 'nameserver IP.DE.TU.DNS' > /etc/resolv.conf
route add default gw IP.DE.TU.ROUTER
Es mucho más que posible que las herramientas básicas de la Gp2x no admitan WEP y mucho menos WPA. No lo sé, solo es suposición, pero si es verdad no podrás conectar a redes con seguridad activada a menos que compiles tú mismo el soporte.
Finalmente, samba parece la mejor solución para compartir archivos de cualquier tipo con tu ordenador.
La mia es una F100 con firm 3.0, así que supongo que tendré que ir a mirar el parche (si es que han arreglado ya el tema de la zona de descargas), pero la cosa es "antes no y ahora si" :D
Hoy quería hacer la prueba del ping a goolge (¿eso no lanza un paquete y lo recibe? porque 15 pings y no casca...) sobre una red protegida. Segun los scrips te adjunta el módulo y las funciones, si tiene soporte para ambas protecciones, pues se pueden poner claves WPA y WEP, pero lo dicho, aun no lo he probado.
Se supone que se usa DHCP (de nuevo segun los scripts) pero vamos, que estoy mirando para hacerlo linea por linea y explorando el tema (ya me servirá más adelante para Ubuntu). Y muchas gracias por los comandos de descarga, iba a buscarlos, así como info por si me tocaba crearme un mini-navegador html con SDL, o algun tipo de programa de mensajería... vamos, ir explorando el mundo web con cosas sencillas.
Al final te haré un monumento por aclararme tantas dudas :D :D :D
Hola de nuevo:
Lo siento, juanvvc, pero no encuentro el parche del que me hablas, y me hace falta, aunque no se si será cosa del bug o de que se calienta demasiado el dongle.
Hola de nuevo:
Lo siento, juanvvc, pero no encuentro el parche del que me hablas, y me hace falta, aunque no se si será cosa del bug o de que se calienta demasiado el dongle.Creo que juanvvc se refiere al módulo de Gadget Ethernet (g_ether.o), ya que el que viene con el firmware 2.x oficial da ese fallo, ni idea del porque, pero existe otro que en su día colgó woogal en los foros de gp32x que soluciona este fallo, solo hay que sustituirlo.
Si quieres puedes descargar mi tutorial (http://www.gp32spain.com/foros/downloads.php?do=file&id=626) para Linux que está tanto el modulo que arregla este problema como un script que lo sustituye.
Pues muchas gracias, esta tarde, en cuanto me deje un rato el programar para los "V days", lo pruebo, a ver si ahora puedo ver mis series desde el salon :D
< - >
Como suele pasar en el hormiguero: fracaso absoluto. No era ese archivo. Voy a intentar meter en medio un cable de extension o un hub autoalimentado, a ver si es por exceso de alimentación. Eso no se puede controlar por software ¿o si?
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.