Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
irexec wird zum Zombie
Gehen Sie zu Seite 1, 2  Weiter
 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Hardware
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
inixlinux
Gast





BeitragVerfasst am: 03. März 2010 17:40   Titel: irexec wird zum Zombie

Hallo,

ich habe mir auf meinem OpenSuse 11.2 System einen Medion X10 Infrarotempfänger eingerichtet.

Dies funktioniert auch soweit, wenn ich irw aufrufe.
Will ich aber andere Programme mithilfe von irexec steuern funktioniert dies anfangs, nach einer kurzen Zeit jedoch wird mir im Systemmonitor der zum irexec zugehörige lircd Prozess als Zombie angezeigt und es ist keine Eingabe mit der Infrarotfernbedinung mehr möglich.

Aufgrund eines Bugs im Kernel 2.6.31.12 verwende ich das Modul atilibusb.

Bei der Verwendung von OpenSuse 11.1 funktioniert alles problemlos.

Jemand eine Idee?

Danke & Gruß

inixlinux
 

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 03. März 2010 18:35   Titel:

Der lircd ist deshalb ein Zombie, weil der ihn aufrufende Prozess zwar noch läuft, aber noch nicht wait() oder waitpid() aufgerufen hat, um den Exitstatus abzufragen. Denn der lircd-Prozess wurde beendet.

Vermutlich sind das zwei unabhängige Fehler. Beende den Prozess, der den Zombie-lircd aufrief (kriegst du mit "pstree" raus). Danach startest du den lircd mit der Option -n von Hand. Dann geht er nämlich nicht in den Daemon-Mous und du bekommst die Fehler auf das Terminal, in dem du ihn gestartet hast.

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

inixlinux
Gast





BeitragVerfasst am: 03. März 2010 23:16   Titel:

Rufe ich lircd -n auf erhalte ich beim starten von irexec diese Ausgabe auf der Konsole:

lircd-0.8.5[5223]: lircd(default) ready
lircd-0.8.5[5223]: accepted new client on /var/run/lirc/lircd
lircd-0.8.5[5223]: could not get file information for /dev/lirc
lircd-0.8.5[5223]: default_init(): No such file or directory
lircd-0.8.5[5223]: Failed to initialize hardware
lircd-0.8.5[5223]: removed client

Jedoch scheint es so als würde beim Aufruf lircd -n etwas anderes passieren wie wenn ich nur lircd aufrufe, da beim Aufruf von lircd kurzzeitig die Eingabe funktioniert, beim Aufruf von lircd -n funktioniert jedoch gar nichts.
 

inixlinux
Gast





BeitragVerfasst am: 10. März 2010 16:14   Titel:

hat niemand eine Idee bzw. weis jemand wann für OpenSuse 11.2 ein Kernel-update mit dem aktuellen Kernel herauskommt, da es wohl so scheint als ob der Bug mit lirc im aktuellen Kernel behoben ist.
 

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 11. März 2010 9:25   Titel:

Du kannst dir doch einfach einen aktuellen Kernel mit deiner jetzigen Konfiguration kompilieren.

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

inixlinux
Gast





BeitragVerfasst am: 11. März 2010 19:00   Titel:

kann es dabei nicht passieren, dass irgendwelche besonderheiten von OpenSuse nicht mehr funktionieren?
 

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 11. März 2010 22:52   Titel:

inixlinux hat folgendes geschrieben::
kann es dabei nicht passieren, dass irgendwelche besonderheiten von OpenSuse nicht mehr funktionieren?

Unwahrscheinlich. Ich nutze jedenfalls schon ewig Vanilla-Kernels und habe so was noch nicht erlebt. Wichtig ist nur, dass du die Kernel-Konfiguration deines jetzt gerade laufenden Kernels als Basis benutzt. Also vor dem Kompilieren einmal im Kernelquellverzeichnis:
Code:

$ zcat /proc/config.gz >.config
$ make menuconfig
...

Und nach dem Installieren des Kernels nicht vergessen, die Module auch zu installieren und dann mit "mkinitrd" auch die initrds neu zu bauen. Vergisst du das, kannst du nicht booten.

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

inixlinux
Gast





BeitragVerfasst am: 13. März 2010 11:31   Titel:

habe nun den kernel 2.6.33 installiert, und libusb 0.8.6 selbst kompiliert, jedoch werden beim kompilieren die kernel-sources des alten Kernels 2.6.31.12-0.1 verwendet.

Die Ausgabe von modinfo lirc_dev

Code:
filename:       /lib/modules/2.6.33-0.1-pae/misc/lirc_dev.ko
alias:          char-major-61-*
license:        GPL
author:         Artur Lipowski
description:    LIRC base driver module
srcversion:     9AE4030D4032A953CF485F9
depends:
vermagic:       2.6.31.12-0.1-pae SMP mod_unload modversions 686
parm:           debug:Enable debugging messages (bool)


Was muss ich ändern, damit die von Kernel 2.6.33 verwendet werden?

Danke
 

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 13. März 2010 12:06   Titel:

Vermutlich musst du das Verzeichnis der libusb-Quellen von ./configure-Resten befreien und dann ./configure neu durchlaufen lassen. Das einfachste ist es dazu die libusb-Quellen einfach nochmal neu zu entpacken. Evtl. zeigt auch einfach nur der Link /usr/src/linux noch auf den alten Kernel.

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

inixlinux
Gast





BeitragVerfasst am: 13. März 2010 13:20   Titel:

habe libusb neu entpackt und kompiliert, jedoch verstehe ich nicht was dies mit libusb zu tun hat.

/usr/src/linux zeigt auch auf den Kernel

An was könnte es sonst noch liegen?

Danke
 

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 13. März 2010 14:06   Titel:

Ich habe es so verstanden, dass libusb bei dir die include-Dateien des alten Kernels benutzt und es deshalb nicht funzt. Jetzt habe ich den Code-Ausschnitt oben nochmal genauer gelesen:

Du benutzt offensichtlich die Module von Kernel 2.6.31. Hast du "make modules_install" gemacht? Das sieht mir eher so aus, als hättest du das alte Modulverzeichnis einfach kopiert oder verlinkt.

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

inixlinux
Gast





BeitragVerfasst am: 13. März 2010 15:22   Titel:

habe den Kernel nochmal neu kompiliert mit make & make modules_install

Versuche ich nun lirc-0.8.6 zu kompilieren erhalte ich folgende Fehlermeldung:

Code:
make[5]: *** [/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/lirc_dev.o] Fehler 1
make[4]: *** [_module_/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev] Fehler 2
make[4]: Leaving directory `/usr/src/linux-2.6.33'
make[3]: *** [lirc_dev.o] Fehler 2
make[3]: Leaving directory `/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/media/Daten/temp/lirc-0.8.6/drivers'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/media/Daten/temp/lirc-0.8.6'
make: *** [all] Fehler 2
 

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 13. März 2010 21:54   Titel:

"Fehler 1" und "Fehler 2" ist nicht gerade aussagekräftig. Mehr Kontext bitte, z.B. die Meldungen des Compilers...

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

inixlinux
Gast





BeitragVerfasst am: 17. März 2010 16:44   Titel:

sry, dass ich mich erst so spät wieder melde hab aber die letzten Tage selbst versucht das Problem hinzubekommen, da meiner Ansicht nach make die Header-Dateien nicht findet.

Die Datei autogen.h, die make nicht findet ist allerdings genau an dieser Stelle vorhanden.
Muss ich noch irgendwelche Änderungen machen, wenn ich den Vanilla Kernel in OpenSuse zum laufen brignen will?

Das Verzeichnis /usr/sr/linux zeigt auf das Source Verzeichniss des Vanilla Kernels.

hier mal die Ausgabe von make:

Code:
make  all-recursive                                                       
make[1]: Entering directory `/media/Daten/temp/lirc-0.8.6'                 
Making all in drivers                                                     
make[2]: Entering directory `/media/Daten/temp/lirc-0.8.6/drivers'         
Making all in lirc_dev                                                     
make[3]: Entering directory `/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev'
Makefile:8: **************************************************             
Makefile:8: *** Makefile trick not undone, trying to recover *             
Makefile:8: **************************************************             
mv Makefile.automake Makefile                                             
make all                                                                   
make[4]: Entering directory `/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev'
cp ./../lirc_dev/Module*.symvers .                                         
cp: Aufruf von stat für „./../lirc_dev/Module*.symvers“ nicht möglich: Datei oder Verzeichnis nicht gefunden                                         
make[4]: [lirc_dev.o] Fehler 1 (ignoriert)                                 
mv Makefile Makefile.automake                                             
cp ./../Makefile.kernel Makefile                                           
CPPFLAGS="" CFLAGS="" LDFLAGS="" \                                         
        make -C /lib/modules/2.6.33-0.1-pae/build/ SUBDIRS=/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev modules \                                   
                KBUILD_VERBOSE=1                                           
make[5]: Entering directory `/usr/src/packages/BUILD/kernel-2.6.330.1pae' 
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (  \
        echo;                                                           \ 
        echo "  ERROR: Kernel configuration is invalid.";               \ 
        echo "         include/generated/autoconf.h or include/config/auto.conf are missing.";\                                                       
        echo "         Run 'make oldconfig && make prepare' on kernel src to fix it.";     \                                                         
        echo;                                                           \ 
        /bin/false)                                                       
mkdir -p /media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/.tmp_versions ; rm -f /media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/.tmp_versions/*           
make -f scripts/Makefile.build obj=/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev                                                                     
  gcc -Wp,-MD,/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/.lirc_dev.o.d  -nostdinc -isystem /usr/lib/gcc/i586-suse-linux/4.4/include -I/usr/src/packages/BUILD/kernel-2.6.330.1pae/arch/x86/include -Iinclude  -include include/generated/autoconf.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -Wa,-mtune=generic32 -ffreestanding -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=2048 -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fno-dwarf2-cfi-asm -fconserve-stack -DIRCTL_DEV_MAJOR=61 -DEXPORT_SYMTAB -DHAVE_CONFIG_H -I. -I. -I../.. -I/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/. -I/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/ -I/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/../.. -I/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/../.. -I/lib/modules/2.6.33-0.1-pae/build//include/ -I/lib/modules/2.6.33-0.1-pae/build//drivers/media/video/  -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(lirc_dev)"  -D"KBUILD_MODNAME=KBUILD_STR(lirc_dev)" -D"DEBUG_HASH=33" -D"DEBUG_HASH2=11" -c -o /media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/.tmp_lirc_dev.o /media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/lirc_dev.c                                                                     
/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/lirc_dev.c:35:28: error: linux/autoconf.h: Datei oder Verzeichnis nicht gefunden                       
In file included from /media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/lirc_dev.c:72:                                                                   
/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/lirc_dev.h: In function ‘lirc_buffer_init’:                                                             
/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/lirc_dev.h:88: warning: passing argument 1 of ‘kfifo_alloc’ makes pointer from integer without a cast   
include/linux/kfifo.h:109: note: expected ‘struct kfifo *’ but argument is of type ‘unsigned int’                                                     
/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/lirc_dev.h:88: warning: passing argument 3 of ‘kfifo_alloc’ makes integer from pointer without a cast   
include/linux/kfifo.h:109: note: expected ‘gfp_t’ but argument is of type ‘struct spinlock_t *’                                                       
/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/lirc_dev.h:88: warning: assignment makes pointer from integer without a cast                           
/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/lirc_dev.h: In function ‘lirc_buffer_read’:                                                             
/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/lirc_dev.h:185: error: implicit declaration of function ‘kfifo_get’                                     
/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/lirc_dev.h: In function ‘lirc_buffer_write’:
/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/lirc_dev.h:206: error: implicit declaration of function ‘kfifo_put’
make[6]: *** [/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev/lirc_dev.o] Fehler 1
make[5]: *** [_module_/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev] Fehler 2
make[5]: Leaving directory `/usr/src/packages/BUILD/kernel-2.6.330.1pae'
make[4]: *** [lirc_dev.o] Fehler 2
make[4]: Leaving directory `/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev'
make[3]: *** [all] Fehler 2
make[3]: Leaving directory `/media/Daten/temp/lirc-0.8.6/drivers/lirc_dev'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/media/Daten/temp/lirc-0.8.6/drivers'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/media/Daten/temp/lirc-0.8.6'
make: *** [all] Fehler 2


Danke
 

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 17. März 2010 19:30   Titel:

Das ist Kernel 2.6.33. Gerade da wurde das Build-System geändert. Du musst in den externen Treiberquellen alle Referenzen auf <linux/autoconf.h> in <generated/autoconf.h> umschreiben. Das gleiche mit utsrelease.h.

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Hardware Alle Zeiten sind GMT + 1 Stunde
Gehen Sie zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy