0x0 — введение
0x1 — разбираем 🙂
Вот и 1-е января 2011-го года! И если Вы уже немного отошли от новогоднего застолья и Вам не хочется выходить из дома, то самое время зажечь на столе лампу, взглянуть за окно и насладиться домашним уютом в этот замечательный зимний день. Домашние тапочки, горячий чай, спокойствие и покой… Теперь, можно приступить к исследованию мира встраиваемых систем, шаг за шагом продвигаясь через дебри электронных схем, листинги кода и готичные экраны nix-овой консоли.
Сегодня займёмся разборкой своего подопытного устройства.
Для этого нам понадобятся всего-лишь две отвёртки — плоская и крестовая.
Итак, в качестве подопытного у нас ADSL-модем:
ZTE ZXDSL831AII
почти идентичный ADSL-модему D-link DSL-2500U.
Вот, что входит в комплект модема:
* модем
* блок питания
* сплиттер
* два телефонных провода (RJ-11)
* патчкорд (RJ-45)
* USB-кабель типа A-B
Как видите — просто куча бонусов 🙂 Тот же USB-кабель можно использовать для подключения Arduino/CraftDuino — красота 🙂
Внешний вид самого модема:
сверху:
со стороны разъёмов:
Пора разбирать 🙂
Ещё раз повторяю, что эксперименты над своим оборудованием Вы совершаете на свой страх и риск.
Перевернём модем днищем вверх, плоской отвёрткой отколупнём полусферы резиновых ножек и увидим головки саморезов под крестовую отвёртку.
Выкручиваем саморезы и аккуратно снимаем крышку. Обратите внимание — со стороны светодиодов находятся две защёлки:
Видим плату, которая больше ничем не закреплена, вынимаем её из корпуса:
Обратите внимание на разрез платы, который отделяет высоковольную часть (60В телефонной линии) от остальной схемы.
Самое интересное на этой схеме — это три больших микросхемы в центре:
— это центральный процессор
— микросхема ОЗУ (RAM)
— микросхема флеш-памяти (FLASH)
Т.е. имеем вполне полноценный одноплатный компьютер!
Обратите внимание, на 4-пиновый разъём в левом нижнем углу (это если смотреть по фотографии — на самом деле — судя по шелкографии (надписям) на плате — её нужно рассматривать разъёмами к себе)
Так вот, этот разъём, помеченный на плате, как J5 — это выведенный последовательный порт!
Замечу, что в других модемах служебные разъёмы скорее всего не будут напаены и придётся делать это самостоятельно.
К сожалению, в рассматриваемой модеме не выведен JTAG (специальный интерфейс для отладки). Поэтому пока его рассматривать не будем.Интерфейс JTAG (Joint Test Action Group) служит для тестирования печатных плат с помощью функции граничного сканирования (boundary scan), программирования энергонезависимой памяти и отладки процессора (debug).
Для подключения к LPT-порту есть простая схема из нескольких резисторов.
Распиновка J5
1-GND
2-TX
3-RX
4-Vcc
Рассмотрим наши микросхемы внимательнее и попробуем погуглить, что же нам досталось:
смотрим маркировку микросхем, вспоминаем ключевое слово: datasheet (техническое описание) и используем гугл 😉
Итог поисков:
наш процессор — Broadcom BCM6338:
производитель: broadcom
datasheet (единственное, что нашлось)
BCM6338 — ADSL2+ Router Solution
The BCM6338 combines an ADSL2+ transceiver and analog front end (AFE) with a high-performance MIPS32 CPU, a 10/100 Ethernet interface, and a USB 1.1 interface into a single high-performance, cost-effective monolithic device.
Single-chip ADSL2+ bridge/router solution with seamless, multiuser support of Ethernet and USB home LAN technologies
BCM6338 — сочетает в себе высокопроизводительный центральный процессор 280DMIPS MIPS32, приёмо-передатчик ADSL2+, а так же интерфейсы 10/100 Ethernet и USB 1.1.
MIPS (англ. Microprocessor without Interlocked Pipeline Stages) — микропроцессор, разработанный компанией MIPS Computer Systems (в настоящее время MIPS Technologies) в соответствии с концепцией проектирования процессоров RISC (то есть для процессоров с сокращенным набором команд).
В настоящее время различные реализации MIPS используются, в основном, во встроенных системах, например, в устройствах Windows CE, маршрутизаторах, шлюзах, xDSL и кабельных модемах, карманных компьютерах, а также в игровых консолях(Sony PlayStation 2).
Низкое энергопотребление и температурные характеристики встраиваемых MIPS-архитектур, широкие возможности внутренних функций делают этот микропроцессор универсальным для многих устройств.
смотрим далее:
ESMT M12L64164A -7T
— чип памяти:
SDRAM 1M x 16 Bit x 4 Banks, 143 MHz, TSOP 54
standard 3.3V power supply
54 Pin TSOP (Type II)
производитель: EliteMT (ESMT)
datasheet
чип предоставляет 64 Mbit == 8 MByte
Итого, у нас 8 Мегабайт оперативы 🙂
идём дальше:
MX29LV160CBTC-70G
— микросхема FLASH-памяти, объёмом 2Mb
MX29LV160C T/B is a 16-mega bit Flash memory
organized as 2M bytes of 8 bits or 1M words of 16 bits.
ресурс перезаписи у Flash-памяти:
100,000 minimum erase/program cycles
производитель: Macronix International
datasheet
Т.о. имеем одноплатный компьютер с центральным процессором Broadcom BCM6338 с частотой 240 Mhz и архитектурой MIPS, 8 Мегабайт оперативной памяти и 2 Мегабайта Flash-памяти.
Доступные интерфейсы:
Ethernet, USB 1.1, Serial.
читать далее: 0x2 — знакомимся с программной частью
Ссылки
http://en.wikipedia.org/wiki/MIPS_architecture
http://ru.wikipedia.org/wiki/MIPS_(архитектура)
0 комментариев на «“Новогоднее исследование ADSL-роутера на базе Linux — 0x1 — разбираем :)”»
Интересно, какое максимальное кол-во ОЗУ способен переварить BCM6338? У меня с моим экземпляром была такая идея (в теории): нарастить ОЗУ, переделать USB порт с эмуляции ethernet на просто USB (интересно, там этот порт подключен напрямую, или через хитровывернутую микруху эмулирующую ethernet over USB?) и подключить к нему USB hub. Далее грузим минимальное ядро и через kexec грузим нормальное с USB флешки.
Эх, жаль datasheet на BCM6338 нет. 🙁
Не то что даташита нет — краткое описание естьdownload.siliconexpert.com/pdfs/2008/08/30/semi_ap/manual/brc/dsl/6338-pb00-r.pdf , но толку от него… А полного да, нету. А тут есть распиновка BCM6348SKFBG, по идее у BCM6338 такая-же.
Сори, адрес не написал 🙁pudeev.livejournal.com/37410.html
угу — видел.
Спасибо. Но к сожалению без рентгена мне эта распиновка ничего не говорит. =) Правда и мопеда у меня сейчас поблизости не имеется.wiki.openwrt.org/toh/start — там более 16 Мегабайт ОЗУ на BCM6338 не ставят, а жаль.
п.с. Сейчас прошелся по
хм… собственно в статье этот документ и приводится 😉
Вообще странно, у DSL-2540B, он на этом-же чипе, 16Мб ОЗУ, да и собственно та-же M12L64164A -7T или S25FL016A как у меня — тоже 16Мб. Интересно, а в модеме используется всего 8Мб. А можно-ли как-то «активировать» и вторые 8 метров? И кстати по usb — у меня d-link-2500u — , без usb, но на плате предусмотрены места и разводка для usb — просто не стоит разъем и несколько резюков/диодов. Может в курсе — какие у них должны быть номиналы?
Я имел в виду отпаять микросхему оперативной памяти и припаять на нее место более вместительную. Т.е., вместо 8 Мегабайт (не путайте с мегабитами) поставить… эээ ну, скажем, 32, или 64.* 😀
А там такой облом. 🙁
* На подобии этого перца:http://www.dd-wrt.com/wiki/index.php/Увеличение_оперативной_памяти_D-Link_DIR-320
Ну вообще да, нагородил я там… Но вообще меня больше интересует вопрос объема ПЗУ — 2Мб — у 2500U прошивка почти один в один и судя по всему добавить туда еще что-то проблематично. Прошелся по bin-ам UPX-ом — как и предполагалось эффекта 0 — прошивка то и так сжатая lzma. Остается правда вариант избавиться от web-морды, там почти 900Кб html-ов, а настраивать если что через telnet…
жестоко