1ATH_INFO(8) ATH_INFO(8)
2
3
4
6 ath_info - print module version info, write some eeprom fields
7
9 ath_info [-w [-g N:M]] [-v] [-f] <pci_address> [<field1> <val1>
10 [<field2> <val2> ...]]
11
12
14 ath_info prints some version information of Atheros WLAN modules. It
15 furthermore allows to change regulatory domain and PCI ID fields in the
16 EEPROM.
17
18 You must first retrieve the PCI memory address of the module by lspci
19 -v and maybe activate the module by setpci (see example below).
20
21 DISCLAIMER: Use the write function only if you know what you are doing!
22 There is the chance to brick your module. The authors aren't responsi‐
23 ble for any damage caused by using this program.
24
25 Transmitting on illegal frequencies may violate state laws. Obey the
26 local regulations!
27
28
30 -w Write to the EEPROM. You need to specify at least one field
31 value pair (see below).
32
33 -g N:M Set the GPIO pin N to level M (N=0..5, M=0,1). Only useful with
34 -w. ath_info sets GPIO 4 to 0 (low) for chipsets newer or equal
35 to 5213 to enable writing to the EEPROM. If your module has a
36 different layout, you may need to overwrite this.
37
38 -v verbose printouts
39
40 -f force, don't ask before writing to EEPROM (with -w).
41
42 <pci_address>
43 The PCI address of the module. You must retrieve it with lspci.
44
45 <field> <value>
46 Field and value names for EEPROM writing. Possible fields are:
47 pci_dev_id, pci_vendor_id, pci_class, pci_rev_id, pci_sub‐
48 sys_dev_id, pci_subsys_vendor_id, regdomain
49
50
52 Execute the commands below from a root account.
53
54 Retrieve the module's PCI memory address with lspci:
55
56 # lspci -v
57 0b:00.0 Ethernet controller: Atheros Communications, Inc. AR5211 802.11ab NIC
58 (rev 01)
59 Subsystem: Standard Microsystems Corp [SMC] Unknown device 2335
60 Flags: medium devsel, IRQ 20
61 Memory at 6c000000 (32-bit, non-prefetchable) [size=64K]
62 Capabilities: [44] Power Management version 2
63 The above card has its memory mapped at 0x6c000000.
64
65 If no madwifi driver is running or the module isn't recognized by the
66 driver anymore, e.g. due to wrong PCI id values (check your syslog),
67 you must manually enable the PCI device with setpci. The argument to
68 "-s" comes from the output above:
69
70 setpci -s 0b:00.0 command=0x41f cache_line_size=0x10
71
72 Retrieve some information of the module:
73
74 # ./ath_info 0x6c000000
75 -==Device Information==-
76 MAC Version: 5211 (0x40)
77 MAC Revision: 5211 (0x42)
78 5GHz PHY Revision: 5111 (0x17)
79 2GHz PHY Revision: 2111 (0x23)
80 -==EEPROM Information==-
81 EEPROM Version: 3.2
82 EEPROM Size: 16K
83 Regulatory Domain: 0x20
84 -==== Capabilities ====-
85 | 802.11a Support: yes |
86 | 802.11b Support: yes |
87 | 802.11g Support: no |
88 | RFKill Support: no |
89 ========================
90
91 Set the regulatory domain to 0. You need to confirm to write with 'y'
92 (-f turns this off). Check http://madwifi-project.org/wiki/User‐
93 Docs/CountryCode for more information on regdomains and country codes:
94
95 # ./ath_info -w 0x6c000000 regdomain 0
96 -==Device Information==-
97 MAC Version: 5211 (0x40)
98 MAC Revision: 5211 (0x42)
99 5GHz PHY Revision: 5111 (0x17)
100 2GHz PHY Revision: 2111 (0x23)
101 -==EEPROM Information==-
102 EEPROM Version: 3.2
103 EEPROM Size: 16K
104 Regulatory Domain: 0x20
105 -==== Capabilities ====-
106 | 802.11a Support: yes |
107 | 802.11b Support: yes |
108 | 802.11g Support: no |
109 | RFKill Support: no |
110 ========================
111 GPIO registers: CR 00000000 DO 00000000 DI 00000000
112 regdomain (0x00bf) := 0x0000
113 WARNING: The write function may easy brick your device or
114 violate state regulation on frequency usage.
115 Proceed on your own risk!
116 Shall I write the above value(s)? (y/n)
117 y
118
119
121 The write function is currently not tested with 5210 devices.
122
123 Use at your own risk, entering a false device address will have really
124 nasty results!
125
126 An invalid magic in the EEPROM will cause ath_info to fail.
127
128
129
130 September 2007 ATH_INFO(8)