1Firmware is required for this device: http://accessrunner.sourceforge.net/
2
3While it is capable of managing/maintaining the ADSL connection without the
4module loaded, the device will sometimes stop responding after unloading the
5driver and it is necessary to unplug/remove power to the device to fix this.
6
7Note: support for cxacru-cf.bin has been removed. It was not loaded correctly
8so it had no effect on the device configuration. Fixing it could have stopped
9existing devices working when an invalid configuration is supplied.
10
11There is a script cxacru-cf.py to convert an existing file to the sysfs form.
12
13Detected devices will appear as ATM devices named "cxacru". In /sys/class/atm/
14these are directories named cxacruN where N is the device number. A symlink
15named device points to the USB interface device's directory which contains
16several 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
87To 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
93Changes 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)
101