User Tools

Site Tools


toh:tp-link:td-w8970

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
toh:tp-link:td-w8970 [2014/08/24 13:06]
jininrage
toh:tp-link:td-w8970 [2015/06/20 09:00] (current)
Wingman2k [VDSL.BIN]
Line 11: Line 11:
   * OEM source code available at: [[http://​www.tp-link.com/​resources/​gpl/​GPL_TD-W8970.tar.gz|GPL_TD-W8970.tar.gz]]   * OEM source code available at: [[http://​www.tp-link.com/​resources/​gpl/​GPL_TD-W8970.tar.gz|GPL_TD-W8970.tar.gz]]
   * ADSL/VDSL works   * ADSL/VDSL works
-  * switch is passing traffic (tagged + untagged) +  * switch is passing traffic (tagged + untagged), but passing it to all ports https://​dev.openwrt.org/​ticket/​15511 
-  * wifi doesn'​t work [[https://​dev.openwrt.org/​ticket/​17069|#​17069]]+  * wifi doesn'​t work (regression since r40948) ​[[https://​dev.openwrt.org/​ticket/​17069|#​17069]]
  
 ==== Work-in-progress ==== ==== Work-in-progress ====
Line 32: Line 32:
 ===== Installation ===== ===== Installation =====
  
 +At the time of writing, the only known method of installation involves access to the bootloader, which requires using the serial console. ​ This in turn requires opening the device to access the contacts on the circuit board.
  
 +Once a serial console has been established (see below for further details) the following method worked for at least one person:
 +
 +  - Download the openwrt-lantiq-xrx200-TDW8970-uImage-initramfs image from wherever you can find it (the [[http://​downloads.openwrt.org/​barrier_breaker/​14.07/​lantiq/​xrx200/​|official release]] does not supply a uImage with an initramfs, so booting that just gives you an error about a missing root filesystem.)
 +  - Switch on the device and press '​t'​ on the serial console until you get a prompt, then run commands similar to these:
 +    - Set the device'​s IP if you don't want the default 192.168.1.1:​ (so you don't have to move your TFTP server onto a different subnet)<​code>​setenv ipaddr 192.168.1.1</​code>​
 +    - Set the address of your TFTP server:<​code>​setenv serverip 192.168.1.2</​code>​
 +    - Set the board type:<​code>​setenv bootargs '​board=WD8970'</​code>​
 +    - Download the image into RAM (*not* flash):<​code>​tftpboot openwrt-lantiq-xrx200-TDW8970-uImage-initramfs</​code>​
 +    - Boot the image from RAM:<​code>​bootm</​code>​
 +  - If OpenWRT boots successfully,​ download the [[http://​downloads.openwrt.org/​barrier_breaker/​14.07/​lantiq/​xrx200/​|official release]] sysimage into /tmp
 +  - Flash the newly downloaded sysimage:<​code>​sysupgrade /​tmp/​openwrt-lantiq-xrx200-TDW8970-sysupgrade.image</​code>​The flash is extremely slow on this device (~100kB/​sec) so the write takes a long time.
 +  - Find the DSL firmware which is not included in the image and copy it into /​lib/​firmware/​vdsl.bin (this file is referenced in /​etc/​config/​network)
 +
 +===== Installation direct to Flash =====
 +
 +I had trouble to obtain a working initramfs image, but it is possible to flash the sysupgrade image directly. There should be a recommendation to have serial connection to the board, I needed it some times in the beginning, also could not find a failsafe mode.
 +
 +Once a serial console has been established (see below for further details):
 +  - Download the openwrt-lantiq-xrx200-TDW8970-uImage-sysupgrade.image,​ BARRIER BREAKER (14.07, r42625) worked for me.
 +  - Switch on the device and press '​t'​ on the serial console until you get a prompt, then run commands similar to these:
 +    - Set the device'​s IP if you don't want the default 192.168.1.1:​ (so you don't have to move your TFTP server onto a different subnet)<​code>​setenv ipaddr 192.168.1.1</​code>​
 +    - Set the address of your TFTP server:<​code>​setenv serverip 192.168.1.2</​code>​
 +    - Set the board type (not sure if this is necessary):<​code>​setenv bootargs '​board=WD8970'</​code>​
 +    - Download the image into RAM (*not* flash):<​code>​tftpboot 0x80800000 openwrt-lantiq-xrx200-TDW8970-sysupgrade.image</​code>​
 +    - Erase the rootfs flash area:<​code>​sf erase 0x20000 0x7a0000</​code>​
 +    - Write image to flash:<​code>​sf write 0x80800000 0x20000 0x680004</​code>​
 +    - Reboot into OpenWRT:<​code>​reset</​code>​
 +  - the rootfs area is 0x7c0000, erase command is to 0x7a000 and BB image is only 0x680004 in size, so it works anyway. If your image is bigger, custom or next release you see the size after tftpboot command and need to adjust it.
 +  - be careful when erasing/​writing the flash the radio is required for WLAN and should not be overwritten or erased. A backup is nice to have if something went wrong, it stores also the MAC address for your WLAN (ART Partition).
 +
 +==== Restore TP-LINK FW ====
 +
 +For testing purpose only ;-) wrote this from my notes it should work.
 +
 +Once a serial console has been established (see below for further details):
 +  - Obtain your Image, you need to care about you model type TD-W8970 or TD-W8970B both images work but the modem part is different. You might need to strip the header off with "dd if=orig.bin of=tplink.bin skip=257 bs=512"​ for newer FW like "​TD-W8970B_V1_130918.bin"​ or flash an older one directly like "​TD-W8970v1_0.6.0_2.1_up(130415).bin"​
 +  - Switch on the device and press '​t'​ on the serial console until you get a prompt, then run commands similar to these:
 +    - Set the device'​s IP if you don't want the default 192.168.1.1:​ (so you don't have to move your TFTP server onto a different subnet)<​code>​setenv ipaddr 192.168.1.1</​code>​
 +    - Set the address of your TFTP server:<​code>​setenv serverip 192.168.1.2</​code>​
 +    - Set the board type (not sure if this is necessary might be also WD8970B):<​code>​setenv bootargs '​board=WD8970'</​code>​
 +    - Download the image into RAM (*not* flash):<​code>​tftpboot 0x80800000 TD-W8970v1_0.6.0_2.1_up(130415).bin</​code>​
 +    - Erase the rootfs flash area:<​code>​sf erase 0x20000 0x7a0000</​code>​
 +    - Write image to flash:<​code>​sf write 0x80800000 0x20000 0x7a0000</​code>​
 +    - Reboot:<​code>​reset</​code>​
 +  - the rootfs area is 0x7c0000, erase command is to 0x7a000 and write is also 0x7a000 you can see the image size in after the tftpboot command
 +  - be careful when erasing/​writing the flash the radio is required for WLAN and should not be overwritten or erased. A backup is nice to have if something went wrong, it stores also the MAC address for your WLAN (ART Partition).
 +
 +==== VDSL.BIN ====
 +
 +A whole Point for this? yes there is much trouble with this. But the Devs made it very simple, you only need to know. There is a command for obtaining the vdsl.bin and put it to an separate partition that is mounted in the right place, so it does not eat up your free space. But the Telekom removed the Image they chose to obtain the bin because of stability issues with their HW. The replacement for this is V1.21 and is available on their server. You can either get a newer "​vdsl_fw_install"​ (this is the command) or modify it to work again.
 +edit the comand with vi:<​code>​vi /​sbin/​vdsl_fw_install.sh</​code>​
 +edit line URL to:<​code>​URL="​http://​hilfe.telekom.de/​dlp/​eki/​downloads/​Speedport/​Speedport%20W%20921V/​Firmware_Speedport_W921V_1.21.000.bin"</​code>​
 +edit line MD5 to:<​code>​MD5_FW="​0a099d08dbf091c74d685b532cbb1390"</​code>​
 +and run it:<​code>​vdsl_fw_install.sh</​code>​
 +It is fixed in trunk already, you can also obtain other working bins, to play around, they should only meet your Annex Type.
 +
 +You might need to obtain the files via internet, so you need to setup the device as a client first. To do so temporary you need to set the nameserver and maybe th IP.
 +to set the IP:<​code>​udhcp -i br-lan</​code>​
 +to set the NS:<​code>​echo "​nameserver 192.168.1.254"​ > /​tmp/​resolv.conf</​code>​ mine is 192.168.1.254
 +
 +it seems the TCOM server only offers https but wget does not [[http://​wiki.openwrt.org/​doc/​howto/​wget-ssl-certs|http://​wiki.openwrt.org/​doc/​howto/​wget-ssl-certs]] you can either specify another Webserver after the command or download it to /tmp on the device and run it
 +==== DSL Settings ====
 +
 +depending on you Country/ISP you need to modify your DSL config settings, ATM or PTM and Annex A or B the following is the default:
 +<​code>​config vdsl '​dsl'​
 +option annex '​a'​
 +option firmware '/​lib/​firmware/​vdsl.bin'​
 +option tone '​av'​
 +option xfer_mode '​atm'</​code>​
 +to set it for Annex B issue the next 2 commands and with PTM the next 3 (you need to install the Kernel Module with the fourth)
 +<​code>​uci set network.dsl.annex=b
 +uci set network.dsl.tone=bv
 +uci set network.dsl.xfer_mode=ptm
 +opkg install kmod-ltq-ptm-vr9</​code>​
  
 ==== Flash layout ==== ==== Flash layout ====
toh/tp-link/td-w8970.1408878404.txt.bz2 · Last modified: 2014/08/24 13:06 by jininrage