Differences

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

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
ru:toh:tp-link:tl-mr3020 [2015/04/26 07:18] – fix link theoradicusru:toh:tp-link:tl-mr3020 [2018/03/31 23:23] – ↷ Links adapted because of a move operation bobafetthotmail
Line 1: Line 1:
 +====== TP-Link TL-MR3020 ======
  
 +Несмотря на то, что эта модель позиционируется как //"Карманный 3G роутер"//,  **TL-MR3020** не включает в себя 3G-модем. Под обозначением 3G здесь подразумевается поддержка большинства USB 3G-модемов. OpenWrt, как и стандартная прошивка, поддерживает 3G-модемы. Роутер получает питание через разъём mini-USB(5V) и поставляется с сетевым USB-адаптером.
 +
 +Роутер очень похож на [[toh:tp-link:TL-WR703N]].
 +
 +
 +===== Характеристики =====
 +---- datatable ----
 +cols    : Model, Versions, Platform, CPU MHz, Flash MB_mbflashs, RAM MB_mbram, WLAN Hardware, WLAN 2.4Ghz, Ethernet 100M ports_, Modem, USB ports_
 +header  : Model, Version,SoC,CPU MHz,Flash MB,RAM MB,WLAN Hardware,WLAN2.4,100M ports,Modem,USB
 +align   : c,c,c,c,c,c,c,c,c,c,c,c,c
 +filter  : Model=TL-MR3020
 +
 +----
 +
 +  * Питание от mini-USB (5V)
 +  * Крошечный форм-фактор
 +    * 5.7см x 5.7см плата 
 +    * 6.7см x 7.4см x 2.2см корпус 
 +
 +Входное напряжение: роутер функционирует корректно когда питается от напряжения выше чем 2.6V (определено экспериментально) вместо 5V. Следовательно, возможно питать устройство напрямую от Li-Ion батарей (3.7V) без использования внешнего адаптера 5V.
 +
 +
 +===== Установка OpenWrt на роутер=====
 +
 +TL-MR3020 поддерживается стабильными версиями OpenWrt начиная с Attitude Adjusment.
 +
 +Так же вы можете загрузить самый последний снэпшот или создать свой собственный из исходников.
 +
 +  * Загрузите последнюю стабильную версию [[https://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/openwrt-15.05.1-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin|Chaos Calmer 15.05.1]]  (рекомендуется)
 +  * Загрузите последнюю стабильную версию [[http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin|Attitude Adjustment 12.09]]
 +  * Загрузите последний [[https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin|trunk]] снэпшот (новейшая тестовая версия)
 +
 +{{:meta:icons:tango:48px-dialog-warning.svg.png?nolink}} **ВНИМАНИЕ**: Тестовый trunk снэпшот может содержать не устраненные ошибки. Для обсуждения работы и получения информации касательно последних релизов  обратитесь на форум.
 +
 +{{:meta:icons:tango:48px-dialog-warning.svg.png?nolink}} **ВНИМАНИЕ**: Образ OpenWrt Chaos Calmer 15.05 уже содержит в себе LuCI (web-интерфейс). Из-за чего не остается свободного места для установки модулей, необходимых для организации [[docs:guide-user:additional-software:extroot_configuration|extroot]]. Если Вы планируете использовать extroot для расширения внутренней памяти, Вам необходимо воспользоваться [[docs:guide-user:additional-software:imagebuilder|Image Builder]] для создания облегченного образа OpenWrt, с последующей доустановкой необходимых пакетов посредством opkg.
 +
 +=== Через Веб интерфейс (рекомендуется) ===
 +
 +Подключите TL-MR3020 к компьютеру RJ-45 патч-кордом. В браузере пройдите по адресу **http://192.168.0.254**, введите имя и пароль (по умолчанию: **admin** / **admin**). Обновите прошивку стандартным методом указав файл **openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin**.
 +
 +В процессе прошивки роутер перезагрузится и индикатор прогресса завершиться дважды. Дождитесь окончания,
 +и приступайте к [[toh:tp-link:tl-mr3020#basic configuration|базовой настройке]] как с любой свежеустановленной OpenWrt.
 +
 +Прошивка через веб интерфейс успешно проверена на  v1.0, v1.4 и v1.6 версиях tl-mr3020 и доступ через последовательный порт потребуется, только в случае если что-то пойдет не так.
 +
 +Обратитесь на [[https://forum.openwrt.org/viewtopic.php?pid=154203#p154203|форум]] если у вас возникли проблемы.
 +
 +
 +=== Метод с использование Serial интерфейса и TFTP (для экспертов) ===
 +
 +Для установки OpenWrt из консоли U-Boot вам потребуется установить TFTP сервер на ваш компьютер (**tftp-hpa** рекомендуется).
 +
 +Затем загрузите образ прошивки в /srv/tftp (например), и запустите TFTP набрав **tftpd -l -s /srv/tftp**.
 +
 +Соедините TL-MR3020 с компьютером используя serial интерфейс и подключите питание роутера.
 +
 +После 1-2 секунд консоль покажет **Autobooting in 1 seconds**, когда вы увилите это введите **tpl** немедленно.
 +
 +<code>
 +Using default environment
 +
 +In:    serial
 +Out:   serial
 +Err:   serial
 +Net:   ag7240_enet_initialize...
 +No valid address in Flash. Using fixed address
 +No valid address in Flash. Using fixed address
 +: cfg1 0x5 cfg2 0x7114
 +eth0: 00:03:7f:09:0b:ad
 +ag7240_phy_setup
 +eth0 up
 +: cfg1 0xf cfg2 0x7214
 +eth1: 00:03:7f:09:0b:ad
 +athrs26_reg_init_lan
 +ATHRS26: resetting s26
 +ATHRS26: s26 reset done
 +ag7240_phy_setup
 +eth1 up
 +eth0, eth1
 +Autobooting in 1 seconds
 +[type tpl here]</code>
 +
 +Вы попадете в U-Boot-консоль, она отобразится строкой **hornet>** и будет ждать ввода. Вводите следующие команды: 
 +
 +<code>hornet> setenv ipaddr <device-ip, eg. 192.168.1.111>
 +hornet> setenv serverip <server-ip, eg. 192.168.1.100>
 +hornet> tftpboot 0x80000000 openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin
 +eth1 link down
 +dup 1 speed 100
 +Using eth0 device
 +TFTP from server 192.168.1.100; our IP address is 192.168.1.111
 +Filename 'openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin'.
 +Load address: 0x80000000
 +Loading: #################################################################
 +         #################################################################
 +         #################################################################
 +         #################################################################
 +         #################################################################
 +         #################################################################
 +         #################################################################
 +         #################################################################
 +         #################################################################
 +         #################################################################
 +         #################################################################
 +         ######################################################
 +done
 +Bytes transferred = 3932160 (3c0000 hex)
 +hornet> erase 0x9f020000 +0x3c0000
 +
 +First 0x2 last 0x3d sector size 0x10000                                                                                                        61
 +Erased 60 sectors
 +hornet> cp.b 0x80000000 0x9f020000 0x3c0000
 +Copy to Flash... write addr: 9f020000
 +
 +done
 +hornet> bootm 9f020000
 +</code>
 +
 +=== Автоматизация пошивки ===
 +
 +Прошивать сотни роутеров через веб интерфейс может быть утомительным занятием. Вы можете использовать этот скрипт для автоматизации процесса:
 +<code>
 +#!/bin/bash
 +
 +# Pass the firmware file to be flashed as the first parameter.
 +#
 +# The second curl call will time out, but it's expected. Once the
 +# script exits you can unplug the ethernet cable and proceed to the
 +# next router, but KEEP each router ON POWER until the new image is
 +# fully written! When flashing is done the router automatically
 +# reboots (as shown by all the leds flashing once).
 +
 +curl \
 +  --user admin:admin \
 +  --user-agent 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:12.0) Gecko/20100101 Firefox/12.0' \
 +  --referer 'http://192.168.0.254/userRpm/SoftwareUpgradeRpm.htm' \
 +  --form "Filename=@$1" -F 'Upgrade=Upgrade' \
 +  http://192.168.0.254/incoming/Firmware.htm > /dev/null
 +
 +sleep 1
 +
 +curl \
 +  --max-time 2 \
 +  --user admin:admin \
 +  --user-agent 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:12.0) Gecko/20100101 Firefox/12.0' \
 +  --referer 'http://192.168.0.254/incoming/Firmware.htm' \
 +  http://192.168.0.254/userRpm/FirmwareUpdateTemp.htm >  /dev/null
 +</code>
 +
 +
 +===== Безопасный режим (Failsafe) =====
 +  * Подключите питание к TL-MR3020.
 +  * Когда кнопка WPS начнет мигать, нажмите ее. Она замигает быстрее.
 +  * Роутер теперь в безопасном режиме.
 +  * Вы можете подключиться к нему используя **telnet 192.168.1.1**
 +
 +===== Восстановление оригинальной прошивки =====
 +
 +  * Положите образ оригинальной прошивки в /tmp
 +  * Убедитесь, что образ имеет корректный формат
 +  * Прошейте используя //mtd//
 +  * Выполните сброс настроек
 +
 +{{:meta:icons:tango:dialog-warning.png?nolink |Warning!}}**ВНИМАНИЕ:** 
 +Для получения последней версии прошивки посетите [[http://www.tp-link.com/en/products/details/?categoryid=&model=TL-MR3020#down|страницу загрузок]] на сайте производителя, после чего замените ссылку из примера ниже на **совместимую с вашей версией MR3020**.
 +**Последние прошивки на сайте идут со всроенным загрузчиком (в имени файла есть слово boot) и есть мнение, что заливка такой прошивки командой mtd убивает устройство. По моему опыту, необходим возврат именно на прошивку без загрузчика. Я залил версию прошивки без загрузчика (в имени файла нет слова boot) вот с таким именем mr3020nv1_en_3_14_2_up(120817).bin - и у меня всё заработало. Файл брал [[http://www.generalfiles.biz/download/gs636c1925h32i0/TL-MR3020_V1.00_120817.zip.html|отсюда]]**
 +
 +Перед началом установите переключатель режимов работы роутеера в //WISP//. Без этого возможно будут проблемы с подключением после перезагрузки. Подключитесь через ssh/telnet/serial и используйте следующие команды:
 +
 +<code># opkg update && opkg install unzip
 +# cd /tmp
 +# wget http://www.tp-link.com/Resources/software/TL-MR3020_V1.00_120817.zip
 +# unzip TL-MR3020*.zip
 +# mtd -r write mr3020*up*.bin firmware
 +</code>
 +
 +через несколько секунд роутер перезагрузится. Откройте http://192.168.0.254/, введите имя и пароль //admin// / //admin//, и выполните сброс настроек в меню //System Tools// / //Factory Defaults//.
 +
 +===== Базовая настройка =====
 +Первый запуск и настройка идентичны большинству других роутеров и детально описаны [[docs:guide-quick-start:checks_and_troubleshooting|здесь]].
 +
 +===== Устройство флеш памяти =====
 +
 +Пожалуйста прочитайте раздел [[docs:techref:flash.layout]] для лучшего понимания строения памяти. Он содержит несколько разъяснений. Теперь давайте рассморим флеш память TL-MR3020:
 +
 +^   TP-Link MR3020  Flash Layout stock firmware           ^^^^^^
 +^ Layer0                              spi0.0:            4096KiB          |||||
 +^ Layer1        mtd0            |  mtd1              |    mtd2            mtd3            |  mtd4         |
 +^ Size in KiB  |  128KiB          |  1024KiB             2816 KiB        |  64KiB            64KiB        |
 +^ Name          **//u-boot//**  |  **//kernel//**    |  **//rootfs//**    **//config//**  |  **//art//**  |
 +^ mountpoint    none            |  none              | /                  none            |  none         |
 +^ filesystem    none            |  none              | SquashFS          |  none            |  none         |
 +
 +ART = Atheros Radio Test - раздел с RF-калибровочными данными wifi. Если он отсутствует или поврежден, wifi не будет работать.
 +
 +===== Аппаратная часть =====
 +
 +==== Разборка устройства ====
 +
 +Корпус состоит из двух частей: основная белая часть и серая крышка. Крышка держится на двух защелках, одна над входом питания mini-USB, другая на противоположной стороне на расстоянии 10 мм от лого "TP-LINK". Крышка дополнительно приклеена к корпусу по всему периметру кроме мест где находятся защелки, вход RJ-45 и вход 3G. Начинать стоит от RJ-45 аккуратно поддевая крышку тонким, но прочным лезвием. Продвигайтесь в сторону 3G входа пока не достигните стороны с логотипом "TP-LINK". Теперь у вас уже должно получиться заглянуть внутрь корпуса.
 +
 +Оставшуюся сторону с индикаторами нужно отрывать с осторожностью, т. к. пластиковые проводники света хрупкие и уходят вглубь корпуса, до самых светодиодов на плате. Их легко согнуть и сломать, когда вы слишком усердно нажимаете на ваш инструмент. Лучше отрывать оставшуюся часть крышки легким раскачиванием. При аккуратном извлечении крышка должна без особых проблем встать на прежнее место после небольшой зачистки.
 +
 +==== Фотографии ====
 +
 +{{:media:tplink:tl-mr3020:tl-mr3020_top-pcb.jpg?direct&450|}}
 +{{:media:tplink:tl-mr3020:tl-mr3020_bottom-pcb.jpg?direct&450|}}
 +{{:media:tplink:img_20121015_170949.jpg?direct&450|}}
 +
 +==== Краткое описание оборудования ====
 +|                            ^  IC  ^  Info  ^  Datasheet  ^
 +^                  Processor | AR9331 |  |  |
 +^                   Flash ROM| Spansion S25FL032P |  | http://www.spansion.com/Support/Datasheets/S25FL032P_00.pdf  |  
 +^                       SDRAM| Windbond W9425G6JH|  | http://www.winbond.com/NR/rdonlyres/11505884-F632-41F9-9438-A3EC025FEAED/0/W9425G6JH.pdf |  
 +^         Chipset (Wi-Fi controller)| AR9331 | 1x1 | http://see.sl088.com/w/images/6/69/AR9331.pdf |
 +
 +==== Интерфейс Serial ====
 +== Распиновка ==
 +
 +^ 1    ^ 2    ^ 3     ^ 4     |
 +| TX   | RX   | GND   | VCC   |
 +
 +
 +Pin 1 четко обозначен на плате.
 +
 +Для надежного соединения **возможно вам придется подключить подтягивающий 10k резистор** между TX и VCC. Дело в том, что контакт TX соединен с делителем напряжения (2x5.6k) и между реальным контактом и TX пином помещен конденсатор. Некоторые serial адаптеры могут работать без подтягивающего резистора (например адаптер на базе ST3232), для работы других он безусловно нужен (например для FTDI FT232RL).
 +
 +Если у вас нет serial адаптера, вы можете сделать его из кабеля CA-42 или DKU-5 от телефонов Nokia как описано [[http://buffalo.nas-central.org/index.php/Use_a_Nokia_Serial_Cable_on_an_ARM9_Linkstation#Preparing_the_Cable|здесь]]. Относительно дешевой, рабочей альтернативой будет использование решений от SparkFun: [[http://www.sparkfun.com/products/9873|FTDI Basic Breakout 3.3V]] и [[http://www.sparkfun.com/products/9717|FTDI Serial Cable 3.3V]].
 +
 +Параметры соединения с использованием serial интерфейса следующие:
 +
 +Bits per second: **115200**\\
 +Data bits: **8**\\
 +Stop bits: **1**\\
 +Parity: **None**\\
 +Flow control: **None**\\
 +
 +Если вы используете OS Linux или Mac, то для доступа к serial интерфейсу проще всего использовать команду **screen**. Она по умолчанию включена в OS X, но для систем на базе Linux может потребоваться дополнительная ее установка. После установки наберите в терминале:
 +
 +<code>screen /dev/[device name] 115200
 +</code>
 +
 +Где [device name] - это имя вашего serial адаптера (обычно tty.usbserial* для Mac и ttyUSB* для Linux). Для выхода из режима screen нажмите CTRL-a, затем CTRL-k, затем y.
 +
 +
 +=== Консоль загрузчика U-Boot ===
 +
 +Пароль для входа в командный режим U-Boot **tpl**. Вам нужно ввести его очень быстро когда увидите на экране:
 +<code>[...]
 +ag7240_phy_setup 
 +eth1 up
 +eth0, eth1
 +Autobooting in 1 seconds
 +[type tpl here]</code>
 +
 +После входа в командный режим наберите **help** для получения списка доступных команд.
 +
 +<code>hornet> help
 +?       - alias for 'help'
 +bootm   - boot application image from memory
 +cp      - memory copy
 +erase   - erase FLASH memory
 +help    - print online help
 +md      - memory display
 +mm      - memory modify (auto-incrementing)
 +mtest   - simple RAM test
 +mw      - memory write (fill)
 +nm      - memory modify (constant address)
 +printenv- print environment variables
 +progmac - Set ethernet MAC addresses
 +reset   - Perform RESET of the CPU
 +setenv  - set environment variables
 +tftpboot- boot image via network using TFTP protocol
 +version - print monitor version</code>
 +
 +=== Консоль Linux ===
 +
 +После того как оригинальная прошивка будет загружена вы можете нажать **return** чтобы залогиниться в систему.
 +
 +Пароль для доступа к root шелу **5up**:
 +
 +<code>TL-MR3020 mips #185 Fri Oct 21 16:26:50 CST 2011 (none)
 +TL-MR3020 login: root
 +password: 5up</code>
 +
 +==== GPIOs ====
 +-> [[docs:techref:hardware:port.gpio]]
 +The AR933x platform provides 30 GPIOs. Some of them are used by the router for status LEDs, buttons and other stuff. The table below shows the results of some investigation:
 +
 +^        ^                          ^  Voltage level at GPIO in output-mode  ^^  gpioX/value in input-mode when GPIO is: ^^^
 +^  GPIO  ^  Common Name  ^  PCB Name  ^  gpioX/value=1  ^ gpioX/value=0          Floating  ^  Pulled to GND  ^  Pulled to Vcc  ^
 +|      0 |  WLAN LED      LED4      |                                                  |                                  |
 +|      1 |  unused Pulled to VCC               R2 and R5        |                                                  |                                  |
 +|      2 |                          |                                                  |                                  |
 +|      3 |                          |                                                  |                                  |
 +|      4 |                          |                                                  |                                  |
 +|      5 |                          |                                                  |                                  |
 +|      6 |                    R16      |                                                  |                                  |
 +|      7 |  unused Pulled to ground               R15                                                          |                                  |
 +|      8 |  USB power(?) |      R18      |                                                  |                                  |
 +|      9 |                          |                                                  |                                  |
 +|     10 |                          |                                                  |                                  |
 +|     11 |  WPS button              |                                                  |                                  |
 +|     12 |                          |                                                  |                                  |
 +|     13 |                          |                                                  |                                  |
 +|     14 |                          |                                                  |                                  |
 +|     15 |                          |                                                  |                                  |
 +|     16 |                          |                                                  |                                  |
 +|     17 |  Ethernet LED |   LED5                                                      |                                  |
 +|     18 |  Sliding Sw.  |            |                                                  |                                  |
 +|     19 |                          |                                                  |                                  |
 +|     20 |  Sliding Sw.  |            |                                                  |                                  |
 +|     21 |                          |                                                  |                                  |
 +|     22 |                          |                                                  |                                  |
 +|     23 |                          |                                                  |                                  |
 +|     24 |                          |                                                  |                                  |
 +|     25 |                          |                                                  |                                  |
 +|     26 |  WPS LED      |   LED2                                                      |                                  |
 +|     27 |  Internet LED |   LED3                                                      |                                  |
 +|     28 |                          |                                                  |                                  |
 +|     29 |  unused Pulled to ground                 R17                                                        |                                  |
 +
 +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://squidge.sourceforge.net/gpio/|Squidge-Project]]. Kernel modules occupying that resource need to be removed before (e.g. "leds-gpio" and "gpio-buttons"). In output-mode, voltage levels of the GPIOs were measured against GND, after the value 1 or 0 had been written to /sys/class/gpio/gpioX/value. In input-mode, the value of the file /sys/class/gpio/gpioX/value was read when the GPIO was floating (initial state), pulled to GND or pulled to Vcc. 
 +
 +The sliding switch has the following truth table:
 +^ Mode Switch ^ GPIO18 ^ GPIO20 ^
 +| 3G          |    1      0   |
 +| WISP        |    0      1   |
 +| AP          |    1      1   |
 +
 +==== LEDs ====
 +How to configure LEDs in general, see the LED section in the [[docs:guide-user:base-system:led_configuration]].
 +
 +The TL-MR3020 has 5 LEDs:
 +
 +^ LED name ^ LED print ^ Internal name ^ Trigger ^ 
 +| Power | Power symbol | N/A (fixed supply) | N/A |
 +| 3G    | Internet symbol  | tl-mr3020:green:3g| ''USB:1-1'' |
 +| Wireless LAN | WLAN symbol | tl-mr3020:green:wlan | ''phy0tpt'' |
 +| LAN | LAN symbol| tl-mr3020:green:lan | ''netdev:eth0'' |
 +| WPS | WPS | tl-mr3020:green:wps | User preference |
 +
 +==== Buttons ====
 +-> [[docs:guide-user:hardware:hardware.button]]
 +The TP-Link TL-MR3020 has one button and one sliding switch with three positions:
 +^ BUTTON ^ Event ^
 +| Sliding Switch | BTN_0 and BTN_1 | 
 +| WPS Button | WPS | 
 +
 +The WPS button is located at the top (illuminated by the WPS LED) and can be easily pressed with a finger. The sliding switch is located at the side and has three positions: 3G, WISP, AP.
 +
 +===== Hardware Hacks =====
 +
 +==== External Antenna Hack ====
 +
 +{{:media:tplink:tl-mr3020:tl-mr3020_wlan-antenna-hack2.jpg?direct&300|}}
 +{{:media:tplink:tl-mr3020:tl-mr3020_wlan-antenna-hack4.jpg?direct&300|}}
 +
 +If you want to add an external antenna connector or would like to know more about the MR3020 power consumption in different op-states you can find more info [[https://apollo.open-resource.org/lab:argus#modifications|Apollo-NG MR3020 External Antenna Hack]]
 +
 +==== Adding I2C Bus ====
 +
 +If you want to add I2C bus to your MR3020, you can use GPIO 7 and 29. Remove R15 and R17, then add pullup between 3.3v and gpio pin.
 +
 +{{:media:tplink:tl-mr3020:tl-mr3020_i2c_01.jpg?direct&600|}}
 +{{:media:tplink:tl-mr3020:tl-mr3020_i2c_02.jpg?direct&600|}}
 +
 +Next step, add this line
 +<code>
 +i2c-gpio-custom bus0=0,7,29
 +</code>
 +to /etc/modules.d/99-i2c
 +
 +and load i2c-gpio-custom
 +
 +You can find more info in french here http://www.equinoxefr.org/post/2012/11/12/mr3020-et-i2c-avec-les-gpio/
 +
 +==== USB Hub Hack ====
 +
 +You can embedded usb hub to add more peripheral to your best router.
 +
 +I hack a 3$ STOREX usb hub, a 2$ µSD card reader and a 10$ webcam to build a robot with my MR3020.
 +
 +{{:media:tplink:tl-mr3020:tl-mr3020_usbhub.jpg?direct&600|}}
 +
 +
 +More info in french on [[http://www.equinoxefr.org/post/2012/11/05/projet-de-robot-wifi-torture-dun-routeur-tplink-mr3020/]]
 +
 +
 +===== USB port and monitoring Serial Console via USB-Serial =====
 +
 +The USB port on the TL-MR3020 is not compatible with USB1 devices (aka full speed) and only works properly with USB2 (aka high speed) devices. You can however plug a USB-Serial adapter as long as you plug that through a <$10 USB2. While you're at it, use another USB port to plug in a USB key and write data there (like serial console logs) so as not to wear out the built in flash.
 +
 +See this page for more tips and how to create a serial console server out of your TL-MR3020:
 +http://marc.merlins.org/perso/linux/post_2012-12-05_Serial-Console-With-WR703N.html
 +
 +===== Boot log =====
 +
 +==== Factory Boot Log ====
 +<WRAP bootlog>
 +<nowiki>U-Boot 1.1.4 (Aug 17 2011 - 09:25:09)
 +
 +AP121-2MB (ar9330) U-boot
 +
 +DRAM:  32 MB
 +led turning on for 1s...
 +id read 0x100000ff
 +flash size 4194304, sector count = 64
 +Flash:  4 MB
 +Using default environment
 +
 +In:    serial
 +Out:   serial
 +Err:   serial
 +Net:   ag7240_enet_initialize...
 +No valid address in Flash. Using fixed address
 +No valid address in Flash. Using fixed address
 +: cfg1 0x5 cfg2 0x7114
 +eth0: 00:03:7f:09:0b:ad
 +ag7240_phy_setup
 +eth0 up
 +: cfg1 0xf cfg2 0x7214
 +eth1: 00:03:7f:09:0b:ad
 +athrs26_reg_init_lan
 +ATHRS26: resetting s26
 +ATHRS26: s26 reset done
 +ag7240_phy_setup
 +eth1 up
 +eth0, eth1
 +Autobooting in 1 seconds
 +## Booting image at 9f020000 ...
 +   Uncompressing Kernel Image ... OK
 +
 +Starting kernel ...
 +
 +Booting AR9330(Hornet)...
 +Linux version 2.6.31--LSDK-9.2.0.312 (root@bogon) (gcc version 4.3.3 (GCC) ) #185 Fri Oct 21 16:26:50 CST 2011
 +flash_size passed from bootloader = 4
 +CPU revision is: 00019374 (MIPS 24Kc)
 +Determined physical RAM map:
 + memory: 02000000 @ 00000000 (usable)
 +User-defined physical RAM map:
 + memory: 02000000 @ 00000000 (usable)
 +Zone PFN ranges:
 +  Normal   0x00000000 -> 0x00002000
 +Movable zone start PFN for each node
 +early_node_map[1] active PFN ranges
 +    0: 0x00000000 -> 0x00002000
 +Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
 +Kernel command line: console=ttyS0,115200 root=31:02 rootfstype=squashfs init=/sbin/init mtdparts=ar7240-nor0:128k(u-boot),1024k(kernel),2816(rootfs),64k(config),64k(ART) mem=32M
 +PID hash table entries: 128 (order: 7, 512 bytes)
 +Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
 +Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
 +Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
 +Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
 +Writing ErrCtl register=00000000
 +Readback ErrCtl register=00000000
 +Memory: 29864k/32768k available (1889k kernel code, 2904k reserved, 524k data, 116k init, 0k highmem)
 +Hierarchical RCU implementation.
 +NR_IRQS:128
 +plat_time_init: plat time init done
 +Calibrating delay loop... 266.24 BogoMIPS (lpj=532480)
 +Mount-cache hash table entries: 512
 +NET: Registered protocol family 16
 +===== ar7240_platform_init: 0
 +
 +
 +Whoops! This kernel is for product mr3020 v1.0!
 +
 +bio: create slab <bio-0> at 0
 +SCSI subsystem initialized
 +usbcore: registered new interface driver usbfs
 +usbcore: registered new interface driver hub
 +usbcore: registered new device driver usb
 +NET: Registered protocol family 2
 +IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
 +TCP established hash table entries: 1024 (order: 1, 8192 bytes)
 +TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
 +TCP: Hash tables configured (established 1024 bind 1024)
 +TCP reno registered
 +NET: Registered protocol family 1
 +AR7240 GPIOC major 0
 +squashfs: version 4.0 (2009/01/31) Phillip Lougher
 +NTFS driver 2.1.29 [Flags: R/O].
 +msgmni has been set to 58
 +alg: No test for lzma (lzma-generic)
 +alg: No test for stdrng (krng)
 +io scheduler noop registered
 +io scheduler anticipatory registered
 +io scheduler deadline registered
 +io scheduler cfq registered (default)
 +Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
 +ttyS0: detected caps 00000000 should be 00000100
 +serial8250.0: ttyS0 at MMIO 0xb8020000 (irq = 19) is a 16550A
 +console [ttyS0] enabled
 +PPP generic driver version 2.4.2
 +NET: Registered protocol family 24
 +cmdlinepart partition parsing not available
 +set partition boot
 +set partition kernel
 +set partition rootfs
 +set partition config
 +set partition art
 +set partition ÿ
 +Searching for RedBoot partition table
 +5 RedBoot partitions found on MTD device ar7240-nor0
 +Creating 5 MTD partitions on "ar7240-nor0":
 +0x000000000000-0x000000020000 : "boot"
 +0x000000020000-0x000000120000 : "kernel"
 +0x000000120000-0x0000003e0000 : "rootfs"
 +0x0000003e0000-0x0000003f0000 : "config"
 +0x0000003f0000-0x000000400000 : "art"
 +->Oops: flash id 0x10215 .
 +ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
 +Port Status 1c000004
 +ar7240-ehci ar7240-ehci.0: ATH EHCI
 +ar7240-ehci ar7240-ehci.0: new USB bus registered, assigned bus number 1
 +ehci_reset Intialize USB CONTROLLER in host mode: 3
 +ehci_reset Port Status 1c000000
 +ar7240-ehci ar7240-ehci.0: irq 3, io mem 0x1b000000
 +ehci_reset Intialize USB CONTROLLER in host mode: 3
 +ehci_reset Port Status 1c000000
 +ar7240-ehci ar7240-ehci.0: USB 2.0 started, EHCI 1.00
 +usb usb1: configuration #1 chosen from 1 choice
 +hub 1-0:1.0: USB hub found
 +hub 1-0:1.0: 1 port detected
 +TCP cubic registered
 +NET: Registered protocol family 17
 +802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
 +All bugs added by David S. Miller <davem@redhat.com>
 +ar7240wdt_init: Registering WDT success
 +VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
 +Freeing unused kernel memory: 116k freed
 +init started:  BusyBox v1.01 (2011.04.01-07:49+0000) multi-call binary
 +This Board use 2.6.31
 +xt_time: kernel timezone is -0000
 +nf_conntrack version 0.5.0 (512 buckets, 5120 max)
 +ip_tables: (C) 2000-2006 Netfilter Core Team
 +insmod: cannot open module `/lib/modules/2.6.31/kernel/iptable_raw.ko': No such file or directory
 +insmod: cannot open module `/lib/modules/2.6.31/kernel/flashid.ko': No such file or directory
 +PPPoL2TP kernel driver, V1.0
 +PPTP driver version 0.8.3
 +insmod: cannot open module `/lib/modules/2.6.31/kernel/harmony.ko': No such file or directory
 +
 + (none) mips #185 Now flash open!
 +Fri Oct 21 16:26:50 CST 2011 (none)
 +(none) login: Now flash open!
 +ATHR_GMAC: Length per segment 1536
 +ATHR_GMAC: fifo cfg 3 01f00140
 +ATHR_GMAC: Mac address for unit 1:bf1f0006
 +ATHR_GMAC: 6e:09:80:e4:67:1b
 +ATHR_GMAC: Max segments per packet :   1
 +ATHR_GMAC: Max tx descriptor count :   40
 +ATHR_GMAC: Max rx descriptor count :   96
 +ATHR_GMAC: Mac capability flags    :   4D83
 +ATHR_GMAC: Mac address for unit 0:bf1f0000
 +ATHR_GMAC: 12:03:cb:60:38:f7
 +ATHR_GMAC: Max segments per packet :   1
 +ATHR_GMAC: Max tx descriptor count :   40
 +ATHR_GMAC: Max rx descriptor count :   252
 +ATHR_GMAC: Mac capability flags    :   4403
 +athr_gmac_ring_alloc Allocated 640 at 0x81e79800
 +athr_gmac_ring_alloc Allocated 4032 at 0x81d63000
 +Setting Drop CRC Errors, Pause Frames and Length Error frames
 +Setting PHY...mac 0
 +athr_gmac_ring_alloc Allocated 640 at 0x81e79400
 +athr_gmac_ring_alloc Allocated 1536 at 0x81f22000
 +athr_gmac_mii_setup: MDC check failed
 +Setting Drop CRC Errors, Pause Frames and Length Error frames
 +ATHRS26: resetting s26
 +ATHRS26: s26 reset done
 +Setting PHY...mac 1
 +device eth0 entered promiscuous mode
 +Now flash open!
 +nf_conntrack_rtsp v0.6.21 loading
 +nf_nat_rtsp v0.6.21 loading
 +asf: module license 'Proprietary' taints kernel.
 +Disabling lock debugging due to kernel taint
 +ath_hal: 0.9.17.1 (AR9380, DEBUG, REGOPS_FUNC, WRITE_EEPROM, 11D)
 +ath_rate_atheros: Copyright (c) 2001-2005 Atheros Communications, Inc, All Rights Reserved
 +ath_dev: Copyright (c) 2001-2007 Atheros Communications, Inc, All Rights Reserved
 +ath_ahb: 9.2.0_U5.508 (Atheros/multi-bss)
 +Boostrap clock 25MHz
 +ar9300RadioAttach: Need analog access recipe!!
 +Restoring Cal data from Flash
 +ath_get_caps[4735] rx chainmask mismatch actual 1 sc_chainmak 0
 +ath_get_caps[4710] tx chainmask mismatch actual 1 sc_chainmak 0
 +wifi0: Atheros 9380: mem=0xb8100000, irq=2
 +wlan_vap_create : enter. devhandle=0x80c042c0, opmode=IEEE80211_M_HOSTAP, flags=0x1
 +wlan_vap_create : exit. devhandle=0x80c042c0, opmode=IEEE80211_M_HOSTAP, flags=0x1.
 +VAP device ath0 created
 +
 + DES SSID SET=TP-LINK_POCKET_3020_3ABB7A
 +ieee80211_scan_unregister_event_handler: Failed to unregister evhandler=c0a048a0 arg=81e9e2c0
 +wlan_vap_delete : enter. vaphandle=0x81e9c000
 +wlan_vap_delete : exit. vaphandle=0x81e9c000
 +wlan_vap_create : enter. devhandle=0x80c042c0, opmode=IEEE80211_M_HOSTAP, flags=0x1
 +wlan_vap_create : exit. devhandle=0x80c042c0, opmode=IEEE80211_M_HOSTAP, flags=0x1.
 +VAP device ath0 created
 +
 + DES SSID SET=TP-LINK_POCKET_3020_3ABB7A
 + ieee80211_ioctl_siwmode: imr.ifm_active=393856, new mode=3, valid=1
 +WARNING: Fragmentation with HT mode NOT ALLOWED!!
 +device ath0 entered promiscuous mode
 +br0: port 2(ath0) entering forwarding state
 + ieee80211_ioctl_siwmode: imr.ifm_active=1442432, new mode=3, valid=1
 +br0: port 2(ath0) entering disabled state
 +
 + DES SSID SET=TP-LINK_POCKET_3020_3ABB7A
 +br0: port 2(ath0) entering forwarding state
 +gpio_tricolor_led_write 699
 +green_led_onoff = 1
 +
 + TL-MR3020 mips #185 Fri Oct 21 16:26:50 CST 2011 (none)
 +TL-MR3020 login:</nowiki>
 +</WRAP>\\
 +
 +==== OpenWrt Boot Log and Info ====
 +
 +  * [[https://gist.github.com/2059480#file_dmesg|dmesg TP-Link TL-MR3020]]
 +
 +===== Link Dump =====
 +  * Product web-page : [[http://www.tp-link.com/en/products/details/?model=TL-MR3020#fea|TL-MR3020]]
 +  * The latest official firmware is available [[http://www.tp-link.com/en/support/download/?model=TL-MR3020|here]]
 +  * The official GPL code is available [[http://www.tp-link.com/resources/gpl/150Router.tar|here]].
 +  * A backup of the whole original SPI flash content is available from [[http://db.tt/Cp4F1EtX|here]].
 +  * [[http://www.heise.de/netze/artikel/Taschenrouter-als-IPv6-Verteiler-1440851.html|Taschenrouter als IPv6-Verteiler (auf Deutsch)]]
 +  * [[https://apollo.open-resource.org/lab:argus|Interesting webpage with more data about power consumption and so on]]
 +
 +==== Relevant Forum Links ====
 +[[https://forum.openwrt.org/viewtopic.php?id=33429|TP-Link TL-MR3020 Support]] 
 +
 +===== Custom IPv6 image for mr3020 (v1.7) =====
 +
 +A custom image with ipv6 support: radvd, wide-dhcpv6, 3g stick support, made for RCS-RDS Fiberlink dual stack PPPoE service,
 +but should be okay for static wan settings on other ISPs:
 +http://www.ip6.ro/firmware/mr3020/
 +
 +===== Tags =====
 +{{tag>2011Dec FastEthernet 1NIC 1WNIC no_switch USB2.0 1USB Serial integrated 802.11bgn AR9331 ath9k 32RAM 4Flash MIPS MIPS32 24Kc AR7241 AP121}}
  • Last modified: 2024/02/11 21:58
  • by 127.0.0.1