D link 320 nru увеличение памяти

Обновлено: 05.07.2024

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

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

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

Замена Flash

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

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

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

3117_original

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

199bde9c5c412f49752f038e40bd2ac2.media_.800x600

Ну и само ПО для программатора: 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.

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

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

Настройка USB

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

  • kmod-usb-core
  • kmod-usb-ohci
  • kmod-usb2

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

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

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

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

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

  • kmod-usb-printer
  • p910nd
  • luci-app-p910nd

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

[edit] Чип




"Донора" можно найти на 4-ех чиповой линейке память Hynix DDR 256MB, маркировка HY5DU121622CTP-D43, определяющим в маркировке являеться число 1216, 12 - сокращение от 512Мb = 64 MB, а 16 - размер слова 16bit.

Успешно установлена - Infineon HYS64D32301HU-5-B 256Mb 4чипа, HYB25D512160BE-5 64Mb 16Bit

Просьба: Если кто-то использовал другие чипы для апгрейда, впишите пожалуйста обьем памяти и маркировку.

[edit] Процедура пересадки


Выпаиваем старый чип

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

Совет: Крайние ножки микросхемы припаяны лучше остальных (это даже на рисунке видно если присмотреться), что может заставить сначала немного понервничать.


Выпаиваем чип "донор"

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

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


Впаиваем чип

Эта процедура самая долгая, хотя конечно все зависит от вашего опыта, самое главное очистить посадочные контакты от лишнего припоя и точно установить чип, чтоб все ножки оказались на своих местах. Пайку необходимо осуществлять с минимальным кол-ом припоя, чтоб не спаять между собой ножки, я паял вообще без дополнительного припоя. Мне удалось припаять микросхему, а вот пропаять все ножки не получалось, мешали соседние элементы. После двух неудачных попыток включить роутер, я измельчил канифоль в порошок и присыпал им ножки, хорошо прошелся паяльником (опять таки без припоя) и все пропаялось, после чего почистил плату от канифоли спиртом при помощи зубной щетки.

Совет: Если не все ножки пропаялись, то при включении роутера, просто загораються все светодиоды.

[edit] Изменение NVRAM

После апгрейта роутер по прежнему будет видеть только 32 MB памяти, необходимо изменить SDRAM_INIT параметр NVRAM, для этого выполните в консоли:

PS: У меня осталось еще три чипа памяти на планке, обращайтесь жители жемчужины у моря.

Сайт Моддинг DIR-320 радует своих читателей новыми статьями.

Начнем. Вы купили (вам подарили, . ) роутер D-Link DIR-320. Эта модель в интернете описана достаточно хорошо и о ней очень много информации. Плюсами DIR-320 есть его низкая цена и поддержка альтернативных прошивок: openwrt, ddwrt, прошивки от Олега и т.д.

В этой статье я расскажу об увеличении оперативной памяти (RAM) в роутере D-Link DIR-320.

Итак, вскрываем роутер (предупреждаю, что после этого вы теряете гарантийное обслуживание)

Внутри видим микросхему памяти, микросхема похожа на обычную DDR.

В роутере установлена память K4H561638H-UCCC. Это DDR-400, 256Mbitsx16bits (32Mb), 66pin TSOPII. Из доступных замен без проблем можно найти чипы по 64Мб (512Mbits x 16 bits), это обычные планки памяти DDR-400 265Mb (4 чипа) или DDR-400 512Mb (8 чипов). Идеально подходит Hynix (маркировка чипа HY5DU121622CTP-D43). Также по описаниям успешно установлена и работает память Infineon (маркировка чипа HYB25D512160BE-5).

Найти такие чипы невсегда удается, на многих форумах говорится, что подходить должна вообще любая 16 битная DDR память размером 512 Мбит, с частотой желательно 200МГц (DDR-400), хотя впаивали чипы и меньшей частоты - проблем не наблюдалось.

Оригинальную микросхему выпаиваем аккуратно, вдруг придется впаивать его обратно. Приведу вам один хороший метод. Продеваете под ножками микросхемы тонкий провод и прогревая ножки по одной натягивая проволоку поднимаете ножки. При достаточной сноровке, выпаивать таким методом микросхемы можно довольно быстро и качественно. Чип из планки донора выпаивается аналогично.

Перед установкой нового чипа нужно подготовить посадочные контакты в DIR-320.

По всем контактам нужно пройтись паяльником чтобы убрать лишний припой а также выровнять "бугорки" припоя которые образовались после выпаивания родного чипа.

Впаивать такие микросхемы довольно долгое занятие, хотя это наверное зависит от сноровки. Устанавите пинцетом микросхему как можно точнее, припаяйте одну самую крайнюю ножку. Затем припаиваете ножку которая находится по диагонали от уже припаянной. Теперь микросхема зафиксирована и можно по очереди припаять все ножки. После пропайки нужно почистить плату от канифоли и другого мусора. Используйте спирт и мягкую щеточку.

Если при включении загораются и непрерывно горят все светодиоды и нет доступа к роутеру , то вы плохо пропаяли микросхемы. Пройдитесь паяльником по всем ножкам еще раз.

Если ваш роутер прошит openwrt или прошивкой от Олега, то к нему бесть доступ по ssh. Я использую ssh-клиент для windows putty. Очень удобная программка. Подключившись в терминале для того чтобы роутер видел все 64 Мб (а не 32Мб) необходимо выполнить следующие команды:

nvram set sdram_init=0x0013
nvram commit
reboot

После перезагрузки DIR-320 команда free должна вернуть что-то наподобии этого:

Итак, прежде чем делать что-то самому, я начал с того, что проанализировал многочисленные форумы и сообщества. На каждом форуме были ветки с описание тех самых чудо модемов и бесконечного ряда, связанных с ними проблем. Одни были мега стабильными, но с неприемлемо низкой скоростью, другие радовали производительностью, но уже через 30 минут «зависали» намертво. Все это очень сильно огорчало.

Прежде чем идти в «закрома родины» за стареньким ПК, я решил проанализировать имеющиеся факты и самостоятельно исследовать проблему.

    Находим модем из списка всех USB устройств:

Взяв четыре прошивки для роутера: D-Link, Asus, OpenWRT или DD-WRT, начал повторять эксперимент, но вот незадача, на удивление, ни в одной из прошивок не оказалось возможности управления питанием USB. Вначале я подумал, что это проблема ядра 2.4.x. Но и та же проблема и с 2.6. Более того, после перезагрузки роутера модем оставался проинициализированным. Вывод напрашивался сам собой, нужно разбирать роутер.
Внимательный осмотр и «прозвонка» платы показали, что ножка питания «+5В» подключена непосредственно к источнику питания. Это меня не устраивает и нужно делать модернизацию платы и источника питания.

Но прежде чем приступить к сборке дистрибутива и модернизации роутера, предстояла работа по выбору целевого модема/оператора и внешней антенны.

  • 3G модем (был куплен MTS WeTelecom WM-D300)
  • Направленная антенна CDMA-450 (неплохая по заверению продавца, какого-то неизвестного производителя)
  1. Он настойчиво отображается как CD-ROM
  2. Ни слова в интернете об этом модеме, максимум, что было найдено это упоминание о предыдущей модели (WM-D200)

Сборка OpenWRT

  • Скачиваем исходник OpenWRT:
  • Переходим в папку с исходником
  • Обновляем все пакеты
  • Добавляем из пакетов sdparm
  • Открываем меню настройки
  • Выбираем интересующую платформу
  • Встраиваем интересующие нас пакеты (по умолчанию они не включены даже как модули)
  • Все остальные пункты оставляем без изменения
  • Выходим из меню конфигуратора с сохранением
  • Собираем инструменты
  • Открываем меню настройки ядра Linux
  • Настраиваем MTD
  • Выходим из меню конфигуратора с сохранением
  • Собираем OpenWRT
  • После того как прошивка собрана, её нужно прошить в устройство. На эту тему есть масса инструкций (например, на сайте DD-WRT)

Проверка прошивки

После того как прошивка была «залита» и роутер перезагрузился, подключите к нему модем и соедините роутер посредством Ethernet с вашим ПК. Настройте на интерфейсе (в моём случае это eth0) вашего ПК IP адрес выполнив команду:
Далее, подключитесь к роутеру по Telnet. Для этого из консоли выполните следующую команду:

Выполните команду «exit», для выхода из telnet сессии.
Выполните вход по ssh:

Следующим шагом, удостоверимся, что модем был распознан ядром, выполнив команду в консоли:
Результатом выполнения этой команды, будет строка с VID и PID модема. В противном случае, проверьте, что было сделано не по инструкции.

Модернизация аппаратного обеспечения роутера

Для управления питанием USB порта нужна свободная ножка процессора. Но так как это не инженерная плата, а конечный продукт, данный вариант не подходит. По счастливой случайности, у этого роутера масса светодиодных индикаторов на передней панели. Один из них мы вполне можем приспособить под наши нужды. В моем случае выбор пал на индикатор со значком принтера, так как он соответствовал светодиоду USB на proc-fs (/proc/diag/led/usb).


Управление питанием будет осуществлять дополнительная плата с минимально необходимым набором деталей. Вот её схема:

Пара слов о схеме. Оба транзистора работают в качестве ключей. При подаче логической единицы на вход «CTRL», транзистор VT1 откроется, что в свою очередь приведет к открытию транзистора VT2 и питающее напряжение подастся на USB порт. Как таковые, расчеты не производились, поэтому, схема не может считаться оптимальной. Например, транзистор VT1, просто был единственным N-P-N транзистором в поле досягаемости, собственно как и резисторы.


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

Зелёными надписями отмечены одноименные порты на схемы. Резистор R4, припаян непосредственно к ножке светодиода.

  • Обесточьте роутер и разберите его
  • Уберите не нужный R48 – этот резистор соединяет светодиод с ножкой процессора

  • Удалите предохранитель F1 – этот предохранитель, должен обеспечить защиту в случае короткого замыкания на линиях питания USB. Его номинал мне не известен, но я его применил в своей схеме (R3). Обратите внимание, надписями желтого цвета отмечены места подключения платы управления

  • Удалите защитное покрытие с проводника, ведущего сигнал от процессора к резистору R48. К этому проводнику, должен быть подпаян порт «CTRL» платы управления

  • Приклейте плату управления в наиболее удобное для вас место. Мне, оказался, по душе свободный участок, чуть ниже антенного гнезда. В этом случае длина соединительных проводов будет наименьшей

  • Припаяйте резистор R4 непосредственно к аноду светодиода, как указанно на фотографии. Также обратите внимание на подключение соединительных проводов

  • Закончите монтаж соединительных проводов

  • Итоговый результат

  • Соберите и включите роутер

Модернизация программного обеспечения роутера

Это последний шаг на пути к «счастью». Нам нужно будет написать ряд новых скриптов и внести изменения в уже имеющиеся. Итак, все по прядку.
Подключитесь к роутеру по ssh, так как все следующие шаги будут выполняться непосредственно на нём.

Создание утилит для управления USB

Перейдите в папку /etc/ppp. Многих заинтересует, почему была выбрана именно эта папка в качестве целевой. Ответ прост, так исторически сложилось. Думаю, /usr/local/sbin будет более подходящей, но сути это не меняет

Читайте также: