162306a36Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci======================== 462306a36Sopenharmony_ciATM cxacru device driver 562306a36Sopenharmony_ci======================== 662306a36Sopenharmony_ci 762306a36Sopenharmony_ciFirmware is required for this device: http://accessrunner.sourceforge.net/ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ciWhile it is capable of managing/maintaining the ADSL connection without the 1062306a36Sopenharmony_cimodule loaded, the device will sometimes stop responding after unloading the 1162306a36Sopenharmony_cidriver and it is necessary to unplug/remove power to the device to fix this. 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciNote: support for cxacru-cf.bin has been removed. It was not loaded correctly 1462306a36Sopenharmony_ciso it had no effect on the device configuration. Fixing it could have stopped 1562306a36Sopenharmony_ciexisting devices working when an invalid configuration is supplied. 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciThere is a script cxacru-cf.py to convert an existing file to the sysfs form. 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ciDetected devices will appear as ATM devices named "cxacru". In /sys/class/atm/ 2062306a36Sopenharmony_cithese are directories named cxacruN where N is the device number. A symlink 2162306a36Sopenharmony_cinamed device points to the USB interface device's directory which contains 2262306a36Sopenharmony_ciseveral sysfs attribute files for retrieving device statistics: 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci* adsl_controller_version 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci* adsl_headend 2762306a36Sopenharmony_ci* adsl_headend_environment 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci - Information about the remote headend. 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci* adsl_config 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci - Configuration writing interface. 3462306a36Sopenharmony_ci - Write parameters in hexadecimal format <index>=<value>, 3562306a36Sopenharmony_ci separated by whitespace, e.g.: 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci "1=0 a=5" 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci - Up to 7 parameters at a time will be sent and the modem will restart 4062306a36Sopenharmony_ci the ADSL connection when any value is set. These are logged for future 4162306a36Sopenharmony_ci reference. 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci* downstream_attenuation (dB) 4462306a36Sopenharmony_ci* downstream_bits_per_frame 4562306a36Sopenharmony_ci* downstream_rate (kbps) 4662306a36Sopenharmony_ci* downstream_snr_margin (dB) 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci - Downstream stats. 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci* upstream_attenuation (dB) 5162306a36Sopenharmony_ci* upstream_bits_per_frame 5262306a36Sopenharmony_ci* upstream_rate (kbps) 5362306a36Sopenharmony_ci* upstream_snr_margin (dB) 5462306a36Sopenharmony_ci* transmitter_power (dBm/Hz) 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci - Upstream stats. 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci* downstream_crc_errors 5962306a36Sopenharmony_ci* downstream_fec_errors 6062306a36Sopenharmony_ci* downstream_hec_errors 6162306a36Sopenharmony_ci* upstream_crc_errors 6262306a36Sopenharmony_ci* upstream_fec_errors 6362306a36Sopenharmony_ci* upstream_hec_errors 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci - Error counts. 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci* line_startable 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci - Indicates that ADSL support on the device 7062306a36Sopenharmony_ci is/can be enabled, see adsl_start. 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci* line_status 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci - "initialising" 7562306a36Sopenharmony_ci - "down" 7662306a36Sopenharmony_ci - "attempting to activate" 7762306a36Sopenharmony_ci - "training" 7862306a36Sopenharmony_ci - "channel analysis" 7962306a36Sopenharmony_ci - "exchange" 8062306a36Sopenharmony_ci - "waiting" 8162306a36Sopenharmony_ci - "up" 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci Changes between "down" and "attempting to activate" 8462306a36Sopenharmony_ci if there is no signal. 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci* link_status 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci - "not connected" 8962306a36Sopenharmony_ci - "connected" 9062306a36Sopenharmony_ci - "lost" 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci* mac_address 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci* modulation 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci - "" (when not connected) 9762306a36Sopenharmony_ci - "ANSI T1.413" 9862306a36Sopenharmony_ci - "ITU-T G.992.1 (G.DMT)" 9962306a36Sopenharmony_ci - "ITU-T G.992.2 (G.LITE)" 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci* startup_attempts 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci - Count of total attempts to initialise ADSL. 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ciTo enable/disable ADSL, the following can be written to the adsl_state file: 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci - "start" 10862306a36Sopenharmony_ci - "stop 10962306a36Sopenharmony_ci - "restart" (stops, waits 1.5s, then starts) 11062306a36Sopenharmony_ci - "poll" (used to resume status polling if it was disabled due to failure) 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ciChanges in adsl/line state are reported via kernel log messages:: 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci [4942145.150704] ATM dev 0: ADSL state: running 11562306a36Sopenharmony_ci [4942243.663766] ATM dev 0: ADSL line: down 11662306a36Sopenharmony_ci [4942249.665075] ATM dev 0: ADSL line: attempting to activate 11762306a36Sopenharmony_ci [4942253.654954] ATM dev 0: ADSL line: training 11862306a36Sopenharmony_ci [4942255.666387] ATM dev 0: ADSL line: channel analysis 11962306a36Sopenharmony_ci [4942259.656262] ATM dev 0: ADSL line: exchange 12062306a36Sopenharmony_ci [2635357.696901] ATM dev 0: ADSL line: up (8128 kb/s down | 832 kb/s up) 121