User Tools

Site Tools


toh:tp-link:tl-wr741nd

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:tl-wr741nd [2013/02/04 12:37]
hrvooje
toh:tp-link:tl-wr741nd [2015/01/25 22:28] (current)
valentt [Serial port mod]
Line 4: Line 4:
  
  
 +===== Hardware Highlights =====
 +^ Ver ^ CPU ^ RAM ^ Flash ^ Network ^ Wireless ^USB ^ Serial ^ JTag ^ Wiki ^ FCC ^
 +| 1.6 | Atheros AR7240 @ 350 MHz | 32 MB | 4 MB | 1 WAN + 4x LAN (100 Mbit) | AR9285 [bgn 1x1:1] | mod | Yes | No | [[https://​wikidevi.com/​wiki/​TP-LINK_TL-WR741ND_v1.6|Link]] | [[https://​fcc.io/​TE7/​WR741NX|FCC ID TE7WR741NX]] |
 +| 1.9 | Atheros AR7240 @ 350 MHz | 32 MB | 4 MB | 1 WAN + 4x LAN (100 Mbit) | AR9285 [bgn 1x1:1] | mod | Yes | No | [[https://​wikidevi.com/​wiki/​TP-LINK_TL-WR741ND_v1.9|Link]] | |
 +| 2.4 | Atheros AR7240 @ 350 MHz | 32 MB | 4 MB | 1 WAN + 4x LAN (100 Mbit) | AR9285 [bgn 1x1:1] | mod | Yes | No | [[https://​wikidevi.com/​wiki/​TP-LINK_TL-WR741ND_v2.4|Link]] | FCC ID TE7WR741NDV2 |
 +| 3.1 | Atheros AR7240 @ 350 MHz | ? | 4 MB | 1 WAN + 4x LAN (100 Mbit) | AR9285 [bgn 1x1:1] | ? | Yes | No | [[https://​wikidevi.com/​wiki/​TP-LINK_TL-WR741ND_v3.1|Link]] | Presumedly FCC ID TE7WR741ND**V2** as well |
 +| 4.3 | Atheros AR9331 @ 400 MHz | 32 MB | 4 MB | 1 WAN + 4x LAN (100 Mbit) | AR9331 [bgn 1x1:1] | mod | Yes | No | [[https://​wikidevi.com/​wiki/​TP-LINK_TL-WR741ND_v4.3|Link]] | FCC ID TE7WR741NDV4 |
 +| 5 | ? | ? | ? | ? | ? | ? | ? | ? | ? | [[https://​fcc.io/​TE7/​WR741NX|FCC ID TE7WR741NXV5]] |
 +
 +Version 4.x and above utilise the AR9331 chipset (Confirmed on UK v4.3 model). Chinese models may differ - TP-Link appear to have started using vxWorks and reducing the flash to 2MB and RAM to 16MB on some of their newer versions for the Chinese market.
 +
 +
 +===== Supported Versions =====
 +{{:​meta:​48px-question.svg.png?​nolink&​24|Keeping the overview }} For clarity and ease of use we should consider trimming this list. I have rebooted the [[http://​wiki.openwrt.org/​toh/​tp-link/​tl-wr741nd#​hardware_highlights|hardware list]] which  should help clearing the duplicates. For example, judging from the details available at [[https://​wikidevi.com/​wiki/​Main_Page|WikiDevi]],​ the v1.6 and v1.9 seem already identical. The fact OpenWrt images only cover major updates (ie v1, v2, v4) should be a further indicator. -- Bernini 2015-01-06
  
-====== Supported Versions ====== 
 ^ Model Version ^ Launch Date ^ OpenWrt Version Supported ^ Model Specific Notes ^ ^ Model Version ^ Launch Date ^ OpenWrt Version Supported ^ Model Specific Notes ^
-| v1 | - | Backfire 10.03 | - | +| v1.| - | Backfire 10.03.1 | v1.9 has a different flash chip compared to other v1.x models, see [[https://dev.openwrt.org/​changeset/​23712|SVN r23712]] and  ​[[https://​dev.openwrt.org/​ticket/8146|related ticket]]. | 
-| v1.| - | Backfire 10.03.1 | [[http://​downloads.openwrt.org/​backfire/​10.03.1/​ar71xx/​openwrt-ar71xx-tl-wr741nd-v1-squashfs-factory.bin|r29592]] tested & seems ok on TL-WR741ND(RU)v1.3 from fw:3.12.4 | +v2 | - | Backfire 10.03.1 | Tested with r29614, working correctly. |
-| v1.4 | - | Backfire 10.03.1 | [[https://forum.openwrt.org/​viewtopic.php?​pid=125674#​p125674|Success]] +
-| v1.5 | - | Backfire 10.03.1 (r22689) ​ | [[#​tl-wr741nd.v1.5|Success]] | +
-| v1.6 | 2011-10? | Backfire 10.03.1 | [[https://forum.openwrt.org/​viewtopic.php?​pid=146140#​p146140|Success]] +
-| v1.8 | - | Backfire 10.03 | [[https://​forum.openwrt.org/​viewtopic.php?​id=24902| Success]] ​+
-v1.9 2010-10 | Backfire 10.03.1 ​(r23714) ​[[https://​dev.openwrt.org/​ticket/​8146|8146]] | +
-| v2 | - | trunk (r29614) | Tested, working correctly. ​[[http://​downloads.openwrt.org/​snapshots/​trunk/​ar71xx/​openwrt-ar71xx-generic-tl-wr741nd-v2-squashfs-factory.bin|(r29614)]] ​|+
 | v2.1 | - | {{:​meta:​icons:​tango:​dialog-error.png?​nolink&​24 | Test at your own risk }} trunk (r27195) | [[https://​forum.openwrt.org/​viewtopic.php?​id=30339|notes]] | | v2.1 | - | {{:​meta:​icons:​tango:​dialog-error.png?​nolink&​24 | Test at your own risk }} trunk (r27195) | [[https://​forum.openwrt.org/​viewtopic.php?​id=30339|notes]] |
 | v2.3 | - | {{:​meta:​icons:​tango:​dialog-error.png?​nolink&​24 | Test at your own risk }} trunk (r28601) | Tested Backfire revision 28601 | | v2.3 | - | {{:​meta:​icons:​tango:​dialog-error.png?​nolink&​24 | Test at your own risk }} trunk (r28601) | Tested Backfire revision 28601 |
-| v2.4 | - | {{:​meta:​icons:​tango:​dialog-error.png?​nolink&​24 | Test at your own risk }} trunk (r26878) ​| Rounded chassis (box branded WR740N). ​Using r30919 needed ​[[https://forum.openwrt.org/viewtopic.php?​id=30339|notes]] to access the router**Attitude Adjustment 12.09-beta testedworks.**| +| v2.4 | - | Attitude Adjustment 12.09 | Rounded chassis (box branded WR740N). ​
-v3 | 2011-08 | {{:​meta:​icons:​tango:​dialog-error.png?​nolink&​24 | Test at your own risk }} untested |  ​+| v3 | 2011-08 | ? | [[https://wikidevi.com/wiki/TP-LINK_TL-WR741ND_v3.1|WikiDevi]] only knows a v3.1no v3. Confirms OpenWrt support though. ​
-| v3.1 | - | {{:​meta:​icons:​tango:​dialog-error.png?nolink&​24 | Test at your own risk }} tested ​| [[https://​forum.openwrt.org/​viewtopic.php?​pid=142541#​p142541| ​First report ​]] | +| v3.1 (CN) | - | ? | [[https://​forum.openwrt.org/​viewtopic.php?​pid=142541#​p142541|This forum thread]] suggests support, but user hacked a v1 OpenWrt image to test. 
-| v4    | 2011-09 | {{:​meta:​icons:​tango:​48px-dialog-warning.svg.png?​nolink&​24 |Stability warning }} trunk (r28709) ​| AR9331 chipset | +| v4    | 2011-09 | Attitude Adjustment 12.09 | AR9331 chipset
-| v4.3  | -       | trunk (r31249) | Hardware ​reports "​TP-LINK TL-WR741ND v4".\\ Works with trunk 31249, probably also works with earlier versions. | +| v4.3  | -       ​| ​Attitude Adjustment 12.09 | Working as of trunk r31249, hardware ​reports "​TP-LINK TL-WR741ND v4". | 
-| v4.20 | 2012-04 | trunk (31273) ​Confirmed working with trunk 31273probably working with earlier. Note: 4.20 is newer than 4.3 | +| v4.20 | 2012-04 | Attitude Adjustment 12.09 Working as of trunk r31273note 4.20 is newer than 4.3
-| v4.21 | - | trunk (32793) | Confirmed working with trunk 32793, probably working with earlier.| +| v4.21 | - | Attitude Adjustment 12.09 |  ​
-| v4.22 | - | trunk (35240) ​Confirmed working with trunk 35240. |+| v4.22 | - | Attitude Adjustment 12.09  | 
 +| v4.23 | - | Attitude Adjustment 12.09 |  | 
 +| v4.27 | - | Attitude Adjustment 12.09 |  ​|
  
-====== Hardware Highlights ====== 
-^ CPU ^ Ram ^ Flash ^ Network ^ USB ^ Serial ^ JTag ^ 
-| Atheros AR7240 @ 350 MHz | 32 MiB | 4 MiB | 4 x 1| mod | Yes | No | 
  
-  * Atheros AR9285 wireless chip 
- 
-Version 4.x and above utilise the AR9331 chipset (Confirmed on UK v4.3 model). Chinese models may differ - TP-Link appear to have started using vxWorks and reducing the flash to 2MB and RAM to 16MB on some of their newer versions for the Chinese market. 
  
 ===== Installation ===== ===== Installation =====
- 
 This section details what is required to install and upgrade OpenWrt. ​ First we link to software that you should download before you start reading the instructions on how to install. This section details what is required to install and upgrade OpenWrt. ​ First we link to software that you should download before you start reading the instructions on how to install.
- 
-WARNING: I just test r29507 firmware, jffs2 version BRICK your router, you need serial cable and a tftp server to restore it. Use a squashfs version that works well. 
  
 {{:​meta:​icons:​tango:​48px-emblem-important.svg.png?​nolink |Important!}}Please **double-check** if the image revision you are downloading is **newer** than supported by the "Model Version"​ of your router. {{:​meta:​icons:​tango:​48px-emblem-important.svg.png?​nolink |Important!}}Please **double-check** if the image revision you are downloading is **newer** than supported by the "Model Version"​ of your router.
Line 62: Line 62:
 |r29342]] | | | | |r29342]] | | | |
 |  4.21 | Attitude Adjustment 12.09-rc1 | | [[ |  4.21 | Attitude Adjustment 12.09-rc1 | | [[
 +http://​downloads.openwrt.org/​attitude_adjustment/​12.09-rc1/​ar71xx/​generic/​openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-factory.bin
 +|r34185]] | | | | |
 +|  4.22 | Attitude Adjustment 12.09-rc1 | | [[
 http://​downloads.openwrt.org/​attitude_adjustment/​12.09-rc1/​ar71xx/​generic/​openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-factory.bin http://​downloads.openwrt.org/​attitude_adjustment/​12.09-rc1/​ar71xx/​generic/​openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-factory.bin
 |r34185]] | | | | | |r34185]] | | | | |
Line 106: Line 109:
 http://​downloads.openwrt.org/​snapshots/​trunk/​ar71xx/​openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin http://​downloads.openwrt.org/​snapshots/​trunk/​ar71xx/​openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin
 |r29XXX]] | | | | | | |r29XXX]] | | | | | |
 +|  4.X | Trunk lastest ((Release number vary more frequently than Wiki update)) | [[
 +http://​downloads.openwrt.org/​snapshots/​trunk/​ar71xx/​openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin
 +|r38570]] | | | | | |
 +|  4.X | Trunk lastest ((Release number vary more frequently than Wiki update)) | [[
 +http://​downloads.openwrt.org/​snapshots/​trunk/​ar71xx/​openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin
 +|r39406]] | | | | | |
 +|  4.X | Trunk lastest ((Release number vary more frequently than Wiki update)) | [[
 +http://​downloads.openwrt.org/​snapshots/​trunk/​ar71xx/​openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin
 +|r39755]] | | | | | |
  
   *Download **PuTTY** and **PSCP** [[http://​www.chiark.greenend.org.uk/​~sgtatham/​putty/​download.html|tools for SSH connection]] even if you don't know what SSH is.   *Download **PuTTY** and **PSCP** [[http://​www.chiark.greenend.org.uk/​~sgtatham/​putty/​download.html|tools for SSH connection]] even if you don't know what SSH is.
Line 216: Line 228:
 ==== Back to original firmware ==== ==== Back to original firmware ====
  
-  * Downloadfor example, [[http://​www.tp-link.com/​support/toDownload.asp?​url=%2Fenglish%2Fsoft%2F2010422233510%2Ezip|TL-WR741ND_V1_100312]] if you not already did. Make sure to get an image for the right hardware version. The example is for v1 hardware only. +  * Go to TP-Link [[http://​www.tp-link.com/​en/​support/​download/?​model=TL-WR741ND|download page]]and choose correct router version (V1-V4).  
-  *Extract //wr741nv1_en_3_11_1_up(100312).bin// from the //2010422233510.zip// archive downloaded.+  * For example, [[http://​www.tp-link.com/​resources/software/​TL-WR741ND_V4.20_140410.zip|TL-WR741ND_V4.20_140410.zip]] if you not already did. Make sure to get an image for the right hardware version. The example is for v1 hardware only. 
 +  *Extract //wr741nv4_en_3_17_0_up_boot(140410).bin// from the //TL-WR741ND_V4.20_140410.zip// archive downloaded.
   *SCP it to /tmp on your router:   *SCP it to /tmp on your router:
  
  
-| <code winbatch>​PSCP.EXE -p wr741nv1_en_3_11_1_up(100312).bin root@192.168.1.1:/​tmp</​code>​ |+| <code winbatch>​PSCP.EXE -p wr741nv4_en_3_17_0_up_boot(140410).bin root@192.168.1.1:/​tmp</​code>​ |
 or  or 
-| <code bash>​scp ​wr741nv1_en_3_11_1_up(100312).bin root@192.168.1.1:/​tmp</​code>​ |+| <code bash>​scp ​wr741nv4_en_3_17_0_up_boot(140410).bin root@192.168.1.1:/​tmp</​code>​ |
  
   *Type your root password when prompted and a slow upload will start.   *Type your root password when prompted and a slow upload will start.
Line 230: Line 243:
 | <code bash> | <code bash>
 cd /tmp cd /tmp
-mv wr741nv1_en_3_11_1_up(100312).bin tplink.bin+mv wr741nv4_en_3_17_0_up_boot(140410).bin tplink.bin
 </​code>​ | </​code>​ |
  
-{{:​meta:​icons:​tango:​dialog-warning.png?​nolink |Warning!}}**WARNING:​** Only perform the dd action below if your original firmware has the word **"​boot"​** in it, for example, **wr741nv1_en_3_9_18_up_boot(100104).bin**.+{{:​meta:​icons:​tango:​dialog-warning.png?​nolink |Warning!}}**WARNING:​** Only perform the dd action below if your original firmware has the word **"​boot"​** in it, for example, **wr741nv4_en_3_17_0_up_boot(140410).bin**.
  
-{{:​meta:​icons:​tango:​48px-emblem-important.svg.png?​nolink |Important!}}Please **do not** dd your original firmware if it has no **"​boot"​** in its name, for example, **wr741nv1_en_3_11_1_up(100312).bin**, because if you do, **you will brick your router!** This was confirmed by [[https://​forum.openwrt.org/​viewtopic.php?​pid=110583#​p110583|supertom64]]+{{:​meta:​icons:​tango:​48px-emblem-important.svg.png?​nolink |Important!}}Please **do not** dd your original firmware if it has no **"​boot"​** in its name, for example, **wr741nv4_en_3_17_0_up_boot(140410).bin**, because if you do, **you will brick your router!** This was confirmed by [[https://​forum.openwrt.org/​viewtopic.php?​pid=110583#​p110583|supertom64]]
  
   *Cut first 0x20200 bytes from original firmware   *Cut first 0x20200 bytes from original firmware
Line 241: Line 254:
 | <code bash> | <code bash>
 cd /tmp cd /tmp
-mv wr741nv1_en_3_9_18_up_boot(100104).bin orig.bin+mv wr741nv4_en_3_17_0_up_boot(140410).bin orig.bin
 dd if=orig.bin of=tplink.bin skip=257 bs=512 dd if=orig.bin of=tplink.bin skip=257 bs=512
 </​code>​ | </​code>​ |
Line 253: Line 266:
 {{:​meta:​icons:​tango:​dialog-warning.png?​nolink |Warning!}}**WARNING:​** If you get the error //​**"​Writing from /​tmp/​tplink.bin to firmware ... [e]Failed to erase block"​**//​ after flashing via the mtd command , do not reboot or shutdown or you will brick your device! In tp-link site they say that if you have 110825 you should update to 111130 before upgrading to 120320, so it could be better to restore to 110914 and then upgrade "​gradually"​ as they say. {{:​meta:​icons:​tango:​dialog-warning.png?​nolink |Warning!}}**WARNING:​** If you get the error //​**"​Writing from /​tmp/​tplink.bin to firmware ... [e]Failed to erase block"​**//​ after flashing via the mtd command , do not reboot or shutdown or you will brick your device! In tp-link site they say that if you have 110825 you should update to 111130 before upgrading to 120320, so it could be better to restore to 110914 and then upgrade "​gradually"​ as they say.
  
-{{:​meta:​icons:​tango:​48px-emblem-important.svg.png?​nolink |Important!}} The latest TP-Link firmware wr741nv4_en_3_12_11_up(120320).bin doesn'​t have the word '​boot'​ in it. However, the 120320 firmware has also the bootloader (bigger file, 4063744 vs 3932160, it's 131584 bytes larger, equals to 0x20200 in hex, the amount you have to trim when flashing those files as described in wiki!) They used to add the word "​boot"​ in the filename, now you have to pay attention to the file size.+{{:​meta:​icons:​tango:​48px-emblem-important.svg.png?​nolink |Important!}} The latest TP-Link firmware ​for V1 revision (wr741nv4_en_3_12_11_up(120320).bindoesn'​t have the word '​boot'​ in it. However, the 120320 firmware has also the bootloader (bigger file, 4063744 vs 3932160, it's 131584 bytes larger, equals to 0x20200 in hex, the amount you have to trim when flashing those files as described in wiki!) They used to add the word "​boot"​ in the filename, now you have to pay attention to the file size.
  
 ===== Hardware ===== ===== Hardware =====
   * Dimensions ( W x D x H )  6.9 x 4.6 x 1.3 in. (174 x 118 x 33 mm)   * Dimensions ( W x D x H )  6.9 x 4.6 x 1.3 in. (174 x 118 x 33 mm)
 +
 ==== Photos ==== ==== Photos ====
 **v1.x** **v1.x**
Line 264: Line 278:
 {{.:​wr741nd.jpg?​300}} {{.:​wr741nd.jpg?​300}}
  
-//Back://+//Board://
  
-FIXME+{{:​media:​wp_20131012_006-001.jpg?​300|}}
  
 **v2.0** **v2.0**
  
-//Case://+//​Case ​and board://
  
-{{:​toh:​tp-link:​tl741nd-v2-case.jpg|V2.0 Case}} +{{:​toh:​tp-link:​tl741nd-v2-case.jpg?400|V2.0 Case}} 
- +{{:​toh:​tp-link:​tl741v2-1.jpg?400|V2.0 Board}}
-//​Board://​ +
- +
-{{:​toh:​tp-link:​tl741v2-1.jpg|V2.0 Board}}+
  
 Serial port is the two round joints just above the small surface mount chip in the centre. Take power from elsewhere. Serial port is the two round joints just above the small surface mount chip in the centre. Take power from elsewhere.
Line 283: Line 294:
 **v2.3 and v2.4 ** **v2.3 and v2.4 **
  
-//Case://+//​Case ​and board:// 
 + 
 +{{:​toh:​tp-link:​tl741nd-v2-case.jpg?​400|V2.3 and V2.4 Case}} 
 +{{:​toh:​tp-link:​tl741v2-1.jpg?​400|V2.3 and V2.4 Board}}
  
 nearly same case as v2.0 nearly same case as v2.0
- 
-//Board:// 
- 
 nearly same PCB as v2.0 nearly same PCB as v2.0
  
Line 300: Line 311:
 //Board: (Note the AR9331 chipset)// //Board: (Note the AR9331 chipset)//
  
-{{:​toh:​tp-link:​tlwr741nd_v4_board.JPG|V4.x Board}}+{{:​toh:​tp-link:​tlwr741nd_v4_board.JPG?400|V4.x Board}}
  
  
Line 331: Line 342:
 {{:​toh:​tp-link:​wr741nd-08-board.jpg?​300}} {{:​toh:​tp-link:​wr741nd-08-board.jpg?​300}}
  
-==== Serial ====+==== GPIO mapping ==== 
 +In OpenWRT system there are 18 GPIOs available. However gpio0, gpio1 are used by system to control LEDs and gpio11, gpio12 as input buttons. To be able control these IOs directly it is necessary to unload modules ''​leds_gpio''​ (gpio0,​gpio1) and ''​gpio_buttons''​ (gpio11,​gpio12). 
 +Next step is to export control files of each pin: 
 +  echo N > /​sys/​class/​gpio/​export 
 +Where N is GPIO number. This will create directories with control files in /​sys/​class/​gpio/​gpioN 
 + 
 +I have discovered this IO maping: 
 + 
 +^ name ^ purpose ^ pin ^ 
 +| gpio0 | QSS LED | 107 | 
 +| gpio1 | SYS LED | 108 | 
 +| gpio11 | Reset button | 88 | 
 +| gpio12 | QSS button | 89 | 
 +| gpio13 | LAN 1 | ?? | 
 +| gpio14 | LAN 2 | ?? | 
 +| gpio15 | LAN 3 | ?? | 
 +| gpio16 | LAN 4 | ?? | 
 +| gpio17 | WAN | ?? | 
 + 
 +On hardware revision 4.21 (similar in 4.27) 
 +^ name ^ purpose ^ 
 +| gpio0 | WIFI LED | 
 +| gpio1 | QSS LED | 
 +| gpio7 | TP10 | 
 +| gpio11 | Reset button | 
 +| gpio13 | WAN LED | 
 +| gpio14 | LAN 1 LED | 
 +| gpio15 | LAN 2 LED | 
 +| gpio16 | LAN 3 LED | 
 +| gpio17 | LAN 4 LED (0=on,​1=off) | 
 +| gpio26 | QSS button | 
 +| gpio27 | SYS LED (0=on,​1=off) | 
 + 
 +Other GPIOs are not working for me. I am able to export all of them, I even could change the direction, but when I write new value, it never changes. 
 + 
 +For versions v4.x using AR9331 see reverse engineered pinout on [[toh/​tp-link/​tl-wr703n/​ar9331_pinout]] . 
 + 
 + 
 + 
 +==== TL-WR741ND v2.X ==== 
 +Device works with Backfire 10.03.01 and latest [[http://​downloads.openwrt.org/​snapshots/​trunk/​ar71xx/​openwrt-ar71xx-generic-tl-wr741nd-v2-squashfs-factory.bin|trunk image]] and also with[[http://​www.gargoyle-router.com/​downloads/​images/​ar71xx/​gargoyle_1.4.0-ar71xx-tl-wr741nd-v1-squashfs-sysupgrade.bin|**Gargoyle** build]], no flaws discovered. 
 + 
 +==== TL-WR741ND v4.x ==== 
 + 
 +Version 4.x has changed to use the AR9331 SoC, and is supported by the trunk version.\\  
 +Probably the hardware of all v4.x versions is identical. 
 + 
 +After installation of r31249 + LuCI, 604KB flash are free for additional packages. 
 + 
 +/​proc/​cpuinfo 
 +    system type             : Atheros AR9330 rev 1 
 +    machine ​                : TP-LINK TL-WR741ND v4 
 +    processor ​              : 0 
 +    cpu model               : MIPS 24Kc V7.4 
 +    BogoMIPS ​               : 265.42 
 +    wait instruction ​       : yes 
 +    microsecond timers ​     : yes 
 +    tlb_entries ​            : 16 
 +    extra interrupt vector ​ : yes 
 +    hardware watchpoint ​    : yes, count: 4, address/irw mask: [0x0000, 0x0ff8, 0x0ff8, 0x0ff8] 
 +    ASEs implemented ​       : mips16 
 +    shadow register sets    : 1 
 +    kscratch registers ​     : 0 
 +    core                    : 0 
 +    VCED exceptions ​        : not available 
 +    VCEI exceptions ​        : not available 
 + 
 + 
 +==== Power characteristics ==== 
 +  *  Rotuer consumes between 0.5W and 1W, depending on the power supply voltage and load. 
 +  * The power adapter is rated 9V @ 0.6A . The router can be powered from a battery.  
 +  * V2 and V4.3 versions of the router contains an MP1482DS step down voltage regulator, with the voltage range from 4.75V to 18V. This are absolute maximum ratings, other components might not be able to withstand this voltage range. 5V to 15V should be a safe range (don't try this on other versions than V2 or V4.3 if you aren't sure) 
 + 
 +===== Bootloader Mods ===== 
 +  - you could read about [[doc:​techref:​bootloader]] in general and about [[doc:​techref:​bootloader:​uboot|Das U-Boot]] in particular. 
 + 
 +==== U-Boot 1.1.4 modification for routers ==== 
 +Forum member [[https://​forum.openwrt.org/​profile.php?​id=72549|pepe2k]] made a modification of **U-Boot 1.1.4** for **Qualcomm Atheros** SoCs based devices (the project is still being developed, so new devices and SoCs will be supported in the future). Up to date information,​ binary images and sources can be found on official [[https://​github.com/​pepe2k/​u-boot_mod|GitHub repository]]. 
 + 
 +This modification started from [[http://​code.google.com/​p/​wr703n-uboot-with-web-failsafe/​|wr703n-uboot-with-web-failsafe]] project, but supports more devices, all modern web browsers, has a lot of improvements and other modifications (like U-Boot NetConsole, custom commands, overclocking possibilities etc.). 
 + 
 +More information:​ 
 + 
 +  * Official repository on GitHub: [[https://​github.com/​pepe2k/​u-boot_mod|U-Boot 1.1.4 modification for routers]] 
 +  * Discussion about this project on [[https://​forum.openwrt.org/​viewtopic.php?​id=43237|OpenWrt forum]] 
 +  * An article (in Polish) about one of the first version of this project on [[http://​www.tech-blog.pl/​2013/​03/​29/​zmodyfikowany-u-boot-dla-routerow-tp-link-z-atheros-ar9331-z-trybem-aktualizacji-oprogramowania-przez-www-i-konsola-sieciowa-netconsole/​|www.tech-blog.pl]] 
 + 
 +===== Hardware mods ===== 
 + 
 +==== Passive PoE mod ==== 
 +There are instructions for making PoE for WR741ND V2.x (not for 4.x!) on [[http://​www.dd-wrt.com/​phpBB2/​viewtopic.php?​t=147190|DDWRT Forum]]. 
 + 
 +==== Serial ​port mod ====
 To access the serial console of the wr741nd, you need to solder a serial header to the labelled pins.\\ To access the serial console of the wr741nd, you need to solder a serial header to the labelled pins.\\
-{{:​toh:​tp-link:​wr741nd-09-serial-pins.jpg?​700}} 
  
 Or if you prefer, you can solder 4 wires to the pins on the back of the board.\\ Or if you prefer, you can solder 4 wires to the pins on the back of the board.\\
-{{:​toh:​tp-link:​wr741nd-10-serial-reverse-side.jpg?​700}}\\+{{:​toh:​tp-link:​wr741nd-09-serial-pins.jpg?​400}} 
 +{{:​toh:​tp-link:​wr741nd-10-serial-reverse-side.jpg?​400}}\\
  
 Comment: to get the serial connection work reliably, I had to connect a 10k pullup resistor between the TX and the 3.3V pin. This is because the TX pin is connected to a voltage divider (2x5.6k) and a capacitor is put between the real pin and the TX connector. Comment: to get the serial connection work reliably, I had to connect a 10k pullup resistor between the TX and the 3.3V pin. This is because the TX pin is connected to a voltage divider (2x5.6k) and a capacitor is put between the real pin and the TX connector.
Line 353: Line 456:
  
 Hint: it is possible to have a serial connector outside your router without drilling holes through your nice case. The trick is threading the 4 serial cables through the vent on the side of the router before putting back all the parts and closing the case. Below is an example.\\ Hint: it is possible to have a serial connector outside your router without drilling holes through your nice case. The trick is threading the 4 serial cables through the vent on the side of the router before putting back all the parts and closing the case. Below is an example.\\
-{{:​toh:​tp-link:​wr741nd-11-serial-outside.jpg?​700}}+{{:​toh:​tp-link:​wr741nd-11-serial-outside.jpg?​400}}
  
-**WR741ND ver. 2**\\+=== WR741ND ver. 2.x ===
 For this new revision its TP4→Tx and TP5→Rx in the center of PCB. On Chipset AR7240 they are pins 86→Rx and 87→Tx. ([[http://​code.google.com/​p/​ezbox/​wiki/​AtherosAR7240|source]]) For this new revision its TP4→Tx and TP5→Rx in the center of PCB. On Chipset AR7240 they are pins 86→Rx and 87→Tx. ([[http://​code.google.com/​p/​ezbox/​wiki/​AtherosAR7240|source]])
-{{:​toh:​tp-link:​tl741v2-1.jpg|}} +{{:​toh:​tp-link:​tl741v2-1.jpg?400|}} 
-{{:​toh:​tp-link:​tl741v2-2.jpg|}}+{{:​toh:​tp-link:​tl741v2-2.jpg?400|}} 
 +{{:​media:​tplink:​tp-link-v2.4-serial-pins.jpg?​400|}}
  
  
-**WR741ND ver. 4**\\+ 
 +=== WR741ND ver. 4.x ===
 The version 4 of the board uses the standard TP-Link pinout, however the TX pin is not connected to the CPU. In order to make the TX line working, the two points on the bottom side of the PCB must be connected with a small wire. The version 4 of the board uses the standard TP-Link pinout, however the TX pin is not connected to the CPU. In order to make the TX line working, the two points on the bottom side of the PCB must be connected with a small wire.
  
Line 368: Line 473:
 shifter, or can be directly done with, e.g., the Bus Pirate. Pins on the connector in the photo are from the left TX-RX-GND-3V3,​ as expected. shifter, or can be directly done with, e.g., the Bus Pirate. Pins on the connector in the photo are from the left TX-RX-GND-3V3,​ as expected.
  
-{{:​toh:​tp-link:​tl-wr741nd-v4-serial-fix.jpg?​700}}.+{{:​toh:​tp-link:​tl-wr741nd-v4-serial-fix.jpg?​400}} 
 +{{:​media:​tplink-wr740n-v4.23-board-downside-uart.jpg?​400}}.
  
 For those who can take the risk of DESTROYING YOUR ROUTER an insane usb mod vor v4 devices is available [[http://​wiki.openwrt.org/​toh/​tp-link/​tl-wr741nd#​photos|here]] For those who can take the risk of DESTROYING YOUR ROUTER an insane usb mod vor v4 devices is available [[http://​wiki.openwrt.org/​toh/​tp-link/​tl-wr741nd#​photos|here]]
  
-==== GPIO mapping ​==== +==== USB Host mod==== 
-In OpenWRT system there are 18 GPIOs availableHowever gpio0, gpio1 are used by system ​to control LEDs and gpio11, gpio12 as input buttonsTo be able control these IOs directly it is necessary to unload modules ''​leds_gpio''​ (gpio0,​gpio1) ​and ''​gpio_buttons'' ​(gpio11,​gpio12). +It is possible to attach a usb socket directly to AR7240You need to solder directly to SoC pins and provide two 15k pulldowns on every line**D- is pin 73** and **D+ is pin 74**. USB power should come from somewhere else (e.g. an additional ​step-down 5V regulator connected ​to the main power source, LM2574 seems like a nice choice).
-Next step is to export control files of each pin: +
-  echo N > /​sys/​class/​gpio/​export +
-Where N is GPIO numberThis will create directories with control files in /​sys/​class/​gpio/​gpioN+
  
-I have discovered this IO maping:+{{:toh:​tp-link:​wr741nd-usb-poc.jpg?​400}}
  
-^ name ^ purpose ^ pin ^ +=== WR740/​WR741 ​4.x USB mod ===
-| gpio0 | QSS LED | 107 | +
-| gpio1 | SYS LED | 108 | +
-| gpio11 | Reset button | 88 | +
-| gpio12 | QSS button | 89 | +
-| gpio13 | LAN 1 | ?? | +
-| gpio14 | LAN 2 | ?? | +
-| gpio15 | LAN 3 | ?? | +
-| gpio16 | LAN | ?? | +
-| gpio17 | WAN | ?? |+
  
-On hardware revision 4.21  +For WR741ND V4.x pins are not directly accessible so you need to use fine dremel tool get access to usb pins: 
-^ name ^ purpose ^ +{{:​media:​ar9331usbpins.jpg?​400|}}
-| gpio0 | WIFI LED | +
-| gpio1 | QSS LED | +
-| gpio7 | TP10 | +
-| gpio11 | Reset button | +
-| gpio13 | WAN LED | +
-| gpio14 | LAN 1 LED | +
-| gpio15 | LAN 2 LED | +
-| gpio16 | LAN 3 LED | +
-| gpio17 | LAN 4 LED (0=on,​1=off) | +
-| gpio26 | QSS button | +
-| gpio27 | SYS LED (0=on,​1=off) ​|+
  
-Other GPIOs are not working for me. I am able to export all of them, I even could change the direction, but when I write new value, ​it never changes.+This is how it should be connected:​ 
 +{{:​media:​ar9931usb.jpg?400|}}
  
-==== USB Host ==== +You can read detailed instructions ​on [[https://​forum.openwrt.org/​viewtopic.php?​id=37368|the forum]].
-It is possible to attach a usb socket directly to AR7240. ​You need to solder directly to SoC pins and provide two 15k pulldowns ​on every line**D- is pin 73** and **D+ is pin 74**USB power should come from somewhere else (e.g. an additional step-down 5V regulator connected to the main power source, LM2574 seems like a nice choice).+
  
-{{:​toh:​tp-link:​wr741nd-usb-poc.jpg?​700}} +You also need this minor kernel patch (verified against Attitude Adjustment 12.09):
- +
-You also need this minor kernel patch:+
 | <code diff> | <code diff>
- +Index: target/​linux/​ar71xx/​patches-3.3/​990-WR741ND-usb.patch 
---- a/files/arch/mips/ar71xx/Kconfig +=================================================================== 
-+++ b/files/arch/mips/ar71xx/Kconfig +--- target/linux/​ar71xx/​patches-3.3/​990-WR741ND-usb.patch (revision 0) 
-@@ -167,6 +167,7 @@ ++++ target/​linux/​ar71xx/​patches-3.3/​990-WR741ND-usb.patch (revision 0) 
-        select ​AR71XX_DEV_AP91_PCI ​if PCI +@@ -0,0 +1,10 @@ 
-        select ​AR71XX_DEV_GPIO_BUTTONS ++--- a/arch/mips/ath79/Kconfig 2013-03-12 15:​18:​29.827389883 +0400 
-        select ​AR71XX_DEV_LEDS_GPIO +++++ b/​arch/​mips/​ath79/Kconfig 2013-03-12 15:​21:​57.884753554 +0400 
-      ​select ​AR71XX_DEV_USB ++@@ -506,6 +506,7 @@ 
-        ​default n ++ select ​ATH79_DEV_AP9X_PCI ​if PCI 
-  ++ select ​ATH79_DEV_ETH 
- config AR71XX_MACH_TL_WR841N_V1 ++ select ​ATH79_DEV_GPIO_BUTTONS 
---- a/​files/​arch/​mips/​ar71xx/​mach-tl-wr741nd.c +++ select ​ATH79_DEV_USB 
-+++ b/​files/​arch/​mips/​ar71xx/​mach-tl-wr741nd.c ++ select ATH79_DEV_LEDS_GPIO 
-@@ -20,6 +20,7 @@ ++ select ATH79_DEV_M25P80 
- #​include "dev-ap91-pci.h"+ 
 +Index: target/​linux/​ar71xx/​files/​arch/​mips/​ath79/​mach-tl-wr741nd.c 
 +=================================================================== 
 +--- target/​linux/​ar71xx/​files/​arch/​mips/​ath79/​mach-tl-wr741nd.c (revision 36033) 
 ++++ target/​linux/​ar71xx/​files/​arch/​mips/​ath79/​mach-tl-wr741nd.c (working copy) 
 +@@ -16,6 +16,7 @@ 
 + #​include "dev-eth.h"
  #​include "​dev-gpio-buttons.h"​  #​include "​dev-gpio-buttons.h"​
  #​include "​dev-leds-gpio.h"​  #​include "​dev-leds-gpio.h"​
 +#include "​dev-usb.h"​ +#include "​dev-usb.h"​
 + #​include "​dev-m25p80.h"​
 + #​include "​machtypes.h"​
    
- #​define TL_WR741ND_GPIO_LED_QSS ​               0 +@@ -97,6 +98,8 @@ 
- #​define TL_WR741ND_GPIO_LED_SYSTEM ​    1 +  u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);​ 
-@@ -99,6 +100,8 @@ +  u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);​
-        u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);​ +
-        u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);​+
    
-      ar71xx_add_device_usb();++ ath79_register_usb();
 + +
-        ar71xx_add_device_m25p80(&​tl_wr741nd_flash_data);​+ ​ ath79_register_m25p80(&​tl_wr741nd_flash_data);​
    
-        ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(tl_wr741nd_leds_gpio),​+ ​ ath79_gpio_function_disable(AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN | 
 </​code>​ | </​code>​ |
  
Line 491: Line 579:
 root@OpenWrt:/#</​code>​ | root@OpenWrt:/#</​code>​ |
  
-In 3.2.9  +**Also firmware for 741nd is working in 743nd**
-I change from +
-<​code>​+ ​   ar71xx_add_device_usb();</​code>​ +
-to  +
-<​code>​+ ​   ath79_register_usb();</​code>​+
  
 +=== WR741 V1, V2 USB mod on trunk (Barrier Breaker) ===
 +Note: Modification for V4 is not needed. The files are already patched.
  
-=== For new trunks r3+ the patch is changed ===+1. Setup you Buildroot (download ​the source, install the packages, make defconfig, make prereq, make menuconfig
  
-for manual patching **Kconfig** +2Select ​the needed packages ​kmod-usb-storage block-mount kmod-fs-ext4 e2fsprogs (you can add other kmod-fs modules for other file systems like NTFS and fat)
-cd into **/​trunk/​build_dir/​linux-ar71xx_generic/​linux-3.3.8/​arch/​mips/​ath79** +
-and edit the wr741nd code.  +
-You may also edit for wr743nd +
-<​code>​ +
-config ATH79_MACH_TL_WR741ND +
- bool "TP-LINK TL-WR741ND support"​ +
- select SOC_AR724X +
- select ATH79_DEV_AP9X_PCI if PCI +
- select ATH79_DEV_ETH +
- select ATH79_DEV_GPIO_BUTTONS +
- select ATH79_DEV_USB +
- select ATH79_DEV_LEDS_GPIO +
- select ATH79_DEV_M25P80 +
-</​code>​+
  
-for **mach-tl-wr741nd.c** change folowing line +3Run make (build the source).
-<​code>​ +
- ath79_register_usb(); +
-</​code>​ +
-if those files are not available ​build the toolchain first +
-<​code>​make prereq && make tools/​install && make toolchain/​install</​code>​+
  
-**Also firmware for 741nd is working in 743nd**+4. Edit the following file (MUST BUILD FIRST!!!):
  
-==== TL-WR741ND v1.5 ==== +4.1 build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/linux-3.10.32/arch/mips/​ath79/​mach-tl-wr741nd.c
-I have this version and I found working out of the box only backfire r22689 http://downloads.openwrt.org/backfire/10.03.1-rc3/ar71xx/openwrt-ar71xx-tl-wr741nd-v1-squashfs-sysupgrade.bin+
  
-==== TL-WR741ND v1.9 ==== +After: <​code>#​include "dev-gpio-buttons.h"</​code>​
-Because of a change in the flash chip to the EON EN25F32 flash chip on the hardware version v1.9. A new patch to support this flash chip was created. You can either compile openwrt trunk or add this patch: ​+
  
-https://dev.openwrt.org/​changeset/23058+Add<​code>#​include "dev-usb.h"</code>
  
-To your openwrt 10.03 source files and compile openwrt.+After: <​code>​ath79_register_eth(0);</​code>​
  
-==== TL-WR741ND v2.X ==== +Add<​code>​ath79_register_usb();<​/code> 
-Device works with Backfire 10.03.01 and latest [[http://downloads.openwrt.org/​snapshots/​trunk/​ar71xx/openwrt-ar71xx-generic-tl-wr741nd-v2-squashfs-factory.bin|trunk image]] and also with[[http://www.gargoyle-router.com/downloads/images/ar71xx/gargoyle_1.4.0-ar71xx-tl-wr741nd-v1-squashfs-sysupgrade.bin|**Gargoyle** build]], no flaws discovered.+  
 +4.2 build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/linux-3.10.32/arch/mips/ath79/Kconfig
  
-=== Power characteristics === +Add: <​code>​select ATH79_DEV_USB</​code>​
-  * The router contains an MP1482DS step down voltage regulator, with the voltage range from 4.75V to 18V. This are absolute maximum ratings, other components might not be able to widstand such a range. 5V to 15V should be a safe range.+
  
-==== TL-WR741ND ​v4.x ====+After: 
 +<​code>​ 
 +config ATH79_MACH_TL_WR741ND 
 +      bool "​TP-LINK ​TL-WR741ND ​support"​ 
 +      select SOC_AR724X 
 +      select ATH79_DEV_AP9X_PCI if PCI 
 +      select ATH79_DEV_ETH 
 +      select ATH79_DEV_GPIO_BUTTONS 
 +      select ATH79_DEV_LEDS_GPIO 
 +      select ATH79_DEV_M25P80 
 +</​code>​
  
-Version 4.x has changed to use the AR9331 SoC, and is supported by the trunk version.\\  +5Make (compile) once againNow usb support should work.
-Probably the hardware of all v4.x versions is identical.+
  
-After installation of r31249 + LuCI, 604KB flash are free for additional packages. 
  
-/​proc/​cpuinfo 
-    system type             : Atheros AR9330 rev 1 
-    machine ​                : TP-LINK TL-WR741ND v4 
-    processor ​              : 0 
-    cpu model               : MIPS 24Kc V7.4 
-    BogoMIPS ​               : 265.42 
-    wait instruction ​       : yes 
-    microsecond timers ​     : yes 
-    tlb_entries ​            : 16 
-    extra interrupt vector ​ : yes 
-    hardware watchpoint ​    : yes, count: 4, address/irw mask: [0x0000, 0x0ff8, 0x0ff8, 0x0ff8] 
-    ASEs implemented ​       : mips16 
-    shadow register sets    : 1 
-    kscratch registers ​     : 0 
-    core                    : 0 
-    VCED exceptions ​        : not available 
-    VCEI exceptions ​        : not available 
  
 +===== Software mods =====
 ==== Buttons ==== ==== Buttons ====
 I found that QSS button is BTN_1 and reset is BTN_0 I found that QSS button is BTN_1 and reset is BTN_0
 +(in openwrt 12.09 on HW version 4.25 I have "​wps"​ and "​reset"​)
 See also http://​eko.one.pl/?​p=openwrt-button (in Polish, sorry) See also http://​eko.one.pl/?​p=openwrt-button (in Polish, sorry)
  
Line 600: Line 658:
  
 Press and hold QSS button for at least 3 seconds and router will reboot on release. Press and hold QSS button for at least 3 seconds and router will reboot on release.
- 
  
 ===== Specific configuration ===== ===== Specific configuration =====
Line 619: Line 676:
   * mount_root - will mount the normal root filesystem   * mount_root - will mount the normal root filesystem
   * firstboot - all settings will be reset   * firstboot - all settings will be reset
-  * /rom/sbin/reboot - will reboot even without a mounted filesystem+  * reboot ​-f - will reboot even without a mounted filesystem
  
 ===== Basic configuration ===== ===== Basic configuration =====
Line 705: Line 762:
  
 [[https://​forum.openwrt.org/​viewtopic.php?​id=34993|Debrick Routers with AR724x processors Using JTAG]] [[https://​forum.openwrt.org/​viewtopic.php?​id=34993|Debrick Routers with AR724x processors Using JTAG]]
 +
 +[[https://​forum.openwrt.org/​viewtopic.php?​id=37368|USB Mod for WR740/​WR741nd version 4.x]]
 +
 +[[http://​www.dd-wrt.com/​phpBB2/​viewtopic.php?​t=147190|POE mod for WR741ND V2.x]]
  
 ===== Tags ===== ===== Tags =====
 ---- ----
-{{tag>​FastEthernet 5Port Serial integrated 802.11bgn ​1Radio ​AR9271 ath9k 1Ant DetachableAntenna 32RAM 4Flash MIPS MIPS32 24k}}+{{tag>​FastEthernet 5Port Serial integrated 802.11bgn ​1WNIC AR9271 ath9k 1Ant DetachableAntenna 32RAM 4Flash MIPS MIPS32 24k}}
toh/tp-link/tl-wr741nd.1359977846.txt.bz2 · Last modified: 2013/02/04 12:37 by hrvooje