[D0CT0RD ]
Главная » 2015 » Август » 7 » Как поставить OpenWRT на TP-LINK MR3020
18:18
Как поставить OpenWRT на TP-LINK MR3020

Название: tp.jpgПросмотров: 71351Размер: 8.5 Кб

Характеристики роутера TP-Link MR3020:
процессор Atheros AR7240 частотой 400 МГц
SoC: Atheros AR9330 Rev 1
32 Мб ram 
4 Мб флэш-памяти 
USB-2.0 Host
Wi-Fi 802.11 b/g/n 150Mbps
Ethernet-порт 100MBit 
UART (на плате)
Питание осуществляется через мини-USB (+5В) 
Максимальный ток с включенным Wi-Fi 150мА или 100мА без него.
Размер печатной платы: 5,7см х 5,7см 
Размер роутера: 6,7см х 7.4cm х 2.2cm



1. Прошивка
Вместо заводской прошивки, зальем на него OpenWRT.
Сначала скачиваем прошивку. Подключаем роутер к компьютеру LAN кабелем (адрес по-умолчанию: 192.168.0.254), логин/пароль: admin/admin. Заходим через браузер в системные настройки, выбираем заранее скаченый файл прошивки, нажимаем кнопку обновить и ждем пока зальется. Во время прошивки не трогайте роутер и не отключайте его питание, иначе получите танцы с бубном или убитый роутер. После прошивки роутер уйдет автоматически в ребут. Теперь роутер получил адрес 192.168.1.1. Подключаемся к нему телнетом, я использовал Putty и получаем окно терминала
Нажмите на изображение для увеличенияНазвание: putty.pngПросмотров: 2570Размер: 8.6 КбID: 455

2. Начальная настройка сети
Открываем фаил network текстовом редакторе vi и пропишем в нем свои сетевые настройки:
root@OpenWrt:~# vi /etc/config/network

Настройки Секции config interface 'lan' должны выглядеть так:

Код:
config interface 'lan'
option ifname 'eth0'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.1.99' # новый IP роутера MR3020
option netmask '255.255.255.0' # маска
option gateway '192.168.1.1' # шлюз к которому будет подключаться mr3020
list dns '192.168.1.1' # DNS1 сервер (головной роутер)
list dns '8.8.8.8' # DNS2 сервер

Здесь подразумевается, что головной роутер имеет адрес: 192.168.1.1
Если у вас другая подсеть необходимо сменить сетевые адреса на вашу подсеть.

Для дальнейшей настройки роутера mr3020 необходимо его подключить по Ethernet к головному роутеру или ADSL модему получающему интернет.

Схема подключения
Нажмите на изображение для увеличенияНазвание: begin_net.pngПросмотров: 912Размер: 4.3 КбID: 716
Еще нужно добавить строку в /etc/sysupgrade.conf для предотвращения перезаписи конфигов после ребута.
root@OpenWrt:~#echo "/etc/config/" >> /etc/sysupgrade.conf

Выполняем Reboot. 
Ждем перезагрузки и проверяем подключение к Интернету:
root@OpenWrt:~#ping ya.ru

Если пингуется:

PING ya.ru (5.9.57.134): 56 data bytes
64 bytes from 5.9.57.134: seq=0 ttl=252 time=52.902 ms
64 bytes from 5.9.57.134: seq=1 ttl=252 time=52.017 ms
64 bytes from 5.9.57.134: seq=2 ttl=252 time=52.137 ms
64 bytes from 5.9.57.134: seq=3 ttl=252 time=52.376 ms
64 bytes from 5.9.57.134: seq=4 ttl=252 time=52.128 ms
64 bytes from 5.9.57.134: seq=5 ttl=252 time=52.166 ms


Прерываем выполнение нажатием клавиш Ctrl^C

Здесь нужно быть внимательным! т.к. использовалась прошивка от 21.09.2012 r33482 (с этого форума) для установки пакетов нужно поменять источник репозитория тоже на эту-же версию.
Правим файл /etc/opkg.conf
комментируем 1-ю строчку и добавляем свою

Код:
#src/gz attitude_adjustment http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages
src/gz attitude_adjustment http://cyber-place.ru/download/packages/
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay

3. Подключение внешней флэшки.
Казалось бы на этом все, но в своем распоряжении вы имеете очень маленький объем Flash памяти, всего 1.4 Мб, из которых свободно всего около 300 Кб! Этого не хватит даже LuCI установить. Выход есть, нужно подключить внешнюю USB флешку.
Для этого придется выполнить все что я написал ниже.


Начинаем установку пакетов программ!
Обновляем список пакетов и устанавливаем нужные нам пакеты:

root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install kmod-usb2
root@OpenWrt:~# insmod ehci-hcd
root@OpenWrt:~# opkg install kmod-usb-core kmod-usb-storage kmod-fs-ext4 kmod-scsi-core block-mount e2fsprogs fdisk


e2fsprogs можно не ставить, но тогда придется флешку форматировать на компьютере и переходить сразу к монтированию, я не ставил этот пакет, т.к. в роутере кончалось место.

Посмотреть список установленных пакетов:
root@OpenWrt:~# opkg list-installed
...
...
kmod-scsi-core - 3.3.8-1
kmod-usb-core - 3.3.8-1
kmod-usb-ohci - 3.3.8-1
kmod-usb-storage - 3.3.8-1
kmod-usb-uhci - 3.3.8-1
kmod-usb2 - 3.3.8-1
kmod-wdt-ath79 - 3.3.8-1
...
...



Смотрим как флешка определась системой:
root@OpenWrt:~# fdisk -l 
у меня USB Flash-диск определился как sda
Disk /dev/sda: 1018 MB, 1018691584 bytes
9 heads, 56 sectors/track, 3947 cylinders, total 1989632 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0004862f

Device Boot Start End Blocks Id System
/dev/sda1 2048 1989631 993792 83 Linux



Сначала создаем на USB Flash раздел:
root@OpenWrt:~# fdisk /dev/sda

Выполняем следующие команды:
Command (m for help): d
Partition number (1-4): 1

Command (m for help): d
Partition number (1-4): 2

Command (m for help): d
Partition number (1-4): 3

Command (m for help): d
No partition is defined yet!


Создаем раздел:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p

Partition number (1-4): 1
First cylinder (27-122, default 27):
Using default value 27
Last cylinder or +size or +sizeM or +sizeK (27-122, default 122):
Using default value 122


Смотрим, что получилось:
Command (m for help): p
Disk /dev/sda: 1018 MB, 1018691584 bytes
7 heads, 8 sectors/track, 35529 cylinders, total 1989632 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0004862f

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1989631 993792 83 Linux

Command (m for help): a
Partition number (1-4): 1


Выходим:
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.


Раздел создан, форматируем его:
root@OpenWrt:~# mkfs.ext4 /dev/sda1

mke2fs 1.42.4 (12-June-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
62208 inodes, 248448 blocks
12422 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=255852544
8 block groups
32768 blocks per group, 32768 fragments per group
7776 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376

Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done



Монтируем новый диск и копируем на него все необходимое:
root@OpenWrt:~# mkdir -p /mnt/usb
root@OpenWrt:~# mount -t ext4 /dev/sda1 /mnt/usb -o rw,sync
root@OpenWrt:~# tar -C /overlay -cvf - . | tar -C /mnt/usb -xvf -


Правим фаил /etc/config/fstab:
root@OpenWrt:~# vi /etc/config/fstab

Нам нужно отредактировать секцию config 'mount':
config 'mount'
option target /overlay
option device /dev/sda1
option fstype ext4
option options rw,sync
option enabled 1
option enabled_fsck 0


Сохраняем, перезагружаемся, проверяем:
root@OpenWrt:~# df -h
Filesystem Size Used Available Use% Mounted on
rootfs 968.0M 51.9M 867.6M 6% /
/dev/root 1.5M 1.5M 0 100% /rom
tmpfs 14.2M 72.0K 14.2M 0% /tmp
tmpfs 512.0K 0 512.0K 0% /dev
/dev/sda1 968.0M 51.9M 867.6M 6% /overlay
overlayfs:/overlay 968.0M 51.9M 867.6M 6% /


Отлично!!! У нас теперь много свободного пространства, для установки модулей и утилит.

4. Последние шрихи.
Устанавливаем поддержку кодировок
opkg update
opkg install kmod-nls-cp1251 kmod-nls-koi8r kmod-nls-utf8 kmod-nls-cp866 kmod-nls-cp437 

Просмотров: 1232 | Добавил: 999 | Теги: TP-Link, mr3020, arduino, роутер, Умный дом, робот, OpenWRT | Рейтинг: 0.0/0
Всего комментариев: 0
avatar