Самостоятельно улучшаем домашний роутер
Самый многочисленный класс роутеров – модели, обладающие «средними» характеристиками. Большинство таких систем, в то же время, построено на современной элементной базе. По идее, в роутере можно кое-что заменить, чтобы его улучшить. Рассмотрим, какие компоненты содержит схема роутера, чтобы решить, что именно нуждается в «апгрейде».
Как улучшить характеристики роутера
Роутер можно «улучшить» программно, установив в него альтернативную прошивку. Авторы этих прошивок – стараются делать так, чтобы все работало на стандартном «железе».
Аппаратный апгрейд роутера – это установка разъемов портов и увеличение объема памяти. Последнее, кстати, выполняют на свой страх и риск, так как замена микросхемы – операция сложная, а вероятность успеха здесь меньше, чем 100%.
Устройство современного роутера
Рассмотрим структурную схему роутера, построенного на базе микросхемы SoC (System on Chip). К процессору напрямую подключается память (ОЗУ), ПЗУ, модуль Wi-Fi и тактовый генератор:
В реальности, многие чипы SoC не имеют в своем распоряжении пяти контроллеров LAN (так что, на плате будет распаян еще и свитч). Вдобавок, будут присутствовать элементы схемы питания, разные порты (USB, COM), кнопки и лампочки:
- Микросхема Soc, содержащая CPU
- Память Flash
- Оперативная память (2 модуля по 16 Мегабайт)
- Радиомодуль (в данном роутере – CX50221 либо CX50321)
- Аппаратный свитч
- Порт для отладки
- Разъем последовательной памяти SPI
- Кнопка управления и reset
- Контакты под USB-порт
Можно заметить, что на плате распаяно множество интерфейсов (например, USB), которые не используются. Логично начать апгрейд роутера с установки соответствующих разъемов. Но дело в том, что проблема может заключаться в отсутствии программного обеспечения, в котором нужный интерфейс – поддерживается.
В любой прошивке, изготовленной на базе Linux (что используется в большинстве роутеров), есть поддержка COM-порта. В самом роутере, чаще всего, такой порт – тоже присутствует. Надо просто припаять к плате пару-тройку контактов:
Rx и Tx – стандартные контакты последовательного интерфейса, Gnd – сигнальная земля. Кому нужно питающее напряжение, могут взять его с разъема SPI (но это – 3,3 Вольта).
Апгрейд микросхем памяти
В роутерах используется память SD-RAM или DDR, такая же, как в старых компьютерах (Pentium I..IV). Подобные планки памяти выпускались до появления DDR2, но их можно купить сейчас. Тем не менее, не нужно спешить! Сначала надо выяснить, какие именно микросхемы будут работать на данном роутере (не только их тип, например, PC133, но и марку).
После замены микросхем, возможны следующие «негативные» последствия:
- Роутер работает, но объем памяти – остался прежним
- Роутер не включается и не загружается
Вторая ситуация может возникнуть не из-за дефекта пайки, а всего лишь оттого, что установленные микросхемы – не совместимы с распаянным на плате процессором. При выборе памяти «наугад», так и бывает.
Причины возникновения ситуации «1» вполне могут быть «программными», то есть, уметь задействовать всю память – стандартная прошивка не обязана.
«Аппаратные» причины ограничения объема – отсутствующая дорожка или резистор. Чип SoC адресует 128 Мб (для большинства моделей). На плате может отсутствовать дорожка старшего адреса (тогда, будет «видеться» только 64 Мб). Иногда проводник есть, но нет требуемых деталей (это может быть один резистор на нижней стороне платы).
Важно знать, что «первый» контакт на микросхеме выделен кружком или точкой. На плате в соответствующей области – должна быть стрелочка или единица.
Так ли уж важен апгрейд? Несложно микросхему припаять, труднее снять ее с платы, не убив при этом. Вот о чем следует помнить перед тем, как принять решение.
Активируем требуемый объем памяти в прошивке
Надо зайти в консоль управления роутером по SSH или Telnet. Последний из этих протоколов поддерживают все модели (но по умолчанию он может быть запрещен).
Дальше, выполняют команды:
- nvram set sdram_init=0x11//верно для 128Мб, для 64 надо 0x13
- nvram set sdram_config=0x62//или 0x32, надо пробовать
- nvram commit//так надо
В завершение, останется перезагрузить роутер командой reboot. Посмотреть объем доступной памяти – можно тоже из консоли, командой free:
Удачного апгрейда!