Portál AbcLinuxu, 8. května 2025 02:40

Dotaz: ath5k driver ignoruje regdomain

Ondroid avatar 15.9.2010 22:41 Ondroid | skóre: 32 | blog: Hombre
ath5k driver ignoruje regdomain
Přečteno: 479×
Odpovědět | Admin
Chci použít driver ath5k z jádra 2.6.35 pro kartu Atheros Communications, Inc. AR5212 802.11abg. Problém je v tom že karta ignoruje regdomain a tak mi nefunguje kanál který potřebuju. V demsg je :

[ 1202.566566] pcmcia_socket pcmcia_socket0: pccard: card ejected from slot 0
[ 1202.860378] ath5k 0000:02:00.0: PCI INT A disabled
[ 1204.370132] pcmcia_socket pcmcia_socket0: pccard: CardBus card inserted into slot 0
[ 1204.370177] pci 0000:02:00.0: reg 10: [mem 0x00000000-0x0000ffff]
[ 1204.370246] pci 0000:02:00.0: BAR 0: assigned [mem 0x58000000-0x5800ffff]
[ 1204.370254] pci 0000:02:00.0: BAR 0: set to [mem 0x58000000-0x5800ffff] (PCI address [0x58000000-0x5800ffff]
[ 1204.370502] ath5k 0000:02:00.0: enabling device (0000 -> 0002)
[ 1204.370512] ath5k 0000:02:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[ 1204.370624] ath5k 0000:02:00.0: registered as 'phy2'
[ 1204.839198] ath: EEPROM regdomain: 0x0
[ 1204.839201] ath: EEPROM indicates default country code should be used
[ 1204.839203] ath: doing EEPROM country->regdmn map search
[ 1204.839207] ath: country maps to regdmn code: 0x3a
[ 1204.839210] ath: Country alpha2 being used: US
[ 1204.839212] ath: Regpair used: 0x3a
[ 1204.842082] phy2: Selected rate control algorithm 'minstrel'
[ 1204.842402] ath5k phy2: Atheros AR5213A chip found (MAC: 0x59, PHY: 0x43)
[ 1204.842406] ath5k phy2: RF5112B multiband radio found (0x36)
[ 1204.842439] cfg80211: Calling CRDA for country: US


Používám na to :

iw reg set DE ale když pak dám iw reg get tak tam je neustále country 00 a v demsg je US. Netuší někdo jak tu kartu s tímhle driverem donutit aby se chovala jak má ?

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

michich avatar 15.9.2010 23:27 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: ath5k driver ignoruje regdomain
Odpovědět | | Sbalit | Link | Blokovat | Admin
Driver nezapne kanály, které nejsou povoleny podle údaje v EEPROM. V ní se to dá přepsat pomocí utility ath_info.
Ondroid avatar 16.9.2010 08:53 Ondroid | skóre: 32 | blog: Hombre
Rozbalit Rozbalit vše Re: ath5k driver ignoruje regdomain
Díky za info :), pomocí ath_info jsem opravdu ten údaj regdom změnil. V demsg se už ukazuje jiný údaj než US. Přesto jsou ty kanály co potřebuju disable... Přitom s driverem madwifi-ng to šlo (countrycode 276). Neměl jsem s tím včera už moc čas laborovat, takže ještě dnes zkusím pokračovat pak sem napíšu jak to dopadlo...
17.9.2010 14:02 JF | skóre: 23
Rozbalit Rozbalit vše Re: ath5k driver ignoruje regdomain
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jo, tenhle problém jsem už také řešil a vyřešil:

--- linux-2.6.32-gentoo-r1-orig/drivers/net/wireless/ath/ath5k/base.c	2009-12-03 06:51:21.000000000 +0300
+++ linux-2.6.32-gentoo-r1/drivers/net/wireless/ath/ath5k/base.c	2010-01-16 00:02:51.000000000 +0300
@@ -68,6 +68,11 @@
 module_param_named(all_channels, modparam_all_channels, bool, S_IRUGO);
 MODULE_PARM_DESC(all_channels, "Expose all channels the device can use.");
 
+static int modparam_override_eeprom_regdomain = -1;
+module_param_named(override_eeprom_regdomain, 
+			modparam_override_eeprom_regdomain, int, S_IRUGO);
+MODULE_PARM_DESC(override_eeprom_regdomain, "Override regdomain hardcoded in EEPROM with this value (DANGEROUS).");
+
 
 /******************\
 * Internal defines *
@@ -572,6 +577,15 @@
 		goto err_irq;
 	}
 
+	if (modparam_override_eeprom_regdomain != -1) {
+		ATH5K_ERR(sc, "DANGER! You're overriding EEPROM-defined regulatory domain.\n");
+		ATH5K_ERR(sc, "Your card was not certified to operate on the domain you choosed.\n");
+		ATH5K_ERR(sc, "This might result in a violation of your local regulatory rules.\n");
+		ATH5K_ERR(sc, "Do not ever do that unless you really know what you do!\n");
+		sc->ah->ah_capabilities.cap_eeprom.ee_regdomain =
+			modparam_override_eeprom_regdomain;
+	}
+
 	/* set up multi-rate retry capabilities */
 	if (sc->ah->ah_version == AR5K_AR5212) {
 		hw->max_rates = 4;

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.