01.05.2025, 19:12 UhrDeutsch | English
Hallo Gast [ Registrierung | Anmelden ]

Neues Thema eröffnen   Neue Antwort erstellen
Vorheriges Thema anzeigen Druckerfreundliche Version Einloggen, um private Nachrichten zu lesen Nächstes Thema anzeigen
Autor Nachricht
Ernesto
Titel: Kernel 2.6.20 - Änderungen (notwendige)  BeitragVerfasst am: 20.02.2007, 17:19 Uhr



Anmeldung: 24. Jan 2007
Beiträge: 48
Wohnort: Wien/Vienna
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.
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
Hirte
Titel:   BeitragVerfasst am: 05.03.2007, 00:01 Uhr



Anmeldung: 04. Mar 2007
Beiträge: 2

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
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
Beiträge vom vorherigen Thema anzeigen:     
Gehe zu:  
Alle Zeiten sind GMT + 1 Stunde
Neues Thema eröffnen   Neue Antwort erstellen
Vorheriges Thema anzeigen Druckerfreundliche Version Einloggen, um private Nachrichten zu lesen Nächstes Thema anzeigen
PNphpBB2 © 2003-2007 
 
Deutsch | English
Logos and trademarks are the property of their respective owners, comments are property of their posters, the rest is © 2004 - 2006 by Jörg Schirottke (Kano).
Consult Impressum and Legal Terms for details. Kanotix is Free Software released under the GNU/GPL license.
This CMS is powered by PostNuke, all themes used at this site are released under the GNU/GPL license. designed and hosted by w3you. Our web server is running on Kanotix64-2006.