WN111v2 unter Linux: des Alptraums zweiter Teil...

17/07/2010 - 00:46 von Michael Schumacher | Report spam
Hallo allerseits,

nachdem der ar9170_usb-Treiber, der z.B. mit openSUSE 11.3
ausgeliefert wird, mittlerweile potentiell dazu in der Lage
ist, zu "funk"tionieren, scheitert der konkrete Einsatz bei
mir an der @"§$% "regdomain": mein WLAN funkt auf Kanal 13,
aber weil das EEPROM des USB-Sticks als Lànderkennung eine
Doppel-Null eingetragen hat, glaubt der Treiber, ich wàre in
den Staaten ("US") -- und da sind die Kanàle 12 und 13 tabu.

Die "üblichen" Tricks ("iw reg set DE", modprobe.d-Konfdatei
mit "options cfg80211 ieee802_regdom="DE", usw.) laufen hier
ins Leere, weil der o.g. Treiber das EEPROM des Sticks über
externe Vorgaben priorisiert. Die Entwickler des Treibers
wissen das, finden das wowereit, und verlangen vom Hersteller
des WLAN-Geràtes, daß er eine eigene, zertifizierte CRDA-Datei
anbietet -- was ungefàhr so wahrscheinlich ist wie, sagen wir
mal, Real Madrid als DFB-Pokalsieger der Saison 2010/2011.

Tatsàchlich bringt eine "liberale" /usr/lib/crda/regulatory.bin
gerade mal gar nix, weil der Treiber zunàchst von einer ohnehin
eingeschrànkten Domàne ausgeht, und die EEPROM-Info nur benutzt,
um sie ggf. noch weiter einzuschrànken ("intersection"). Und
nochmal: die Entwickler wissen das durchaus, aber es ist ihnen
offenbar lieber, Nutzer ihrer legalen Möglichkeiten zu berauben,
als es ihnen zu ermöglichen, illegale Möglichkeiten zu nutzen.

Okay -- nur frage ich mich erstens, welche Vorzüge es denn hat,
ein "freies" Betriebssystem zu nutzen, mit dem man seine Hardware
nicht im legalen Rahmen nutzen kann, und zweitens wüßte ich auch
nicht, was daran "geil" sein sollte, z.B. auf Kanal 15 zu funken,
wenn es keinen (zumindest in Schland) legalen WLAN-Router gibt, der
dieses Band auch tatsàchlich bedienen kann. Mit 35dBm zu senden,
obwohl nur 20dBm erlaubt sind, dürfte ebenfalls nur für eine sehr
beschrànkte Zeitspanne Spaß machen...

So weit, so schlecht. Was tun? Dank meiner "Exklusivrechte" auf
Kanal 13 kommt ein AP-Frequenzwechsel nicht in Frage. Den Treiber
zu massieren und ihm nach dem EEPROM-Lesen beizubringen, daß dessen
Lànder-Code statt "00" ja in Wirklichkeit (ahem...) 276 lautet, ist
an und für sich kein BFD. Nur wird der openSUSE-Updater garantiert
irgendwann mal eine Aktualisierung einspielen und mir potentiell
das System zerschießen, weil beim Update bzw. Installieren eines
neuen ar9170_usb- Treibers die Internet-Verbindung abreißt und der
Rest nicht mehr korrekt nachgeladen bzw. installiert wird -- meine
diesbezüglichen Erfahrungen mit einem Nicht-Standard-Treiber für
einen RT73-basierten USB-WLAN-Stick reichen mir für alle Zeiten...

Sollte also jemand Ideen haben, wie man dieses Problem möglichst
nicht-invasiv (also ohne Änderung des Treibers und/oder sonstiger
wichtiger Update-gefàhrdeter Komponenten) lösen kann, beschreibt
sie doch bitte hier (d.c.o.u.l.m, XP d.c.h.n.w) -- Danke! :-)


mike

PS: "Teil 1": <news:3044284.XYDg4QAfEG@misc.albasani.net>. Da war
aber der Treiber noch in den Kinderschuhen, und der von Atheros
selbst herausgegebene Linux-Treiber ("otus") nicht mit dem
verwendeten Kernel kompatibel. Das ist ein ganz wesentlicher
Schiedunter: damals /konnte/ er nicht, jetzt aber /darf/ er nicht
(weil seine Autoren es explizit nicht /wollen/ -- unter Linux!).
 

Lesen sie die antworten

#1 Markus Wichmann
17/07/2010 - 22:19 | Warnen spam
Michael Schumacher schrieb:

Hallo allerseits,

nachdem der ar9170_usb-Treiber, der z.B. mit openSUSE 11.3
ausgeliefert wird, mittlerweile potentiell dazu in der Lage
ist, zu "funk"tionieren, scheitert der konkrete Einsatz bei
mir an der @"§$% "regdomain": mein WLAN funkt auf Kanal 13,
aber weil das EEPROM des USB-Sticks als Lànderkennung eine
Doppel-Null eingetragen hat, glaubt der Treiber, ich wàre in
den Staaten ("US") -- und da sind die Kanàle 12 und 13 tabu.

Die "üblichen" Tricks ("iw reg set DE", modprobe.d-Konfdatei
mit "options cfg80211 ieee802_regdom="DE", usw.) laufen hier
ins Leere, weil der o.g. Treiber das EEPROM des Sticks über
externe Vorgaben priorisiert. Die Entwickler des Treibers
wissen das, finden das wowereit, und verlangen vom Hersteller
des WLAN-Geràtes, daß er eine eigene, zertifizierte CRDA-Datei
anbietet -- was ungefàhr so wahrscheinlich ist wie, sagen wir
mal, Real Madrid als DFB-Pokalsieger der Saison 2010/2011.




Scheinen Idioten zu sein. Fehlerhafte Hardware (z.B. in Deutschland
verkaufte WLAN-Sticks mit ins EEPROM eingebrannter Lànderkennung 00),
deren Fehler vom Windows-Treiber ignoriert werden, ist doch eher
Standard. Gerade Linux-Treiber-Entwickler sollten das wissen.

Tatsàchlich bringt eine "liberale" /usr/lib/crda/regulatory.bin
gerade mal gar nix, weil der Treiber zunàchst von einer ohnehin
eingeschrànkten Domàne ausgeht, und die EEPROM-Info nur benutzt,
um sie ggf. noch weiter einzuschrànken ("intersection"). Und
nochmal: die Entwickler wissen das durchaus, aber es ist ihnen
offenbar lieber, Nutzer ihrer legalen Möglichkeiten zu berauben,
als es ihnen zu ermöglichen, illegale Möglichkeiten zu nutzen.




Denen scheint es lieber zu sein, nicht zu arbeiten. Oder zu denken. Es
liegt doch nicht in ihrem Ermessen, ob ein Kanal benutzt werden darf
oder nicht.

Okay -- nur frage ich mich erstens, welche Vorzüge es denn hat,
ein "freies" Betriebssystem zu nutzen, mit dem man seine Hardware
nicht im legalen Rahmen nutzen kann, und zweitens wüßte ich auch
nicht, was daran "geil" sein sollte, z.B. auf Kanal 15 zu funken,
wenn es keinen (zumindest in Schland) legalen WLAN-Router gibt, der
dieses Band auch tatsàchlich bedienen kann. Mit 35dBm zu senden,
obwohl nur 20dBm erlaubt sind, dürfte ebenfalls nur für eine sehr
beschrànkte Zeitspanne Spaß machen...




Bis die Grünen/Blauen vor der Tür stehen?

So weit, so schlecht. Was tun? Dank meiner "Exklusivrechte" auf
Kanal 13 kommt ein AP-Frequenzwechsel nicht in Frage. Den Treiber
zu massieren und ihm nach dem EEPROM-Lesen beizubringen, daß dessen
Lànder-Code statt "00" ja in Wirklichkeit (ahem...) 276 lautet, ist
an und für sich kein BFD. Nur wird der openSUSE-Updater garantiert
irgendwann mal eine Aktualisierung einspielen und mir potentiell
das System zerschießen, weil beim Update bzw. Installieren eines
neuen ar9170_usb- Treibers die Internet-Verbindung abreißt und der
Rest nicht mehr korrekt nachgeladen bzw. installiert wird -- meine
diesbezüglichen Erfahrungen mit einem Nicht-Standard-Treiber für
einen RT73-basierten USB-WLAN-Stick reichen mir für alle Zeiten...

Sollte also jemand Ideen haben, wie man dieses Problem möglichst
nicht-invasiv (also ohne Änderung des Treibers und/oder sonstiger
wichtiger Update-gefàhrdeter Komponenten) lösen kann, beschreibt
sie doch bitte hier (d.c.o.u.l.m, XP d.c.h.n.w) -- Danke! :-)




Möglichkeiten:
- EEPROM neu beschreiben. Du musst ja nur eine 0 irgendwo ersetzen
(ich hoffe, du weißt, wo).
- Treibercode nach "Lücke" durchsuchen: Kann man ihn dazu bringen,
Kanal 13 zu benutzen, wenn regdomain auf US steht? Holt der sich die
Vorgaben für die regdomain von extern ab? Wenn ja, kannst du daran
drehen?
- Eigenen Kernel benutzen. Dann darf der openSuSE-Updater den Kernel
nicht überschreiben (evtl. muss man ihm das gewaltsam beibringen,
indem man das Kernel-Paket löscht. Zu dem Zeitpunkt sollte der
eigene Kernel schon gebootet sein). Hat den Vorteil, dass man gleich
alles Notwendige fest einlinken kann, was die Startup-Zeit verkürzen
sollte.

mike




HTH,
Markus

Ähnliche fragen