Wer von Euch noch den DCF77-Empfänger der Firma Gude (Handelsname "Expert Mouseclock") im Einsatz hat, könnte an den neuen Kernelversionen 3.0.x verzweifeln. Dabei ist hier die Rede von der ersten USB-Version mit dem Vermarktungsnamen ("Expert mouseCLOCK USB"). Für die Version 2 dieses Empfängers gibt es einen anderen Thread hier im Forum: http://forum.ubuntuusers.de/topic/dcf-77-gude-mouseclock-ii-funktuhr-einbinden/
Mich erwischte es jetzt seit einem Release-Upgrade von 10.04 zu 12.04 einer eeeBox, die mir treu als kleiner Server dient. Das Problem: Die Firma Gude hat den Support für die erste USB-Version ihres DCF77-Empfängers mittlerweile komplett eingestellt: http://www.gudeads.com/wiki/index.php?title=Gudedcf.ko.
Verzweifeln? Oder nun doch nicht... 😉 Hier am Beispiel das Patchen der Treiberversion 2.14, die ursprünglich nur für den 2.6.x-Kernelzweig gedacht ist, und bis heute auf der Gude-Webseite heruntergeladen werden kann (Link siehe oben). Der Code sollte anschließend unter 3.0.x-Kerneln als Modul kompilierbar und lauffähig sein.
Es sind wenige Änderungen an der Quelle gude_dcf.c erforderlich. Gepatcht werden sollte die Datei, die direkt im Einstiegsverzeichnis des Tarballs liegt (nicht die unter build/..., da sie bei jedem make-Lauf von ersterer überschrieben wird).
Zeile 25 ("#include <linux/autoconf.h>") muss in folgendes geändert werden:
#include <generated/autoconf.h>
Zeile 39 muss auskommentiert werden:
//#include <linux/smp_lock.h>
Zeile 358 ("init_MUTEX(&(dcf->lock));") ist durch folgendes zu ersetzen:
sema_init(&(dcf->lock),1);
Diese Änderungen sollten reichen. Es wird damit die zur Verfügung gestellte Semaphore mit den neuen SMP-Lockmechanismen des Kernels genutzt. Wie man sieht, hat sich nur der Initialisierungaufruf geändert. Viel Spaß am Gerät! ☺