Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| fr:toh:tp-link:tl-wr1043nd [2015/12/14 19:10] – tmomas | fr:toh:tp-link:tl-wr1043nd [2018/06/06 16:44] – ↷ Links adapted because of a move operation tmomas | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== TP-Link TL-WR1043ND ====== | ||
| + | Le routeur TP-Link TL-WR1043ND dans sa version courante, est compatible avec OpenWrt! | ||
| + | |||
| + | ===== Versions compatibles ===== | ||
| + | |||
| + | Ce routeur se décline dans les versions/ | ||
| + | |||
| + | ^ Version/ | ||
| + | | (DE)v1.0 | - | | Backfire 10.03.1 | Similaire, Interface WEB en allemand | | ||
| + | | v1.1 | - | | Backfire 10.03.1 | Similaire au WR941ND.| | ||
| + | | (DE)v1.1 | - | | Attitude Adjustment 12.09-beta2 | Similaire, Interface WEB en allemand, V1.1 sur S/N sticker | | ||
| + | | v1.4 | - | | Backfire 10.03.1 | même carte v1 gue v1.1| | ||
| + | | v1.5 | - | | Backfire 10.03.1 | même carte v1 gue v1.1| | ||
| + | | v1.6 | - | | Backfire 10.03.1 | Similaire | | ||
| + | | v1.7 | - | | Backfire 10.03.1 | Similaire | | ||
| + | | v1.8 :!:| - | | Testée OK avec Backfire 10.03.1 mais jamais les modèles v1.8 avec le bootloader courant de TP-LINK (ver. " | ||
| + | | v1.9 :!:| - | | Testée OK avec Backfire 10.03.1 mais comme ces modèles sont équipés du bootloader courant de TP-LINK(ver. " | ||
| + | | v1.10 :!:| - | | Testée OK avec **Attitude Adjustment 12.09-rc1** :!: **Backfire 10.03.1 = BRICK!!** | Similaire carte rev:1.1| | ||
| + | |||
| + | La liste ci-dessus montre les premières versions d' | ||
| + | |||
| + | ===== Points saillants du matériel===== | ||
| + | **TP-Link Ultimate Wireless N Gigabit Router** (TL-WR1043ND) | ||
| + | |||
| + | ^ CPU ^ Ram ^ Flash ^ Réseau ^ Gigabit ^ USB ^ Serial ^ JTag ^ | ||
| + | | Atheros AR9132@400MHz | ||
| + | |||
| + | Voir paragraphes [[toh/ | ||
| + | |||
| + | Caractéristiques annoncées: | ||
| + | * 802.11n (300Mbps), 3 antennes | ||
| + | * 4x Gigabit Ethernet LAN ports, 1x Gigabit Ethernet WAN port | ||
| + | * 1x USB 2.0 port | ||
| + | * QSS (WPS) push button | ||
| + | |||
| + | ===== Mises en garde / Bétisier ===== | ||
| + | :!: **Attention, | ||
| + | |||
| + | :!: **bogue qui neutralise le port WAN (modèle postérieurs à v1.8+).** Il a été [[https:// | ||
| + | |||
| + | **TOUS les nouvelles versions de matériel v1.8 ou postérieure (depuis ~Avril 2012) sont affectées par le bogue du port WAN .** Ci-dessous, le code du chargeur d' | ||
| + | < | ||
| + | root@tpl2: | ||
| + | U-Boot 1.1.4 (Feb 6 2012 - 17:03:51) | ||
| + | U-Boot | ||
| + | </ | ||
| + | |||
| + | * Essai du firmware TP-LINK, ver. TL-WR1043ND_V1_120405 avec une date de sortie du 5 avril 2012 : ce firmware met à jour le code du chargeur d' | ||
| + | < | ||
| + | U-Boot 1.1.4 (Mar 31 2012 - 10:40:21) | ||
| + | U-Boot | ||
| + | </ | ||
| + | |||
| + | :!: **Contournement (peu élégant) du bogue de neutralisation du port WAN** L' | ||
| + | |||
| + | * Étape 1 (optionelle, | ||
| + | |||
| + | * Étape 2: Installez le firmware d' | ||
| + | |||
| + | < | ||
| + | grep -a U-Boot /dev/mtd0ro | cut -d' | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | U-Boot 1.1.4 (Nov 17 2009 - 11:56:26) | ||
| + | U-Boot | ||
| + | </ | ||
| + | |||
| + | * Étape 3: écrivez le bonne image du firmware OpenWRT en fonction de votre modèle/ | ||
| + | |||
| + | :!: **MISE EN GARDE: écrire une verision d' | ||
| + | |||
| + | :!: **Problème sur les modem USB 3G (puissance insuffisante).** Le routeur ne délivre pas une puissance suffisante pour beaucoup de modems USB 3G, ce qui peut conduire à un comportement erratique, des connexions perdues/ | ||
| + | |||
| + | ===== Installation ===== | ||
| + | | ||
| + | - Téléchargez une [[http:// | ||
| + | |||
| + | | ||
| + | * [[: | ||
| + | * [[docs: | ||
| + | |||
| + | * Vous pouvez toujours [[docs: | ||
| + | |||
| + | |||
| + | Notes: | ||
| + | |||
| + | **Problèmes avec le sans fil** | ||
| + | * Dans Backfire 10.03.1 (ou supérieure), | ||
| + | * Les anciennes versions pré-compilées **N' | ||
| + | |||
| + | **Bogue d' | ||
| + | * Dans les anciens modèles de routeurs, le port WAN DOIT être connecté à Internet ou à un serveur DHCP pendant l' | ||
| + | *MISE À JOUR: | ||
| + | |||
| + | ==== Agencement de la mémoire flash ==== | ||
| + | Lisez l' | ||
| + | |||
| + | ^ | ||
| + | ^ Layer0 | ||
| + | ^ Layer1 | ||
| + | ^ Size in KiB | 128KiB | ||
| + | ^ Name | ||
| + | ^ mountpoint | ||
| + | ^ filesystem | ||
| + | ^ | ||
| + | ^ Offset | ||
| + | ^ x64KiB Blocks | ||
| + | ^ | ||
| + | ^ Layer0 | ||
| + | ^ Layer1 | ||
| + | ^ Layer2 | ||
| + | ^ <color magenta> | ||
| + | ^ filesystem | ||
| + | ^ Layer3 | ||
| + | ^ Size in KiB | 128KiB | ||
| + | ^ Name | ||
| + | ^ <color magenta> | ||
| + | ^ filesystem | ||
| + | |||
| + | ART = Atheros Radio Test - il contienv l' | ||
| + | |||
| + | Voici une feuille de calcul LibreOfficepour mieux comprendre: [[http:// | ||
| + | |||
| + | ==== OEM easy installation ==== | ||
| + | |||
| + | Install openwrt-ar71xx-tl-wr1043ndv1-squashfs-factory.bin using the " | ||
| + | |||
| + | ==== OEM mass flashing ==== | ||
| + | |||
| + | Flashing hundreds of devices using the web interface can be a real pain. You can use this shell script to automate it: | ||
| + | < | ||
| + | #!/bin/bash | ||
| + | |||
| + | # Pass the firmware image file to be flashed as the first and only | ||
| + | # command line argument. | ||
| + | # | ||
| + | # The second curl call will time out, but it is expected. Once the | ||
| + | # script exits, you can unplug the ethernet cable and proceed to the | ||
| + | # next router, but do KEEP each router ON POWER until the new image is | ||
| + | # fully written! When flashing is done the router reboots | ||
| + | # automatically (as shown by all the leds flashing once). | ||
| + | |||
| + | curl \ | ||
| + | --user admin:admin \ | ||
| + | --user-agent ' | ||
| + | --referer ' | ||
| + | --form " | ||
| + | http:// | ||
| + | |||
| + | sleep 1 | ||
| + | |||
| + | curl \ | ||
| + | --max-time 2 \ | ||
| + | --user admin:admin \ | ||
| + | --user-agent ' | ||
| + | --referer ' | ||
| + | http:// | ||
| + | </ | ||
| + | |||
| + | ==== OEM installation using the TFTP and RS232 method ==== | ||
| + | |||
| + | If you want to upgrade using TFTP you follow these steps (as an alternative to the above install process). | ||
| + | |||
| + | Quick howto recover from bad flash. ([[.: | ||
| + | |||
| + | Requirements: | ||
| + | * terminal program (e.g. minicom) set to **115200 8N1**, no flow control | ||
| + | * file named // | ||
| + | * tftpd server with an address 192.168.0.5 (configurable with '' | ||
| + | |||
| + | The simplest tftpd server to use is dnsmasq. Install and run with '' | ||
| + | |||
| + | Commands: | ||
| + | |||
| + | After you see '' | ||
| + | |||
| + | < | ||
| + | erase 0xbf020000 +7c0000 # 7c0000: size of the firmware (be aware that you may have a different size thus bricking your router) | ||
| + | tftpboot 0x81000000 code.bin | ||
| + | cp.b 0x81000000 0xbf020000 0x7c0000 | ||
| + | bootm 0xbf020000 | ||
| + | </ | ||
| + | |||
| + | ==== OEM installation using the Kermit and RS232 method ==== | ||
| + | |||
| + | If you do not want to bother with running a tftpd server on your computer, especially considering the security concerns, you can also use a Kermit client to transfer the new image. It may take forever and a half (15-20min) to copy, but it's easier and more secure than running a tftpd server. These instructions assume you're using a Linux system, but they will give you all you need to do the same on a Windows box. | ||
| + | |||
| + | Requirements: | ||
| + | * terminal program (e.g. minicom) set to **115200 8N1**, no flow control | ||
| + | * file named // | ||
| + | * Kermit client (these instructions will involve using C-Kermit under Linux) | ||
| + | |||
| + | In your terminal program you type: | ||
| + | |||
| + | < | ||
| + | erase 0xbf020000 +7c0000 # 7c0000: size of the firmware (be aware that you may have a different size thus bricking your router) | ||
| + | loadb 0x81000000 | ||
| + | </ | ||
| + | |||
| + | |||
| + | Hint: After you see Autobooting in 1 seconds type tpl and hit enter to get into command promt. | ||
| + | |||
| + | |||
| + | Fire up C-Kermit and run the following commands (or configure your Kermit client to these parameters): | ||
| + | < | ||
| + | set line / | ||
| + | set speed 115200 | ||
| + | set carrier-watch off | ||
| + | set handshake none | ||
| + | set flow-control none | ||
| + | robust | ||
| + | set file type bin | ||
| + | set file name lit | ||
| + | set rec pack 1000 | ||
| + | set send pack 1000 | ||
| + | set window 5 | ||
| + | send code.bin # Make sure you include a proper path to the file. That's why I just kept it in /home/$user | ||
| + | </ | ||
| + | |||
| + | After the 15-20min file transfer, the new firmware should be on your router and you can continue in terminal: | ||
| + | < | ||
| + | cp.b 0x81000000 0xbf020000 0x7c0000 | ||
| + | bootm 0xbf020000 | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Upgrading OpenWrt ==== | ||
| + | -> [[docs: | ||
| + | |||
| + | :!: ** WARNING: Recent versions of trunk are reported to brick the 1043ND and other devices: ** | ||
| + | |||
| + | https:// | ||
| + | |||
| + | Unless you know what you're doing, use the latest stable version. | ||
| + | |||
| + | ==== Back to original firmware ==== | ||
| + | -> [[docs: | ||
| + | |||
| + | {{page> | ||
| + | |||
| + | With the WR1043ND router, there is a catch: the stock firmware is obtained from the OEM: http:// | ||
| + | |||
| + | * in case the file name of this firmware file does not contain the word **//" | ||
| + | * in case the file name of this firmware file does contain the word **//" | ||
| + | |||
| + | An example of an image file with the word " | ||
| + | |||
| + | Cut the first 0x20200 (that is 131,584 = 257*512) Bytes from original firmware: | ||
| + | < | ||
| + | dd if=orig.bin of=tplink.bin skip=257 bs=512 | ||
| + | </ | ||
| + | |||
| + | This has been confirmed by [[https:// | ||
| + | |||
| + | |||
| + | |||
| + | ===== Configuration basique ===== | ||
| + | Après avoir flasher votre routeur, procédez à une [[fr: | ||
| + | Réglez votre connexion Internet, configurez vos connexions sans fil, configurez vos ports USB, etc. | ||
| + | |||
| + | ==== OEM firmware features ==== | ||
| + | Since this is the same for all TP-LINK products, see [[toh: | ||
| + | |||
| + | ===== Specific configuration ===== | ||
| + | ==== Interfaces ==== | ||
| + | |||
| + | The default network configuration is: | ||
| + | ^ Interface Name ^ Description ^ Default configuration ^ | ||
| + | | br-lan | LAN & WiFi | 192.168.1.1/ | ||
| + | | eth0 | LAN ports (1 to 4) + WAN | None | | ||
| + | | wlan0 | WiFi | Disabled | | ||
| + | |||
| + | |||
| + | |||
| + | ==== Switch Ports (for VLANs) ==== | ||
| + | |||
| + | L' | ||
| + | |||
| + | ^ Port ^ Port du switch sur la v1.x ^ Port du switch sur la v2.x ^ | ||
| + | | Internet (WAN) | 0 | 5 | | ||
| + | | LAN 1 | 1 | 4 | | ||
| + | | LAN 2 | 2 | 3 | | ||
| + | | LAN 3 | 3 | 2 | | ||
| + | | LAN 4 | 4 | 1 | | ||
| + | | [[wp> | ||
| + | | ::: | - | 6 Switch0 CPU Port | | ||
| + | |||
| + | La version 2.x ne récupère pas les lan et wan via eth0.1/ | ||
| + | Eth0 est dans le même vlan que le port 5 du switch. Dans ces conditions, le port 6 de la version 2.x est un accès cpu additionnel utilisé uniquement pour le trafic wan. | ||
| + | Le wan est dans le VLAN 2 et il ne faut pas le modifier, au risque de le perdre. Il faut donc démarrer les vlan à 3, en les attachant à la sous-interface eth1.x. | ||
| + | |||
| + | Voir sur le schéma: | ||
| + | |||
| + | {{media: | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | Problèmes connus avec la v10.03.1-rc4 sur la version 1.8 du routeur. Se référer à [[https:// | ||
| + | |||
| + | Il existe aussi un problème sur les VLAN de numéro > 9 (en tous cas sur la v1.4 en v10.03.1-RC6 r28680 et la version 1.8 et v12.09-rc1 r34185). Utiliser des VLAN > 9 rends le routeur inaccessible sur cette interface. | ||
| + | |||
| + | ==== Failsafe mode ==== | ||
| + | See [[docs: | ||
| + | Based on generic failsafe, here are peculiarities : | ||
| + | |||
| + | - Listen on the WAN port. (tcpdump .....) | ||
| + | - Power up your router. When the ' | ||
| + | - After entering the failsafe mode (sys LED flashing very fast) , swap your Ethernet connection from WAN port to LAN port 1 and the telnet 192.168.1.1 to repair your device as explained [[docs: | ||
| + | |||
| + | |||
| + | ==== Recovery via serial console ==== | ||
| + | |||
| + | You will see something like this: | ||
| + | |||
| + | < | ||
| + | No valid address in Flash. Using fixed address | ||
| + | : cfg1 0xf cfg2 0x7114 | ||
| + | eth0 up | ||
| + | eth0 | ||
| + | Autobooting in 1 seconds | ||
| + | </ | ||
| + | |||
| + | Type | ||
| + | < | ||
| + | tpl | ||
| + | </ | ||
| + | during this 1 second period. Then continue with [[#OEM installation using the TFTP and RS232 method]] | ||
| + | |||
| + | |||
| + | |||
| + | ===== Hardware ===== | ||
| + | ==== Info ==== | ||
| + | | **[[wp> | ||
| + | | **Vendor: | ||
| + | | **[[docs: | ||
| + | | **[[fr: | ||
| + | | **[[docs: | ||
| + | | **Flash-Chip: | ||
| + | | **Flash size: | ||
| + | | **RAM: | ||
| + | | **Wireless: | ||
| + | | **Ethernet: | ||
| + | | **Internet: | ||
| + | | **USB: | ||
| + | | **Power: | ||
| + | | **[[docs: | ||
| + | | **[[docs: | ||
| + | |||
| + | |||
| + | The Realtek [[http:// | ||
| + | |||
| + | ==== Performance ==== | ||
| + | * [[docs: | ||
| + | * [[docs: | ||
| + | |||
| + | ==== Power ==== | ||
| + | |||
| + | === Power Consumption === | ||
| + | |||
| + | With a cheap Wattmeter i measured 6.9W idle and 9W under load. | ||
| + | |||
| + | === PSU (power supply) === | ||
| + | |||
| + | My TL-WR1043ND DE (v1.0) came bundled with the following PSU: | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Specifications: | ||
| + | | **Brand/ | ||
| + | | **Input** | 100-240V~ (50/60Hz, 0.6A) | | ||
| + | | **Output** | 12.0V 1.5A | | ||
| + | | **Measured output** | 12.25V | | ||
| + | | The plug (on the router side) has the following specifications: | ||
| + | | **Outer diameter** | 5.5mm | | ||
| + | | **Inner diameter**| 2.1mm | | ||
| + | | **Length of the shaft** | 9.5mm | | ||
| + | |||
| + | I successfully used the ATX PSU (from my computer) to power the router. | ||
| + | All I did was buying a plug with above specifications and soldered a Molex-plug to the other end. | ||
| + | |||
| + | === Power consumption on DC-Side === | ||
| + | |||
| + | I have measured simultaneously Voltage and Current on the DC-Side of the Router with 2 analogue Multimeters. | ||
| + | |||
| + | It looks like my AC-DC Adapter is stabilized and delivers exactly 12 Volts. | ||
| + | |||
| + | 1. Without LAN Connected, without any USB device, Openwrt Running with WLAN 10dBm (b/g AP mode) : 250mA | ||
| + | 2. With 1x100MBit LAN, 1xHuawei E1750 in idle (not connected) : 320 mA | ||
| + | 3. With HSDPA Connection active : 400mA | ||
| + | |||
| + | The HSDPA Modem seems draw a lot of Power as soon as any Data is transferred. In total i guess approx. 500mA. (Was NOT possible to measure exactly because my Amperemeter is very slow...) | ||
| + | |||
| + | |||
| + | |||
| + | ==== Photos ==== | ||
| + | |||
| + | {{media: | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | ==== Opening/ | ||
| + | |||
| + | Note: This will void your warranty! The case of the WR1043N is composed of 4 pieces: | ||
| + | |||
| + | * Top cover (white, with logo) | ||
| + | * Bottom cover (white, with sticker) | ||
| + | * Front (transparent, | ||
| + | * Outer frame (black, vents on the sides) | ||
| + | |||
| + | There are only two screws at the back of the device, under the rubber feet. The rest of the case is kept together by two latches at the front of the device, and a system of guides and hooks in the front. | ||
| + | |||
| + | - Remove the antennas. | ||
| + | - Remove the rubber feet in the back and undo the screws. | ||
| + | - Unscrew all three retaining nuts on the antenna connectors and carefully push them into the housing. If you find this hard to do, leave them in place: you'll have to pay attention and avoid pulling the outer frame, as there are wires running from the back of the device all the way to the front of the board. | ||
| + | - Push one of the bottom screws back into place to lift the top cover, and keep it that way using a finger. | ||
| + | - With the top slightly open, push the bottom cover away. Use a screwdriver if you can't reach it with your fingers. | ||
| + | - If you have unscrewed the antenna connectors, now you can remove outer frame. Otherwise just carefully slide it out of the way: this will expose the clips that keep the top and bottom covers together. | ||
| + | - With a flathead screwdriver or similar tool, gently pry the two front clips apart. Each clip has two latches and is located near the corners, next to the black front. Put your screwdriver behind the latches and push it towards | ||
| + | - Now the top cover can slide out the vertical guides on the black front. | ||
| + | - The black front also has three plastic hooks that go into matching holes in the bottom cover. To remove it, pull the front away and then push it down. | ||
| + | |||
| + | Pictures can be found [[http:// | ||
| + | |||
| + | === Putting it back together === | ||
| + | |||
| + | - Place the board on the bottom cover, so that the two plastic pins at the front keep it in place. | ||
| + | - If you undid the antenna connectors, put them back in and tighten the nuts. | ||
| + | - Place the outer frame behind the board and make sure it sits flush to the connectors. | ||
| + | - Insert the hooks of the front into the holes in the bottom cover, don't push it in yet. | ||
| + | - Make the top cover slide into the vertical guides on the front. Don't push it down yet. | ||
| + | - Push the front towards the back so the hooks are engaged, then push down the top cover. | ||
| + | - Fasten the screws and re-apply the rubber feet. | ||
| + | ==== Serial ==== | ||
| + | -> [[docs: | ||
| + | How to connect to Serial Port: | ||
| + | |||
| + | Solder a header as shown in the picture or wires with a connector directly. The device uses TTL @ 3.3V and not a standard RS-232 Serial that operates between 3 and 15V, so do not try to connect it to a common serial adapter: you will certainly fry the serial circuit or even the whole board. There are plenty of USB to TTL and RS-232 to TTL available on the market, just be careful with the voltage: the standard is 5V and it may also damage your board. Look for the ones with 3.3V or with both voltages and a way to switch between them. | ||
| + | |||
| + | Don’t forget that the **TX pin** of the serial port must linked to the **RX pin** of the router and the RX to TX! | ||
| + | |||
| + | Speed: 115200 baud | ||
| + | |||
| + | {{: | ||
| + | |||
| + | === Receive (RX) Disabled === | ||
| + | |||
| + | Some revisions require a jumper between the RX serial pin and the resistor R326 to enable serial writes. See this post for details: | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | If you find that the serial console will not accept write commands, check with a multimeter that you have continuity between RX and R362. | ||
| + | |||
| + | If you don't have continuity you will need to jumper them, here is my working example: | ||
| + | |||
| + | {{media: | ||
| + | |||
| + | I went to the right hand side of the resistor for ease of soldiering, but there may be better solutions. | ||
| + | |||
| + | I also noticed that the small hole just below R362 has continuity to the RX pin so that may provide a cleaner solution with a much smaller jumper. | ||
| + | |||
| + | ==== JTAG ==== | ||
| + | -> [[docs: | ||
| + | |||
| + | {{: | ||
| + | |||
| + | JTAG Line: | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | |||
| + | Software: | ||
| + | |||
| + | Download EJTAG Debrick Utility 3.0.1 | ||
| + | |||
| + | Backup: | ||
| + | |||
| + | Backup whole flash: | ||
| + | |||
| + | < | ||
| + | tjtag3.exe -backup: | ||
| + | </ | ||
| + | |||
| + | Backup UBoot: | ||
| + | |||
| + | < | ||
| + | tjtag3.exe -backup: | ||
| + | </ | ||
| + | |||
| + | Backup Firmware: | ||
| + | |||
| + | < | ||
| + | tjtag3.exe -backup: | ||
| + | </ | ||
| + | |||
| + | | {{: | ||
| + | |||
| + | ==== GPIOs ==== | ||
| + | -> [[docs: | ||
| + | The AR913x platform provides 22 GPIOs. Some of them are used by the router for status LEDs, buttons and to communicate with the RTL8366RB. The table below shows the results of some investigation: | ||
| + | |||
| + | ^ ^ | ||
| + | ^ GPIO ^ Common Name ^ PCB Name ^ gpioX/ | ||
| + | | 0 | | ||
| + | | 1 | USB | D18=D9 | ||
| + | | 2 | SYS | D19=D8 | ||
| + | | 3 | RESET | SW6 | ||
| + | | 4 | | ||
| + | | 5 | QSS | D31=D10 | ||
| + | | 6 | | ||
| + | | 7 | QSS-Button | ||
| + | | 8 | Setting data direction to output and value to 0 causes hard reset of the SoC | ||
| + | | 9 | WLAN | ||
| + | | 10 | P1-Tx | | | ||
| + | | 11 | | ||
| + | | 12 | | ||
| + | | 13 | P1-Rx | | 3.3V | 0V | 0 | 0 | 1 | | ||
| + | | 14 | | ||
| + | | 15 | USB PSU EN? | -> | ||
| + | | 16 | USB PSU CHK? | -> | ||
| + | | 17 | | ||
| + | | 18 | Data line of the RTL8366RB | ||
| + | | 19 | Clock line of the RTL8366RB | ||
| + | | 20 | | ||
| + | | 21 | | ||
| + | |||
| + | To make the GPIOs available via sysfs, the required ones have to be exported to userspace, as it is explained on a page of the [[http:// | ||
| + | |||
| + | ==== LEDs ==== | ||
| + | How to configure LEDs in general, see the LED section in the [[docs: | ||
| + | |||
| + | The WR1043ND has 10 LEDs: | ||
| + | |||
| + | ^ LED name ^ LED print ^ Internal name ^ Trigger ^ | ||
| + | | Power | PWR | tl-wr1043nd: | ||
| + | | System | SYS | tl-wr1043nd: | ||
| + | | Wireless LAN | WLAN | tl-wr1043nd: | ||
| + | | LAN Port 4 | 4 | unknown | N/A | | ||
| + | | LAN Port 3 | 3 | unknown | N/A | | ||
| + | | LAN Port 2 | 2 | unknown | N/A | | ||
| + | | LAN Port 1 | 1 | unknown | N/A | | ||
| + | | Wide Area Network | WAN | tl-wr1043nd: | ||
| + | | Universal Serial Bus | USB | tl-wr1043nd: | ||
| + | | Quick Security Setup | QSS | tl-wr1043nd: | ||
| + | |||
| + | ledtrig-usbdev is only available in attitude adjustment (Trunk) and in self-built Backfire images using [[https:// | ||
| + | |||
| + | ==== Buttons ==== | ||
| + | -> [[docs: | ||
| + | |||
| + | The TP-Link TL-WR1043ND has two buttons: | ||
| + | ^ BUTTON ^ Event ^ Backfire ID ^ Attitude Adjustment ID ^ | ||
| + | | Reset | reset | BTN_0 | reset | | ||
| + | | Quick Security Setup | QSS | BTN_1 | wps | | ||
| + | |||
| + | The QSS button is located at the front and can be easily pressed with a finger. The Reset button is located at the back and cannot be pressed with a finger, you need a small item (pen typically) to push it in. | ||
| + | |||
| + | //:!: Note: you don't need to configure or activate buttons to get the [[toh: | ||
| + | |||
| + | ===== Debricking ===== | ||
| + | -> [[docs: | ||
| + | |||
| + | **NOTE:** If you accidentally bricked your router by overwriting the bootloader, try the following: | ||
| + | - Desolder the Spansion SPI-Flash ([[http:// | ||
| + | - Find a way to connect the SPI flash to something with SPI interface.... I used a AVR microcontroller. {{: | ||
| + | - Write the bootloader into the flash. I got my bootloader out of another wr1043nd. | ||
| + | - Solder the chip back into the router. | ||
| + | - The router shall now be unbricked. | ||
| + | |||
| + | ===== Bootloader Mods ===== | ||
| + | - you could read about [[docs: | ||
| + | - the uboot version you find on the 1043 is a fork of mainline U-Boot version 1.1.4 from 2005-12-17 [[ftp:// | ||
| + | - also see [[ftp:// | ||
| + | - you may be able to cross compile the code with the OpenWrt [[wp> | ||
| + | - :!: **'' | ||
| + | |||
| + | ==== Making bootloader partition writable ==== | ||
| + | |||
| + | Look at target/ | ||
| + | <code c> | ||
| + | static struct mtd_partition tl_wr1043nd_partitions[] = { | ||
| + | { | ||
| + | .name = " | ||
| + | .offset | ||
| + | .size = 0x020000, | ||
| + | .mask_flags = MTD_WRITEABLE, | ||
| + | } , { | ||
| + | .name = " | ||
| + | .offset | ||
| + | .size = 0x140000, | ||
| + | } , { | ||
| + | .name = " | ||
| + | .offset | ||
| + | .size = 0x690000, | ||
| + | } , { | ||
| + | .name = " | ||
| + | .offset | ||
| + | .size = 0x010000, | ||
| + | .mask_flags = MTD_WRITEABLE, | ||
| + | } , { | ||
| + | .name = " | ||
| + | .offset | ||
| + | .size = 0x7d0000, | ||
| + | } | ||
| + | }; | ||
| + | </ | ||
| + | Remove the line | ||
| + | <code c> | ||
| + | .mask_flags = MTD_WRITEABLE, | ||
| + | </ | ||
| + | for the partition named " | ||
| + | |||
| + | ==== Change MAC Address ==== | ||
| + | |||
| + | * Get the uboot image via the following command <code bash>cp /dev/mtd0ro / | ||
| + | * Verify is a 1 to 1 copy (expect no output) <code bash>cmp -l /dev/mtd0ro / | ||
| + | * Backup your original uboot <code bash>tar -czf / | ||
| + | ln -s / | ||
| + | * At the offset 0x1FC00 you will usually find your mac address. <code bash> | ||
| + | * You can change it with an hex editor. I use [[http:// | ||
| + | echo $newmac | awk -v FS="[: -]" '{for (i=1; i<=NF; i++) printf " | ||
| + | mv / | ||
| + | * Double check your newly created, or spoof MAC Address: <code bash> | ||
| + | cmp -l /dev/mtd0ro / | ||
| + | * After changing the MAC and making the u-boot mtd flash portion writeable, you can write the modified uboot image back to flash: <code bash>mtd write / | ||
| + | * If the above command fails, you missing the custom firmware step, don't go any further. | ||
| + | * After reboot a new radio1 will be created with default interface. To keep current settings and prevent radio1 creation <code bash>uci set wireless.radio0.macaddr=$newmac | ||
| + | uci commit wireless | ||
| + | reboot & exit | ||
| + | </ | ||
| + | * To get rid of wild radio1 after reboot, instead of the above prevention, get the cure: <code bash>uci set wireless.radio0.macaddr=$(uci get wireless.radio1.macaddr) | ||
| + | uci delete wireless.@wifi-iface[-1] | ||
| + | uci delete wireless.radio1 | ||
| + | uci commit wireless | ||
| + | </ | ||
| + | * Your old MAC Address could be recovered from the sticker in the back of your router. Write it down securely, if in a hard to access location. | ||
| + | |||
| + | ===== Hardware Mods ===== | ||
| + | - as a beginner, you really should inform yourself about [[docs: | ||
| + | |||
| + | ==== 64MB RAM Mod ==== | ||
| + | The Device uses a DDR1 16Mbit x 16bit (16Mibit*16=256 mebibit. 256 mebibit/ | ||
| + | |||
| + | Working chips: | ||
| + | * Hynix HY5DU121622DTP-D43 (From Mustang DDR-SODIMM 512 MB) | ||
| + | * Hynix HY5DU121622CTP-J | ||
| + | * Infineon HYB25D512160BE (From Infineon DDR-SODIMM 512 MB) | ||
| + | |||
| + | |||
| + | **Additional list that may work:** | ||
| + | |||
| + | ^ ^ ^ Type ^ ID Code ^ Vendor | ||
| + | | DDR | 32Mx16 | ||
| + | | DDR | 32Mx16 | ||
| + | | DDR | 32Mx16 | ||
| + | | DDR | 32Mx16 | ||
| + | | DDR | 32Mx16 | ||
| + | | DDR | 32Mx16 | ||
| + | | DDR | 32Mx16 | ||
| + | | DDR | 32Mx16 | ||
| + | | DDR | 32Mx16 | ||
| + | | DDR | 32Mx16 | ||
| + | | DDR | 32Mx16 | ||
| + | | DDR | 32Mx16 | ||
| + | | DDR | 32Mx16 | ||
| + | '' | ||
| + | {{: | ||
| + | |||
| + | < | ||
| + | root@OpenWrt: | ||
| + | total used free shared buffers | ||
| + | Mem: 62104 17472 44632 0 1392 | ||
| + | Total: 62104 17472 44632 | ||
| + | </ | ||
| + | |||
| + | ==== I²C GPIO Mod ==== | ||
| + | |||
| + | An I²C-bus can easily be added using the GPIO-lines of the AR913x-SoC. So far, the only usable ones which have been confirmed to work are GPIO 5 (the QSS-LED, easily solderable at D10,left pin with ' | ||
| + | To improve signal integrity (in this case namely a solid logic low level on GPIO5), you can replace R373 with a piece of wire and remove the LED D31. R373 seems to be the current limit resistor for the LED D31. | ||
| + | {{ : | ||
| + | Unfortunately the precompiled packages don't seem to work properly, so building from sources is most likely necessary. Therefore, make sure the apropriate part of your OpenWRT-config file looks like that: | ||
| + | |||
| + | < | ||
| + | # | ||
| + | # I2C support | ||
| + | # | ||
| + | CONFIG_PACKAGE_kmod-i2c-core=y | ||
| + | CONFIG_PACKAGE_kmod-i2c-algo-bit=y | ||
| + | # CONFIG_PACKAGE_kmod-i2c-algo-pca is not set | ||
| + | # CONFIG_PACKAGE_kmod-i2c-algo-pcf is not set | ||
| + | CONFIG_PACKAGE_kmod-i2c-gpio=y | ||
| + | CONFIG_PACKAGE_kmod-i2c-gpio-custom=y | ||
| + | </ | ||
| + | |||
| + | Besides that, check in the kernel-config, | ||
| + | < | ||
| + | CONFIG_I2C_CHARDEV=m | ||
| + | </ | ||
| + | To load the kernel module, do a: | ||
| + | < | ||
| + | insmod i2c-gpio-custom bus0=0,5,20 | ||
| + | </ | ||
| + | In many cases, GPIO 5 will already be occupied by the leds-gpio kernel module - causing the above command to fail. In case you don't need the leds at all, you can just unload the leds-gpio kernel module, remove the package or disable it in the OpenWRT-configuration. As an alternative, | ||
| + | |||
| + | ==== I²C Tiny-USB Mod ==== | ||
| + | |||
| + | Though not really a modification of the internal hardware, the [[docs: | ||
| + | |||
| + | ===== Custom IPv6 image for wr1043nd ===== | ||
| + | |||
| + | a custom image with ipv6 support: radvd, wide-dhcpv6, | ||
| + | but should be okay for static wan settings on other ISPs: | ||
| + | http:// | ||
| + | |||
| + | ===== Other models with the same hardware ===== | ||
| + | |||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | ===== Tags ===== | ||
| + | {{tag> | ||