121 lines · plain
1.. SPDX-License-Identifier: GPL-2.02 3========================4ATM cxacru device driver5========================6 7Firmware is required for this device: http://accessrunner.sourceforge.net/8 9While it is capable of managing/maintaining the ADSL connection without the10module loaded, the device will sometimes stop responding after unloading the11driver and it is necessary to unplug/remove power to the device to fix this.12 13Note: support for cxacru-cf.bin has been removed. It was not loaded correctly14so it had no effect on the device configuration. Fixing it could have stopped15existing devices working when an invalid configuration is supplied.16 17There is a script cxacru-cf.py to convert an existing file to the sysfs form.18 19Detected devices will appear as ATM devices named "cxacru". In /sys/class/atm/20these are directories named cxacruN where N is the device number. A symlink21named device points to the USB interface device's directory which contains22several sysfs attribute files for retrieving device statistics:23 24* adsl_controller_version25 26* adsl_headend27* adsl_headend_environment28 29 - Information about the remote headend.30 31* adsl_config32 33 - Configuration writing interface.34 - Write parameters in hexadecimal format <index>=<value>,35 separated by whitespace, e.g.:36 37 "1=0 a=5"38 39 - Up to 7 parameters at a time will be sent and the modem will restart40 the ADSL connection when any value is set. These are logged for future41 reference.42 43* downstream_attenuation (dB)44* downstream_bits_per_frame45* downstream_rate (kbps)46* downstream_snr_margin (dB)47 48 - Downstream stats.49 50* upstream_attenuation (dB)51* upstream_bits_per_frame52* upstream_rate (kbps)53* upstream_snr_margin (dB)54* transmitter_power (dBm/Hz)55 56 - Upstream stats.57 58* downstream_crc_errors59* downstream_fec_errors60* downstream_hec_errors61* upstream_crc_errors62* upstream_fec_errors63* upstream_hec_errors64 65 - Error counts.66 67* line_startable68 69 - Indicates that ADSL support on the device70 is/can be enabled, see adsl_start.71 72* line_status73 74 - "initialising"75 - "down"76 - "attempting to activate"77 - "training"78 - "channel analysis"79 - "exchange"80 - "waiting"81 - "up"82 83 Changes between "down" and "attempting to activate"84 if there is no signal.85 86* link_status87 88 - "not connected"89 - "connected"90 - "lost"91 92* mac_address93 94* modulation95 96 - "" (when not connected)97 - "ANSI T1.413"98 - "ITU-T G.992.1 (G.DMT)"99 - "ITU-T G.992.2 (G.LITE)"100 101* startup_attempts102 103 - Count of total attempts to initialise ADSL.104 105To enable/disable ADSL, the following can be written to the adsl_state file:106 107 - "start"108 - "stop109 - "restart" (stops, waits 1.5s, then starts)110 - "poll" (used to resume status polling if it was disabled due to failure)111 112Changes in adsl/line state are reported via kernel log messages::113 114 [4942145.150704] ATM dev 0: ADSL state: running115 [4942243.663766] ATM dev 0: ADSL line: down116 [4942249.665075] ATM dev 0: ADSL line: attempting to activate117 [4942253.654954] ATM dev 0: ADSL line: training118 [4942255.666387] ATM dev 0: ADSL line: channel analysis119 [4942259.656262] ATM dev 0: ADSL line: exchange120 [2635357.696901] ATM dev 0: ADSL line: up (8128 kb/s down | 832 kb/s up)121