Difference between revisions of "ADSL2MUE"
(→Command Line Interface (CLI))
|Line 220:||Line 220:|
== Command Line Interface (CLI) ==
== Command Line Interface (CLI) ==
You can make this modem act as a router (port forwarding) by using the command line interface.
You can make this modem act as a router (port forwarding) by using the command line interface.
Revision as of 07:32, 3 June 2009
Linksys ADSL2MUE is an ADSL2/2+ capable router/modem based on the Texas Instruments AR7 architecture. Marketed in the United Kingdom, France, Australia and a few other countries not including the United States of America.
If you are looking for a modem this might not be what you are looking for. Although advertised as a modem, it is actually a router with some sort of bridging capabilities.
However, as it based on Linux, if you have console access - it is quite possible to use a few standard Linux commands to disable the NAT firewall, define routes and pass the WAN IP to a single connected router by dhcp.
Based on Texas Instruments AR7 architecture it includes a few other chips on board, such as ethernet and ADSL transformers. TI does not provide with much information about the architecture and answers with a "this is for OEM eyes only" when asked for more information.
This device provides ADSL, Ethernet and USB conectivity only.
- Ethernet: One on-chip fast Ethernet 10/100 port attached to a transformer from Delta Electronics labeled LF8505 DELTA 0448W.
- USB: One USB 1.1 port.
- ADSL: One on-chip adsl port attached to an ADSL2 transformer from Linkcomm Manufacturing labeled LAL0671 LINKCOM 0450. Advertised explicitly as AR7 compatible.
- On-board RAM memory: One chip of synchronous SDRAM formatted as 1Mx32x4bank module makeing up 128Mbit (16Mbytes) of RAM space. Manufactured by Glink and labeled as GLT51280L16-6TC 412 9P3030902.
- On-board Flash memory: Four MBytes of memory on a single chip from Macronix Incorporated. Its part numbers is MX29LV320ABTC-90G and the chip is labeled as MX E042469 29LV320ABTC-90G 2K085800A1 TAIWAN.
- Microcontroller: Texas Instruments AR7RD labeled TNETD7300AGDW 49ZND69 with uilt-in ADSL and Ethernet interfaces.
- Serial ports: Two serial ports. One of them used as system console at 38400,8,N,1 wired to J1 as described below on this page. Another serial port is present and configured but is unused and looks unwired to any of the pins close to J1.
- EJTAG interface: EJTAG v2.6 with 14 pins. (Info from epitools debug intefaces and cables). This is wired to JP1 connector, the fourteen pins port right by leds side.
Flash memory addressing
This info might prove useless, but not all addressing range available for flash is used.
- mtd2 block: from 0x90000000 to 0x90010000 contains on 64 KBytes the PSPBoot binary.
- mtd3 block: from 0x90010000 to 0x90020000 contains 64KBytes of NVRAM configuration and environment.
- mtd1 block: from 0x90020000 to 0x900a0000 contains 512 Kbytes of kernel
- mtd0 block: from 0x900a0000 to 0x90400000 contains 3456 KBytes of squashfs
For Linksys Firmware 4.22 (and probably 4.17) the Kernel and Filesystem can be accessed with an
- mtd4 block: from 0x90020000 to 0x90400000 logically spanning mtd1 and mtd0
Addressing the flash requires the first seven bits to be 1011 000x, the next tree are meaningless and the other 22 bits walk along the full flash chip (2^22 equals 4MB of Flash mem).
1011 000x xxmm mmmm mmmm mmmm mmmm mmmm
where 1011 000 is the "chip select" for flash mem, x represents any value in binary and m represents a single bit within the real flash address.
Further info from software commands
(psbl) version PSPBoot 220.127.116.11 Compiled gcc rev: 2.95.3 20010315 (release/MontaVista) [Aug 6 2004 17:48:48] Built for AR7RD board in Little Endian mode. Optional modules included (+) or not (-): +tibinary -elf -gzip -ffs -tftp -ftp +dhcp +pcapp (psbl)
cli> product-info GLOBAL: Product Info command Product Information: ---------------------- Model Number: AR7RD HW Revision: Unknown Serial Number: none USB PID: 0x000f USB VID: 0x13b1 Ethernet MAC: N/A DSL MAC: N/A USB MAC: N/A USB Host MAC: N/A Software Versions: ------------------ Gateway: 3.5.0 ATM Driver: 4.02.11.00 DSL HAL: 3.01.02.00 DSL Datapump: 3.01.02.00 Annex A SAR HAL: 01.07.02 PDSP Firmware: 0.49 Boot loader: 18.104.22.168 cli> shell Starting /bin/sh Type exit to return to the CLI BusyBox v0.61.pre (2004.10.19-18:15+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands. # cat proc/tty/driver/serial serinfo:1.0 driver:5.05c revision:2001-07-08 0: uart:16550A port:A8610E00 irq:15 baud:2258 tx:15520 rx:323 RTS|DTR 1: uart:16550A port:A8610F00 irq:16 tx:0 rx:0 RTS|DTR # cat proc/ticfg/env bootloaderVersion 22.214.171.124 ProductID AR7RD HWRevision Unknown SerialNumber none MEMSZ 0x01000000 FLASHSZ 0x00400000 CPUFREQ 150000000 SYSFREQ 125000000 IPA 192.168.1.1 MODETTY0 38400,n,8,1,hw MODETTY1 38400,n,8,1,hw MAC_PORT 0 mtd0 0x900a0000,0x90400000 mtd1 0x90020000,0x900a0000 mtd2 0x90000000,0x90010000 mtd3 0x90010000,0x90020000 autoload 1 BOOTCFG m:f:"mtd1" USB_VID 0x0451 USB_PID 0x6060 HWA_RNDIS 00:E0:A6:66:41:EB HWA_HRNDIS 00:E0:A6:66:41:E1 usb_vid 0x13b1 usb_pid 0x000f usb_prod Linksys RNDIS Network Adapter connection0 0 HWA_0 00:12:17:79:8C:D8 PROMPT (psbl) #
Note the last 6 digits of HWA_0 should be set to the board specific MAC address
Console and JTAG port
__________________________________________ | J1- Serial Port | | Pin 4: GND ----> @ | | Pin 3: TX ----> @ | | Pin 2: RX ----> @ | | Pin 1: +3.3 volts ----> @ | | | | J2 8 pins | | JP2 14 pins | | | | JP1 JTAG | | Vcc +3.3V Pin 14,13 | | GND Pin 12,11 | | GND Pin 10,9 TCK | Front of ADSL2MUE | GND Pin 8,7 TMS | | GND Pin 6,5 TDO | | GND Pin 4,3 TDI | | GND Pin 2,1 TRST | | | | Internet led Green = GPIO 13, Red = GPIO 9 | DSL led Green = GPIO 33 | USB led GPIO 12 | Ethernet led Green = GPIO 15 | Power, defaults red in Hardware led Green = GPIO 7 |_________________________________________|
The console is located on the same edge that the leds are, that is, front-right side of the board. It is labeled J1 and an arrow points to pin 1 on the left, that is, the closest pin to the leds. Voltage reference is 3.3 volts and it is set by default at 38400,8,N,1 (but will revert to 9600,8,N,1 if config mtd3 deleted). Mine already had a connector soldered just like to ones we usually see on computer boards as CPU/NB fan connector.
Pins 1 to 12 of the JTAG port are the same as the WRT54G/GS/GL, but for the HairyDairyMaid passive connector to function the link between VCC (Pin 14) and TRST (Pin 1) is required (with a 100 ohm resistor link in cable).
This firmware is based on the MontaVista Linux.
Linux version 2.4.17_mvl21-malta-mips_fp_le (firstname.lastname@example.org) (gcc version 2.95.3 20010315 (release/MontaVista)) #49 Thu Sep 9 18:13:08 EDT 2004
CPU + Memory
# cat /proc/cpuinfo processor : 0 cpu model : MIPS 4KEc V4.8 BogoMIPS : 149.91 wait instruction : no microsecond timers : yes extra interrupt vector : yes hardware watchpoint : yes VCED exceptions : not available VCEI exceptions : not available
# cat proc/iomem 00000000-13ffffff : reserved 14000000-1401ffff : System RAM 14020000-14ffffff : System RAM 14020000-1418ba07 : Kernel code 1419a300-141b2fff : Kernel data a8610000-a86107ff : eth0 #
Filesystems and partitioning
# cat proc/mounts /dev/mtdblock/0 / squashfs ro 0 0 none /dev devfs rw 0 0 proc /proc proc rw 0 0 ramfs /var ramfs rw 0 0 # cat /proc/mtd dev: size erasesize name mtd0: 00360000 00010000 "mtd0" mtd1: 00080000 00010000 "mtd1" mtd2: 00010000 00002000 "mtd2" mtd3: 00010000 00010000 "mtd3"
Partially GPL'd software can be downloaded from the UK office of Linkys at the GPL link show at the Linksys GPL code center.
As many AR7 based devices do, Linksys ADSL2MUE violates GPL license because only partial sources are released. Visit GPL Violations web site for more information on this.
With the default oficial firmware this device has four modes of operation:
- Router with PPPoA over the WAN
- Router with PPPoE over the WAN
- Router with RFC1483/RFC2684 bridged over the WAN
- Bridge with RFC1483/RFC2684 bridged over the WAN
All three router modes NAT support is fair enough for outgoing purposes but will not let you do any port forwarding to the inside.
The only modem capabilities the device shows is called brige mode. This mode interconnects a native ethernet network or an ethernet over USB network with a RFC1484 bridge mode network (ethernet switched over ATM/ADSL).
Hidden software features
Oficial firmware includes a comand line interface that allows for a few more modes of operation. The standard web based GUI allows you to configure RFC2684 bridged mode with LLC or VC encapsulation only, but the CLI allows you to configure RFC2684 routed mode also.
I got into the CLI through the console and after enabling privileges (CLI enable password matches web password) you can configure the WAN interface as statically managed and set RFC2684 routed as the interface type.
Keep in mind that this hidden feature allows you to use this piece of hardware as a router connected to a routed mode RFC2684 ATM/DSL connection. Still work needs to be done on OpenWrt AR7 port to let this hardware become the modem it claims to be. An experimental Half-Bridge mode script is now available using the extended Linux environment provide in the Routertech 2.3 3rd party firmware.
Command Line Interface (CLI)
- Note: Firmware released as of before 1/6/2009 contains a massive update that allows many more features through the web front end including port forwarding UPnP and Firewalling (full router capabilities). Logging in by ssh is not so needed now. Jago25 98 07:32, 3 June 2009 (UTC)jago25_98
You can make this modem act as a router (port forwarding) by using the command line interface.
Given that adsl2mue modem internal IP address is 192.168.1.254:
user@linux~$ ssh 192.168.1.254 -l root
DSL Modem CLI
Copyright (c) 2004 Texas Instruments, Inc.
New priv level = 5
typing '?' list available options
You can configure nat table to redirect HTTP traffic to 192.168.1.3:8080 as it is done above with iptables by typing the following commands:
cli(wan)# connection 1
cli(wan connection1)# port forward rule-add name http protocol tcp src-ip 0.0.0.0 src-netmask 0.0.0.0 dst-ip 192.168.1.3 dst-netmask 255.255.255.0 port-start 80 port-end 80 port-map 8080
cli(wan connection1)# apply
cli(wan connection1)# show port-forward
Port Forward Rule List
Name Src IP Dest IP Start Protocol Src Mask Dest Mask Stop Map -------------------------------------------------------------------- 01: http 0.0.0.0 192.168.1.1 80 TCP Enabled 0.0.0.0 255.255.255.0 80 8080
Now, you can save your changes:
cli(wan connection1)# save
enjoy ! ...
common menu options:
apply Apply the current changes to the running system. Does not save the settings to flash disable Set privilege level to zero discard Discards any pending changes to the system enable Change privilege level exit Quit the CLI help CLI usage help logoff Quit the CLI quit Quit the CLI reboot Reboots the system. save Saves any applied changes to flash. show Show current information
advanced Modify settings in the advanced menu
router Configure router parameters rip Configure RIP Protocol authentication Modify the RIP authentication settings disable Disable RIP Authentication enable Enable RIP Authentication disable Disable RIP enable Enable RIP protocol Specify RIP Protocol version support ripv1 RIP version 1 ripv1compatible RIP version 1 Compatible ripv2 RIP Protocol 2 snmp Setup SNMP parameters agent Enable/Disable SNMP agent disable Disable SNMP enable Enable SNMP community Configure SMNP community parameters clear Clear a community name entry all Clear all community name entries 1-3 Clear this specific community name entry set Set a SNMP community information 1-3 SNMP community entry to change name Specify a SNMP community name entry WORD Community Name system Configure SNMP name, location, and contact info contact Specify contact information for the modem STRING Contact Info location Specify physical location of the modem STRING Physical Location name Specify administratively assigned name for the modem STRING Administratively Assigned Name traps Configure SMNP trap parameters clear Clear a trap entry all Clear all trap entries 1-3 Clear this specific trap entry disable Disable traps enable Enable traps set Set a SNMP trap entry 1-3 SNMP trap entry to change HOSTADDR Trap destination sntp Setup SNTP parameters daylight Setting Daylight feature disable Disable SNTP enable Enable SNTP polling-interval Set the SNTP polling interval 0-30 Polling interval (min) retries Set the number of SNTP retries 0-5 Number of retries server Set SNTP servers primary Assign a primary server timeout Set the timeout value 0-30 Timeout (sec) timezone Set timezone GMTN0100 (GMT-01:00) Cape Vade GMTN0200 (GMT-02:00) Mid-Atlantic GMTN0300 (GMT-03:00) Brasilia, Beunon Aires, Greenland GMTN0400 (GMT-04:00) Atlantic Time (US, Canada) GMTN0500 (GMT-05:00) Eastern Time (US, Canada) GMTN0600 (GMT-06:00) Central America, Central Time (US, Canada) GMTN0700 (GMT-07:00) Arizona, Mountain Time (US, Canada) GMTN0800 (GMT-08:00) Pacific Time (US, Canada), Tijuana GMTN0900 (GMT-09:00) Alaska GMTN1000 (GMT-10:00) Hawaii GMTN1100 (GMT-11:00) Midway Island GMTN1200 (GMT-12:00) International Date Line West GMTP0100 (GMT+01:00) Amsterdam, Berlin, Rome, Stockholm, Vienna, Paris GMTP0200 (GMT+02:00) Athens, Istanbul, Cairo, Harare, Jerusalem GMTP0300 (GMT+03:00) Baghdad, Kuwait, Riyadh, Moscow GMTP0400 (GMT+04:00) Muscat GMTP0500 (GMT+05:00) Islamabad, Karachi GMTP0530 (GMT+05:30) Chennai, Kolkota, Mumbai, New Delhi GMTP0600 (GMT+06:00) Dhaka GMTP0700 (GMT+07:00) Bangkok, Hanoi, Jakartha GMTP0800 (GMT+08:00) Beijing, Kong Kong GMTP0900 (GMT+09:00) Tokyo, Seoul GMTP1000 (GMT+10:00) Brisbane, Sydney GMTP1100 (GMT+11:00) Magadan, Solomon Islands GMTP1200 (GMT+12:00) Auckland, Wellington, Fiji
lan Modify settings in the Lan menu
lan-group Enter lan group configuration menu 1-8 lan group number access-list Configures Access Control List disable Disable Access Control List enable Enable Access Control List ip Add IP Address to ACL add Add IP Address to Access Control List HOSTADDR IP Address clear Deletes all IP Addresses on the ACL del Delete IP Address from Access Control List 0-15 Associated Index Number for ACL service Services Enabled/Disabled for ACL on LAN ftp Enable/Disable ftp protocol snmp Enable/Disable snmp protocol ssh Enable/Disable ssh protocol telnet Enable/Disable telnet protocol tftp Enable/Disable tftp protocol web Enable/Disable web protocol bridge Bridge with filtering mechanism filter Rules to allow/deny frames thrugh bridge clear Flush Bridge Filter Rules disable Disable Bridge Filtering Mechanism enable Enable Bridge Filtering Mechanism management-port Management Port rule Bridge Filter Rule add Add Bridge Filter Rule mode Bridge Filter Mode allow Allow frames matching rule src-mac Source MAC Address STRING Source MAC Address deny Deny frames matching rule del Delete Bridge Filter Rule dhcp Dhcp configuration commands client-dynamic Configure dynamic LAN clients reserve Reserve dynamic DHCP address for LAN client STRING Enter index number of dynamic LAN client (use 'show dhcp_dynamic' for list) client-static Configure static LAN clients add Add static LAN clients HOSTADDR Enter static LAN IP address clear Delete all static LAN clients del Delete static LAN clients off Disable DHCP Server/Relay relay Configure DHCP relay HOSTADDR Enter DHCP relay IP address server Enable/Configure DHCP Server/Relay start follow with starting ip address HOSTADDR Enter starting DHCP server IP address domain-name Domain name of the modem STRING Provide domain name for modem host-name Host name of the modem STRING Provide host-name for modem ip IP filter Filter Rules add Add a Filter Rule clear Flush all Filter Rules del Delete a Filter Rule management Modify the management settings interface Configure Management Interface A.B.C.D Management IP address type Modify the management type dynamic Set this lan group to use dynamic IP settings (DHCP) static Set this lan group to use static IP settings unmanaged Set this lan group to be unmanaged route Configure static routes static-add Add a static route static-clear Clear all static routes static-del Delete a static route entry port Configure Ethernet port parameters assign Assign ports to a given lan group ap Wireless Access Point (AP) lan1 Assign to LAN group 1 lan2 Assign to LAN group 2 lan3 Assign to LAN group 3 unassigned Remove from all LAN groups eth0 Ethernet port 0 lan1 Assign to LAN group 1 lan2 Assign to LAN group 2 lan3 Assign to LAN group 3 unassigned Remove from all LAN groups usb USB port lan1 Assign to LAN group 1 lan2 Assign to LAN group 2 lan3 Assign to LAN group 3 unassigned Remove from all LAN groups 1-4 Specify port number
product-info Product information
log Set Log Level
shell Go to the system shell
stats List modem stats
connection Connection stats modem Modem stats network Network stats
system Modify settings in the system menu
firewall_nat Enable Firewall and NAT Service disable Disable enable Enable password Change a privilege level's password. (Password changes take place immediatly.) 1 view. User can look at stats and settings. Cannot change any settings. 2 logger. User can look at stats and settings. Can change log settings. 5 admin. User can look and change all settings WORD new password (if not entered, prompt for password)
voice-nmm Enter the voice NMM command shell
wan Modify settings in the Wan menu
access-list Configures Access Control List disable Disable Access Control List enable Enable Access Control List ip Add IP Address to ACL add Add IP Address to Access Control List clear Deletes all IP Addresses on the ACL del Delete IP Address from Access Control List service Services Enabled/Disabled for ACL on LAN ftp Enable/Disable ftp protocol snmp Enable/Disable snmp protocol ssh Enable/Disable ssh protocol telnet Enable/Disable telnet protocol tftp Enable/Disable tftp protocol web Enable/Disable web protocol connection Enter connection configuration menu 1-8 connection ID number atm Set ATM parameters pvc Set the ATM PVC parameters 0-255 VPI value 0-1023 VCI value qos Set ATM QoS Parameters cbr Set QoS CBR class type 0-65534 Peak Cell Rate (cells per second) cdvt Set Cell delay variance threshold 0-65534 Cell delay variance threshold (usecs) End of CBR command parameters ubr Set QoS to UBR vbr Set QoS VBR class type 0-65534 Peak Cell Rate (cells per second) cdvt Set Cell delay variance threshold 0-65534 Cell delay variance threshold (usecs) mbs Set Maximum Burst Size 0-65534 Maximum Burst Size (cells) scr Set Sustainable Cell Rate 0-65534 Sustainable Cell Rate (cells per second) End of VBR command parameters connection Set the basic connection settings name set the user friendly name for this connection WORD user friendly name for this connection type Set the connection type bridge set this connection to a bridged mode clip set this connection to use clip dhcp set this connection to use a dhcp client off disable this connection pppoa set this connection to use pppoa pppoe set this connection to use pppoe static set this connection to use a statically assigned IP address dmz Enable/Disable DMZ client-add Add a LAN IP to DMZ A.B.C.D Set the LAN IP address disable Disable DMZ enable Enable DMZ firewall Enable/Disable Firewall disable Disable Firewall enable Enable Firewall igmp Enable/Disable IGMP disable Disable IGMP enable Enable IGMP ipqos Enable IP QoS disable Disable enable Enable queue Set Queue Priorities Low + High = 100% low Set Low Queue Priorities med Set Medium Queue Priorities End of the IPQoS parameters rule-add Add a rule for IP QoS dst-ip Add a destination IP dst-netmask Add a destination Netmask dst-port-end Add end port number dst-port-start Add start port number name Specify a name for this rule phy-port LAN Physical Port Number priority Set Queue Priority for this rule protocol Add protocol to rule src-ip Specify a source IP src-netmask Add a source Netmask src-port-end Add end port number src-port-start Add start port numb tos Add TOS marking End of IPQoS add rule parameters rule-clear Clear all IPQoS rules rule-del Delete a IPQoS rule UINT use: show IPQoS rules to get index number trusted-mode Required keyword disable Disable enable Enable nat Enable/Disable NAT disable Disable NAT enable Enable NAT port Access Port Forward settings forward Access Port Forward settings disable Disable Port Forwarding enable Enable Port Forwarding rule-add Add a Port Forwarding rule dst-ip Specify a destination IP A.B.C.D Destination IP address dst-netmask Specify a destination Netmask A.B.C.D Destination Netmask name Specify a name for this rule WORD Name for this rule port-end Specify an end port number 0-65535 Port end number port-map Specify a port map number (Change src port to a different dest port) 0-65535 Port map number port-start Specify a start port number 0-65535 Port start number protocol Specify a protocol to use any ANY Protocol tcp TCP Protocol tcp_udp TCP+UDP Protocol udp UDP Protocol src-ip Specify a source IP A.B.C.D Source IP address. '*' indicates all ip's src-netmask Specify a source Netmask A.B.C.D Source Netmask cr Add the specified Port Forward rule rule-clear Clear all port forwarding rules rule-del Delete a port forwarding rule 1-30 entry number. use 'show port-forward' to get index number ppp Set up a PPP Connection authentication Specify the PPP Authentication parameters password Specify a PPP password WORD PPP Password type Specify the PPP authentication type auto PPP Authentication Type: Auto chap PPP Authentication Type: CHAP pap PPP Authentication Type: PAP username Specify a PPP username Username PPP User name connection-mode Set the on-demand or keep-alive connection mode keep-alive Choose keep-alive mode time Specify a keep-alive time 1-100 Keep alive time (minutes) on-demand Choose on-demand mode idle-timeout Specify an idle-timeout 0-60000 Idle time before PPP disconnects (seconds) debug Choose the debug mode for PPP disable Disable debug capability enable Enable debug capability default-route Select whether PPP sets the default route disable PPP will not set the default route enable PPP will set the default route encapsulation Set encapsulation mode for PPP llc Set LLC encapsulation vc Set VC MUX encapsulation mtu Set MTU size for PPP 128-1500 MTU (Bytes) route Configure static routes static-add Add a static route A.B.C.D Destination IP address static-clear Clear all static routes static-del Delete a static route entry 1-30 entry number. use 'show static routes' to get index number show Show current configuration all Show all subcontexts atm Show the atm settings connection Show the basic connection settings dns Show the Static DNS entries ip-qos Show IP QoS configuration port-forward Show the port forwarding rules ppp Show the PPP connection settings route Show route information voice-config Show Voice configuration upnp Enable/Disable UPNP disable Disable UPNP enable Enable UPNP voice Enable Voice disable Disable enable Enable modem Modem test test Required keyword 0-255 VPI value 0-1023 VCI value f4end F4 flows End to End f4seg F4 flows Segment f5end F5 flows End to End f5seg F5 flows Segment modulation Set the DSL modulation gdmt Modulation Type = GDMT glite Modulation Type = GLITE mmode Modulation Type = Multi-Mode t1413 Modulation Type = T1413 cr Accept the modulation type