kanotix.com
Netzwerk - Kernel 2.6.20 - Änderungen (notwendige)
Ernesto - 20.02.2007, 17:19 Uhr
Titel: Kernel 2.6.20 - Änderungen (notwendige)
Es können bei diversen Treibern mit dem neuen Kernel 2.6.20 ein paar Fehlermeldungen auftreten, hier ein paar Hints für einen Workaround (ohne Gewähr):
Fehlermeldung:
Code:
error: 'struct net_device' has no member named 'get_wireless_stats'
Die betreffende Zeile - vorläufig - auskommentieren.
Fehlermeldung:
Code:
error: macro "INIT_WORK" passed 3 arguments, but takes just 2
In der betreffenden Zeile bitte von den drei Übergabeparametern den letzten entfernen (INIT_WORK wird in workqueue.h definiert)
Fehlermeldung:
Code:
error: linux/config.h: Datei oder Verzeichnis nicht gefunden
linux/config.h gibt es seit 2.6.19 nichtmehr, bitte durch linux/autoconf.h ersetzen.
HTH - Ernesto
P.S: Ich habe hier nur USB-Sticks getestet. Wie an anderer Stelle erwähnt, zydas und ralink funktionieren "Out-of-the-Box"; die beschreibenen Änderungen beziehen sich auf Realtek rtl8187 (bitte um Geduld) und - möglicherweise - madwifi-ng.
Zu WPA-Verbindungen habe ich noch keine Daten (das dauert noch ein bisserl - sorry ...)
P.P.S: If the keywords above seems to be interesting to solve your problem - please call us in the English Part, I/we try to translate all I've done and possibly we can help you.
Hirte - 05.03.2007, 00:01 Uhr
Titel:
Das allein reicht allerdings nicht, da man noch die durch INIT_WORK angegebenen Funktionen ändern muss. Hier wird nun nicht mehr direkt die ieee80211_device structure übergeben, sondern eine struct work_struct, bzw. eine struct delayed_work.
Code:
# if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
void ieee80211_associate_complete_wq(struct work_struct *work)
{
struct ieee80211_device *ieee = container_of(work, struct ieee80211_device, associate_complete_wq);
#else
void ieee80211_associate_complete_wq(struct ieee80211_device *ieee)
{
#endif
So könnte zum Beispiel der neue Kopf einer solchen Funktion aussehen. Etwas hässlich, aber der Code bleibt über mehrere Kernelversionen hin nutzbar.
Desweiteren müssen manche struct work_struct in struct delayed_work abgewandelt werden, damit die queue_delayed_work() Funktionsaufrufe weiterhin fehlerfrei funktionieren. Wen es genauer interessiert, der schaue sich bitte einen Patch an, welcher eben diese Änderungen vornimmt. (Findet man mit google recht fix).
Es kann auch der rtl8187 Patch betrachtet werden [0].
MfG,
Hirte
[0] http://trac.aircrack-ng.org/svn/trunk/patches/rtl8187_2.6.20v2.patch
Alle Zeiten sind GMT + 1 Stunde
PNphpBB2 © 2003-2007