Nachdem ich jetzt stolzer Besitzer eines Samsung-Laptops bin und 2.6.13-grml auch schon am Laufen ist, bin ich jetzt natürlich fest am Testen. Es klappt eigentlich alles tadellos, aaaber: die IPW-Treiber haben mich jetzt einiges an Nerv^WDebugging gekostet.
Ich hab ja schon geschrieben, dass sich ipw2200 bei mir komisch verhält, genauer: es braucht ein ‘rmmod ipw2200’ und anschliessendes Neuladen des Moduls, andernfalls gibt es ein “ipw-2.3-boot.fw load failed: Reason -2”. Im Sourcecode lässt sich herauslesen, dass das firmware_class-Modul beim Laden der Firmware versagt hat. Also habe ich das Timeout erstmal wie in $KERNEL/Documentation/firmware_class/README zu lesen ist via:
# echo 100 > /sys/class/firmware/timeout
erhöht. Ok, aber interessanterweise bekomme ich keine IP-Adresse via DHCP, huch? Ich hab einen Kernelbuild mit den ipw2200-Patches von Bernard Blackham probiert, aber auch dort das gleiche Problem. Ein Fallback auf Version 1.0.4 lieferte interessanterweise eine furchtbar hohe Load auf meinem System, ~70% CPU-Load durch ipw2200 und ein syslog voll mit:
Sep 2 17:38:02 grml kernel: ipw2200: Firmware error detected. Restarting.
Huch?! Ok, einmal mit:
# modprobe ipw2200 debug=0x43fff
probiert, aber so richtig erleuchtet hat mich auch das nicht. Nun hab ich gegoogelt sowie http://news.gmane.org/gmane.linux.drivers.ipw2100.devel durchstöbert.
Und für den ieee80211-Netzwerkstack hab ich einen Patch gefunden: ieee80211-1.0.3-skb_corrupt.patch (patch description: […] correct a problem encountered by some users when the ieee80211 subsystem overwrote the ethernet header in SKBs set for transmission). Allerdings hat der Patch alleine auch noch nicht das Problem behoben. :-/
Nachdem ich jetzt schon diverse ipw-Versionen und die verschiedensten Patches durchprobiert habe, Google und die einschlägigen Foren auch nicht mehr weiterhelfen, habe ich mich in #ipw2100 gemeldet und Peter Jones hat mir kompetent weitergeholfen: broadcast.patch. Ein ‘iwlist eth1 scanning’ ist zwar notwendig um aus “unassociated” ein “IEEE 802.11g” mit Verbindung zum Access-Point zu machen, aber dann läuft auch ein ‘dhclient eth1’ sauber durch.
Nun gibt es also ein ipw2200-modules-2.6.13-grml_1.0.6-2_i386.deb und ich werde jetzt versuchen, das sauber in grml zu integrieren. Sauber im Sinne von: works not only for me. ;-)
Ach ja (ich häng hier an einem AP namens D-Link DI-624):
* pjones points out that the APs that have this problem are doing something that's
technically allowed, but totally braindead.