Differences

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

toh:tp-link:tl-wr741nd [2012/12/24 21:16]
markit gpio mapping on hardware revision 4.21
toh:tp-link:tl-wr741nd [2014/11/28 00:55] (current)
gtrtfm updated info, this page is a real dump
Line 7: Line 7:
====== Supported Versions ====== ====== Supported Versions ======
^ Model Version ^ Launch Date ^ OpenWrt Version Supported ^ Model Specific Notes ^ ^ Model Version ^ Launch Date ^ OpenWrt Version Supported ^ Model Specific Notes ^
 +| v1.x | - | Backfire 10.03.1 | - |
 +| v2.x | - | 12.09 | Tested, working correctly |
 +| v3 | 2011-08 | ??? FIXME |  |
 +| 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 ]] |
 +| v4.x    | 2011-09 | 12.09 | AR9331 chipset |
 +
 + v1.3, v1.8 etc. are all v1, similarly for v2, v3, v4. The only difference is the firmware version and bootloader the come with.
 +
 +
 +/*for history
 +
| v1 | - | Backfire 10.03 | - | | v1 | - | Backfire 10.03 | - |
| v1.3 | - | 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 | | v1.3 | - | 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 |
-| v1.4 | - | Backfire 10.03.1 | [[https://forum.openwrt.org/viewtopic.php?pid=125674#p125674|Success]] |+| v1.4 | - | Backfire 10.03.1, **Attitude Adjustment 12.09** | [[https://forum.openwrt.org/viewtopic.php?pid=125674#p125674|Success]] |
| v1.5 | - | Backfire 10.03.1 (r22689)  | [[#tl-wr741nd.v1.5|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.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.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]] |+| v1.9 | 2010-10 | Backfire 10.03.1 (r23714),  **Attitude Adjustment 12.09** | [[https://dev.openwrt.org/ticket/8146|8146]]; Attitude Adjustment (12.09 final) tested and seems OK. |
| v2 | - | trunk (r29614) | Tested, working correctly. [[http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-wr741nd-v2-squashfs-factory.bin|(r29614)]] | | 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 tested, works.**|+| v2.4 | - | Attitude Adjustment 12.09 | Rounded chassis (box branded WR740N). Using r30919 needed [[https://forum.openwrt.org/viewtopic.php?id=30339|notes]] to access the router. |
| v3 | 2011-08 | {{:meta:icons:tango:dialog-error.png?nolink&24 | Test at your own risk }} untested |  | | v3 | 2011-08 | {{:meta:icons:tango:dialog-error.png?nolink&24 | Test at your own risk }} untested |  |
| 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 | - | {{: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 ]] |
Line 24: Line 35:
| v4.20 | 2012-04 | trunk (31273) | Confirmed working with trunk 31273, probably working with earlier. Note: 4.20 is newer than 4.3 | | v4.20 | 2012-04 | trunk (31273) | Confirmed working with trunk 31273, probably working with earlier. Note: 4.20 is newer than 4.3 |
| v4.21 | - | trunk (32793) | Confirmed working with trunk 32793, probably working with earlier.| | v4.21 | - | trunk (32793) | Confirmed working with trunk 32793, probably working with earlier.|
 +| v4.22 | - | trunk (35240) | Confirmed working with trunk 35240 and with **Attitude Adjustment 12.09-rc1**. |
 +| v4.23 | - | trunk (36884) | Confirmed working with trunk 36884 and with **Attitude Adjustment 12.09**. |
 +| v4.27 | - | trunk (36669) | Still AR9331 chipset; Confirmed working with Attitude Adjustment, r36669, probably working with earlier. |
 +
 +*/
====== Hardware Highlights ====== ====== Hardware Highlights ======
^ CPU ^ Ram ^ Flash ^ Network ^ USB ^ Serial ^ JTag ^ ^ CPU ^ Ram ^ Flash ^ Network ^ USB ^ Serial ^ JTag ^
-| Atheros AR7240 @ 350 MHz | 32 MiB | 4 MiB | 4 x 1| mod | Yes | No |+| Atheros AR7240 @ 350 MHz | 32 MB | 4 MB | 4 x 1| mod | Yes | No |
  * Atheros AR9285 wireless chip   * Atheros AR9285 wireless chip
Line 34: Line 50:
===== 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.
Line 61: Line 76:
|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 105: Line 123:
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 235: Line 262:
{{: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, **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!}}If you do want to **dd**, first ensure that your partition has enough space for twice the size of the image, otherwise you will run out of space, get "Bus error" messages for every non-builtin shell command (including rm) and your device will be effectively bricked.
  *Cut first 0x20200 bytes from original firmware   *Cut first 0x20200 bytes from original firmware
Line 249: Line 278:
mtd -r write /tmp/tplink.bin firmware mtd -r write /tmp/tplink.bin firmware
</code> | </code> |
 +
 +{{: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.
===== Hardware ===== ===== Hardware =====
 +  * 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 258: Line 293:
{{.: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}} +
- +
-//Board://+
-{{:toh:tp-link:tl741v2-1.jpg|V2.0 Board}}+{{:toh:tp-link:tl741nd-v2-case.jpg?400|V2.0 Case}} 
 +{{:toh:tp-link:tl741v2-1.jpg?400|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 277: Line 309:
**v2.3 and v2.4 ** **v2.3 and v2.4 **
-//Case://+//Case and board://
-nearly same case as v2.0 +{{: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}}
-//Board://+
 +nearly same case as v2.0
nearly same PCB as v2.0 nearly same PCB as v2.0
Line 294: Line 326:
//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 325: Line 357:
{{: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 v1.5 ==== 
 +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 ==== 
 +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 
 + 
 +To your openwrt 10.03 source files and compile openwrt. 
 + 
 +==== 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 347: Line 479:
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**\\
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|}}
Line 362: Line 494:
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}}.
-==== GPIO mapping ==== +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]]
-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:+==== USB Host mod==== 
 +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).
-^ name ^ purpose ^ pin ^ +{{:toh:tp-link:wr741nd-usb-poc.jpg?400}}
-| 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  +=== WR740/WR741 4.x USB mod ===
-^ 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 WR741ND V4.x pins are not directly accessible so you need to use fine dremel tool get access to usb pins: 
 +{{:media:ar9331usbpins.jpg?400|}}
-==== USB Host ==== +This is how it should be connected
-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).+{{:media:ar9931usb.jpg?400|}}
-{{:toh:tp-link:wr741nd-usb-poc.jpg?700}}+You can read detailed instructions on [[https://forum.openwrt.org/viewtopic.php?id=37368|the forum]].
-You also need this minor kernel patch:+You also need this minor kernel patch (verified against Attitude Adjustment 12.09):
| <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 483: Line 599:
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** +2. Select 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 +3. Run 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.4 ==== +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
-==== TL-WR741ND v4.x ====+Add: <code>select ATH79_DEV_USB</code>
-Version 4.x has changed to use the AR9331 SoC, and is supported by the trunk version.\\  +After: 
-Probably the hardware of all v4.x versions is identical.+<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> 
 + 
 +5. Make (compile) once again. Now usb support should work.
-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 589: Line 678:
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 608: Line 696:
  * 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 694: Line 782:
[[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}}

Back to top

toh/tp-link/tl-wr741nd.1356380191.txt.bz2 · Last modified: 2012/12/24 21:16 by markit · Currently locked by: gtrtfm