Parche Kernel mando a distancia USB [Solucionado]

Bien, he visitado la pagina kernel.org, la cual ya van por el kernel 2.6.35, yo necesito el parche para implementar el mando a distancia de mi capturadora de TV TDT que incorpora un mando por infrarrojos de la marca Avermedia y en concreto del modelo RM-ks. Este modelo lo incluye en el kernel 2.6.34, lo que no me queda muy claro si es que tengo que aplicar el parche a ese kernel, o tengo que compilar ese kernel en debian. Estoy hecho un lio porque se que debian, su kernel ( el de linux ) es diferente al "creo que se llama vanilla". Ahora yo estoy en testing y el kernel actual de debian es 2.6.32-5 AMD64 que imagino que es una compilación sin drivers propietarios y para AMD64 del kernel oficial 2.6.32 desde la pagina Kernel.org.
A este punto tan liado, yo lo que quiero es tener el parche ( porque el kernel no lo necesito entero), pero parece ser que los parches van en función de un kernel, es decir, yo con el kernel actual de debian, seguro que no será compatible el parche ( si es que está para este kernel) y cúal y cómo usarlo para que en mi actual kernel tenga esta función.
Yo ya me he bajado el kernel entero y compilado al estilo debian desde la wiki, pero ( sin el parche porque se supone que ya viene el driver vl4 para af9015 que me sirve para mi mando a distancia). El problema es que nunca consigo arrancarlo porque me parece que al compilarlo, los sistemas de archivos los he dejado como módulos, incluso el del ext2, según leo por google provocaría el fallo que me sale de KERNEL FAILURE.
Mi pregunta es
¿Puedo aplicar cualquier parche que encuentre para mi dispisitivo en el kernel acutual de debian?
¿Tengo que compilar todo el kernel de nuevo y por tanto instalar los sources....?
He visto el kernel en "experimental" pero no me fio, puede ser que heche al traste todo y luego como estoy en debian, me imagino que ese driver lo quitarán de la propia compilación por no ser un driver libre.
Me liao...tu....

Este es el parche pero no me entero de como va ni como se instala http://linuxtv.org/hg/v4l-dvb/rev/a57ea2073e77bed38e98bbe3f1d0f4f49bd8f1...

No perdés nada con probar! typeo
Yo lo que haría es tratar de aplicar el parche sobre el kernel de Debian (paquete linux-sources). Creo que ese parche lo podés aplicar con la herramienta "patch", si no, que me corrijan. La idea es que apliques el parche sobre las fuentes y luego las compiles.
Fijate que cuando aplique el parche se realicen todos los cambios (que no te diga que falló un HUNK).
Saludos

Entonces procedo con la compilación del kernel al estilo debian, con el parche que me he bajado ( que no se si le sirve al kernel actual) y una vez hecho el paquete deb con el nuevo kernel, solo me queda instalar y probar....mmm lo probaré a ver que ocurre.

Pues hice lo siguiente:
Me bajé el último kernel de kernel.org ( 2.6.35 ) y ejecuté los pasos especificados "compilar kernel al estilo debian" que podrán encontrar por aquí.
Ejecute el make menuconfig pero parece ser que me faltaba alguna librerira ncurses.
Luego de instalar las librerias procedi a configurar el kernel.
Lo primero que hice es poner como compilado ( y no como módulo) los sistemas de archivos ext2, ext3 y ext4, el resto como viene por defecto. ( Si no realizaba este paso, me arrancaba con fallo del kernel failure).
Revisé el resto del kernel pero no modifiqué nada, asi que compilé directamente.
Una vez compilado y creado los paquetes deb correspondientes, procedo a la instalación sin aplicar en ningun momento el parche de mi tarjeta dvb-usb para el mando a distancia, porque ya lo tiene incluido.
Arranco debian y sorpresa, se autoinstala el driver privativo de Nvidia que tenia instalado en el kernel anterior ( no sabía que eso pudiera hacerse de forma automática gracias a que tengo instalado dkms).
El caso es que ahora ya tengo instalado el kernel, funcionando con el driver de nvidia pero con consigo arrancar o utilizar algún programa para el mando a distancia. Pero eso ya es otro hilo.

Tal vez al configurar el kernel debías agregar que compilara el módulo del mando a distancia. También podrías aplicar el parche de todas formas, o aplicarle el parche al kernel de Debian.
Saludos

chamilis escribió:

Tal vez al configurar el kernel debías agregar que compilara el módulo del mando a distancia. También podrías aplicar el parche de todas formas, o aplicarle el parche al kernel de Debian.
Saludos

Si es cierto, no lo compilé por ser un dispositivo usb, y muy probablemente diera errores cada vez que arrancase el pc sin tener pinchada la tarjeta usb.
Se que el driver está en el kernel y esto es lo que muestra lsmmod:

miguel@linux:~$ lsmod
Module                  Size  Used by
h826d                 646834  1
averusbh826d           87495  1 h826d
dvb_core               87828  1 h826d
ppdev                   5592  0
lp                      8847  0
sco                     7932  2
bridge                 61592  0
stp                     2019  1 bridge
bnep                   10252  2
rfcomm                 31195  0
l2cap                  30136  6 bnep,rfcomm
bluetooth              49661  6 sco,bnep,rfcomm,l2cap
rfkill                 17171  3 bluetooth
powernow_k8            12671  0
mperf                   1419  1 powernow_k8
cpufreq_powersave       1026  0
cpufreq_userspace       2184  0
cpufreq_conservative     9744  0
cpufreq_stats           3052  0
binfmt_misc             6925  1
fuse                   57281  1
loop                   13310  0
snd_hda_codec_nvhdmi    12013  1
snd_hda_codec_via      52685  1
snd_usb_audio          91773  0
snd_hda_intel          22470  2
nvidia              10821566  39
snd_hda_codec          84698  3 snd_hda_codec_nvhdmi,snd_hda_codec_via,snd_hda_intel
snd_hwdep               5938  2 snd_usb_audio,snd_hda_codec
snd_usbmidi_lib        17083  1 snd_usb_audio
snd_pcm_oss            32690  0
snd_mixer_oss          13090  1 snd_pcm_oss
snd_pcm                74024  5 h826d,snd_usb_audio,snd_hda_intel,snd_hda_codec,snd_pcm_oss
snd_seq_midi            4946  0
uvcvideo               52022  0
snd_rawmidi            19576  2 snd_usbmidi_lib,snd_seq_midi
snd_seq_midi_event      6337  1 snd_seq_midi
snd_seq                46614  2 snd_seq_midi,snd_seq_midi_event
snd_timer              19068  2 snd_pcm,snd_seq
snd_seq_device          5896  3 snd_seq_midi,snd_rawmidi,snd_seq
asus_atk0110           10065  0
tpm_tis                 8758  0
tpm                    14227  1 tpm_tis
snd                    59579  18 h826d,snd_hda_codec_via,snd_usb_audio,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_usbmidi_lib,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
videodev               41306  3 h826d,uvcvideo
parport_pc             20766  1
v4l1_compat            11997  2 uvcvideo,videodev
parport                32010  3 ppdev,lp,parport_pc
v4l2_compat_ioctl32     9546  1 videodev
wmi                     8103  0
usb_storage            45016  0
video                  20623  0
tpm_bios                5425  1 tpm
output                  2271  1 video
snd_page_alloc          7532  2 snd_hda_intel,snd_pcm
soundcore               6802  1 snd
edac_core              40068  0
pcspkr                  1862  0
i2c_nforce2             5685  0
edac_mce_amd            8365  0
i2c_core               22395  3 nvidia,videodev,i2c_nforce2
button                  5734  0
processor              32144  1 powernow_k8
evdev                   7833  12
usbhid                 35942  0
hid                    69765  1 usbhid
sg                     20200  0
sr_mod                 13230  0
sd_mod                 32791  4
cdrom                  33007  1 sr_mod
crc_t10dif              1515  1 sd_mod
ata_generic             3539  0
pata_amd               10946  0
ohci_hcd               19267  0
ahci                   20381  0
libahci                20527  4 ahci
libata                167468  4 ata_generic,pata_amd,ahci,libahci
ehci_hcd               31575  0
floppy                 54879  0
usbcore               150897  9 averusbh826d,snd_usb_audio,snd_usbmidi_lib,uvcvideo,usb_storage,usbhid,ohci_hcd,ehci_hcd
scsi_mod              182438  5 usb_storage,sg,sr_mod,sd_mod,libata
thermal                13320  0
forcedeth              46618  0
thermal_sys            14244  3 video,processor,thermal
nls_base                8021  1 usbcore

y mirando con find busco mi driver que es el af9015:

root@linux:/home/miguel# find / |grep af9015*
/usr/src/linux-headers-2.6.32-5-amd64/include/config/dvb/af9013.h
/usr/src/linux-headers-2.6.32-5-amd64/include/config/dvb/usb/af9015.h
/usr/src/linux-headers-2.6.35.1/include/config/dvb/af9013.h
/usr/src/linux-headers-2.6.35.1/include/config/dvb/usb/af9015.h
/home/miguel/Downloads/af9015-932dc08503ed.tar.gz
/home/miguel/linux-2.6.35.1/debian/linux-image-2.6.35.1/lib/modules/2.6.35.1/kernel/drivers/media/dvb/frontends/af9013.ko
/home/miguel/linux-2.6.35.1/debian/linux-image-2.6.35.1/lib/modules/2.6.35.1/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko
/home/miguel/linux-2.6.35.1/debian/linux-headers-2.6.35.1/usr/src/linux-headers-2.6.35.1/include/config/dvb/af9013.h
/home/miguel/linux-2.6.35.1/debian/linux-headers-2.6.35.1/usr/src/linux-headers-2.6.35.1/include/config/dvb/usb/af9015.h
/home/miguel/linux-2.6.35.1/drivers/media/dvb/frontends/.af9013.o.cmd
/home/miguel/linux-2.6.35.1/drivers/media/dvb/frontends/af9013_priv.h
/home/miguel/linux-2.6.35.1/drivers/media/dvb/frontends/af9013.c
/home/miguel/linux-2.6.35.1/drivers/media/dvb/frontends/.af9013.ko.cmd
/home/miguel/linux-2.6.35.1/drivers/media/dvb/frontends/af9013.mod.o
/home/miguel/linux-2.6.35.1/drivers/media/dvb/frontends/af9013.h
/home/miguel/linux-2.6.35.1/drivers/media/dvb/frontends/af9013.o
/home/miguel/linux-2.6.35.1/drivers/media/dvb/frontends/af9013.mod.c
/home/miguel/linux-2.6.35.1/drivers/media/dvb/frontends/af9013.ko
/home/miguel/linux-2.6.35.1/drivers/media/dvb/frontends/.af9013.mod.o.cmd
/home/miguel/linux-2.6.35.1/drivers/media/dvb/dvb-usb/af9015.h
/home/miguel/linux-2.6.35.1/drivers/media/dvb/dvb-usb/af9015.c
/home/miguel/linux-2.6.35.1/drivers/media/dvb/dvb-usb/dvb-usb-af9015.o
/home/miguel/linux-2.6.35.1/drivers/media/dvb/dvb-usb/.dvb-usb-af9015.mod.o.cmd
/home/miguel/linux-2.6.35.1/drivers/media/dvb/dvb-usb/.af9015.o.cmd
/home/miguel/linux-2.6.35.1/drivers/media/dvb/dvb-usb/.dvb-usb-af9015.o.cmd
/home/miguel/linux-2.6.35.1/drivers/media/dvb/dvb-usb/dvb-usb-af9015.mod.o
/home/miguel/linux-2.6.35.1/drivers/media/dvb/dvb-usb/.dvb-usb-af9015.ko.cmd
/home/miguel/linux-2.6.35.1/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko
/home/miguel/linux-2.6.35.1/drivers/media/dvb/dvb-usb/dvb-usb-af9015.mod.c
/home/miguel/linux-2.6.35.1/drivers/media/dvb/dvb-usb/af9015.o
/home/miguel/linux-2.6.35.1/.tmp_versions/af9013.mod
/home/miguel/linux-2.6.35.1/.tmp_versions/dvb-usb-af9015.mod
/home/miguel/linux-2.6.35.1/include/config/dvb/af9013.h
/home/miguel/linux-2.6.35.1/include/config/dvb/usb/af9015.h
/lib/modules/2.6.35.1/kernel/drivers/media/dvb/frontends/af9013.ko
/lib/modules/2.6.35.1/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko
/lib/modules/2.6.32-5-amd64/kernel/drivers/media/dvb/frontends/af9013.ko
/lib/modules/2.6.32-5-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko
root@linux:/home/miguel# find / |grep af9015*
/usr/src/linux-headers-2.6.32-5-amd64/include/config/dvb/af9013.h
/usr/src/linux-headers-2.6.32-5-amd64/include/config/dvb/usb/af9015.h
/usr/src/linux-headers-2.6.35.1/include/config/dvb/af9013.h
/usr/src/linux-headers-2.6.35.1/include/config/dvb/usb/af9015.h
/home/miguel/Downloads/af9015-932dc08503ed.tar.gz
/home/miguel/.local/share/Trash/expunged/3610338638/debian/linux-image-2.6.35.1/lib/modules/2.6.35.1/kernel/drivers/media/dvb/frontends/af9013.ko
/home/miguel/.local/share/Trash/expunged/3610338638/debian/linux-image-2.6.35.1/lib/modules/2.6.35.1/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko
/home/miguel/.local/share/Trash/expunged/3610338638/debian/linux-headers-2.6.35.1/usr/src/linux-headers-2.6.35.1/include/config/dvb/af9013.h
/home/miguel/.local/share/Trash/expunged/3610338638/debian/linux-headers-2.6.35.1/usr/src/linux-headers-2.6.35.1/include/config/dvb/usb/af9015.h
/lib/modules/2.6.35.1/kernel/drivers/media/dvb/frontends/af9013.ko
/lib/modules/2.6.35.1/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko
/lib/modules/2.6.32-5-amd64/kernel/drivers/media/dvb/frontends/af9013.ko
/lib/modules/2.6.32-5-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko
root@linux:/home/miguel#

parece ser que es el modulo dvb-usb que en el anterior "lsmod" no se ha cargado.... pero la verdad es que no se como arrancar algún programa que funcione con el mando usb, ya que ME-TV no se entera, y el procedimiento descrito usando LIRC en Kubuntu tampoco me funciona ya que al hacer el famoso "cat /proc/bus/input/devices " solo me muestra :

root@linux:/home/miguel# cat /proc/bus/input/devices
I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input0
U: Uniq=
H: Handlers=sysrq kbd event0
B: EV=120013
B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7

I: Bus=0003 Vendor=0458 Product=003a Version=0110
N: Name="Genius Optical Mouse"
P: Phys=usb-0000:00:02.0-1/input0
S: Sysfs=/devices/pci0000:00/0000:00:02.0/usb3/3-1/3-1:1.0/input/input1
U: Uniq=
H: Handlers=mouse0 event1
B: EV=17
B: KEY=70000 0 0 0 0
B: REL=103
B: MSC=10

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input2
U: Uniq=
H: Handlers=kbd event2
B: EV=3
B: KEY=10000000000000 0

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=LNXPWRBN/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
U: Uniq=
H: Handlers=kbd event3
B: EV=3
B: KEY=10000000000000 0

I: Bus=0010 Vendor=001f Product=0001 Version=0100
N: Name="PC Speaker"
P: Phys=isa0061/input0
S: Sysfs=/devices/platform/pcspkr/input/input4
U: Uniq=
H: Handlers=kbd event4
B: EV=40001
B: SND=6

I: Bus=0003 Vendor=046d Product=09a4 Version=0009
N: Name="UVC Camera (046d:09a4)"
P: Phys=usb-0000:00:04.1-1/button
S: Sysfs=/devices/pci0000:00/0000:00:04.1/usb2/2-1/2-1:1.0/input/input5
U: Uniq=
H: Handlers=kbd event5
B: EV=3
B: KEY=100000 0 0 0

root@linux:/home/miguel#

Por lo que al instalar Lirc tampoco me funciona, incluso en la propia instalación parece que me pide entre dos opciones elegir un controlador que me imagino que será la entrada tipica de una tarjeta especifica pci para mandos a distancia, que no es mi caso.

mmh, creo que esto se ha ido lejos de mis conocimientos... confuso
Tengo la siguiente pregunta: cómo sabés vos que el parche ya está aplicado en el kernel 2.6.35?
Porque en el link de más arriba no vi nada de eso...
Me puse a mirar las funtes del kernel de Debian, el archivo que afecta ese parche, tal vez no puedas aplicarlo con la herramienta path pero si lo puedas agregar manualmente, si mirás el parche dice que hay que agregar unas lineas cerca de la linea 748, en esa parte del script lo que hay son "casos" (por favor no me maten aquellos que si saben C), el script va poniendo "case tal cosa... alguna instrucción", el parche es agregar un case más, podés tratar de ponerlo al final de los cases como uno más. Lo mismo para los otros archivos que parchea.
La idea de esto es que pruebes de poner el parche como corresponde, si no se puede tratá de arreglarlo manualmente, creo que no perdés nada, a lo sumo te tirará un error mientras compila.
Saludos

Bien, el parche es el af9015 que en kernel inferiror al 2.6.34 no se incluye ( bueno, en realidad es un driver) aunque ahora que lo dices no estoy muy seguro de si ese parche que se aplica al v4l dvb-usb, la verdad es que no entiendo mucho tampoco del tema. http://www.kernel.org/diff/diffview.cgi?file=/pub/linux/kernel/v2.6/patc... esto es lo que se supone que es el parche para esta tarjeta que se supone que activa el mando a distancia, pero no me entero ni jota.

{ AF9015_REMOTE_AVERMEDIA_KS,
-                af9015_rc_keys_avermedia, ARRAY_SIZE(af9015_rc_keys_avermedia),
+                ir_codes_af9015_table_avermedia, ARRAY_SIZE(ir_codes_af9015_table_avermedia),
                 af9015_ir_table_avermedia_ks, ARRAY_SIZE(af9015_ir_table_avermedia_ks) },
         { }

supongo que será ese el del mando RM-KS....

Debido a que me ha sido imposible que el mando a distancia funcione incluso en el kernel 2.6.35 complilado, me rindo ante ello y cierro el hilo ya que desistalé dicho kernel por otros motivos y no tiene sentido dejar el hilo abierto sin la causa que lo abrió.