Exploring VTVcab’s router (Dasan H660DW)
This post is a little bit different than usual, having me exploring my ISP router which is the Dasan Networks H660DW, stay with me to see what I’ve found in the process.
Disclaimer: I am not responsible for any damage you cause to your device or ISP by following this guide. Do this at your own risk!
The default IP for this router is 192.168.55.1 or 192.168.56.1, yes it has 2 separated LAN IP address. In this tutorial I’ve changed my Net ID to 192.168.0.0 so the router’s IP will be 192.168.0.1 because it’s faster to type.
The password for this router varies by firmware, it could be admin:vertex25 or admin:SERIAL_NUMBER with SERIAL_NUMBER is the GPON S/N on the label of the router.
1. Specs:
- 1244Mb/s 1310nm DFB Upstream Burst Mode Transmitter
- 2488Mb/s 1490nm APD/TIA Downstream
- 1550nm CATV Receiver
- Triplexer: Hisense LTY9775M
- SC Fiber connector
- 5x1Gbps Ethernet Switch (4 usable)
- 1 CATV RF output
- WIFI: Ralink RT5392L (2.4GHz Wireless access point with 2 Antenna)
- SOC: Ralink MT751020 SOC (4 MIPS core)
- RAM: 128MB
- NAND: 128MB
2. Access SSH/Telnet:
Web interface have a lot of limitation because it’s designed for end user, what you will want to do is to talk with it natively, on some earlier firmware having SSH and Telnet enabled by default but the latest one doesn’t do that, you have to do it manually.
2.1. Enabling SSH/Telnet
Go to Maintenance -> Utilities -> ACL and set it as the picture below.
ACL: Activated Access Control Listing: This table determines which IP range are allowed to access the router’s features in the SCL.
- IP Address: Put your LAN Network ID here
- Net Mask: This is the range of the Network ID which are allowed to access SCL, 24 means from 192.168.0.0 to 192.168.0.255 SCL: This table is for enable/disable special function access.
- WAN: For security reason, you should disable all the options here so people on the internet couldn’t access your router’s panel.
- LAN: You could enable everything here if you want.
2.2. Accessing SSH:
Now you should be able to access SSH/Telnet using PuTTY on Windows or ssh tools on your favorite Linux distribution.
SSH credential: admin:YOUR_PANEL_PASSWORD
Now there’s something to notice: The router’s SSH server are using a deprecated algorithm for SSH which is not allowed to access by openssh by default, you have to put -oKexAlgorithms=+diffie-hellman-group1-sha1 to the ssh command for login:
[user@Arch-Linux ~]$ ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 [email protected]
[email protected]'s password:
# export
export HOME='/'
export LOGNAME='admin'
export PATH='/userfs/bin:/usr/sbin:/bin:/usr/bin:/sbin'
export PWD='/'
export SHELL='/bin/sh'
export TERM='xterm-256color'
export USER='admin'
# pwd
/
# ls
bin data etc linuxrc sbin userfs var
boaroot dev lib proc tmp usr
# uname -a
Linux tc 2.6.36 #1 SMP Thu Jun 22 08:40:46 UTC 2017 mips unknown
#
There we go, we got SSH access, this router is running a MIPS processor with a small Linux on it, the file system is squashfs so you can’t directly modify the file system, it’s not gonna keeping change when you reboot it, the config file is saved on a different partition.
2.3. Accessing Telnet:
This is an exciting one, for some reason, Telnet don’t allow you to login using the control panel’s credentials but it using a different password, I was able to find some documents talking about the password for this.
Telnet credential: admin:vertex25ektks123
[user@Arch-Linux ~]$ telnet 192.168.0.1
Trying 192.168.0.1...
Connected to 192.168.0.1.
Escape character is '^]'.
tc login: admin
Password:
# export
export HOME='/'
export LOGNAME='admin'
export PATH='/userfs/bin:/usr/sbin:/bin:/usr/bin:/sbin'
export PWD='/'
export SHELL='/bin/sh'
export TERM='vt102'
export USER='admin'
#
It’s still the exact same thing as SSH, not that it enable some extra privilege or something and more importantly: You can’t change this password, this is a serious security flaw which allow attacker to logging using a hardcoded credential, I recommeded to disable the telnet function because an attacker could do anything with this telnet access to your router.
3. SSH exploring
Random stuffs I’ve grabbed via SSH goes here:
- Mount point, MTD info:
# mount
/dev/mtdblock3 on / type squashfs (ro,relatime)
proc on /proc type proc (rw,relatime)
ramfs on /tmp type ramfs (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
/dev/mtdblock8 on /data type jffs2 (rw,relatime)
# ls /dev/mtd*
/dev/mtd /dev/mtd4 /dev/mtdblock0 /dev/mtdblock5
/dev/mtd0 /dev/mtd5 /dev/mtdblock1 /dev/mtdblock6
/dev/mtd1 /dev/mtd6 /dev/mtdblock10 /dev/mtdblock7
/dev/mtd10 /dev/mtd7 /dev/mtdblock2 /dev/mtdblock8
/dev/mtd2 /dev/mtd8 /dev/mtdblock3 /dev/mtdblock9
/dev/mtd3 /dev/mtd9 /dev/mtdblock4
- /proc/cpuinfo:
system type : Ralink MT751020 SOC
processor : 0
cpu model : MIPS 34Kc V5.5
BogoMIPS : 498.07
wait instruction : yes
microsecond timers : yes
tlb_entries : 64
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0000, 0x0ff8, 0x0ff8, 0x0ff8]
ASEs implemented : mips16 dsp mt
shadow register sets : 1
core : 0
VCED exceptions : not available
VCEI exceptions : not available
processor : 1
cpu model : (null) V5.5
BogoMIPS : 374.37
wait instruction : yes
microsecond timers : yes
tlb_entries : 64
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0000, 0x0ff8, 0x0ff8, 0x0ff8]
ASEs implemented : mips16 dsp mt
shadow register sets : 1
core : 0
VCED exceptions : not available
VCEI exceptions : not available
processor : 2
cpu model : (null) V5.5
BogoMIPS : 374.37
wait instruction : yes
microsecond timers : yes
tlb_entries : 64
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0000, 0x0ff8, 0x0ff8, 0x0ff8]
ASEs implemented : mips16 dsp mt
shadow register sets : 1
core : 0
VCED exceptions : not available
VCEI exceptions : not available
processor : 3
cpu model : (null) V5.5
BogoMIPS : 374.37
wait instruction : yes
microsecond timers : yes
tlb_entries : 64
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0000, 0x0ff8, 0x0ff8, 0x0ff8]
ASEs implemented : mips16 dsp mt
shadow register sets : 1
core : 0
VCED exceptions : not available
VCEI exceptions : not available
- /proc/crypto:
name : stdrng
driver : krng
module : kernel
priority : 200
refcnt : 1
selftest : passed
type : rng
seedsize : 0
name : arc4
driver : arc4-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
type : cipher
blocksize : 1
min keysize : 1
max keysize : 256
name : aes
driver : aes-generic
module : kernel
priority : 100
refcnt : 1
selftest : passed
type : cipher
blocksize : 16
min keysize : 16
max keysize : 32
name : md5
driver : md5-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
type : shash
blocksize : 64
digestsize : 16
- /proc/mtd: (To calculate actual size of MTD, convert the size column from Hex to Decimal, the result will be the size in Kilobytes)
dev: size erasesize name
mtd0: 00040000 00020000 "bootloader"
mtd1: 00040000 00020000 "romfile"
mtd2: 0013645b 00020000 "kernel"
mtd3: 00770000 00020000 "rootfs"
mtd4: 030e0000 00020000 "tclinux"
mtd5: 001358d7 00020000 "kernel_slave"
mtd6: 00760000 00020000 "rootfs_slave"
mtd7: 02ae0000 00020000 "tclinux_slave"
mtd8: 00200000 00020000 "user_rootfs"
mtd9: 00500000 00020000 "user_config"
mtd10: 000a0000 00020000 "reservearea"
- #ps aux:
PID Uid VmSize Stat Command
1 admin 328 S init
2 admin SW [kthreadd]
3 admin SW [ksoftirqd/0]
4 admin SW [kworker/0:0]
5 admin SW [kworker/u:0]
6 admin SW [migration/0]
7 admin SW [migration/1]
9 admin SW [ksoftirqd/1]
10 admin SW [migration/2]
12 admin SW [ksoftirqd/2]
13 admin SW [migration/3]
14 admin SW [kworker/3:0]
15 admin SW [ksoftirqd/3]
16 admin SW< [khelper]
17 admin SW [sync_supers]
18 admin SW [bdi-default]
19 admin SW< [kblockd]
20 admin SW [kswapd0]
21 admin SW [fsnotify_mark]
22 admin SW< [aio]
23 admin SW< [crypto]
28 admin SW [mtdblock0]
29 admin SW [mtdblock1]
30 admin SW [mtdblock2]
31 admin SW [mtdblock3]
32 admin SW [mtdblock4]
33 admin SW [mtdblock5]
34 admin SW [mtdblock6]
35 admin SW [mtdblock7]
36 admin SW [mtdblock8]
37 admin SW [mtdblock9]
38 admin SW [mtdblock10]
40 admin SW [kworker/3:1]
41 admin SW [kworker/1:1]
42 admin SW [kworker/2:1]
43 admin SW [kworker/0:1]
51 admin SWN [jffs2_gcd_mtd8]
126 admin 2308 S /userfs/bin/cfg_manager
175 admin SW [kworker/u:1]
222 admin SW [pon_phy_task]
336 admin SW [kworker/1:2]
422 admin 60 S tcwdog -t 1 /dev/watchdog
527 admin 56 S /usr/bin/utelnetd -l /bin/login -d
644 admin 2308 S /userfs/bin/cfg_manager
645 admin 2308 S /userfs/bin/cfg_manager
646 admin 2308 S /userfs/bin/cfg_manager
647 admin 2308 S /userfs/bin/cfg_manager
648 admin 2308 S /userfs/bin/cfg_manager
650 admin 596 S /userfs/bin/epon_oam
652 admin 1276 S /userfs/bin/omci
1480 admin 308 S /userfs/bin/dropbear
1606 admin 324 S /usr/sbin/udhcpd
1941 admin 44 S /usr/bin/manager_watchdog
3130 admin 308 S /sbin/syslogd -l 5 -m 0 -O /data/log/messages -o /data/log/sec_messages -S -s 512
3134 admin 296 S /sbin/klogd
3370 admin 736 S /userfs/bin/boa -c /boaroot -d
3489 admin 452 S /bin/sh /usr/script/telnet_checker.sh
3516 admin 452 S /bin/sh /usr/script/cpu_usage_check.sh
3530 admin 2308 S /userfs/bin/cfg_manager
3531 admin 2308 S /userfs/bin/cfg_manager
3532 admin 596 S /userfs/bin/epon_oam
3535 admin 596 S /userfs/bin/epon_oam
3555 admin 596 S /userfs/bin/epon_oam
3558 admin 596 S /userfs/bin/epon_oam
3606 admin 596 S /userfs/bin/epon_oam
3651 admin 300 S /userfs/bin/nos_upgrade
3652 admin 300 S /userfs/bin/nos_upgrade
3654 admin 300 S /userfs/bin/nos_upgrade
3879 admin SW [kworker/2:2]
3997 admin 92 S init
4002 admin 1276 S /userfs/bin/omci
4003 admin 1276 S /userfs/bin/omci
4004 admin 1276 S /userfs/bin/omci
4005 admin 1276 S /userfs/bin/omci
4006 admin 1276 S /userfs/bin/omci
4007 admin 1276 S /userfs/bin/omci
4008 admin 1276 S /userfs/bin/omci
4009 admin 1276 S /userfs/bin/omci
4010 admin 1276 S /userfs/bin/omci
9092 admin 552 S pppd unit 0 user vtv_XXXXXXX password XXXXXX nodetach holdoff 4 maxfail 0 usepeerdns lcp-echo-interval 60 lcp-echo-failure 3 plugin libpppoe.so nas0 defaultroute noipdefault persist mtu
11069 admin 100 S /sbin/udhcpc -i nas6 -s /usr/script/udhcpc_nodef.sh -p /var/run/udhcpc-nas6.pid -m XX:XX:XX:XX:XX:XX
12286 admin 1620 S /userfs/bin/snmpd -Ln -c /etc/snmp/snmpd.conf -p /var/log/snmpd.pid
14266 admin 304 S /userfs/bin/dnsmasq
22612 admin 552 S /userfs/bin/dropbear
22906 admin 500 S -sh
27644 admin 92 S sleep 5
27727 admin 92 S sleep 10
27756 admin 340 R ps aux
- #ls /boaroot/cgi-bin (notice these files, there will be more fun after this)
OutVariant.asp adv_nat_alg_switch.asp cfm_mip.asp home_wireless_5g.asp reboot.asp tools_update.asp
WLAN_Scheduling.asp adv_nat_dmz.asp cfm_status.asp home_wireless_cht.asp ssid_index2.asp upnp_portforward_list.asp
access_URLfilter.asp adv_nat_ipaddrmap.asp cfm_status_log.cgi home_wizard.asp status.asp video_status.asp
access_acl.asp adv_nat_porttriggering.asp current_users.asp index.asp status_deviceinfo.asp virsvr_table.cgi
access_acl2.asp adv_nat_porttriggering_list.asp gem_rate.cgi index_new.asp status_deviceinfo_bhati.asp wifiqa_advanced.asp
access_appfilter.asp adv_nat_top.asp gem_rate_info.asp index_org.asp status_dhcp.asp wifiqa_advanced_cht.asp
access_auth.asp adv_nat_virsvr.asp getCANames.cgi ipaddr_table.cgi status_log.cgi wifiqa_apstatistics.asp
access_auth_registerID.asp adv_ontmode.asp getCertNames.cgi loginFail.asp status_log_bhati.cgi wifiqa_basic.asp
access_cwmp.asp adv_portbinding.asp help_access.asp logout.cgi status_new.asp wifiqa_wmm.asp
access_ddns.asp adv_pvidsetting.asp help_advanced.asp more_client_list.asp status_statistics.asp wizardBridge.asp
access_ipfilter.asp adv_qos.asp help_index.asp more_client_list_2.asp tools_admin.asp wizardConType.asp
access_l2filter.asp adv_qoslist.asp help_interface.asp more_client_list_3.asp tools_admin_cht.asp wizardDHCP.asp
access_l3filter.asp adv_routepolicy.asp help_maintenance.asp navigation-access.asp tools_autoprovision.asp wizardPPP.asp
access_l4appctrl.asp adv_routepolicy_summary.asp help_quickstart.asp navigation-advanced.asp tools_config_backup.asp wizardStatic.asp
access_parental.asp adv_routepolicy_url_summary.asp help_status.asp navigation-basic.asp tools_config_restore.asp wizardTZ.asp
access_snmp.asp adv_routing.asp home_advancedwireless.asp navigation-help.asp tools_factory_restore.asp wizardclose.asp
access_sshd.asp adv_routing_table.asp home_lan.asp navigation-left-cht.asp tools_firmware.asp wizardcomp.asp
access_upnp.asp adv_static_route.asp home_pvclist.asp navigation-left.asp tools_management.asp wizardpwd.asp
admin.asp adv_vlan_group.asp home_servlist.asp navigation-maintenance.asp tools_remove_tftp.cgi wizardset.asp
adv_6rdtunnel.asp adv_vlan_pvid.asp home_setup.asp navigation-status.asp tools_save.asp wizardstart.asp
adv_adsl.asp adv_vlan_top.asp home_wan.asp navigation-status_ssid2.asp tools_system.asp
adv_firewall.asp adv_vpn_connection.asp home_wan2.asp navigation.asp tools_test.asp
adv_fonnet.asp adv_vpn_setting.asp home_wan2_setup.asp portbinding_table.asp tools_tftp.asp
adv_gpon.asp cfm_action.asp home_wan2_setup_cht.asp porttriggering_list.cgi tools_tftp.cgi
adv_ipv6_static_route.asp cfm_mep.asp home_wireless.asp pppoe_pwd.cgi tools_time.asp
- Unencrypted config file is located at /tmp/var/romfile.cfg
3. Web interface vulnerables:
This router have a security issue which allows anyone to access its .cgi page without any password.
As you can see above, we have some .cgi pages
cfm_status_log.cgi getCANames.cgi ipaddr_table.cgi porttriggering_list.cgi status_log.cgi tools_remove_tftp.cgi virsvr_table.cgi
gem_rate.cgi getCertNames.cgi logout.cgi pppoe_pwd.cgi status_log_bhati.cgi tools_tftp.cgi
Most of them is not that interesting but take a look at these files:
- pppoe_pwd.cgi: This file will show the password of the PPPoE account running inside the router, it only show PPPoE Password but not Username though…
- status_log.cgi: This file will reading from /data/log/messages which is the device’s syslogd, there’s nothing much interesting in it, it could also can access via Maintenance -> Logs -> System Log in the web interface.
- status_log_bhati.cgi: This is the most interesting one, it’s the kernel kmsg which having the router’s MAC Address in there, the GPON S/N is a MAC Address and also very similar to the one you could get in here, assuming the router is exposed on the internet, anyone could access this file and try to login using this MAC address (assuming the user didn’t changed the default password and this router’s default password is the GPON S/N)
Update: Actually not needed to knowing the Router’s MAC address, just use the hardcoded Telnet password and you’ll get in easily.
Also the Web Interface password is not hashed, it is encoded using base64 and saved in the romfile.cfg, you could even get the data from the export
command to print out environment variables in Telnet (SSH don’t have these)
# export
export DS_CONFIG_CONSOLE_PASSWD='dmVydGV4MjVla3RrczEyMw=='
export DS_CONFIG_CONSOLE_USERNAME='admin'
...
export DS_CONFIG_WEB_ACC_NAME_0='admin'
export DS_CONFIG_WEB_ACC_NAME_1='user'
export DS_CONFIG_WEB_ACC_NAME_2='guest'
export DS_CONFIG_WEB_ACC_NUM='3'
export DS_CONFIG_WEB_ACC_PASSWD_0='dmVydGV4MjU='
export DS_CONFIG_WEB_ACC_PASSWD_1='MTIzNA=='
export DS_CONFIG_WEB_ACC_PASSWD_2='MTIzNA=='
4. Firmware hacking
The device having a populated UART header and an unpopulated JTAG header on the board, this is what get spilled out at the UART when boot
DRAMC V2.0 (0)
DRAMC V2.0.0.1 (0)
MT751020 at Wed Dec 16 00:42:14 KST 2015 version 1.6.0 free bootbase
Memory size 128MB
NAND Page size:2048B,Total size 128MB
bmt pool size: 81
Press 's' key in 3 secs to enter boot command mode.
............................................................
Invalid Power GPIO, just return and don't turn on Power LED
==> boot flag = 0
Decompress to 80002000 free_mem_ptr=80600000 free_mem_ptr_end=80780000
from main
Uncompressing [LZMA] ... done.
busybox init and set aff
init started: BusyBox v1.00 (2017.06.22-08:43+0000) multi-call binary
chmod: /userfs/profile.cfg: Read-only file system
Unlocking bootloader ...
Writing from /tmp/boot.bin to bootloader ...
[ w ]
TCSUPPORT_IPV6
net.netfilter.nf_conntrack_max = 8196
net.netfilter.nf_conntrack_tcp_timeout_established = 3600
net.netfilter.nf_conntrack_tcp_timeout_close = 10
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 10
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 10
net.netfilter.nf_conntrack_tcp_timeout_last_ack = 10
chmod: /etc/xml/xml: Read-only file system
mtd[readflash]:device=reservearea tclen=512 tcoffset=524288
Unlocking reservearea ...
Reading from reservearea to /tmp/RT30xxEEPROM.bin ...
mtd[readflash]:device=reservearea tclen=64 tcoffset=525312
Unlocking reservearea ...
Reading from reservearea to /tmp/wlan_cal_info ...
Error--MCL activate value is NULL.
modprobe: could not parse modules.dep
The kernel doesn't support the ebtables 'filter' table.
modprobe: could not parse modules.dep
The kernel doesn't support the ebtables 'filter' table.
modprobe: could not parse modules.dep
The kernel doesn't support the ebtables 'filter' table.
Cannot find device "br0"
insmod raeth driver
cat: /proc/tc3162/hwnat_wan_account: No such file or directory
route: SIOC[ADD|DEL]RT: No such device
==>wlan_read:ioctl open fail
TCSUPPORT_WLAN
iptables: No chain/target/match by that name.
TCSUPPORT_WLAN_MULTIDRIVER
SIOCGIFFLAGS: No such device
done
TCSUPPORT_WLAN: ifconfig
SIOCSIFADDR: No such device
SIOCGIFFLAGS: No such device
interface rai0 does not exist!
telnetd: starting
port: 23; login program: /bin/login
SSH
four ports
SIOCGIFFLAGS: No such device
interface eth0.1 does not exist!
sh: vconfig: not found
SIOCGIFFLAGS: No such device
interface eth0.2 does not exist!
sh: vconfig: not found
SIOCGIFFLAGS: No such device
interface eth0.3 does not exist!
sh: vconfig: not found
SIOCGIFFLAGS: No such device
interface eth0.4 does not exist!
sh: vconfig: not found
device eth0 is already a member of a bridge; can't enslave it to bridge br0.
Added VLAN with VID == 1 to IF -:eth0:-
WARNING: VLAN 1 does not work with many switches,
consider another number if you have problems.
Added VLAN with VID == 2 to IF -:eth0:-
Added VLAN with VID == 3 to IF -:eth0:-
Added VLAN with VID == 4 to IF -:eth0:-
mtd[readflash]:device=reservearea tclen=1 tcoffset=541696
Unlocking reservearea ...
Reading from reservearea to /tmp/bootflag ...
mtd[readflash]:device=tclinux tclen=32 tcoffset=16
Unlocking tclinux ...
Reading from tclinux to /tmp/main_trx.bin ...
mtd[readflash]:device=tclinux tclen=4 tcoffset=0
Unlocking tclinux ...
Reading from tclinux to /tmp/main_magic.bin ...
mtd[readflash]:device=tclinux_slave tclen=32 tcoffset=16
Unlocking tclinux_slave ...
Reading from tclinux_slave to /tmp/slave_trx.bin ...
mtd[readflash]:device=tclinux_slave tclen=4 tcoffset=0
Unlocking tclinux_slave ...
Reading from tclinux_slave to /tmp/slave_magic.bin ...
mtd[readflash]:device=reservearea tclen=1 tcoffset=541696
Unlocking reservearea ...
Reading from reservearea to /tmp/boot_flag_read ...
00:00:17 imgr.c [71]: Initial system driver.
00:00:17 imgr.c [77]: Initial pthread parameters.
00:00:17 imgr.c [83]: Initial dispatcher.
00:00:17 dspch_init.c [23]: Create IPC trap message queue
00:00:17 dspch_init.c [36]: Create IPC trap message queue
00:00:17 imgr.c [89]: Initial database manager.
00:00:17 dbmgr_init.c [32]: Create database memory.
00:00:17 dbmgr_init.c [38]: Create the share database memory successful.
00:00:17 dbmgr_init.c [41]: The total share database size is 0.
00:00:17 imgr.c [95]: Initial config manager.
00:00:17 imgr.c [101]: Initial fault manager.
00:00:17 imgr.c [107]: Initial performance manager.
insmod: cannot insert `/lib/modules/2.6.36/kernel/net/ipv4/netfilter/iptable_filter.ko': File exists (-1): File exists
chmod: /userfs/profile.cfg: Read-only file system
/etc/isp0.conf
/usr/script/wan_start_boot.sh: 925: Syntax error: end of file unexpected
/etc/isp1.conf
/etc/isp2.conf
Cannot find device "imq0"
bad action parsing
parse_action: bad value (5:mirred)!
Illegal fw "action"
/etc/isp3.conf
/etc/isp4.conf
/etc/isp5.conf
/etc/isp6.conf
/etc/isp7.conf
conntrack v1.2.2 (conntrack-tools): connection tracking table has been emptied.
method = HW_NAT_TAB_CLEAN
done
iptables: No chain/target/match by that name.
RTNETLINK answers: No such file or directory
RTNETLINK answers: No such file or directory
RTNETLINK answers: No such file or directory
RTNETLINK answers: No such file or directory
RTNETLINK answers: No such file or directory
RTNETLINK answers: No such file or directory
RTNETLINK answers: No such file or directory
RTNETLINK answers: No such file or directory
conntrack v1.2.2 (conntrack-tools): connection tracking table has been emptied.
method = HW_NAT_TAB_CLEAN
done
SIOCDIFADDR: Cannot assign requested address
SIOCDIFADDR: Cannot assign requested address
killall: dropbear: no process killed
udhcpd (v0.9.9-pre) started
Jan 1 00:00:23 udhcpd[1606]: udhcpd (v0.9.9-pre) started
Unable to open /etc/udhcpd.leases for reading
Jan 1 00:00:23 udhcpd[1606]: Unable to open /etc/udhcpd.leases for reading
sh: /userfs/bin/dproxy: not found
killall: wscd: no process killed
chmod: /userfs/profile.cfg: Read-only file system
chmod: /userfs/profile.cfg: Read-only file system
chmod: /userfs/profile.cfg: Read-only file system
chmod: /userfs/profile.cfg: Read-only file system
chmod: /userfs/profile.cfg: Read-only file system
chmod: /userfs/profile.cfg: Read-only file system
chmod: /userfs/profile.cfg: Read-only file system
chmod: /userfs/profile.cfg: Read-only file system
chmod: /userfs/profile.cfg: Read-only file system
chmod: /userfs/profile.cfg: Read-only file system
chmod: /userfs/profile.cfg: Read-only file system
chmod: /userfs/profile.cfg: Read-only file system
iptables: Chain already exists.
sh: cannot create /proc/tc3162/qos_switch: Directory nonexistent
/etc/lanAlias0.conf
killall: klogd: no process killed
killall: syslogd: no process killed
ftp switch turn on
sip switch turn on
h323 switch turn on
rtsp switch turn on
l2tp switch turn on,sw_state=
iptables: Bad rule (does a matching rule exist in that chain?).
ipsec switch turn on,sw_state=
iptables: Bad rule (does a matching rule exist in that chain?).
pptp switch turn on
done
killall: boa: no process killed
killall: telnet_checker.sh: no process killed
killall: tftpd: no process killed
killall: inetd: no process killed
send: Broken pipe
mkdir: Cannot create directory `/tmp/cwmp': File exists
mtd[writeflash]:device=reservearea tclen=1 tcoffset=541696 tcfilelen =2
Unlocking reservearea ...
Writing from /tmp/boot_flag_write to reservearea ...
enter real action -----tclen:0x1,tcoffset:0x84400
writeflash: write 0 'st sector,start from 0x80000,0x1 bytes
[e] [w] writeflash: total write 0x1 bytes
cp: /etc/udhcp_lease: No such file or directory
cp: /etc/udhcp_external_lease: No such file or directory
sendEponOamCmdMsg open message queue fail!
Unlocking romfile ...
Writing from /tmp/var/romfile.cfg to romfile ...
[ ] [e] [w] [w] [w] [w] [w]
rai0 no private ioctls.
rai0 no private ioctls.
rai0 no private ioctls.
switch qos type: sp.
switch qos base : 2. (port-based:0, tag-based:1, dscp-based:2, acl-based:3, arl-based:4, stag-based:5)
write reg: 44, value: 227222
dir: 0, port: 6, rate: 1000000
write reg: 1640
write val: 7a12808f
net.ipv4.conf.all.arp_filter = 1
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
^MT7530 switch kernel API (002D, 0, 00000000) return -1 !
^MT7530 switch kernel API (002D, 1, 00000000) return -1 !
iptables: Chain already exists.
^MT7530 switch kernel API (002D, 2, 00000000) return -1 !
^MT7530 switch kernel API (002D, 3, 00000000) return -1 !
device ra1 is not a slave of br0
device ra2 is not a slave of br0
device ra3 is not a slave of br0
unregister_netdevice: waiting for ra0 to become free. Usage count = 1
device ra0 is already a member of a bridge; can't enslave it to bridge br0.
device ra1 is not a slave of br0
device ra2 is not a slave of br0
device ra3 is not a slave of br0
killall: wscd: no process killed
Interface doesn't accept private ioctl...
set (8BE2): Invalid argument
killall: rtdot1xd: no process killed
Ralink DOT1X daemon, version = '2.5.0.0'
Please press Enter to activate this console.
This console is the same as the Telnet console, nothing special about it.
The unencrypted ROM configuration file is located at /tmp/var/romfile.cfg, it is a clear text XML file which contains all the configuration data (Panel password, PPPoE account, WiFi…) and it get written to /dev/mtd1 when you save configuration and get loaded on boot.
To write the romfile.cfg to the romfile partition, use this command:
/userfs/bin/mtd write /tmp/var/romfile.cfg romfile