IPW2200 auf squeeze bauen

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
sh0r
Beiträge: 45
Registriert: 02.07.2005 20:16:07

IPW2200 auf squeeze bauen

Beitrag von sh0r » 11.10.2009 01:03:33

Hi!

Ich versuche verzweifelt auf Squeeze den Treiber für meine IPW2200 zu bauen. Da scheint es aber irgendein Problem mit IEEE80211 zu geben, ich finde auch kein Source-Package dafür, benötige aber für das Bauen von IPW2200 die Datei ieee80211.h. Habe mir also die Sourcen zu ieee80211 besorgt und make mit der Option IEEE80211_INC=/pfad/zu/ieee80211 gestartet. Leider funktioniert das auch nicht, make spuckt folgendes aus:

http://nopaste.debianforum.de/28707

Irgendwie muss man sich doch das Ding bauen können?

Gruß,
sh0r

P.S. Ich weiß, dass es dafür schon ein fertiges Paket gibt ;)

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: IPW2200 auf squeeze bauen

Beitrag von rendegast » 11.10.2009 03:15:53

Im Normalfall (Quellpaket in debian vorbereitet) würde module-assistant verwendet.
Damit werden passende Quellen besorgt und ein passendes Modul zum Kernel gebaut.
(in diesem Fall aber nichts angeboten, weil der Treiber schon im Kernel ist,
intel.com: "Intel® PRO/Wireless 2200BG/2915ABG
Driver for Linux* 1.2.0 / Driver for Linux* 1.1.0
...
Development work continues on the driver through the open source project.")
----------------------------------------------

Code: Alles auswählen

# locate ieee80211.h
/usr/src/linux-headers-2.6.26-1-686/include/config/ieee80211.h
/usr/src/linux-headers-2.6.26-1-686/include/linux/ieee80211.h
/usr/src/linux-headers-2.6.26-1-686-bigmem/include/config/ieee80211.h
/usr/src/linux-headers-2.6.26-1-686-bigmem/include/linux/ieee80211.h
/usr/src/linux-headers-2.6.26-1-common/include/linux/ieee80211.h
/usr/src/linux-headers-2.6.26-1-common/include/net/ieee80211.h
/usr/src/linux-headers-2.6.26-1-common-xen/include/linux/ieee80211.h
/usr/src/linux-headers-2.6.26-1-common-xen/include/net/ieee80211.h
/usr/src/linux-headers-2.6.26-1-xen-686/include/config/ieee80211.h
/usr/src/linux-headers-2.6.26-1-xen-686/include/linux/ieee80211.h
/usr/src/linux-headers-2.6.26-2-686/include/config/ieee80211.h
/usr/src/linux-headers-2.6.26-2-686/include/linux/ieee80211.h
/usr/src/linux-headers-2.6.26-2-686-bigmem/include/config/ieee80211.h
/usr/src/linux-headers-2.6.26-2-686-bigmem/include/linux/ieee80211.h
/usr/src/linux-headers-2.6.26-2-amd64/include/config/ieee80211.h
/usr/src/linux-headers-2.6.26-2-amd64/include/linux/ieee80211.h
/usr/src/linux-headers-2.6.26-2-common/include/linux/ieee80211.h
/usr/src/linux-headers-2.6.26-2-common/include/net/ieee80211.h
/usr/src/linux-headers-2.6.26-2-common-xen/include/linux/ieee80211.h
/usr/src/linux-headers-2.6.26-2-common-xen/include/net/ieee80211.h
/usr/src/linux-headers-2.6.26-2-xen-686/include/config/ieee80211.h
/usr/src/linux-headers-2.6.26-2-xen-686/include/linux/ieee80211.h
/usr/src/linux-headers-2.6.30-1-common/include/linux/ieee80211.h
/usr/src/linux-headers-2.6.30-2-common/include/linux/ieee80211.h
Wenn die passenden linux-headers installiert sind, in Deinem Fall wohl
make[1]: Leaving directory `/usr/src/linux-headers-2.6.26-2-686'
sollte diese Datei auch verwendet werden können.
ipw2200-1.1.4
http://ipw2200.sourceforge.net/#downloads :
2007-Jul-12 ipw2200-1.2.2.tgz
2007-Jan-05 ipw2200-1.2.1.tgz
2006-Sep-13 ipw2200-1.2.0.tgz Stable
2006-Aug-21 ipw2200-1.1.4.tgz
...
Nach dem changelog sollte es wohl auch mindestens der 1.2.2 sein.
Beim Ausprobieren müssen erstmal Pfade (zum /include, zu ieee80211.h und zu ieee80211_radiotap.h) in diesen Quellen geändert werden.
Zudem ist ieee80211_radiotap.h nur beim 2.6.30, eine include/config/ipw2200/radiotap.h ist bei 2.6.30 + 2.6.26 leer.
(Das ieee80211_radiotap wurde wohl aus dem debian-2.6.26 herausgepatcht, denn zumindest im vanilla-2.6.26.6 ist es vorhanden)
Dann hagelt es trotzdem (auch mit dem 2.6.30) Fehlermeldungen, weil die headers nicht ausreichen? oder noch massiv weitere Anpassungen nötig sind?





---------------------------------------------------
Funktioniert der Treiber ipw2200 des debian-Kernels 2.6.26 nicht?
Selbst im 2.6.26-1-xxx ist die Version 1.2.2:

Code: Alles auswählen

/lib/modules/2.6.26-1-686/kernel/drivers/net/wireless# modinfo ./ipw2200.ko
filename:       ./ipw2200.ko
license:        GPL
author:         Copyright(c) 2003-2006 Intel Corporation
version:        1.2.2kmprq
description:    Intel(R) PRO/Wireless 2200/2915 Network Driver
srcversion:     5A09C3DEB43C3E766A1F3D1


:/lib/modules/2.6.30-2-686/kernel/drivers/net/wireless/ipw2x00# modinfo ./ipw2200.ko
filename:       ./ipw2200.ko
license:        GPL
author:         Copyright(c) 2003-2006 Intel Corporation
version:        1.2.2kmprq
description:    Intel(R) PRO/Wireless 2200/2915 Network Driver
srcversion:     DA17A2C210A3C057EF2D876
Wurde für den Treiber auch das FirmwarePaket firmware-ipw2x00 installiert?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

sh0r
Beiträge: 45
Registriert: 02.07.2005 20:16:07

Re: IPW2200 auf squeeze bauen

Beitrag von sh0r » 16.10.2009 23:56:00

Hallo rendegast,

danke für Deine ausführliche Antwort. Der Treiber im Kernel funktioniert schon - ich lebe nur meinen Spieltrieb aus (und hoffe dass dabei irgendeine Erkenntnis rausspringt ;) )
Ich habe mir inzwischen den ipw2200 1.2.2 besorgt - leider baut der auch nicht:

Code: Alles auswählen

ipw2200.c:11937: error: implicit declaration of function ‘SET_MODULE_OWNER’
Habe ich Dich richtig verstanden: Der Debian Kernel (bzw. dessen Header) haben Teile des ieee80211.h rausgepatcht und deswegen findet er diese Funktion nicht mehr? Seltsamerweise bringt das Herunterladen der ieee80211 Header und das Verweisen darauf mittels IEEE802_INC beim Aufruf von make die gleiche Fehlermeldung...

Gruß,
sh0r

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: IPW2200 auf squeeze bauen

Beitrag von KBDCALLS » 17.10.2009 00:24:06

rendegast hat geschrieben: (Das ieee80211_radiotap wurde wohl aus dem debian-2.6.26 herausgepatcht, denn zumindest im vanilla-2.6.26.6 ist es vorhanden)
Dann hagelt es trotzdem (auch mit dem 2.6.30) Fehlermeldungen, weil die headers nicht ausreichen? oder noch massiv weitere Anpassungen nötig sind?

Code: Alles auswählen

Das stimmt nicht . 

/net/wireless/                                                                                    
   radiotap.c                                                                                     
./include/net/                                                                                  
   ieee80211_radiotap.h                                                                 ./drivers/net/wireless/libertas/                                                       
   radiotap.h                                                                                     
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: IPW2200 auf squeeze bauen

Beitrag von rendegast » 17.10.2009 05:03:32

KBDCALLS hat geschrieben:Das stimmt nicht .
Ups, habe wohl in /usr/src/linux-headers-... 'find' ohne '-L' verwendet.
# find -L -name *radiotap*
./linux-headers-2.6.26-2-686/include/net/ieee80211_radiotap.h <<<<<
./linux-headers-2.6.26-2-686/include/config/ipw2200/radiotap.h
./linux-headers-2.6.26-2-common/include/net/ieee80211_radiotap.h
Da es dann beim Kompilieren trotzdem Fehlermeldungen hagelt,
mangelt es wohl an der Anpassung?

Habe mir jetzt linux-patch-debian-2.6.26 angesehen (die debian-Änderungen am vanilla-Kernel).
Das einzige Vorkommen von "radiotap" (groß/klein) ist im at76.patch,
"ipw" findet sich gar nicht.
Also hat debian den vanilla-Kernel bezüglich der ipw-Treiber nicht angetastet.

Bitte mache jemand anderes den Vergleich ipw-intel <-> ipw-vanilla-linux.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

sh0r
Beiträge: 45
Registriert: 02.07.2005 20:16:07

Re: IPW2200 auf squeeze bauen

Beitrag von sh0r » 17.10.2009 13:57:13

Hi!

Ich habe mein Problem gelöst! Man nehme einfach folgenden Patch: http://go2.wordpress.com/?id=725X1342&s ... Fid%3D1378

Der definiert dann ein Makro SET_MODULE_OWNER. Irgendwie ist das trotzdem unbefriedigend, weil ich nicht verstehe, wie man da hätte drauf kommen können bzw. nicht weiß, wo genau jetzt das Problem lag. Klar, dass das Makro fehlt ist seit dem Kompilier-Fehler relativ einsichtig - nur warum? Ich geh davon aus, dass die Leute die den ipw2200 Treiber bauen ja wohl nur kompilierfähige Versionen online stellen und keine, in welchem sie irgendwelche Makros "vergessen" haben.

Stellt sich also die Frage: Hätte dieses Makro in irgendeinem include definiert sein sollen und warum hat es Debian rausgepatcht?

Gruß,
sh0r

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: IPW2200 auf squeeze bauen

Beitrag von KBDCALLS » 17.10.2009 14:14:34

sh0r hat geschrieben:Hi!

Ich habe mein Problem gelöst! Man nehme einfach folgenden Patch: http://go2.wordpress.com/?id=725X1342&s ... Fid%3D1378
Und wo findet man die dazugehörige Beschreibung ?
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: IPW2200 auf squeeze bauen

Beitrag von rendegast » 17.10.2009 17:08:05

Jetzt wissen wir also, wie kernel.org den ipw2200 modifiziert hat,
und Du kannst das Modul extern bauen.
Aber wozu, wenn es schon im kernel integriert ist?


-------- add-on ---------
Im Readme der Version 1.2.2 wird auch auf den letzten offiziellen intel-Treiber verwiesen.
http://support.intel.com/support/notebo ... 006408.htm
-> http://www.intel.com/support/notebook/sb/CS-006408.htm
Dieses Paket beinhaltet die Version 1.2.0, aber zusätzlich auch die firmware 3.0:
ipw2200-bss.fw
ipw2200-ibss.fw
ipw2200-sniffer.fw
entspricht firmware-ipw2x00-0.14+lenny2.

Diese drei enthalten ipw2200*.fw 3.1:
firmware-ipw2x00_0.17~bpo50+1_all (backports)
firmware-ipw2x00_0.18_all (testing/sid)
firmware-ipw2x00_0.19_all (experimental)

In allen diesen debian-Paketen sind identische ipw2100*.fw 1.3 enthalten.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: IPW2200 auf squeeze bauen

Beitrag von Danielx » 17.10.2009 18:32:39

sh0r hat geschrieben:Ich geh davon aus, dass die Leute die den ipw2200 Treiber bauen ja wohl nur kompilierfähige Versionen online stellen und keine, in welchem sie irgendwelche Makros "vergessen" haben.
Die auf der genannten Seite zu findende Version 1.2.2 ist vom 12.7.2007 und wird deshalb wahrscheinlich ohne Änderungen nicht mehr mit aktuelleren Kerneln funktionieren.
Der IPW2200-Treiber wurde in den Kernel aufgenommen und wird nur noch dort gepflegt.
sh0r hat geschrieben:Hätte dieses Makro in irgendeinem include definiert sein sollen und warum hat es Debian rausgepatcht?
Debian hat nichts "rausgepatcht".

Gruß,
Daniel

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: IPW2200 auf squeeze bauen

Beitrag von KBDCALLS » 17.10.2009 18:58:55

Danielx hat geschrieben:
Der IPW2200-Treiber wurde in den Kernel aufgenommen und wird nur noch dort gepflegt.

Debian hat nichts "rausgepatcht".

Gruß,
Daniel

Im Treiber steht immer noch 1.2.2 als Version. Das bei Kernel 2.6.30.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: IPW2200 auf squeeze bauen

Beitrag von Danielx » 17.10.2009 19:33:51

KBDCALLS hat geschrieben:Im Treiber steht immer noch 1.2.2 als Version. Das bei Kernel 2.6.30.
Bei mir steht beim Kernel 2.6.30:
1.2.2kmprq

Das ist die durch "kernel.org" angepasste Version.

Gruß,
Daniel

Antworten