19633a0e9SJakub Kicinski.. SPDX-License-Identifier: GPL-2.0 29633a0e9SJakub Kicinski 39633a0e9SJakub Kicinski======================== 49633a0e9SJakub KicinskiATM cxacru device driver 59633a0e9SJakub Kicinski======================== 69633a0e9SJakub Kicinski 79633a0e9SJakub KicinskiFirmware is required for this device: http://accessrunner.sourceforge.net/ 89633a0e9SJakub Kicinski 99633a0e9SJakub KicinskiWhile it is capable of managing/maintaining the ADSL connection without the 109633a0e9SJakub Kicinskimodule loaded, the device will sometimes stop responding after unloading the 119633a0e9SJakub Kicinskidriver and it is necessary to unplug/remove power to the device to fix this. 129633a0e9SJakub Kicinski 139633a0e9SJakub KicinskiNote: support for cxacru-cf.bin has been removed. It was not loaded correctly 149633a0e9SJakub Kicinskiso it had no effect on the device configuration. Fixing it could have stopped 159633a0e9SJakub Kicinskiexisting devices working when an invalid configuration is supplied. 169633a0e9SJakub Kicinski 179633a0e9SJakub KicinskiThere is a script cxacru-cf.py to convert an existing file to the sysfs form. 189633a0e9SJakub Kicinski 199633a0e9SJakub KicinskiDetected devices will appear as ATM devices named "cxacru". In /sys/class/atm/ 209633a0e9SJakub Kicinskithese are directories named cxacruN where N is the device number. A symlink 219633a0e9SJakub Kicinskinamed device points to the USB interface device's directory which contains 229633a0e9SJakub Kicinskiseveral sysfs attribute files for retrieving device statistics: 239633a0e9SJakub Kicinski 249633a0e9SJakub Kicinski* adsl_controller_version 259633a0e9SJakub Kicinski 269633a0e9SJakub Kicinski* adsl_headend 279633a0e9SJakub Kicinski* adsl_headend_environment 289633a0e9SJakub Kicinski 299633a0e9SJakub Kicinski - Information about the remote headend. 309633a0e9SJakub Kicinski 319633a0e9SJakub Kicinski* adsl_config 329633a0e9SJakub Kicinski 339633a0e9SJakub Kicinski - Configuration writing interface. 349633a0e9SJakub Kicinski - Write parameters in hexadecimal format <index>=<value>, 359633a0e9SJakub Kicinski separated by whitespace, e.g.: 369633a0e9SJakub Kicinski 379633a0e9SJakub Kicinski "1=0 a=5" 389633a0e9SJakub Kicinski 399633a0e9SJakub Kicinski - Up to 7 parameters at a time will be sent and the modem will restart 409633a0e9SJakub Kicinski the ADSL connection when any value is set. These are logged for future 419633a0e9SJakub Kicinski reference. 429633a0e9SJakub Kicinski 439633a0e9SJakub Kicinski* downstream_attenuation (dB) 449633a0e9SJakub Kicinski* downstream_bits_per_frame 459633a0e9SJakub Kicinski* downstream_rate (kbps) 469633a0e9SJakub Kicinski* downstream_snr_margin (dB) 479633a0e9SJakub Kicinski 489633a0e9SJakub Kicinski - Downstream stats. 499633a0e9SJakub Kicinski 509633a0e9SJakub Kicinski* upstream_attenuation (dB) 519633a0e9SJakub Kicinski* upstream_bits_per_frame 529633a0e9SJakub Kicinski* upstream_rate (kbps) 539633a0e9SJakub Kicinski* upstream_snr_margin (dB) 549633a0e9SJakub Kicinski* transmitter_power (dBm/Hz) 559633a0e9SJakub Kicinski 569633a0e9SJakub Kicinski - Upstream stats. 579633a0e9SJakub Kicinski 589633a0e9SJakub Kicinski* downstream_crc_errors 599633a0e9SJakub Kicinski* downstream_fec_errors 609633a0e9SJakub Kicinski* downstream_hec_errors 619633a0e9SJakub Kicinski* upstream_crc_errors 629633a0e9SJakub Kicinski* upstream_fec_errors 639633a0e9SJakub Kicinski* upstream_hec_errors 649633a0e9SJakub Kicinski 659633a0e9SJakub Kicinski - Error counts. 669633a0e9SJakub Kicinski 679633a0e9SJakub Kicinski* line_startable 689633a0e9SJakub Kicinski 699633a0e9SJakub Kicinski - Indicates that ADSL support on the device 709633a0e9SJakub Kicinski is/can be enabled, see adsl_start. 719633a0e9SJakub Kicinski 729633a0e9SJakub Kicinski* line_status 739633a0e9SJakub Kicinski 749633a0e9SJakub Kicinski - "initialising" 759633a0e9SJakub Kicinski - "down" 769633a0e9SJakub Kicinski - "attempting to activate" 779633a0e9SJakub Kicinski - "training" 789633a0e9SJakub Kicinski - "channel analysis" 799633a0e9SJakub Kicinski - "exchange" 809633a0e9SJakub Kicinski - "waiting" 819633a0e9SJakub Kicinski - "up" 829633a0e9SJakub Kicinski 839633a0e9SJakub Kicinski Changes between "down" and "attempting to activate" 849633a0e9SJakub Kicinski if there is no signal. 859633a0e9SJakub Kicinski 869633a0e9SJakub Kicinski* link_status 879633a0e9SJakub Kicinski 889633a0e9SJakub Kicinski - "not connected" 899633a0e9SJakub Kicinski - "connected" 909633a0e9SJakub Kicinski - "lost" 919633a0e9SJakub Kicinski 929633a0e9SJakub Kicinski* mac_address 939633a0e9SJakub Kicinski 949633a0e9SJakub Kicinski* modulation 959633a0e9SJakub Kicinski 969633a0e9SJakub Kicinski - "" (when not connected) 979633a0e9SJakub Kicinski - "ANSI T1.413" 989633a0e9SJakub Kicinski - "ITU-T G.992.1 (G.DMT)" 999633a0e9SJakub Kicinski - "ITU-T G.992.2 (G.LITE)" 1009633a0e9SJakub Kicinski 1019633a0e9SJakub Kicinski* startup_attempts 1029633a0e9SJakub Kicinski 1039633a0e9SJakub Kicinski - Count of total attempts to initialise ADSL. 1049633a0e9SJakub Kicinski 1059633a0e9SJakub KicinskiTo enable/disable ADSL, the following can be written to the adsl_state file: 1069633a0e9SJakub Kicinski 1079633a0e9SJakub Kicinski - "start" 1089633a0e9SJakub Kicinski - "stop 1099633a0e9SJakub Kicinski - "restart" (stops, waits 1.5s, then starts) 1109633a0e9SJakub Kicinski - "poll" (used to resume status polling if it was disabled due to failure) 1119633a0e9SJakub Kicinski 1129633a0e9SJakub KicinskiChanges in adsl/line state are reported via kernel log messages:: 1139633a0e9SJakub Kicinski 1149633a0e9SJakub Kicinski [4942145.150704] ATM dev 0: ADSL state: running 1159633a0e9SJakub Kicinski [4942243.663766] ATM dev 0: ADSL line: down 1169633a0e9SJakub Kicinski [4942249.665075] ATM dev 0: ADSL line: attempting to activate 1179633a0e9SJakub Kicinski [4942253.654954] ATM dev 0: ADSL line: training 1189633a0e9SJakub Kicinski [4942255.666387] ATM dev 0: ADSL line: channel analysis 1199633a0e9SJakub Kicinski [4942259.656262] ATM dev 0: ADSL line: exchange 1209633a0e9SJakub Kicinski [2635357.696901] ATM dev 0: ADSL line: up (8128 kb/s down | 832 kb/s up) 121