121 lines
3.1 KiB
ReStructuredText
121 lines
3.1 KiB
ReStructuredText
|
.. SPDX-License-Identifier: GPL-2.0
|
||
|
|
||
|
========================
|
||
|
ATM cxacru device driver
|
||
|
========================
|
||
|
|
||
|
Firmware is required for this device: http://accessrunner.sourceforge.net/
|
||
|
|
||
|
While it is capable of managing/maintaining the ADSL connection without the
|
||
|
module loaded, the device will sometimes stop responding after unloading the
|
||
|
driver and it is necessary to unplug/remove power to the device to fix this.
|
||
|
|
||
|
Note: support for cxacru-cf.bin has been removed. It was not loaded correctly
|
||
|
so it had no effect on the device configuration. Fixing it could have stopped
|
||
|
existing devices working when an invalid configuration is supplied.
|
||
|
|
||
|
There is a script cxacru-cf.py to convert an existing file to the sysfs form.
|
||
|
|
||
|
Detected devices will appear as ATM devices named "cxacru". In /sys/class/atm/
|
||
|
these are directories named cxacruN where N is the device number. A symlink
|
||
|
named device points to the USB interface device's directory which contains
|
||
|
several sysfs attribute files for retrieving device statistics:
|
||
|
|
||
|
* adsl_controller_version
|
||
|
|
||
|
* adsl_headend
|
||
|
* adsl_headend_environment
|
||
|
|
||
|
- Information about the remote headend.
|
||
|
|
||
|
* adsl_config
|
||
|
|
||
|
- Configuration writing interface.
|
||
|
- Write parameters in hexadecimal format <index>=<value>,
|
||
|
separated by whitespace, e.g.:
|
||
|
|
||
|
"1=0 a=5"
|
||
|
|
||
|
- Up to 7 parameters at a time will be sent and the modem will restart
|
||
|
the ADSL connection when any value is set. These are logged for future
|
||
|
reference.
|
||
|
|
||
|
* downstream_attenuation (dB)
|
||
|
* downstream_bits_per_frame
|
||
|
* downstream_rate (kbps)
|
||
|
* downstream_snr_margin (dB)
|
||
|
|
||
|
- Downstream stats.
|
||
|
|
||
|
* upstream_attenuation (dB)
|
||
|
* upstream_bits_per_frame
|
||
|
* upstream_rate (kbps)
|
||
|
* upstream_snr_margin (dB)
|
||
|
* transmitter_power (dBm/Hz)
|
||
|
|
||
|
- Upstream stats.
|
||
|
|
||
|
* downstream_crc_errors
|
||
|
* downstream_fec_errors
|
||
|
* downstream_hec_errors
|
||
|
* upstream_crc_errors
|
||
|
* upstream_fec_errors
|
||
|
* upstream_hec_errors
|
||
|
|
||
|
- Error counts.
|
||
|
|
||
|
* line_startable
|
||
|
|
||
|
- Indicates that ADSL support on the device
|
||
|
is/can be enabled, see adsl_start.
|
||
|
|
||
|
* line_status
|
||
|
|
||
|
- "initialising"
|
||
|
- "down"
|
||
|
- "attempting to activate"
|
||
|
- "training"
|
||
|
- "channel analysis"
|
||
|
- "exchange"
|
||
|
- "waiting"
|
||
|
- "up"
|
||
|
|
||
|
Changes between "down" and "attempting to activate"
|
||
|
if there is no signal.
|
||
|
|
||
|
* link_status
|
||
|
|
||
|
- "not connected"
|
||
|
- "connected"
|
||
|
- "lost"
|
||
|
|
||
|
* mac_address
|
||
|
|
||
|
* modulation
|
||
|
|
||
|
- "" (when not connected)
|
||
|
- "ANSI T1.413"
|
||
|
- "ITU-T G.992.1 (G.DMT)"
|
||
|
- "ITU-T G.992.2 (G.LITE)"
|
||
|
|
||
|
* startup_attempts
|
||
|
|
||
|
- Count of total attempts to initialise ADSL.
|
||
|
|
||
|
To enable/disable ADSL, the following can be written to the adsl_state file:
|
||
|
|
||
|
- "start"
|
||
|
- "stop
|
||
|
- "restart" (stops, waits 1.5s, then starts)
|
||
|
- "poll" (used to resume status polling if it was disabled due to failure)
|
||
|
|
||
|
Changes in adsl/line state are reported via kernel log messages::
|
||
|
|
||
|
[4942145.150704] ATM dev 0: ADSL state: running
|
||
|
[4942243.663766] ATM dev 0: ADSL line: down
|
||
|
[4942249.665075] ATM dev 0: ADSL line: attempting to activate
|
||
|
[4942253.654954] ATM dev 0: ADSL line: training
|
||
|
[4942255.666387] ATM dev 0: ADSL line: channel analysis
|
||
|
[4942259.656262] ATM dev 0: ADSL line: exchange
|
||
|
[2635357.696901] ATM dev 0: ADSL line: up (8128 kb/s down | 832 kb/s up)
|