Libchipcard: Problem mit neuen Kerneln gefixed
Martin Preuss <[email protected]> Fri, 7 Sep 2007 18:27:56 +0200
| Newsgroups | gmane.comp.finance.aqbanking.devel,gmane.comp.lib.libchipcard.devel |
|---|---|
| Message-ID | <[email protected]> |
Moin, wer die Autoconfiguration von Libchipcard verwendet, wird mit neueren Kerneln (ab ca 2.6.20) eventuell feststellen, dass die Leser staendig blinken... Das liegt an einem neuen Feature des Linux-Kernels: Autosuspend fuer USB. Konkret bedeutet das, dass der Kernel standardmaessig USB-Geraete in den Sleep-Modus versetzt, wenn sie 2 Sekunden lang nicht verwendet werden. Sobald ein Prozess auf den Leser zugreift, wird dieser wieder aktiviert. Normalerweise testet Libchipcard alle 1-2 Sekunden, ob es neue Geraete gibt. Dazu verwendete es bisher Libusb. Das Problem ist nun, dass Libusb scheinbar immer die Dateien in /proc/bus/usb oeffnet, um die USB-Deskriptoren zu lesen. Das veranlasst den Kernel aber wiederum, das Geraet zu reaktivieren. Die Loesung ist nun, die Geraete statt mit libusb mit SysFS zu scannen (/sys/bus/usb/devices). Wir verwenden SysFS ja auch schon, um PCMCIA-Geraete zu scannen. Die aktuelle Entwicklungsversion von Libchipcard macht nun genau das. Ein weiterer Vorteil ist, dass Libchipcard ab dann nicht laenger von Libusb abhaengt. Das ist schon einmal eine Abhaengigkeit weniger :-) Eventuell wird diese Aenderung auch noch in die letzte stabile Version von Libchipcard eingebaut. Gruss Martin Preuss -- "Things are only impossible until they're not" Martin Preuss - http://www.aquamaniac.de/ AqBanking - http://www.aqbanking.de/ LibChipcard - http://www.libchipcard.de/ ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/