Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph...
[pandora-kernel.git] / Documentation / networking / cxacru.txt
1 Firmware is required for this device: http://accessrunner.sourceforge.net/
2
3 While it is capable of managing/maintaining the ADSL connection without the
4 module loaded, the device will sometimes stop responding after unloading the
5 driver and it is necessary to unplug/remove power to the device to fix this.
6
7 Note: support for cxacru-cf.bin has been removed. It was not loaded correctly
8 so it had no effect on the device configuration. Fixing it could have stopped
9 existing devices working when an invalid configuration is supplied.
10
11 There is a script cxacru-cf.py to convert an existing file to the sysfs form.
12
13 Detected devices will appear as ATM devices named "cxacru". In /sys/class/atm/
14 these are directories named cxacruN where N is the device number. A symlink
15 named device points to the USB interface device's directory which contains
16 several sysfs attribute files for retrieving device statistics:
17
18 * adsl_controller_version
19
20 * adsl_headend
21 * adsl_headend_environment
22         Information about the remote headend.
23
24 * adsl_config
25         Configuration writing interface.
26         Write parameters in hexadecimal format <index>=<value>,
27         separated by whitespace, e.g.:
28                 "1=0 a=5"
29         Up to 7 parameters at a time will be sent and the modem will restart
30         the ADSL connection when any value is set. These are logged for future
31         reference.
32
33 * downstream_attenuation (dB)
34 * downstream_bits_per_frame
35 * downstream_rate (kbps)
36 * downstream_snr_margin (dB)
37         Downstream stats.
38
39 * upstream_attenuation (dB)
40 * upstream_bits_per_frame
41 * upstream_rate (kbps)
42 * upstream_snr_margin (dB)
43 * transmitter_power (dBm/Hz)
44         Upstream stats.
45
46 * downstream_crc_errors
47 * downstream_fec_errors
48 * downstream_hec_errors
49 * upstream_crc_errors
50 * upstream_fec_errors
51 * upstream_hec_errors
52         Error counts.
53
54 * line_startable
55         Indicates that ADSL support on the device
56         is/can be enabled, see adsl_start.
57
58 * line_status
59         "initialising"
60         "down"
61         "attempting to activate"
62         "training"
63         "channel analysis"
64         "exchange"
65         "waiting"
66         "up"
67
68         Changes between "down" and "attempting to activate"
69         if there is no signal.
70
71 * link_status
72         "not connected"
73         "connected"
74         "lost"
75
76 * mac_address
77
78 * modulation
79         "" (when not connected)
80         "ANSI T1.413"
81         "ITU-T G.992.1 (G.DMT)"
82         "ITU-T G.992.2 (G.LITE)"
83
84 * startup_attempts
85         Count of total attempts to initialise ADSL.
86
87 To enable/disable ADSL, the following can be written to the adsl_state file:
88         "start"
89         "stop
90         "restart" (stops, waits 1.5s, then starts)
91         "poll" (used to resume status polling if it was disabled due to failure)
92
93 Changes in adsl/line state are reported via kernel log messages:
94         [4942145.150704] ATM dev 0: ADSL state: running
95         [4942243.663766] ATM dev 0: ADSL line: down
96         [4942249.665075] ATM dev 0: ADSL line: attempting to activate
97         [4942253.654954] ATM dev 0: ADSL line: training
98         [4942255.666387] ATM dev 0: ADSL line: channel analysis
99         [4942259.656262] ATM dev 0: ADSL line: exchange
100         [2635357.696901] ATM dev 0: ADSL line: up (8128 kb/s down | 832 kb/s up)