Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
ru:toh:tp-link:tl-mr3020 [2015/10/18 21:16] – Links to media adjusted tmomasru: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