Como enviar un parche para agregarlo al kernel?

Publicado por dc740, Septiembre 14, 2008, 14:24:08

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

dc740

Hola a todos. El tema es que cambié dos líneas de código en el driver de la placa de red sis190 y me gustaría que lo agregaran en el kernel oficial... el problema es que por default loguea cada 10 segundos que el cable de red no está conectado. Obviamente esto llena los logs con información basura. Yo cambié esto y no se donde publicarlo para que se agregue al kernel oficial.

Alguna idea? tendría que entrar a la web oficial no? disculpen si no me informé como corresponde antes de preguntar, es que recién termino de publicar el fix en mi blog y me tengo que ir. Digamos que estoy intentando agilizar el trámite.

Gracias por la paciencia. Salu2

EDITADO: estuve buscando y no pude encontra la lista de mail del kernel ni nada... pero publiqué el problema junto a la solución como si fuese un bug en los boards de ubuntu... ahi esperaré una respuesta a ver que onda

ZeiterZ

Si usas:

sudo  modinfo  sis190

tendrás la información de quien desarrolló ese módulo. En este caso:

$ sudo modinfo sis190

filename:       /lib/modules/2.6.24-1-686/kernel/drivers/net/sis190.ko
license:        GPL
version:        1.2
author:         K.M. Liu <kmliu@sis.com>, Ueimor <romieu@fr.zoreil.com>
description:    SiS sis190 Gigabit Ethernet driver
srcversion:     149E26E9BBC113E6E17B201
alias:          pci:v00001039d00000191sv*sd*bc*sc*i*
alias:          pci:v00001039d00000190sv*sd*bc*sc*i*
depends:        mii
vermagic:       2.6.24-1-686 SMP mod_unload 686
parm:           rx_copybreak:Copy breakpoint for copy-only-tiny-frames (int)
parm:           debug:Debug verbosity level (0=none, ..., 16=all) (int)


Saludos.

dc740

jaja que pavo! está escrito en el mismo archivo que estuve tocando y ni siquiera me había dado cuenta!!!

Gracias ZeiterZ, siempre atento!

Salu2!!!


PD: más allá de que lo había visto en el archivo, me resultó muy útil el comando modinfo, la verdad es que no lo conocía.

ZeiterZ

Sí... es especialmente útil cuando no se dispone de los fuentes y se necesita saber, por ejemplo, los parámetros que admite un módulo.

Cuando hagas contacto, avisá qué te respondieron.

Saludos.

Camello_AR

Una duda parm:           debug:Debug verbosity level (0=none, ..., 16=all) (int) no te permitía cambiar (conforme el "nivel" de verbosidad -algo así como palabrerio-) la informaciíon pasada al syslog?

dc740

mmmm Camello_AR la verdad que ni idea pero les cuento algo.... me acaban de responder al mail uno de los desarrolladores del driver... sus palabras fueron simples:

Citar
You can configure it now with ethtool. There is no need to change the
default.

--
Ueimor

jajajaja secote el tipo para responder... cortito y al pie... sin embargo voy a insistir en que se quite ese comportamiento completamente molesto de la configuración por default... osea, es útil cuando uno tiene serios problemas en la conexión y llega a dudar hasta de los cables de red... pero en cualquier otro caso, decime para que necesito yo un aviso cada 8 segundos en el log del sistema que dice "che el cable de red está desconectado" "che el cable de red está desconectado" "che el cable de red está desconectado" "che el cable de red está desconectado" "che el cable de red está desconectado" "che el cable de red está desconectado" "che el cable de red está desconectado" "che el cable de red está desconectado"

osea... el mensajito es muy lindo y todo lo que quieran, pero NO debe ir como default, es una opción semi útil en caso de tener un problema. ninguna otra placa de red lo trae como default, obviamente que no debe ir... no se ustedes que opinan?

DAX

Opino que esta es la magia del software libre y open source, como a vos no te gusta ese comportamiento, lo modificas de raíz, a pesar que a su desarrollador se le canta que haga eso.

Anda a pedirle a los chicos de MS que modifiquen una línea de código de su software y, obviamente, trata de ver alguna línea de código de windows (por ejemplo) para ver que anda mal.

Al margen de esto, creo que es mas una cuestión filosófica este tema, ya que técnicamente no es un bug, sino un comportamiento establecido arbritrariamente por defecto, con el cual, podrás o no estar de acuerdo, pero no es un error de módulo en si, teniendo en cuenta que, además, podés modificar ese comportamiento sin necesidad de tocar el código (con ethtool).

Igualmente, suponiendo que otros usuarios piensen como vos, creo que una solución sería publicar tus modificaciones en alguna página tuya y poner el módulo compilado y los fuentes con la modificación a disposición del resto de la comunidad.

SaludOS/2

dc740

jeje por supuesto :) y eso es exactamente lo que hice. mi blog es Resumiendooo! y ahi publico todo lo que voy haciendo y que lleva más pasos que un simple click... por qué? para compartir y para que a otros no les cueste tanto encontrar la información. Además de que por ejemplo ayer me sirvió para reinstalar Ubuntu desde cero en una hora y tener todos los drivers instalados en una cuestión de minutos (sí, me mandé un moco y tuve que reinstalar)

Con respecto a lo del driver... te soy honesto... no se si no es un bug... porque imaginemos un servidor... si cada 10 segundos escribimos más información inútil en el log, tarde o temprano el log va a tener un tamaño muy muy grande y la capacidad de almacenamiento se va a ver perjudicada...

como les dije, cada 10 segundos aparece un mensaje en los logs del sistema que dice que el cable de red no está conectado a la placa... algo bastante obvio considerando que es mi notebook y que la tengo conectada por wireless...

ningún otro driver lo hace, pero de todas formas me parece totalmente válida tu postura DAX

ZeiterZ

Puede que haya sido algo experimental que terminó quedando en el módulo.

Si no quieres usar ethtool también podrías desactivar la interfaz... ya que al ser vos el usuario de la portátil, sabrás cuándo activarla y desactivarla... incluso podrías configurarla como "hotplug", si es posible.

Otra manera es que cargues el módulo pasando como parámetro el nivel de logging que deseas de la placa (como sugirió Camello_AR).

Saludos.


dc740

jeje sí, mi primera aproximación fue esa, meter la placa en la blacklist y a otra cosa mariposa... pero como bien dijo DAX... es código abierto, cada uno puede cambiarlo para que se comporte como mejor le parezca... y la verdad es que asi como quedó ya me dejó contento jajajaja era justo lo que buscaba, aunque probablemente termine usando el ethtool o el parámetro en la carga del módulo, para evitarme compilarlo en cada actualización del kernel que haga (que por cierto y aunque parezca al divino botón... lo hago bastante seguido)


Salu2 y muchas gracias a todos por las respuestas. veremos que dicen los muchachos de Ubuntu (se los reporté a ellos como bug, por el tema de llenar el espacio en disco con el mismo log una y otra vez)

DAX

Pensando un poco mas en el tema, habria que probar ir a las fuentes, del kernel, digo.

Ubuntu, como cualquier otra distro, basa su kernel, en el kernel oficial, el cual es mantenido, pura exlusivamente, por Linus Torvalds (recibe colaboraciones y tiene ayudantes quienes se encargan del trabajo, pero las decisiones finales, las sigue tomando él).

Ahora bien, obviamente, la gente de ubuntu, si bien toma ese kernel para incluirlo en su distro, le realiza parches y algunas modificaciones, como lo hacen los encargados de muchas distros. Entonces, sería cuestión de ver como es tratado ese módulo (si existe) en el Kernel Oficial.

SaludOS/2

lucho_elmillo

Yo soy fe porque conozco el foro que si le envias tu modificacion a clem (el creador de Linux Mint y administrador del foro tambien) y considera que es para incluir en la distro lo hace, podrias hacer el intento.
Ahora hablando de tecnisismos, no entiendo cual puede ser el motivo por el cual dejar por default un mensaje cada 10 segundos de alerta que el cable no esta conectado en ese caso, quiero entender al desarollador del driver para saber que motivo encuentra salvo de "porque no tuve ganas" pero no encuentro

DAX

Cita de: lucho_elmillo en Septiembre 17, 2008, 00:21:04
Ahora hablando de tecnisismos, no entiendo cual puede ser el motivo por el cual dejar por default un mensaje cada 10 segundos de alerta que el cable no esta conectado en ese caso, quiero entender al desarollador del driver para saber que motivo encuentra salvo de "porque no tuve ganas" pero no encuentro

¿Será un ex empleado de Microsfoft?   :P

SaludOS/2

dc740

Lean este mail!!! me respondió a mi pregunta cuando le dije exactamente eso... me tapó la boca de una manera terrible:

CitarIt costs less than 2 megs per week, the default can be changed through
ethtool or a module load option (see /sbin/modinfo sis190) and I am
sure that you can find better ways to contribute something useful.

Think about it. :o)

Cuack... le faltó poner un "no jodas pibe, si querés contribuir que sea con algo más importante"... Me dejó sin palabras... estaba pensando que es casi como una falta de respeto publicar un mail sin concentimiento del autor... pero no creo que tenga problemas, sobre todo porque en ningún momento menciono cual de los desarrolladores me está respondiendo... Digamos que es un desarrollador oficial, pero que mantendremos anónimo

y... sí, después de eso sospecho que ahsta podría ser de Moco$oft jajaja no se puede ser tan pancho... "daaa, cuesta 2 megas de logs a la semana nada más... a nadie le molesta, dejalo asi o cambialo a manopla..."


ZeiterZ

Yo creo que unos megas más de logs en un servidor, por ejemplo, no es nada.

Hay servidores cuyos backups semanales rondan los 2 GB... qué le hacen 2 megas más...

Me parece que el tipo tiene razón... con las capacidades de disco de hoy, no es significativo.
Además, si se trata de un servidor un mensaje de cable desconectado es más que útil.

Saludos.