1. Главная страница » Компьютеры

Dir 300 usb порт

Автор: | 16.12.2019

Суть апгрейда:
Запаять USB порт и его обвес.
Прошить на KEENETIC_4G_II_2.04[AAKW.7]C5.zip
Запустить с модемами в работу.

Многие переделывали так роутеры DIR300 b7 ревизии, но никто толком не описал что впаивал в прибор. Типа все легко и сами разберетесь. Я решил таки более наглядно проиллюстрировать.

Как писали, этот роутер очень похож на DIR-320 B1, одно из отличий — не распаян USB и обвес его питания (сами дорожки и места под элементы есть).

Для работы нам потребуются:
SMD детали: резистор 8.2 кОм (маркировка 822), конденсатор (номинал не критичен, подберите по месту установки), три перемычки (маркировка 0 или 000)
Электролитический конденсатор 6.3v 1000mF, сам USB разъем вертикальный, типа "A" гнездо вертикальный постановки. Или можно напрямую запаять кабель USB.
Прошивка KEENETIC_4G_II_2.04[AAKW.7]C5.zip

Как прошивать написано здесь:
Прошивка роутера DIR300 rev. b5-b7 в ZyXEL KEENETIC START
Единственно подставить прошивку KEENETIC_4G_II_2.04[AAKW.7]C5.zip заместо START

Для питания USB запаял конденсатор 6.3V 1000мF, выделен фиолетовым, и перемычки, выделены оранжевым. Выпаял все это дело со старой материнки. Шунтирующими кондюками пренебрег.

Чтобы USB нормально заработал необходимо запаять резистор r129 на 8.2 кОм и конденсатор с209 номинал не критичен подбирал по размеру места установки. Находятся они с другой стороны платы, напротив процессора.
Конденсатор и резистор так же выпаял со старой материнки.
Намучился, конечно, со впайкой SMD деталей обычным паяльником, благо опыт такой пайки имелся.


Прошивать из вэбморды кинетик старт в кинетик гига, роутер отказался.
Прошивал в failsafe ui последней прошей с офф сайта ZyXEL KEENETIC_4G_II_2.04[AAKW.7]C5.zip .
Потом пропилил отверстие под usb порт и запробовал с модемами.
Роутер ппределил как huawei 1550, E173, так и ZTE MF112 и MF627. Единственно для корректной работы нужно перевести свисток АТ командами в режим "только модем". Для ZTE более актуально.

Пропил в пластике корпуса.
USB порт низковат, поэтому решил проделать отверстие поболее.

С модемом huawei E173.
На окне выдал -69dB. Скорость стабильно 3Мбита.


Проработал два дня. Вылетов нет. Зависаний тоже.

На четвертый день отдали 4G модем и сделал приблуду для жесткого крепежа роутера и модема.
Сделал пропилы под крепеж в пластике роутера.


Ну и сам вид роутера на подставке.

LTE модем роутер определил нормально. Единственно что скорость почти не поднялась. С этим буду разбираться.

В статье пойдет речь о установке OpenWRT и дальнейшей пляске с бубном (да, да, да, ежемесячно или даже еженедельно кто-то пишет про установку OpenWRT, но у каждого возникают свои заморочки).

Итак, что мы имеем:

  • Dir-300 NRU B7;
  • Желание прикрутить USB 2.0;
  • Желание пощупать OpenWRT.

Добро пожаловать под кат.

Все началось с изучения возможностей DIR-300 и его последующей модернизации. USB разведено на плате, но отсутствуют элементы. Руки вроде прямые, но трясутся, паяльником орудовать малость умею. OpenWRT устанавливается и работает без каких-либо проблем. OpenWrt — Linux, пусть и урезанный, значит можно и в нем поднять немного знаний в *nix среде.

1. Начнем с USB

Почитав даташит на чип RT-3050, понял, что можно запустить USB 2.0, но для этого нужно впаять резистор на 8,2 КоМ. Серфинг привел на статью Установка антенны и распайка USB. Однако в ней не было точного описания техпроцесса и возможных альтернатив решения поставленной цели.

В комментариях появилась ссылка на подробный техпроцесс по прикручиванию USB. Изучив обе статьи, я приступил к паяльным процедурам.

Понадобилось:

  • Конденсатор — 6.3V 1000мF
  • Резистор — 8,2 КоМ
  • Керамический конденсатор подходящий по размеру в место пайки.
  • Резистор 3шт. — 0 оМ (перемычка) — обошелся свинцовыми соплями.

(Гуру пайки и мастера работы с фотоаппаратурой, попрошу без комментариев о том, какой автор криворук и прочее, трясущиеся руки с детства и подозрение на Паркенсон думаю достаточный довод не язвить.)

Запаяли, закрутили,
Скотчем порт мы прилепили,
Прошу от кинетик загрузили,
Радость от процесса получили.

Итог: залил прошивку от кинетика 3г (точно не помню, но какое-то зюкселевкое бррр), через аварийный режим.

Зажать reset и подключить питание, роутер загрузиться в аварийном режиме и будет доступен или по 192.168.0.1 или 192.168.1.1
Будет кнопка выбора файла прошивки. Прошивку будет заливать без проверки на валидность и прочее, будьте бдительны

Порадовался успеху и новой прошивке, но понял что надо лить OpenWRT.

Вот тут, как говориться, пришел медведь. Запускаю роутер в режим аварийной загрузки, а фиг там — прошивка изменила бут и не грузит предыдущий бутлоадер. Ну, думаю, приехал.

Побродив по форумам, понял, что зуксель, как и циска, любит tftp для восстановления прошивки, причем без проверки на содержимое. Устанавливаю и запускаю tftp, включаю роутер, и в окне программы начинает сыпаться сообщение о необходимости файла ". bin". Хорошо, беру прошивку OpenWRT с сайта «openwrt-15.05-ramips-rt305x-dir-300-b7-squashfs-sysupgrade.bin» переименовываю в нужный файл для восстановления, кидаю в папку tftp, перегружаю роутер в аварийный режим и — вуаля: скушал прошивку, перегрузился, и Люся радостно отозвалась на 192.168.1.1.

Полазив по настройкам и почитав форумы, понял, что мне надо ставить пакеты для поддержки USB. С радостью полез в «Программное обеспечение» и понял что кердык: места хватает только для «block mount».

2. OpenWRT, готовое решение, сборка из исходников и танцы с бубном для установки забытого

Почитав многочисленные статьи про установку OpenWRT и сборку из исходников, понял, что для того, чтобы запустить USB на DIR-300, желательно собрать прошивку из исходников, убрав все лишнее. И если я прикручиваю USB, то есть смысл сразу перенести систему на флешку.

За основу взяты статьи: раз, два и три.

Поставил виртуалку с убунтой 12, обновил репозиторий и понеслась.

sudo apt-get install subversion git
sudo apt-get install g++ libncurses5-dev zlib1g-dev gawk libssl-dev

svn co svn://svn.openwrt.org/openwrt/branches/barrier_breaker wrt

/wrt
./scripts/feeds update -a
./scripts/feeds install -a

/wrt$ make prereq

Конфигурируем прошивку под себя:

Target System — Ralink RT288x/RT3xxx
Subtarget — RT3x5x/RT5350 based boards
Target Profile — Default Profile

Далее выбираем нужные модули и плюшки.

Global build settings
[ ] Enable IPv6 support in packages

Base system —>
block-mount

Base system
busybox
Networking utilities
[ ] Enabled IPv6 support

Kernel modules
Netfilter Extensions
[ ]kmod-ip6tables

Kernel modules
Network support
[ ] kmod-ipv6

Kernel modules —>
USB Support —>
kmod-usb-core
kmod-usb-ohci
kmod-usb-storage
kmod-usb-usb2

Kernel modules —>
Filesystems —>
kmod-fs-ext4

Libraries
Firewall
libip6tc

LuCI —>
1. Collections —>
luci
5. Translations —>
luci-i18n-russian

Network —>
ppp
ppp-mod-pppoe
ppp-mod-pppol2tp
ppp-mod-pptp

Нажимаем Exit, сохраняем конфигурацию и собираем прошивку.

make V=99
(Если будете собирать под локально установленной убунтой можно добавить параметр "-j3" если у вас 4 ядра на проце, ускорит процесс сборки «make -j3 V=99»)

/wrt/bin" и ищем «openwrt-ramips-rt305x-dir-300-b7-squashfs-sysupgrade.bin». Заливаем прошивку и радуемся.

Итак, прошили «openwrt-ramips-rt305x-dir-300-b7-squashfs-sysupgrade.bin». Подготавливаем флешку: из убунты форматируем и приводим в к следующему виду (можно и в акронисе, на вкус и цвет фломастеры разные):

Далее подключаем флешку к роутеру, подключаемся по ssh и вводим «dmesg | grep sda». Должно вывести следующее:

[ 5069.910000] sd 0:0:0:0: [sda] No Caching mode page present
[ 5069.920000] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 5069.920000] sda: sda1 sda2 sda3
[ 5069.930000] sd 0:0:0:0: [sda] No Caching mode page present
[ 5069.940000] sd 0:0:0:0: [sda] Assuming drive cache: write through

config global
option anon_swap ‘0’
option anon_mount ‘0’
option auto_swap ‘1’
option auto_mount ‘1’
option delay_root ‘5’
option check_fs ‘0’

config mount
option uuid «здесь ваш UUID»
option device ‘/dev/sda1’
option fstype ‘ext4’
option options ‘rw,sync’
option enabled ‘1’
option is_rootfs ‘1’
option enabled_fsck ‘0’
option target ‘/overlay’

config mount
option target ‘/home’
option uuid «здесь ваш UUID»
option device ‘/dev/sda2’
option fstype ‘ext4’
option options ‘rw,sync’
option enabled ‘1’
option enabled_fsck ‘0’

config swap
option uuid «здесь ваш UUID»
option enabled ‘1’

Используя UUID, мы точно будем уверенны что загрузимся с нашей флешки, если подключим 2 флешку или внешний винт и прочее.

mkdir /mnt/sda1
mount /dev/sda1 /mnt/sda1
mkdir /tmp/cproot
mount —bind / /tmp/cproot
tar -C /tmp/cproot -cvf — . | tar -C /mnt/sda1 -xvf — sync; umount /mnt/sda1
umount /tmp/cproot

Filesystem Size Used Available Use% Mounted on
rootfs 476.2M 16.2M 431.0M 4% /
/dev/root 2.5M 2.5M 0 100% /rom
tmpfs 14.4M 628.0K 13.8M 4% /tmp
/dev/sda1 476.2M 16.2M 431.0M 4% /overlay
overlayfs:/overlay 476.2M 16.2M 431.0M 4% /
tmpfs 512.0K 0 512.0K 0% /dev
/dev/sda2 368.7M 2.0M 343.2M 1% /home

Если необходимо все сбросить на ноль, то вводим:
mtd -r erase rootfs_data

Радуемся: система стартует с флешки и теперь можно ставить хоть какие пакеты, не задумываясь о нехватке места.

По поводу свопа: если подключите внешний винт, то имеет смысл перенести его в начало, т.к. там наиболее быстрая область; для флешки в конец, чтобы не сдохла быстро.

Все вышесказанное — ИМХО.

opkg install kmod-fs-cifs kmod-nls-utf8 kmod-nls-base kmod-crypto-hmac kmod-crypto-md5 kmod-crypto-misc cifsmount

opkg install /home/kmod-crypto-misc_3.10.49-1_ramips_24kec

opkg install —nodeps —force-checksum /home/kmod-crypto-misc_3.10.49-1_ramips_24kec

kmod-fs-cifs — поддержка файловой системы
kmod-nls-utf8 — поддержка кодировки
kmod-crypto-misc — то же за чем-то надо )))
cifsmount — набор утилит для работы через mount -t cifs (без него у меня жаловался на неправильные аргументы)

Данные пакеты уже были установлены в системе, видимо, kmod-fs-ext4 их подтянул как зависимости:

kmod-nls-base
kmod-crypto-hmac
kmod-crypto-md5

mount -t cifs -o rw,guest,iocharset=utf8 //192.168.0.2/d /mnt/h0mikus_D

# ls -l /mnt/h0mikus_D/
drwxr-xr-x 0 root root 0 Jun 13 2015 . PAP5450_firmware_update
drwxr-xr-x 0 root root 0 Dec 20 19:52 . iPhone
drwxr-xr-x 0 root root 0 Dec 2 21:25 . temp_downloads
drwxr-xr-x 0 root root 0 Nov 16 23:04 $RECYCLE.BIN
drwxr-xr-x 0 root root 0 Dec 26 01:41 111hgk
drwxr-xr-x 0 root root 0 Jun 13 2015 Cert
-rwxr-xr-x 0 root root 3552 Aug 25 2013 Chizh — Bombardirovschiki intro.gp5
drwxr-xr-x 0 root root 0 Oct 14 12:54 Cisco Packet Tracer 6.2sv
drwxr-xr-x 0 root root 0 Dec 13 17:56 Games
drwxr-xr-x 0 root root 0 Nov 17 20:36 Install
drwxr-xr-x 0 root root 0 Jun 13 2015 System Volume Information
drwxr-xr-x 0 root root 0 Dec 3 11:33 VirtualBox
drwxr-xr-x 0 root root 0 Dec 25 03:06 _acestream_cache_
drwxr-xr-x 0 root root 0 Dec 4 19:46 backup
drwxr-xr-x 0 root root 0 Oct 11 13:41 downloads
drwxr-xr-x 0 root root 0 Sep 5 19:59 old work
-rwxr-xr-x 0 root root 3407876 Dec 2 18:09 openwrt-15.05-ramips-rt305x-dir-300-b7-squashfs-sysupgrade.bin
-rwxr-xr-x 0 root root 3670020 Dec 25 20:59 openwrt-ramips-rt305x-dir-300-b7-squashfs-sysupgrade.bin
drwxr-xr-x 0 root root 0 Nov 27 18:07 study
-rwxr-xr-x 0 root root 3407876 Dec 25 00:36 work_openwrt-ramips-rt305x-dir-300-b7-squashfs-sysupgrade.bin
drwxr-xr-x 0 root root 0 Oct 22 13:30 Диета
drwxr-xr-x 0 root root 0 Jun 13 2015 Диплом
-rwxr-xr-x 0 root root 3149509277 Jan 10 2011 Карьерный рост.mp4
drwxr-xr-x 0 root root 0 Jun 13 2015 Мое
dr-xr-xr-x 0 root root 0 Jun 13 2015 Мои Документы
drwxr-xr-x 0 root root 0 Jun 13 2015 Полезное
drwxr-xr-x 0 root root 0 Nov 14 12:31 Прощивка ПРИМ-88КТ

# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.

mount -t cifs -o rw,guest,iocharset=utf8 //192.168.0.2/d /mnt/h0mikus_D/

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Смысл жизни где-то в коде…

DIR-300NRU B7 впаять USB, замена flash 8mb, установка OpenWRT и внешняя антенна

Как-то разобрав свою эту коробку, обнаружил, что внутри (как обычно) много чего разведено, но не впаяно. Одним из этих невпаянных деталек был USB. И тут мне очень сильно захотелось его впаять. Обвязки было совсем немного, но само собой, ничего не работало. На ftp d-link я нашёл старую прошивку для DIR-320NRU, которая бы влезла в стандартную 4Мб флешку, но она умела только работать с парой usb-модемов, так что интереса не представляла. Вообще, мне нужно было как-то отвязать от своего компьютера принтер, так как если кому-то надо было что-то напечатать, приходилось включать мой компьютер, что не меня, ни окружающих не сильно устраивало.
Поэтому пришёл к выводу, что нужно поставить *Wrt прошивку, ну и что там будет ещё. Итак, из всего что можно проделать с устройством по пунктам:

  1. USB — разведён на плате, требует минимум обвязки, задействовать достаточно просто.
  2. RAM — изначально установлено 32Мб SD-RAM, и это предел. 64Мб может быть установлено только в качестве ещё одной микросхемы (взято из нескольких источников), и места на плате для неё нет. К тому же 32Мб — это достаточное количество для всего, что нам будет нужно.
  3. Flash — установлена 4Мб MX25L25635E, в принципе её бы хватило, если бы в ней было свободно ещё всего 300Кб, но нет. Заменена будет на MX25L6445e, как самое недорогое предложение на Ali Express. Цена вопроса 260 рублей за 2 штуки. Столкнулся ещё с проблемой, что не все флешки подходят. Выдернутая из материнки не подошла.
  4. Внешняя антенна — на плате есть даже специально гнездо для неё. Можно спокойно выдернуть разъёмчик из какого-то сгоревшего ноутбука и купить Wi-Fi гнездо. Цена вопроса около 100 рублей.
  5. *Wrt прошивка — так как dd-wrt скисла и, на мой взгляд, уж сильно заумная, плюс ещё эту модель не поддерживает, то остаётся только OpenWrt, к слову, что очень даже радует. Плюс на сайте можно скачать даже уже собранную.
  6. UART — на плате JP1. нам он не понадобится, но можно и впаять. Порт работает на скорости 57400, это важно, иначе в терминал будет сыпать кракозябру.

Теперь более подробно о важном и главном.

Замена Flash

Сразу напишу, что через UART перешить мне ничего не удалось. В железке стоит U-boot версии 1.1.3, который позволяет шить только или загрузчик или прошивку. Как я понял, что существует ещё одна область памяти с данными об оборудовании, которую прошить из этого загрузчика просто невозможно, а без тех данных после перепрошивки просто тупо не работает сеть ни на какой прошивке, соответственно всё плохо. Так что поменять флешку на более ёмкую у меня получилось только на программаторе, полностью слив старую.

Программатор

Спасибо добрым людям, всё устройство выглядит как 4 резистора на 150 Ом и 1 конденсатор на 1 мкф и специальное ПО. Схема всего в сборе представлена ниже:

Питание 3.3V я взял прямо с платы маршрутизатора с разъёма UART, собственно сама распиновка;

Ну и само ПО для программатора: spipgm2.1. Программа консольная, но очень простая в использовании.

Уточню, что флешку надо выпаять из маршрутизатора, так, на всякий случай, и собрать программатор отдельно, с платы маршрутизатора можно только взять питание 3.3В.

Слив прошивку со старой флешки её надо преобразовать в 8Мб. Для этого нужно открыть файл прошивки в WinHex-редакторе и добавить пустоты на 4Мб. Теперь готовый файл на 8Мб можно преспокойно лить на новую флешку. После окончания процесса прошивки, новую флешку можно сразу впаивать в маршрутизатор и он будет работать.

Замечание

В DIR-300NRU B7 распределение памяти отличается от написанных руководств и область так называемого ART находится после загрузчика и перед линуксом, соответственно последние 64Кб не надо вытаскивать в конец нового файла.

Установка OpenWrt

Тут ничего сложного нет, единственный нюанс, что устанавливается она из режима экстренного восстановления (необходимо выключить маршрутизатор, зажать кнопочку Reset и не отпуская её подать питание и ещё держать 10 секунд или пока не замигает индикатор питания). Для режима экстренного восстановления лучше всего использовать обозреватель Internet Explorer, с другими иногда возникали проблемы при загрузке прошивки. Интерфейс экстренного восстановления находится по адресу 192.168.0.1, возможно понадобится присвоить вручную IP-адрес своему компьютеру 192.168.0.2. На всякий случай прошивка: openwrt-ramips-rt305x-dir-300-b7-squashfs-sysupgrade. После установки OpenWrt адрес маршрутизатора изменится на 192.168.1.1. В настройках сетевой карты необходимо будет установить получение IP-адреса автоматически.

Настройка Интернет на OpenWRT

Если ваш поставщик услуг Интернет не использует всякие VPN и прочее, то будет достаточно просто скопировать MAC-адрес своей сетевой карты в настройках интерфейса WAN.

Однако мой поставщик использует связку в стандартной прошивке под названием "Динамический IP + PPTP", и, честно говоря, у меня на этом месте был затык, в виду того, что в сборке OpenWrt пакет PPTP не установлен и соединения с Интернет из устройства тоже нет. Если у вас всё хорошо и Интернет появился, можете пропустить следующий абзац.

Настройка PPTP без доступа в Интернет

Замечание: Для доступа к Веб-интерфейсу "Люси" необходимо установить пароль root. Чтобы это сделать, нужно подключиться по telnet к маршрутизатору и выполнить команду "passwd", после чего дважды ввести пароль. Об отсутствующем пароле будет указывать противная жёлтая табличка на странице авторизации.

Необходимо установить на своём компьютере HTTP-сервер. Лично я выбрал Apache, так как это было и самое быстрое и простое решение. Возможно, понадобиться добавить 80 порт в исключения брандмауэра. Далее я выкачал всю папку base из хранилища OpenWrt (лень было выискивать конкретные пакеты) и закинул её в папку htdocs. Теперь можно сказать Люси, что у нас есть хранилище пакетов на нашем компьютере, для этого идём в System -> Software и вкладка "Configuration". Меняем строчку

нажимаем "Сохранить" и возвращаемся обратно в Software, обновляем списки, ждём секунд несколько, видим сообщение, что списки пакетов типа "base" успешно обновлены. Нам теперь нужно в доступных пакетах найти ppp-mod-pptp и установить его.

Далее идём в Интерфейсы и добавляем новый типа PPTP на WAN, вводим настройки, нажимаем сохранить. Если счастье не наступило (приём и передача по нулям), можно зайти в системный журнал и посмотреть в чём дело. В моём случае дело было "possible DNS-rebind attack detected: адрес_сервера". В таком случае необходимо зайти в Network -> DHCP & DNS и или отключить защиту от DNS Rebinding, что НЕ рекомендуется, или добавить в Whitelist адрес_сервера, что и рекомендуется сделать.

После перезагрузки Интернет просто обязан заработать. Возвращаем настройки конфигурации в Software.

Настройка USB

Замечание: Очень рекомендую русифицировать Люси. Для этого в Software обновляем списки и устанавливаем пакет "luci-i18n-russian".

Для работы USB необходимые пакеты:

По спецификации Ralink RT5350F, система поддерживает OHCI и EHCI, 1.1 и 2.0 соответственно.

Замечание: После установки пакета kmod-usb2 у меня полностью отвалилось USB. методом стучания в бубн определил, что драйвер для USB 2.0 не работает на этом устройстве. Пришлось снести. Надеюсь, что в следующих выпусках OpenWRT проблема будет решена.

Обновлено: Чтобы USB нормально заработал, необходимо запаять резистор r129 на 8.2 кОм и конденсатор с209 номинал не критичен подберите по размеру. Находятся они с другой стороны платы под процессором (Спасибо пользователю aka Дмитрий). От себя добавлю, что нашёл только на 10 кОм, маршрутизатор был и этому доволен.

Установка принтера

Для работы принтера необходимо установить сервер печати. Необходимые пакеты:

После их установки появляется в меню пункт Сервисы -> p910nd — сервер печати. Там все настройки просты и понятны. Отдельно только хочется отметить флажок "Двунаправленный режим". На некоторых принтерах Canon есть проблема, в самом конце печати принтер вдруг повисает и держит бумагу. Если такое наблюдаете и вы у себя, рекомендуется снять этот флажок.

Далее надо настроить новый порт принтера. В Windows идём Панель управления -> Принтер. Находим свой принтер (или предварительно устанавливаем драйвер), двойной щелчок, в появившемся окне во вкладке принтер выбираем "Свойства", в свойствах выбираем вкладку "Порты". Нажимаем "Добавить порт", в появившемся окне выбираем "Standart TCP/IP Port", нажимаем кнопку "Новый порт", в появившемся мастере нажимаем "Далее", вводим ip_адрес_маршрутизатора в качестве имени порта, жмём "Далее", ждём пока он будет что-то искать (всё равно не найдёт), пока не предложит указать особые параметры. В особых параметрах выставляем "Протокол — RAW", "Номер порта — 9100", все остальные флажочки снимаем или не ставим, если не стоят, нажимаем OK. В свойствах принтера переходим на вкладку "Общие", нажимаем кнопку "Пробная печать". Если всё настроили правильно, принтер должен начать печатать.

Благодарю за внимание, ну и себе на заметку, чтобы не забыть.

Читайте также:  Intel core i5 8400 частота

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *