1.. SPDX-License-Identifier: GPL-2.0 2 3======================== 4ATM cxacru device driver 5======================== 6 7Firmware is required for this device: http://accessrunner.sourceforge.net/ 8 9While it is capable of managing/maintaining the ADSL connection without the 10module loaded, the device will sometimes stop responding after unloading the 11driver 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 correctly 14so it had no effect on the device configuration. Fixing it could have stopped 15existing 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 symlink 21named device points to the USB interface device's directory which contains 22several sysfs attribute files for retrieving device statistics: 23 24* adsl_controller_version 25 26* adsl_headend 27* adsl_headend_environment 28 29 - Information about the remote headend. 30 31* adsl_config 32 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 restart 40 the ADSL connection when any value is set. These are logged for future 41 reference. 42 43* downstream_attenuation (dB) 44* downstream_bits_per_frame 45* downstream_rate (kbps) 46* downstream_snr_margin (dB) 47 48 - Downstream stats. 49 50* upstream_attenuation (dB) 51* upstream_bits_per_frame 52* upstream_rate (kbps) 53* upstream_snr_margin (dB) 54* transmitter_power (dBm/Hz) 55 56 - Upstream stats. 57 58* downstream_crc_errors 59* downstream_fec_errors 60* downstream_hec_errors 61* upstream_crc_errors 62* upstream_fec_errors 63* upstream_hec_errors 64 65 - Error counts. 66 67* line_startable 68 69 - Indicates that ADSL support on the device 70 is/can be enabled, see adsl_start. 71 72* line_status 73 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_status 87 88 - "not connected" 89 - "connected" 90 - "lost" 91 92* mac_address 93 94* modulation 95 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_attempts 102 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 - "stop 109 - "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: running 115 [4942243.663766] ATM dev 0: ADSL line: down 116 [4942249.665075] ATM dev 0: ADSL line: attempting to activate 117 [4942253.654954] ATM dev 0: ADSL line: training 118 [4942255.666387] ATM dev 0: ADSL line: channel analysis 119 [4942259.656262] ATM dev 0: ADSL line: exchange 120 [2635357.696901] ATM dev 0: ADSL line: up (8128 kb/s down | 832 kb/s up) 121