[Fli4l_dev] rev24502 WLAN: ath9k falsche Regdomain

Harvey harvey at work.de
Do Dez 27 13:48:54 CET 2012


Gotthard,

ich fasse Deine drei threads wieder zusammen, sonst kommen wir in den 
Wald ;)

 > ath: EEPROM regdomain: 0x809c
 > ath: EEPROM indicates we should expect a country code
 > ath: doing EEPROM country->regdmn map search
 > ath: country maps to regdmn code: 0x52
 > ath: Country alpha2 being used: CN
 > ath: Regpair used: 0x52
 > ieee80211 phy0: Selected rate control algorithm 'ath9k_rate_control'
 > Registered led device: ath9k-phy0
 > ieee80211 phy0: Atheros AR5416 MAC/BB Rev:2 AR2133 RF Rev:81
 > mem=0xd09a0000, irq=19
 > cfg80211: Calling CRDA for country: CN
 > cfg80211: Current regulatory domain intersected:
 > cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain,
 > max_eirp)
 > cfg80211:   (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm)

Das ist genauso, wie es sein sollte. Der EEPROM wird ausgelesen und crda 
stellt die regdomain entsprechend ein. Später sollte fli4l das dann 
durch den Eintrag WLAN_REGDOMAIN='DE' in wlan.txt auf die von Dir 
gewählte regdomain Deutschland umstellen. Aus irgendeinem Grund 
funktioniert das dann nicht.

iw reg get liefert nach dem routerstart country 00 zurück. Daraus 
schließe ich, dass zwar etwas passiert ist (sonst würde hier 'CN' 
stehen) aber nicht 'DE' gesetzt werden konnte.

Da ein späteres iw reg set DE zum Erfolg führt, nehme ich an, das der 
Aufruf in der Startsequenz des routers zum falschen Zeitpunkt oder mit 
falschen Parametern erfolgt.

Die Scripte rc110.wlan und rc130.wlan prüfen erst, ob die Variable 
$WLAN_REGDOMAIN leer (zero length) ist. Ich wette, sie ist es nicht, 
wurde aber nicht richtig belegt. Da liegt der Hund begraben.

Das mit dem AT in rc130.wlan ist ein vergessenes Überbleibsel, da sollte 
auch DE stehen. Hat Robert wahrscheinlich nur übersehen.

Zum debuggen würde ich Dich bitten, beide Schleifen in rc110.wlan und 
rc130.wlan wie folgt zu ändern:

...
then
     log_info "rc1x0 - WLAN_REGDOMAIN ist: $WLAN_REGDOMAIN"
     if [ -n "$WLAN_REGDOMAIN" ]
     then
         iw reg set $WLAN_REGDOMAIN
     else
         iw reg set DE
     fi
fi

Das eingefügte x bei rc1x0 bitte durch den Namen des jeweiligen scripts 
ersetzen. Bei nächsten Boot müsste im Bootlog diese Zeile erscheinen, 
gefolgt von der Belegung der Variablen $WLAN_REGDOMAIN.

Bin gespannt, was da rauskommt.

Harvey












Mehr Informationen über die Mailingliste Fli4l_dev