Всем привет.
На этом сайте уже есть обзоры маршрутизатора nexx wt3020. И хоть именно модернизация этого устройства и будет конечной целью, но подтолкнула к написанию обзора меня как раз покупка чипа, обзора которого здесь я не нашёл. Кому интересно что вышло в итоге — прошу под кат.
Начну с
небольшого лирического отступления
Всё началось с раутера TP-LINK TL-WR741ND, который достался мне от друзей, получивших его бесплатно, при подключении к провайдеру. Работало это устройство не совсем стабильно — периодически подвисало, прекращало осуществлять маршрутизацию, а порою и отказывалось пускать на свою страничку администрирования. Несколько обновлений прошивки (каждый раз до самой свежей на тот момент версии представленной на сайте производителя) ничего в лучшую сторону не изменили: версии ПО сменяли одна другую, а маршрутизатор всё так же, раз в пару недель отказывался работать. И вот, во время очередного поиска в гугле по названию модели устройства, я наткнулся на прошивку openwrt, после установки которой, раутер проработал более года без какого-либо вмешательства со стороны (установлен он после ИБП, поэтому ничто не мешало ему беспрерывно отработать без выключений и перезагрузок такой промежуток времени).
Чуть позже я натолкнулся на возможность «апгрейда» данного маршрутизатора, который заключался в добавлении на борт usb-порта. Однако решил, что возиться с подобной переделкой не стоит, а лучше сразу найти что-то более современное с usb, процессором помощнее, возможностью устанвки openwrt и бОльшим объёмом памяти под прошивку (иначе сам по себе usb-порт превращается либо в ненужный атрибут, т.к. нет места для установки ПО для работы подключенных к нему устройств, либо обязателен ещё и хаб + какая-то флешка в нём, чтобы расширить объём файловой системы устройства для установки данного ПО).
Так я и наткнулся на nexx wt3020. После чего стал искать его обзоры на этом сайте (давно уже читаю, но долго не регистрировался и уж точно не собирался писать обзоров, полагая, что все вещи, купленные мною, здесь уже кто-то обязательно обозревал).
Заметки посвящённые этому маршрутизатору здесь уже, естественно, были.
Вот, например, обзор от
lolipop-а с уклоном в сторону смены прошивки и «превращения» этого раутера из малоизвестного у нас «nexx» в «asus» или «zyxel», а также огромным обсуждением данного устройства (в основном касающегося прошивок, использования с маршрутизатором дополнительного оборудования типа модемов, прочих «технических вопросов»). Тем, кто не в курсе, что умеет этот раутер и стоит ли его приобретать, возможно стоит почитать сперва данный обзор. Потратив пару дней на чтение комментариев (а их там действительно очень много), я пришёл к выводу, что устройство весьма неплохое: имеет хороший функционал, надёжное железо внутри (также применяющееся у более именитых и раскрученных производителей), маленькие габариты, хорошие возможности по перепрошивке.
Итак, на просторах aliexpress был приобретён nexx wt3020. Пока раутер путешествовал ко мне почтой Эстонии (посылка пришла на удивление быстро), я изучал кто и как использует подобные устройства с openwrt и находил для себя множество интересных (не пишу необходимых, важных, нужных и т.п.) его применений: начиная от видеонаблюдения за оставленным в квартире домашним питомцем, продолжая использованием маршрутизатора для серфинга в интернете через tor (без установки какого-либо дополнительного ПО на устройствах внутри домашней сети) или же исполнением роли файлового сервера с самостоятельной фоновой закачкой торрентов (без включённого компьютера) и заканчивая сбором информации о соседских wi-fi сетях для последующих попыток их взлома. Всевозможные сценарии использования маршрутизатора предполагают установку дополнительного ПО в раутер, что, в свою очередь, требует либо достаточного объёма встроенной флеш-памяти, либо подключения какого-нибудь внешнего носителя (usb-флешки, внешнего жёсткого диска и т.п.). По умолчанию в маршрутизаторе установлен чип объёмом 8Мб, чего вполне достаточно для основных задач раутера, но катастрофически не хватает для всевозможных экспериментов.
И вот, когда я понял, что на стоковой конфигурации я особо не развернусь (подключать внешнюю флешку для установки программ я не захотел, т.к. желал получить самодостаточную коробочку, в которую я буду иметь возможность подключать камеры, принтеры, 3g/4g-модемы и прочее), нашёлся выход: замена чипа памяти в устройстве. Да, информацию о замене чипа можно было встретить и в комментариях к обзору lolipop-а, но тогда я как-то пропустил это мимо ушей, т.к. не думал о дополнительном ПО, а восьми мегабайт казалось более чем достаточно.
Начав искать на том же aliexpress чипы w25q128, которые успешно устанавливались в этот раутер другими муськовчанами, я задался вопросом: а есть ли
такой же, только с перламутровыми пуговицами микросхемы на 32 Мб? 64 Мб? А будет ли с ними работать маршрутизатор? Ответов на эти вопросы я не нашёл ни в комментариях, ни задавая вопросы другим участникам этого ресурса. Поискав в сети, я тоже не нашёл ни одного описания успешного опыта подобной модернизации. Тогда я решил поэкспериментировать.
Снова небольшое отступление
Найдя чип w25q256 в восьмипиновом исполнении (они чаще встречаются в продаже в шестнадцатипиновом корпусе) я решил поискать на aliexpress продавца, у которого в наличии были бы сразу несколько позиций:
-недорогой программатор (выбор пал на ch341a,
вот один из его обзоров здесь)
-w25q256 wson8
-w25q128 (как чип, который 100% будет и поддерживаться программатором, и будет работать в маршрутизаторе).
Наличие этого всего у одного продавца связано было с тем, что не хотелось платить за доставку 32Мб чипа сумму, намного превышающую стоимость самого чипа: на момент покупки их не очень много продавалось на али и везде была
— либо невменяемая стоимость при бесплатной доставке (я не говорю, что 8-10$ это очень большая сумма, но за чип памяти такого объёма, с учётом стоимости всего маршрутизатора в 15$, это слишком много);
— либо небольшая цена, зато стоимость доставки зашкаливала.
Хотелось получить всё это «железо» одной посылкой.
В итоге несколько подходящих продавцов было найдено. Я всем задал один и тот же вопрос: При условии покупки программатора, положите ли вы в ту же посылку и чипы памяти без необходимости отдельной оплаты их пересылки?
Ответил лишь один китаец (ссылка на его магазин как раз находится в заголовке обзора). Оказался очень общительным парнем с юмором (правда он всё больше иронизировал). Сначала объяснял мне основы ведения бизнеса: мол, купи партию в сто чипов и стоимость пересылки, а также самого чипа будут иными. Потом предлагал мне найти данные микросхемы (с учётом стоимости доставки) дешевле и т.п. При заказе тремя отдельными позициями программатора, чипа 32 Мб и чипов 16 Мб общая стоимость посылки выходила около 18,5$. Однако я настойчиво толковал ему об одном и том же: я покупаю у тебя программатор (дороже, чем у других китайцев), положи в ту же посылку и чипы, не нужно их отсылать отдельными конвертами по 3-5 долларов каждый. В итоге, общая стоимость посылки из программатора, одного чипа на 32 Мб и 3-х чипов на 16 Мб снизилась с 18,5$ до 7.92$. На данный момент почему-то чипы недоступны, но поискав по али можно найти и другие предложения.
Фотографию внешнего вида микросхемы, что находится в заголовке обзора, взял из магазина, в котором её покупал, т.к. не снимал ни распаковки товара, ни само железо — как уже говорил ранее: обзор писать не собирался. Вот её фото уже припаянной к контактной площадке программатора:
А вот:
фото контактных площадок (опять же со странички магазина)
После покупки началась череда не очень приятных сюрпризов:
1) Никак не хотела собираться openwrt (от слова совершенно)
Дополнительная информация
Я пытался собрать последнюю тестовую версию — так называемый транк. Весь процесс сборки озвучивать не буду — его описание очень часто встречается на просторах сети и найти его не сложно. Вкратце: после скачивания всего необходимого для сборки, я указывал архитектуру процессора, для которой собирал прошивку и задавал конфигурацию по умолчанию. В таком виде компиляция проходила без каких-либо проблем. Но далее начинались «чудеса». Всё дело в том, что для wt3020 в openwrt нет отдельного профиля (что позволяет скомпилировать лишь одну прошивку для одной конкретной модели устройства). Когда собираешь прошивку для него, приходится указывать лишь архитектуру процессора. При этом компилируются прошивки для всех поддерживаемых openwrt устройств с данной архитектурой. И когда я включал в прошивку дополнительные пакеты относительно небольшого объёма (ту же luci, поддержку фаловых систем ext4, fat, ntfs, редактор nano) обязательно находилось какое-то устройство, на борту которого по умолчанию установлено всего 4 Мб памяти, а объём прошивки составлял к тому времени примерно 4,5 Мб. При наступлении очереди компиляции прошивки для такого устройства весь процесс завершался с ошибкой, типа: файл имеет слишком большой объём. И до попытки сборки прошивки под nexx дело даже не доходило.
sakatgg (спасибо ему за помощь) подсказал мне направление для «творчества». В результате этого в исходниках прошивки были попросту удалены строки с соответствующими проверками размеров файлов (более элегантного способа я не нашёл) и прошивка всё же была собрана.
2) ПО программатора отказалось корректно работать с чипом объёма 32 Мб (хоть его поддержка и была заявлена)
Дополнительная информация
В версиях программного обеспечения для данного программатора 1.29 и 1.30 заявлена поддержка данных чипов. Однако, эти версии некорректно работают даже с чипами объёма 16 Мб, что подтверждается отзывами муськовчан оставленными к приведённому мною выше обзору. ПО распознаёт чип, даже пытается что-то шить, но результат этого всего действа негативный.
3) Альтернативное ПО — flashrom под linux тоже не знает данного чипа и не может с ним работать. Проблема заключается в том, что на чипах объёмом до 16 Мб используется 3-байтовый режим адресации, однако для бОльших объёмов трёх байт уже не хватает. И здесь нужно выкручиваться какими-то иными способами.
Дополнительная информация
Благодаря общению с
vismyk родилась идея попытки изменения исходных кодов flashrom. Это позволило записать первую половину чипа w25q256 (размером в 16 Мб), как знакомый этой программе 16 Мб чип w25q128. Тоже, конечно, костыли знатные, и данный подход в каком-то другом случае точно не сработал бы, но здесь была надежда на успех — таким образом можно записать на флешку бутлоадер (я использовал breed, упоминаемый lolipop-ом в его обзоре) и разделы со «служебной информацией» раутера: мак-адреса, калибровки wi-fi и прочее. А загрузившись уже в режим бутлоадера (если это вообще удалось бы и он при этом опознал бы микросхему, и позволил бы работать с её полным объёмом) из него можно было бы прошить свою собственноручно собранную прошивку объёмом до (приблизительно) 30 мегабайт
Решив проблемные вопросы, удалось собрать тестовую прошивку openwrt, записать в микросхему w25q256 загрузчик, впаять микросхему в маршрутизатор (для меня это оказалось относительно непростой процедурой, т.к. ножек на чипе нет — только контактные площадки, а в домашних условиях термофена у меня не имеется):
Качество фото не очень хорошее — фотографировал телефоном ночью при свете двух светодиодных ламп светильника по 10 Вт каждая.
При включении загрузчик запустился:
и корректно распознал микросхему.
Далее не составило труда залить с его помощью прошивку, которой доступна вся память устройства:
Таким образом, можно констатировать факт, что nexx wt3020 вполне способен работать с флешкой объёмом 32 Мб (по крайней мере с той моделью, что участвовала в обзоре).
Всем, кто захочет повторить данный эксперимент, хочу пожелать удачи, но при этом напомнить:
если вы соберётесь подобным образом апгрейдить свой маршрутизатор, делайте это лишь в случае полного понимания своих действий и возможных их последствий
Спасибо за уделённое обзору время.
Только поставил радиатор на проц и впаял 5dbi антенны).
кстати, в камеди миниатюра была очень похожая ))))
rout·er \ˈrü-tər, ˈrau̇-\
Только 512 (64 Мб)!!! :)
А по сути: если будет возможность покупки флешки бОльшего объёма по вменяемой стоимости, то зачем Вам 128? ;)
1. Покупаем небольшой хаб для использования в качестве донора, например aliexpress.com/item/3-in-1-Otg-cable-Micro-USB-Hub-3-Port-to-1-OTG-Hub-Cable-Adapter/32354511551.html. Поделка — говно редкое и разваливается от первого прикосновения но внутри маленькая плата настоящего хаба которая легко помещается внутрь раутера.
2. Отпаиваем две ноги D+ и D- на USB разъеме и впаиваем плату хаба в разрыв — вход к контактным площадкам, выход к ногам разъема. Питание и землю берем где найдется.
3. Припаиваем ко второму порту хаба или напрямую или через разъем от того же хаба-донора USB стик или SD ридер, я припаял вот такой ридер aliexpress.com/item/White-Reader-Adapter-MINI-Super-Speed-USB-2-0-Micro-SD-SDXC-TF-Card-Reader-Adapter/32658248108.html
4. Устанаваливаем Zyxel Omni II 2.06 или Padavan, оба с поддержкой Entware, и запускаем Entware с USB устройства. Hint: можно даже создать несколько разделов, например ext3 для Entware и ntfs.
5. Профит. Если припаяли sd card reader то можно хоть 128 гигабайт карточку вставить и запхать туда хоть весь репозиторий, единственная проблема после этого это нехватка оперативной памяти для всего что хочется на нем запустить.
Сейчас думаю прорезать дырку и вывести сд кард ридер наружу, чтобы можно было менять карточку не открывая корпус.
Я тоже задумывался над встраиванием хаба, но остановило то, что в родном корпусе это всё не разместить (как минимум — без лишних отверстий в нём), а переносить маршрутизатор в какой-то иной самодельный корпус, ещё и так, чтоб оставалось всё симпатичным, было более проблематично, чем перепаять микросхему.
А если не хватает ОЗУ, то и тот чип перепаяем :)
Вот такой вот хаб прекрасно помещается в корпус
Как именно собирать модули — простите, за этим уже в гугл.
aliexpress.com/item/3-in-1-USB-OTG-Cable-Adapter-Micro-USB-Hub-USB-OTG-Extension-Adapter-for-Smartphone/32330951088.html
кстати, говоря о нексе, я нашел в оффлайне хорошую пепяку netgear pr2000, на том же железе, только флешка 16МБ и двойное питание(можно одновременно). в мск один в продаже есть в технопоинте за 1150р.
echo -n 1 >/sys/bus/usb/devices/2-6.1.3/bConfigurationValue
должно включить любое устройство которому хочется powered USB hub, после этго все завсисит от того вытянет блок питания или нет.
ebay.com/itm/222138585149
256 памяти? Так речь про оперативку. ПЗУ там всего 16 Мб. И я не вижу особых преимуществ у этого устройства перед wt3020. Да, объём ОЗУ впечатляет. Но подобный объём и не особо востребован в домашних сетях (чтоб не сказать — вообще не востребован). А если и возникнет в нём необходимость, то будет повод ещё раз поискать на aliexpress чипы (на этот раз ОЗУ) и взять в руки паяльник :)
А вот ценник в 38$ отталкивает. Обозреваемая железяка более чем в два раза дешевле.
Нисколько не хочу уменьшить значимость DIY, но подбивая стоимость:
1.Роутера в два раза дешевле
2.USB hub-а
3.Чипов RAM и Flash
Легко выйти на $38
Весь кайф портит только параллельная флешка :(
или паяльником мощностью от 60W с обратной стороны платы?
На контактные площадки чипа «посадил» небольшие шарики припоя (жалом типа иголка), поместил флешку на место и тем же жалом осторожно нагревал выступающие участки дорожек. При этом шарики плавились и обеспечивался контакт.
Гениально!!!
ЗЫ у меня у самого три Nexx трудятся как аудиоклиенты :-)
www.ejtag.ru/viewtopic.php?f=8&t=10
З.Ы. ТС так и пишет:
Попытаюсь объяснить (Вы уже разобрались, что изначально там не 16, а 8 метров):
8-ми мегабайт мало. Реально мало. Я помню те времена, когда мы собирали полный дистрибутив линукса (той же «Слаквари»), который для функций маршрутизатора, фаервола и ещё бог знает чего, не упомню уже, умещался на дискету. Для него сами собирали ядра, убирая всё ненужное, экономя каждую сотню байт. Сейчас подобной оптимизацией мало кто занимается. Сейчас: не хватает места — увеличь его. Но тут впаяна микросхема и лёгких путей увеличения (usb-hub не предлагать, обсуждали уже выше) нет. Поэтому 8 — мало (при этом в самом обзоре я сделал оговорку: для наиболее распространённых задач и штатной работы хватает с головою и восьми, больше нужно для творчества и экспериментов). Если Вы с этим не согласны — далее просто расходится каждый при своём мнении :)
Так вот, если принять за аксиому, что 8 мегабайт это не совсем уж достаточно, то возникает задача увеличения этого объёма. До 16-ти увеличить (при наличии паяльника, головы и рук) не сложно и многие это проходили. А что если попробовать 32? Цена вопроса не велика. В случае неудачи — куплена за 50 центов микросхема на 16 Мб и в любой момент она займёт своё место. Почему бы не попробовать? Просто из любопытства, интереса? Ведь хочется порою поиграть в игрушки :) Да и не будут лишними никогда эти мегабайты. А если и будут — сколько я потратил на своё хобби? Лишних 1,7$? (Время не в счёт, я его провёл с удовольствием, узнал для себя что-то новое) Это же не критично.
Да и есть люди, которые всегда хотят чего-то большего. На оф. форуме openwrt нет-нет да и встречается топик о 32 Мб. И на многих устройствах эти мегабайты так и остаются у людей нереализованным желанием. А, глядишь, мой опыт кому-то и поможет его осуществить. Просто чтоб было. Ведь разница в замене на 16 или на 32 — всего лишь доллар.
Как я понимаю, это для версии СС (и, возможно, не самой актуальной).
Я собирал транк, поэтому следовать этому рецепту не получилось — попросту нет таких строк в файле. Но, копать именно этот файл. Для начала найти в нём кусок сообщения о получаемой ошибке (что-то типа image is too big или просто too big — там таких проверки штуки четыре найдёте, попросту их отключите — я отключал ТОЛЬКО одну из них — смотреть внимательно на сообщение об ошибке и сравнивать с тем, что найдёте в файле — можно разобраться, какая из 4-х выскакивает у вас). После того, какизбавился от первой ошибки, в результате компиляции получил вторую — уже при попытке собрать прошивку для нашего устройства, но 4М версии. В этом же файле нашёл и ту проверку, отключил сборку для 4М версий устройств.
Пробуйте.