Схема роутера на winbond 25q
Добрый день,
Предлагаю Вашему вниманию мини обзор последовательной SPI флеш-памяти в корпусе SOIC8 от производителя Winbond размером 16Мбайт. В этом обзоре я опишу как с минимальными затратами усилий сделать апгрейд постоянной памяти роутера TP-Link TL-MR3020.
Зачем?
Мне понадобился компактный роутер на базе Atheros с большим объемом ROM, чем предлагают производители. В частности, мне нужно было место для нескольких пакетов, чтобы организовать APRS шлюз. Обычно в таких случаях используют внешнюю USB флеш память, но мне этот вариант не подходил, так как создавал проблемы с надежностью и занимал единственный USB-порт роутера.
Теоретические изыскания
Я провел поиски в Сети и нашел несколько вариантов расширения памяти роутера. Все они задействуют альтернативный загрузчик UBoot, требуют работы в HEX редакторе с пониманием происходящего и пайки консольного вывода к USB-TTL переходнику и работы в консоли.
Моя реализация
Мною был найден UBoot, которому не нужна последовательная консоль.
Мною была написана программа, которая позволяет собрать прошивку без использования HEX-редактора.
Герой обзора
Пришла в отрезке ленты:
Она же без упаковки:
Идентификаторы:
Необходимые инструменты и материалы
Паяльник, флешка, роутер и программатор CH341A.
Процесс замены
1.Выпаиваем родную флешку, считываем программатором и сохраняем в файл с именем 4mb.bin. Должен получится файл размером 4194304 байта.
2.Качаем программу и помещаем файл 4mb.bin в одну папку с MR3020FW.exe
3.Запускаем MR3020FW.exe:
Жмем «Собрать прошивку с ART». Программа вытащит калибровки ART из оригинального дампа и соберет файл final_16mb_with_ART.bin
4.Прошиваем файл final_16mb_with_ART.bin в новую флешку, проверяем записанное и впаиваем новую флешку в роутер.
Я убил исходную флешку! Что делать?
Если содержимое исходной флешки недоступно — программа соберет прошивку без калибровочных данных. Роутер будет полностью работоспособен за исключением wifi-интерфейса.
Программная часть
1.Подключаем роутер к сетевой плате компьютера патч-кордом.
2.Назначаем сетевой плате компьютера IP: 192.168.1.2, маску:255.255.255.0.
3.Зажимаем кнопку WPS на выключенном роутере и подключаем питание.
4.Считаем вспышки светодиодов. После пятой(!) вспышки отпускаем кнопку WPS.
5.Заходим браузером на 192.168.1.1:
6.Качаем подходящую сборку OpenWRT и обновляем основную прошивку:
Добрый день,
Предлагаю Вашему вниманию мини обзор последовательной SPI флеш-памяти в корпусе SOIC8 от производителя Winbond размером 16Мбайт. В этом обзоре я опишу как с минимальными затратами усилий сделать апгрейд постоянной памяти роутера TP-Link TL-MR3020.
Зачем?
Мне понадобился компактный роутер на базе Atheros с большим объемом ROM, чем предлагают производители. В частности, мне нужно было место для нескольких пакетов, чтобы организовать APRS шлюз. Обычно в таких случаях используют внешнюю USB флеш память, но мне этот вариант не подходил, так как создавал проблемы с надежностью и занимал единственный USB-порт роутера.
Теоретические изыскания
Я провел поиски в Сети и нашел несколько вариантов расширения памяти роутера. Все они задействуют альтернативный загрузчик UBoot, требуют работы в HEX редакторе с пониманием происходящего и пайки консольного вывода к USB-TTL переходнику и работы в консоли.
Моя реализация
Мною был найден UBoot, которому не нужна последовательная консоль.
Мною была написана программа, которая позволяет собрать прошивку без использования HEX-редактора.
Герой обзора
Пришла в отрезке ленты:
Она же без упаковки:
Идентификаторы:
Необходимые инструменты и материалы
Паяльник, флешка, роутер и программатор CH341A.
Процесс замены
1.Выпаиваем родную флешку, считываем программатором и сохраняем в файл с именем 4mb.bin. Должен получится файл размером 4194304 байта.
2.Качаем программу и помещаем файл 4mb.bin в одну папку с MR3020FW.exe
3.Запускаем MR3020FW.exe:
Жмем «Собрать прошивку с ART». Программа вытащит калибровки ART из оригинального дампа и соберет файл final_16mb_with_ART.bin
4.Прошиваем файл final_16mb_with_ART.bin в новую флешку, проверяем записанное и впаиваем новую флешку в роутер.
Я убил исходную флешку! Что делать?
Если содержимое исходной флешки недоступно — программа соберет прошивку без калибровочных данных. Роутер будет полностью работоспособен за исключением wifi-интерфейса.
Программная часть
1.Подключаем роутер к сетевой плате компьютера патч-кордом.
2.Назначаем сетевой плате компьютера IP: 192.168.1.2, маску:255.255.255.0.
3.Зажимаем кнопку WPS на выключенном роутере и подключаем питание.
4.Считаем вспышки светодиодов. После пятой(!) вспышки отпускаем кнопку WPS.
5.Заходим браузером на 192.168.1.1:
6.Качаем подходящую сборку OpenWRT и обновляем основную прошивку:
На этом сайте уже есть обзоры маршрутизатора 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-а, но тогда я как-то пропустил это мимо ушей, т.к. не думал о дополнительном ПО, а восьми мегабайт казалось более чем достаточно.
Фотографию внешнего вида микросхемы, что находится в заголовке обзора, взял из магазина, в котором её покупал, т.к. не снимал ни распаковки товара, ни само железо — как уже говорил ранее: обзор писать не собирался. Вот её фото уже припаянной к контактной площадке программатора:
А вот: фото контактных площадок (опять же со странички магазина)
После покупки началась череда не очень приятных сюрпризов:
1) Никак не хотела собираться openwrt (от слова совершенно)
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 Мб (по крайней мере с той моделью, что участвовала в обзоре).
Всем, кто захочет повторить данный эксперимент, хочу пожелать удачи, но при этом напомнить: если вы соберётесь подобным образом апгрейдить свой маршрутизатор, делайте это лишь в случае полного понимания своих действий и возможных их последствий
3V 32M-BIT SERIAL FLASH MEMORY WITH DUAL AND QUAD SPI
25Q32 - это упрощенное название микросхем флэш-памяти на 32 мега бита (4 мегабайта).
- W25Q32BV: 32M-bit / 4M-byte (4,194,304)
- 256-byte per programmable page
- Standard SPI: CLK, /CS, DI, DO, /WP, /Hold
- Dual SPI: CLK, /CS, IO0, IO1, /WP, /Hold
- Quad SPI: CLK, /CS, IO0, IO1, IO2, IO3
- 104MHz Dual SPI / 80MHz Quad SPI clocks
- 208/320MHz equivalent Dual/Quad SPI
- 40MB/S continuous data transfer rate
- Up to 8X that of ordinary Serial Flash
- More than 100,000 erase/program cycles(1)
- More than 20-year data retention
- Low Instruction overhead
- Continuous Read with 8/16/32/64-Byte Wrap
- As few as 8 clocks to address memory
- Allows true XIP (execute in place) operation
- Outperforms X16 Parallel Flash
Информация Аналоги Чем заменить Параметры Схема включения Как проверить Маркировка Где купить
Краткая информация по разделу
DataSheet это техническая спецификация от производителей электронных компонентов, необходимая для разработки или ремонта электронных устройств. Учитывайте, что большая часть документов на английском, не имеет перевод, и только небольшая часть Datasheet на русском языке.
Какой аналог у 25Q32; W25Q32B; 25Q32B; 25Q32BV; W25Q32BV; W25Q32BVSIG?
Списки аналогов находятся в разделе форума, в отдельных темах. Если Вы не нашли чем заменить 25Q32; W25Q32B; 25Q32B; 25Q32BV; W25Q32BV; W25Q32BVSIG, создайте свою тему с вопросом.
Чем заменить 25Q32; W25Q32B; 25Q32B; 25Q32BV; W25Q32BV; W25Q32BVSIG?
Для одних компонентов существует множество вариантов замены, а для других их нет. При замене учитывайте схему включения, некоторые функции могут не использоваться. Если сомневаетесь в подборе аналога, обратитесь за помощью в форум.
Какие параметры 25Q32; W25Q32B; 25Q32B; 25Q32BV; W25Q32BV; W25Q32BVSIG?
Все основные парамеры находятся в даташите (мощность, ток, напряжение, частота).
Схема включения 25Q32; W25Q32B; 25Q32B; 25Q32BV; W25Q32BV; W25Q32BVSIG
В зависимости от типа аппарата в котором используется электронный компонент возможны различные схемы включения 25Q32; W25Q32B; 25Q32B; 25Q32BV; W25Q32BV; W25Q32BVSIG.
Как проверить 25Q32; W25Q32B; 25Q32B; 25Q32BV; W25Q32BV; W25Q32BVSIG?
Учитывайте, что далеко не все радиодетали можно проверить тестером (мультиметром). Многие компоненты необходимо проверять непосредственно в блоке или модуле аппарата замеряя напряжения или осцилограммы (осцилографом) в рабочем режиме.
Какая маркировка 25Q32; W25Q32B; 25Q32B; 25Q32BV; W25Q32BV; W25Q32BVSIG?
Информация о возможных маркировках находится в DataSheet. Сама маркировка (мarking) - это обозначение на корпусе электронного компонента (радиодетали).
Где купить 25Q32; W25Q32B; 25Q32B; 25Q32BV; W25Q32BV; W25Q32BVSIG?
Купить электронные компоненты возможно в специализировааных магазинах либо коммерческих разделах сайта в частном порядке.
Читайте также: