9a9891fbdf
- add SPDX header; - add a document title; - mark code blocks and literals as such; - mark lists as such; - adjust identation, whitespaces and blank lines; - add to networking/index.rst. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
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)
|