Сообщество - TECHNO BROTHER

TECHNO BROTHER

2 085 постов 13 667 подписчиков

Популярные теги в сообществе:

213

Планшет из 2013 за "3 тыщи": Находим применение китайскому трансформеру за 500 рублей

Планшеты-трансформеры прочно заняли свою нишу в нашей повседневной жизни, потихоньку вытеснив нетбуки. Ведь это очень удобно: захотел физическую клавиатуру и дополнительную АКБ — «прицепился» к док-станции, захотел полежать на диване и полистать Хабр — «отцепил» и пальцем пользуешься устройством. 10 лет назад китайские инженеры подумали: «а почему бы не взять дешевое планшетное железо, сделать гибкий чехол и продавать это в качестве трансформера за 3 копейки?». И таки сделали, а девайс, благодаря цене в 2-3-4 тысячи рублей за новое устройство, стал очень успешным и производился несколько лет! Сегодня у нас будет легендарная подделка, которая лежит в шкафах многих моих читателей: Samsung Galaxy Tab N8000. Мы с вами: вспомним историю появления этих гаджетов, узнаем что у них «под капотом», заменим аккумулятор, получим root и пропатчим систему и узнаем, где можно применить такой смартбук в 2023! И да, максимальный интерес вызовет всего одна фраза: Сюда можно накатить Linux!




Предыстория

Класс планшетов-трансформеров зародился как раз на пике популярности стандатных планшетов-«таблеток». К моменту их появления, люди уже оценили все преимущества подобного форм-фактора и могли выполнять большинство повседневных задач благодаря таким девайсам. Сёрфинг в интернете, работа с документами, чтение книг, соц. сети — всё это уже можно было делать на ранних планшетах без каких либо проблем, а надобность в здоровом и толстом нетбуке потихоньку отпадала. Параллельно процветал и рынок X86 планшетов на Windows, где уже ставились полноценные версии Windows 7, а чуть позже и Windows 8. И поскольку в большинстве устройств уже был реализован USB-OTG (возможность переключения в USB Host и подключения периферии), то инженеры задумались: а почему-бы вкупе с тонкостью планшетов, не сделать относительно недорогие нетбуки с отсоединяемыми дисплеями? Сказано — сделано, именно так появился законодатель в мире планшетов-трансформеров Asus TFPad.



Понемногу набирала обороты концепция предшественников хромбуков — смартбуков (тонких нетбуков на Android, без возможности отсоединения дисплея) и даже Toshiba сделала очень бюджетную модель AC100, которая позиционировалась как эдакий мультимедийный недорогой нетбук на Android, всего лишь за 4.444 рублей!

Но и китайские производители не спали и видели популярность подобных решений, смекнув: а почему бы нам не сделать похожий девайс, только доступный каждому? И ведь идея действительно оказалась неплохой: ребята взяли обычную тряпичную внешнюю клавиатуру для планшетов (которая сама по себе гибкая), вывели на неё MicroUSB выход (предварительно замкнув OTG и массу на самом разъеме), спроектировали 9-дюймовый планшет, взяв под основу стандартное железо для устройств подобного ценового сегмента и начали продавать! А для большей популярности, ребята решили нацепить логотип Samsung и назвать планшет в честь уже имеющейся модели: Galaxy Tab N8000.

Конечно же подобную реплику не поставляли в официальные магазины, в основном их распространяли через TaoBao и AliBaba, где их опт закупали продавцы самых разных стран. И в Россию их тоже везли, причем огромными партиями.
В РФ, подобные планшеты продавались в основном на радиорынках: подходишь ты к ларьку с китайскими айфонами и самсунгами (многие уже и не помнят такого), а там продавец уже развесил новые планшеты и клавиатуры на «витрине» и рассказывает за новый чудо-девайс! И когда продавец оглашал цену: 2-3-4 тысячи рублей, в зависимости от наглости, покупатель удивлялся подобной щедрости китайцев и вполне мог купить подобный девайс, даже
просто «по приколу». Планшеты в магазинах стоили в среднем от 4-5 тысяч рублей и обладали меньшими дисплеями, иногда — более слабым железом и обычно не имели чехла в комплекте.

В определенный момент, эти планшеты стало возможным увидеть во многих местах: ведь люди понимали, что девайс стоит недорого и особо не жалели его. Такой гаджет могли купить ребенку на день рождения/за окончание очередного класса, для базовой работы в офисе, игрушек (даже дешевый планшет умудрялся тянуть околотоповые игры в то время), диагностики авто, или просто сисадмины, чтобы иметь возможность быстро бегать по объектам, не таская тяжелый ноутбук или заметно более дорогой нетбук. Я отчетливо помню те времена, когда они были популярны: ведь я сам был частым посетителем таких радиорынков и засматривался на новинки будучи школяром. И чего я там только не видел: китайские реплики Nokia Lumia (сейчас их активно ищу, очень стильные), Android смартфоны по 2 тыщи рублей, айфоны, аккумуляторы, дешевые наушники, которые ломаются через неделю — во всём этом был свой особый, провинциальный шарм!

Сегодняшний экземпляр мне достался от моего читателя с Хабра с никнеймом mik-mak, который откликнулся на поиск подобного девайса в статье о Asus TFPad. Мы списались с ним, договорились об отправке и через полторы недели я уже получил свой новенький планшет!

Поскольку модель действительно довольно популярная и много у кого может лежать в шкафу, я решил подготовить материал о том, как найти применение такому девайсу в наше время. Фронт работ будет следующим:
1. Замена аккумулятора
2. Получение ROOT прав
3. Фикс DPI на нормальный в build.prop

А применение найдем в следующих моментах:
1. Оценим его работоспособность в интернете, соц. сетях и просмотре видео
2. Попробуем поиграть в игры и протестируем эмуляторы. Хардварная клавиатура — неплохое подспорье для ретро-игр.
3. Потестируем клиенты SSH и VNC
4. Рассмотрим вариант использования устройства в качестве сервера.

Ремонт и моддинг

Гаджет требовал замены аккумулятора, ведь родная держала заряд всего 5 минут! Девайс разбирается очень просто: поддеваем ногтями заднюю крышку и начинаем расщелкивать клипсы, пока крышка не откроется. Не спешим выдирать заднюю крышку: в ней находится динамик. Не потеряйте толкатели кнопок.



Весьма маленький аккумулятор для такого огромного пространства, согласны? И этого действительно хватало, ведь AllWinner славился тем, что был отнюдь не прожорливым чипсетом в своё время. Причем в разных ревизиях ставили разные АКБ: где-то тонкая и длинная, где-то чуть более пухлая и маленькая. Ёмкость конкретно этого элемента мне неизвестна, но полагаю что-то около 2.000мАч. АКБ приклеена, поэтому перед снятием её нужно поддеть пластиком и «пошурудить», поворачивая вправо-влево. Аккумулятор оказался 2014 года выпуска, хотя эти девайсы массово появились в 2012-2013, а значит находились в производстве около 2х лет.



Я взял аккумулятор от довольно свежего планшета, на 3.000мАч. Толщина АКБ особо не имеет значения — пространство под крышкой большое, поэтому можно уместить и два элемента по 3.000мАч, если они у вас есть. Планшет требует только плюс и минус, средний контакт или BSI не нужен. В наличии у меня оказался только толстый двухсторонний скотч, да и тканевого скотча под рукой не было, поэтому приклеил элемент на изоленту. Обязательно синюю, тогда будет лучше держаться! :)



Теперь, самое время взглянуть на чём работал гаджет под капотом. И тут мы видим классический процессор бюджетных планшетов тех лет: AllWinner A13. Это весьма неплохой одноядерный чипсет, без поддержки Wi-Fi/Bluetooth из коробки, известный как сердце некоторых одноплатников Orange Pi. Кроме того, девайс оборудован 512мб ОЗУ и 4гб NAND ПЗУ, плюс место под распайку второй микросхемы памяти, что весьма неплохо.
Компания AllWinner в целом соблюдает GPL, поэтому стал возможен порт Linux на одноплатники, а поскольку хардварно они схожи с планшетами (в том числе и в плане дисплея — это не MIPI, тут не нужна инициализация, просто шлешь пиксели, не забывая стробы синхронизации), то почти сразу Armbian появился и на планшетах этого производителя! Но об этом чуть позже.



Обратите внимание на распаянный отдельно USB Wi-Fi модуль (на чипе Realtek), контроллер тачскрина снизу и контроллер питания AXP сверху. Весьма компактно всё!

Планшет произведен компанией For-Fun, с вот такой маркировкой. Было несколько разных ревизий: дисплеи для всех одинаковы, а вот тачскрины — нет. Несмотря на совместимость, на ранней ревизии, коннектор тачскрина слегка сдвинут и не влезает. Дисплеи здесь 50 pin, 8", 800x480 с TTL интерфейсом. Такой можно воткнуть и в какой-нибудь одноплатник и он там заведется без проблем (возможно придется корректировать тайминги синхронизации), а снятие/замена дисплея не требует расклеивание тачскрина:



А ещё у девайса есть камера. Но она, как вы понимаете, чисто для галочки или для скайпа (в прошлом).

После замены АКБ девайс начал брать в себя зарядку и без проблем включился, однако плотность пикселей вызывала удивление. И так было с завода. Многие люди думали, что у планшета низкое разрешение, но это не так — оно было стандартным для 7-8" таблеток тех лет, а производитель видимо хотел усидеть на двух стульях. Ведь у чехла не было тачпада, а значит управление только с тачскрином и чтобы в режиме нетбука было удобно попадать по кнопкам, решили просто увеличить dpi. Да, костыль, но в целом тоже прикольно.



Устройство работает на базе Android 4.0.4 и на ядре 3.0.4, без возможности апгрейда — но она и ни к чему. Обратите внимание на test-keys — это значит что можно подписать любой update архив тестовым ключом и прошить таким образом root из под recovery, или «сварганить» кастомную прошивку. И что самое приятное — в устройстве с завода есть root доступ к системе из под adb. Никаких программ для контроля, ничего не установлено: пользователь волен распоряжаться системой так, как считает нужным. Для изменения dpi, нам нужно вытащить /system/build.prop. Для этого пишем:

adb pull /system/build.prop



С завода у устройства DPI 160, что для такого дисплея много. Нужно поставить поменьше: я остановился на 120. Попытки увеличить DPI до 200 заканчиваются бутлупом и исключениями в logcat, поэтому редактируйте dpi в разумных пределах. Перемонтируем раздел /system/ в чтения и запись:

adb shell
mount -o remount, rw /system
exit
adb push build.prop /system/
adb reboot

И смотрим на результат.
Если получите бутлуп, то корректируйте dpi из под adb, пока не подберете идеальный для вас!
Ну вот, стало получше, верно?



Теперь девайс гораздо более юзабелен. Но где его можно применить теперь? Смотрим сами:

Находим девайсу применение — Интернет и серфинг.

В прошивку устройства встроена поддержка самых разных 3G модемов. Да-да, ещё 10 лет назад увидеть человека с планшетом и USB-свистком было вполне себе нормально! Причём поддержка не «втихую», а действительно с отдельными пунктами в меню настроек.



Стоковый браузер 4.0.4 уже старичок — ему уже 12 лет. Само собой, он ни на что не способен уже и последний хром для этой версии Android не меняет особо ситуацию. Есть конечно порт свежего хрома на старые версии Android, но на бюджетниках он работает, прямо скажем, не очень.
Зато Opera Mini летает! Opera регулярно обновляет софт на серверах Opera Mini, поэтому проблем с стандартами особо нет. Однако мы лишаемся JS (не полностью, но интерактива не будет вообще), увы, хотя почитать википедию или полистать хабр — это без проблем.



Насчет мессенджеров — то по сути, остался ВК. Telegram на 4.0.4 уже не работает, ватсапп работает, но с костылями. Увы и ах, но потреблять контент всё равно можно.



А вот что продолжает работать отлично — так это клиент почты! Только не забываем галку «принимать все сертификаты». Пуши прилетают, почтовый клиент удобный в связке с хардварной клавиатурой — так почему бы и нет?

Игры

А тут у нас два потенциальных применения: подогнать такой ништяк дитю, или приспособить такой гаджет для себя! И здесь с этим всё неплохо. В качестве GPU, здесь используется одноядерный Mali400, который без проблем поддерживает большинство старых игр. На таком девайсе есть во что поиграть, в том числе и эмуляторы!

Вероятно кто-то спросит: так старые игры не поддерживают ни клавиатуру, ни дпад. И будут не правы: Большинство смартфонов в 20092-2010 году комплектовались трекболлами, которые в системы опознаются как DPAD. Как DPAD распознаются и стрелки клавиатуры — по итогу в часть игр мы сможем поиграть обычными кнопками!



И в нативные игры тут можно поиграть без проблем. Аркады идут замечательно, некоторые 3D игрушки тоже идут неплохо. На таком же железе я когда-то даже в GTA 3 играл :)



Как вариант — ещё раз пробежать «кваку»!
Но и с эмуляторами всё хорошо. 8-битки, 16-битки идут здесь замечательно.Почему бы и не поиграть?



Сойдёт ли в качестве портативного тонкого клиента?

Да, конечно же! Тут у нас есть и SSH, и RDP, и VNC. Подключится к удаленному серверу и что-то настроить не составит труда. Клиентов под Android масса.

В целом, можно девайс применить и как сервер: например, развернуть SAMBA диск, FTP сервер, HTTP сервер для домашней страницы. Про различные серверы на Android я писал вот в этой статье.

А Linux?

Для AllWinner A10 уже есть готовые образы с Linux. Конечно большинство из них armv6, что несколько ограничивает нас в софте из репозиториев, но найти кое-что можно. Самое приятное — простота настройки, по сути, большинство дистрибутивов достаточно лишь записать на флэшку.



Эти дистрибутивы совместимы почти со всеми устройствами на A10, но если вам нужен вывод на дисплей — то все они требуют настройки аналога dtb от AllWinner — script.bin. Необходимо будет пропатчить этот файл (lcd_used) и включить поддержку TTL дисплеев, поскольку большинство дистрибутивов ориентируется на HDMI, которого в конкретно моей ревизии нет (но возможно есть в «белой»).

Но поскольку моя ревизия на A13, на которой uImage от A10, очевидно, не запускается, то нам придется собирать ядро ручками. А поскольку сообщество активно поддерживает репозиторий sunxi, то мы можем собрать свой uImage и без проблем запустить Linux на нём.

Заключение

Китайцам удалось сделать неплохую альтернативу планшетам-трансформерам за совсем небольшие деньги. И в целом, этот девайс был вполне неплохой покупкой на свое время, ведь в 2012-2013 году планшеты были далеко не у всех, а это был неплохой способ их попробовать. Для моддеров здесь тоже открывалось кучу возможностей для фантазии: ROOT из коробки, открытое ядро и даже какие-то кастомные прошивки позволяли сделать из такого девайса самые разные штуки, от умных часов на тумбочке, до того же сервера.

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

Показать полностью 18
241

Ретропонедельник №87 - Часы Электроника 6.15м

Трудовая неделя начинается с нового экспоната в виртуальном музее советской бытовой техники. Сегодня это часы электроника 6.15м (как и многие другие экспонаты - спасенные от утилизации).

Произведены в 1985 году (судя по датам производства компонентов) на заводе "Микрокомпонент", г. Учкекен (судя по клейму завода).

Настольные электронные часы с вакуумно-люминисцентным индикатором, функцией будильника и батарейкой хранения времени.

Удачная развесовка корпуса - в ножке спрятан трансформатор, самый тяжелый компонент часов. Кнопки управления - сзади.

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

Часы показывают время только когда включены в сеть. Чтобы при отключения от сети они не забывали время - предусмотрена батарейка на 9В.

Внутри:

Корпус - оклеенная шпоном фанера. Видно, что вклеенные пластиковые крепежные опоры отвалились, одна утеряна.

Плата часов с индикатором. Используется вакуумно-люминисцентный индикатор, светодиоды в то время не могли похвастаться яркостью, красотой и равномерностью индикации, да и цвета доступные для светодиодов были ограничены, в отличии от ВЛИ, где составом люминофора можно добиться любого цвета свечения. К сожалению ВЛИ со временем выгорают, теряя яркость.

Обратите внимание на колбу ВЛИ - штуцер вклеен на цемент, справа - пятно от гетера. Тонкие проволочки натянутые вдоль - катод, который нагревается током и эмитирует электроны. По сути - индикатор - маленькая радиолампа)

В интернете нашлась схема:

И фотографии модификаций этих часов

Посты дублируются в мой телеграм канал, ссылка в профиле.

Показать полностью 14
195

Исходников нет, но мы не сдадимся: портируем Android без каких-либо исходников от производителя

Несмотря на то, что ядро Linux предоставляется под лицензией GPL, ушлые китайские производители зачастую не хотят публиковать исходный код ядер своих устройств. И ладно, если бы это касалось смартфонов по 2-3 тысячи рублей, но ведь даже за 8-10 тысяч вас могут обделить с «исходниками», хотя по закону это их прямая обязанность! Однако, даже отсутствие исходного кода ядра, не помешает нам портировать кастомную прошивку и подарить вторую жизнь герою нашей сегодняшней статьи — поддельной реплику Huawei P20 Pro на базе чипсета MT6580! Сегодня мы с вами: узнаем подробнее про новые смартфоны за 7-8 тысяч рублей из онлайн-магазинов, портируем прошивку crDroid простым копированием файлов и посмотрим, как работает такой девайс в 2023. Интересно? Тогда добро пожаловать под кат!

Дорогие представительницы прекрасного пола, я и TimeWeb Cloud, поздравляем вас с 8 марта!

❯ Что за девайс?


Сегодняшний девайс расходится в онлайн-маркетплейсах как горячие пирожки. Хитрые продавцы пишут заведомо ложные характеристики в духе «1TB ROM 8GB RAM», где характеристики нужно поменять ровно наоборот — где 1TB на самом деле 1гб ОЗУ, а где 8GB RAM — на самом деле 8гб ПЗУ. И ведь китайцы сделали собственную вариацию Android, умудряясь подделывать выводимые данные о количестве свободного места во внутренней памяти и ОЗУ.



Довольно популярные «сойесы» — мини реплики последних моделей iPhone. Прикольная штука, если честно, эдакий отголосок к Xperia X10 Mini из 2010!

Некоторые ушлые покупатели решили сделать на этом бизнес, намеренно заказывая подобные смартфоны, а затем снимая разоблачения и открывая споры, получая таким образом почти бесплатные гаджеты. И ведь спору ноль: это косяк продавца, что он намеренно обманывает (однако отмазка в том, что «1TB ROM 8GB RAM» — это название устройства), но именно из-за этого AliExpress стал негативно относится к покупателям из СНГ, зачастую закрывая споры, где права клиента очевидны.


Подобные устройства работают фактически на одной и той же аппаратной платформе. Похоже, не меняются даже платы, а лишь корпуса: где-то стилизация под последнюю модель iPhone, где-то под Samsung, ну а где-то под Huawei. Унифицируют всё — шлейфа на разные ревизии смартфонов, нижние платы, да и платы зачастую очень похожи. Вероятней всего, унифицированы и дисплеи, а нужную форму «брови» иногда рисуют в виде оверлея в системе или на рамке тачскрина. Обычно подобные девайсы работают на базе известного ультрабюджетного чипсета 8 летней давности — MediaTek MT6580, который повсеместно встречается в смартфонах до 5-6 тысяч рублей. И ведь чипсет был неплох на момент выхода, но китайские производители умудрились портировать на него последние версии Android и пытаются выжать из них последнее. Как итог, жутко тормознутые устройства с откликом на действия 1-2 секунды. Через месяц-два такие девайсы попадают на онлайн-барахолки за цену в 2-3 раза ниже той, за которую их купили. Таким образом, я подарил своей маме I14 Pro Max за 1.500 рублей, у которого ядро собрано в декабре 2022 года, а попал он на Авито в январе 2023 (!). :)


После нового года подобные штуки просто взлетели в цене: китайская реплика S22 может стоить более 20.000 рублей

Кто покупал такие устройства? Самый разный контингент. Конечно, iPhone или Samsung уже не имеют той «крутости», которую могли предложить хотя-бы 10 лет назад, поэтому навряд ли имеют место быть банальные понты. Кто-то ведётся на крутые характеристики, которые обещают китайцы «за дешево», кто-то покупает подобный девайс ребенку (поколения конца 90-х начала нулевых меня поймут, насколько круто было принести в то время реплику айфона), а кто-то просто берёт как «звонилку» с здоровым дисплеем и модным дизайном. И ведь не осудишь людей: устройства вполне себе выполняют свои функции и более того, их можно модифицировать, дабы довести их до ума!


Довольно краткую историю о моддинге и кастомных прошивках я уже рассказывал вам в прошлой статье. Однако в тот раз мы с вами накатили готовую кастомную прошивку, которую уже кто-то подготовил за нас. В этой статье я хочу простым языком рассказать о том, как портировать прошивку между устройствами без исходного кода ядра и какой-либо поддержки со стороны производителя.
Причём гайд применим и для планшетов: так уж вышло, что линейка чипсетов MediaTek для планшетов (MT8xx) имеет своих собратьев среди обычных 3G/4G чипсетов (MT65xx, MT67xx).

Нашим подопытным девайсом оказалась китайская реплика Huawei P20 Pro (как-то даже забавно звучит, китайская реплика Huawei) и является представителем смартфонов, описанных выше. Смартфон был выпущен в 2019 году и продавался на «Алике» под видом смартфона «1TB ROM 8GB RAM». Взял я его на известной онлайн-барахолке всего за 800 рублей!
Смартфон работает на Android 6.0, «подкрашенный» в 8.1 на ядре 3.10.72. И это очень хорошо — ведь кастомов на эту версию ядра очень много. Портировать мы будем crDroid — быстрый дистрибутив с кучей настроек, но наш выбор не ограничен только им: под эту версию ядра есть и ColorOS (Oppo), и MIUI (не рекомендую, тормоз), и EMUI, и даже закосы под OneUI/TouchWiz! Выбирать только вам!

❯ Портирование прошивки


Нужно понимать, что нельзя просто взять и портировать любую прошивку на подобного китайца. Нет возможности даунгрейда (поскольку более старые версии Android работают на базе более старых ядер), и нет возможности апгрейда, если на этом же ядре не собрали новый Android под другое устройство. Суть вот в чем: порядочные производители, такие как ZTE, Huawei и Lenovo (хотя были жалобы, что «леново» кладёт мусор в исходники вместо драйверов), без каких-либо проблем публикуют исходный код ядер своих устройств. Таким образом, если на ZTE V815W (MT6572) в своё время были исходники, то энтузиасты собирали свежие версии системы на базе старого ядра, которые затем могли себе «протащить» владельцы хайскрнов и прочих бюджетников.
Но поскольку 6580 очень ходовой чипсет, то здесь у нас есть выбор аж из трех систем (при условии, что у вас 3.10.72): Android 5.1, Android 6, Android 7. Весьма неплохо, да? 6580 поддерживает даже Android 9, но на более свежих версиях ядра (скорее всего, MediaTek выпускали патчи, чтобы подтянуть нужные фишки для свежих версий системы).

В основном, портирование заключается в копировании врапперов железа для Android или очень условно — драйверов. Поскольку основная часть драйверов (дисплей, тачскрин, камеры, звук) слинкована с ядром, то для их работы достаточно лишь заменить zImage в boot.img, в то время как для работы вибромотора, звука, отрисовки графики и тому подобного, есть библиотеки в /lib/hw/, замена прошивки модема, перенос других различных либ «пока не заработает». :)

Сначала нам нужно заполучить имеющийся образ /system/. Это можно сделать несколькими вариантами:

1. Сдампить стоковую прошивку. Сделать readback во флэштуле, а затем вытащить system.img с помощью утилиты типа Wwr-MTK. Самый лучший вариант.

2. Скопировать системные файлы на флэшку из под adb. Тут все просто, «cp -rf /system/* /data/media/system/». Затем подключить девайс как MTP устройство и перенести все файлы на ПК. Осторожно, в таком случае теряются разрешения! Как один из вариантов — создать пустой образ, отформатировать его в ext4 и скопировать файлы с сохранением прав. Например так:

  • dd if=/dev/zero of=/data/media/system.img bs=1M count=1500 (где count — подставляем размер системного раздела)

  • mkfs.ext4 /data/media/system.img

  • mkdir /system2/

  • mount /data/media/system.img /system2/

  • cp -rf /system/* /system2/


3. Если есть root, то достаточно сделать лишь dd if=/dev/block/platform/mtk-msdc.000 (тут может быть и по другому, см ls /dev/block/platform/)/by-name/system of=/data/media/system.img. Это даст тот же самый образ, что и первый вариант.

Для получения дампа флэштулом, нам нужно загрузить любой скаттер от смартфона с таким же чипсетом (достаточно просто загуглить MT6580/MT6570 scatter), и во вкладке readback вычитать раздел BOOT1 (его размер обычно 2мб) и USER (размер около 8гб, реально полезные из них первые 2). Добавляем элементы дампа, жмем кнопку readback и подключаем выключенный смартфон. Готово! Разделить дамп на прошивку поможет Wwr-MTK: там всё просто, загружаем обе части дампа, программа вычитает GPT, разделит прошивку и создаст scatter! Если вы с чем-то накосячите, то сможете вернуть стоковую прошивку обратно, как ни в чем не бывало!


Также нам понадобится boot.img. Можно поступить почти также, как и с system.img — либо полный дамп (предпочтительнее), либо с рутом сдампить раздел в /dev/block/ в boot.img. Теперь нам необходимо портировать TWRP. На 6580 это делается довольно просто, поскольку карта разделов почти идентичная во многих устройствах. Качаем, например, вот этот recovery. Берем AndImgTool (или готовую кухню типа MTKImgTool) и распаковываем образ рекавери и boot.img, подменяем ядро (т.е zImage) из стока в портируемый рекавери, и собираем TWRP обратно.


После этого прошиваем раздел recovery (точно также, с помощью dd, если есть рут или с помощью Wwr-MTK создать scatter на основе имеющегося дампа GPT и прошить флэш-тулом) нашим свежим TWRP и смотрим, что получилось. У меня вышло с первого раза! Если рекавери сыпет ошибками — смотрим таблицу разделов в обычной системе (mount) и правим fstab рекавери в соответствии с fstab в самой системе.

Рекавери у нас есть, а значит теперь можно переходить к портированию прошивки. Доноров заботливо собрали на 4pda. Но, когда я хотел превратить свой смартфон в iPhone с прошивкой в стиле iOS, я судорожно бегал по темам с устройствами на том же чипсете и искал хоть что-то в стиле айфона!

Теперь выбираем кастом. Я выбрал crDroid с Fly Nimbus 7.

Достаём из архива boot.img и точно также подменяем ядро, как и в случае с TWRP. Запаковываем и заменяем boot.img в архиве на новый.

Теперь идём в папку /lib/ стока и /lib/ кастома. Копируем папки hw/, egl/ из стока в кастом с заменой всех файлов. Так мы перенесли все необходимые «врапперы», это необходимый минимум для запуска системы.
В процессе тестирования прошивки у нас может не работать Bluetooth/GPS. Для их фикса переносим libbluetooth*.so, при необходимости переносим хардварные кодеки — libmtkomx*.so.
Если у вас слишком мелкие значки, значит вам необходимо скорректировать dpi. Для этого идём в build.prop и меняем параметр lcd_density на тот, что в стоке и отталкиваясь от него, подбираем под свой дисплей. Там же можно скорректировать имя устройства, кол-во симок и прочие радости.
Если в процессе портирования у вас не завелся модем (нет связи или ошибки сети) — то нужно вручную перенести его прошивку из /etc/ вместе с другими конфигами.

Теперь закидываем любым удобным способом архив с прошивкой на внутреннюю память устройства. Я делаю это через adb — заходим в recovery и устанавливаем zip. Делаем вайпы (wipe cache/wipe data) и перезагружаемся.

Android на MTK загружается в три этапа:

  1. Preloader (без изображения);

  2. lk, аналог u-boot (статичное изображение с логотипом девайса. Логотип хранится в разделе logo и его можно подменить), который загружает ядро;

  3. Сама система (анимация загрузки).


Если всё сделано верно, то система пойдет загружаться.

Если же нет, то см. FAQ:

  • Ребут на первой заставке (т. е. lk) — неподходящая версия системы, либо вы не заменили ядро на родное. Скорее всего, вы выбрали прошивку с версией ядра повыше.

  • Зависание на первой заставке — бывает, если не заменить ядро на родное.

  • Ребут в процессе бутанимации, но не доходя до adb — система не может стартовать, вероятнее всего из-за конфликта с врапперами. Смотрим внимательнее либы, которые переносили.

  • Зависание на анимации загрузки — либо не сделали вайпы, либо есть конфликт с врапперами.


Для точной диагностики можно принудительно включить adb в boot.img (файл: default.prop, secure = 0, debuggable = 1) и листать логи. Система будет циклично пытаться загрузиться и выплевывать исключения — смотрим на них внимательно.

❯ Можно ли пользоваться?


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


Но сможет ли такой девайс оставаться приятным для использования ближайший год-два? Ведь сами по себе ТТХ не такие уж и плохие для очень дешевого смартфона: цена подобного устройства на вторичке в плёночках и с коробкой (а зачастую ещё и с комплектом): ~1.000 рублей. Огромный 6" IPS дисплей с довольно низким, но терпимым разрешением 480x960, 4х-ядерный чипсет MediaTek MT6580, Android 5.1-8.1 (как повезет), 1гб ОЗУ, 8гб ПЗУ, возможность расширения памяти за счёт MicroSD. Что можно найти в ДНСе за 2-3 тысячи рублей? Компактный «Дексп» или «Дигму» с тем же железом, но дисплей будет заметно хуже, точно также без какой-либо поддержки для моддеров.

Поскольку прошивка основана на базе CyanogenMod (да, это ещё не LineageOS), то здесь есть кучу дополнительных примочек и настроек, а дизайн устройства можно полностью кастомизировать. Например, перекрасить в стиль Android 4.2 или сделать а-ля Samsung. Trebuchet в качестве встроенного лаунчера почти ничего не кушает!


Использовать устройство мы будем без сервисов Google, «как есть». Оценим производительность в [b]старых[/b] бенчмарках (новые не запустятся из-за тяжелого 3D теста).


Даже несмотря на древнее и откровенно бюджетное железо, смартфон прямо таки получает вторую жизнь — в мессенджерах и социальных сетях работает замечательно!


На 5.1 уже появилась возможность обновить WebView, так что проблем с совместимостью сайтов скорее всего не будет. Однако не стоит ожидать, что смартфон сможет легко переваривать тяжелые страницы. Впрочем, полистать новости на Хабре вполне можно. А вот с Пикабу сложнее! Изначально на устройстве установлен WebView на базе Blink 39 — «хром» аж из 2014 года! Девайс даже тянет HD видео 30 FPS. FHD здесь смотреть смысла нет.


Качество фотографий… нуу… так себе. Камера снимает в 5-10 FPS, однако возможно дело в том, что я не перенес фильтры. Суть вот в чем: под капотом Android, видимо, имеет некоторую концепцию «фильтров» для камеры — возможно какие-то микропрограммы для DSP или просто модули для встроенного модуля камеры, которые позволяют делать такие фишки, как софтовая стабилизация. Но и с завода она тут особо не блещет:


Синтетические бенчмарки показанные выше хороши, но если у нас есть огромный вытянутый дисплей, почему бы не попробовать поиграть во что-то? И тут Mali-400 оказывается заметно мощнее бюджетных Snapdragon'ов прошлых лет. Игрушки идут в целом неплохо. Например, Raging Thunder 2 2011 года выпуска выглядит здесь отлично и играется приятно:


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



А вот тут и вскрывается «косяк» устройства — тачскрин начинает регистрировать касание только если немного поводить по дисплею — иначе реакции нет! Из-за этого получаем неотзывчивое управление (это не инпут лаг, а именно особенность тачскрина) и играть почти невозможно. Но игра идет отлично.
А ещё выясняется, что тачскрин у нас всего-лишь на два касания! Вот так вот!

Одну из лучших гонок на мобилках — NFS Most Wanted, девайс тянет плавно с микрофризами в некоторых моментах.


Ну и разумеется, устройство неплохо выполняет функции звонилки. Тут китайцы за сим-лотком спрятали аж два слота под сим и одновременно под MicroSD! А она вам пригодится: 8гб ПЗУ — совсем немного на сегодняшний день.

А что ещё можно сделать с таким девайсом? Ну, как вариант сварганить сервер!

❯ Заключение


Вероятно, мой читатель уже хочет написать в комментариях, мол «друг, чего ты так возишься с этими подделками» — но нет! Гайд применим не только к устройствам на MT6580, но и к более новым/старым устройствам на самых разных чипсетах. В конце концов, половина кастомных прошивок на новодельные устройства появляется благодаря портированию с одного устройства, на другое. «Пробег» кастома может составлять далеко не одно устройство!

Мои читатели на разных платформах спрашивали меня: а как мне оживить планшет на MT81xx, смартфон Highscreen из 2013 или относительно свеженький Xiaomi Redmi. Ну а решать, юзабелен ли такой гаджет в 2023 или нет только вам! Жду ваше мнение в комментариях.

Я регулярно пишу статьи о моддинге различных девайсов. Подписывайтесь на меня и TimeWeb Cloud, чтобы не пропускать еженедельный контент по различным девайсам! :)

Показать полностью 22
2743

Часть 1. Устройство компьютерных блоков питания, схемы, компоненты

Компьютерный блок питания (БП) это устройство, которое преобразовывает сетевое переменное напряжение в несколько постоянных напряжений, номиналом 12, 5 и 3.3 Вольта, которые и потребляют различные компоненты компьютера.

Есть два типа блоков питания: Трансформаторные (линейные) и Импульсные (инверторные).

Отличаются они способом преобразования электричества, размером и КПД.

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

Импульсный блок питания имеет более сложную схемотехнику, но при этом имеет меньшие габариты и большой КПД, поэтому в современных системах используют именно его.

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

Два верхних контакта, это фаза и ноль, средний контакт это заземление.

(Разъемы серии IEC 320 (вилка (папа) – в маркировке обозначается IEC C14; или розетка (мама) – обозначается IEC C13)

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

Так выполняется подключение корпуса к контуру заземления.

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

Фильтр состоит из двух блоков, первый ставят как можно ближе к разъёму, к источнику помех, так фильтр будет эффективней. Обычно он состоит из нескольких конденсаторов, припаянных к контактам разъёма, для защиты от кондуктивных помех.

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

Они так же подавляют кондуктивные помехи, которые возникают в результате работы самого блока питания и приходящие из сети. В этих цепях используются специальные помехопадавляющие конденсаторы, которые разделяются на классы X и Y.

(Конденсаторы (X и Y), во входных фильтрах, выполняют из специальных негорючих материалов, так как они могут греться до очень высоких температур и могут стать причиной пожара)

Большой плёночный конденсатор подавляет дифференциальные помехи, то есть те помехи которые возникают между двумя проводниками цепи.

Синфазные помехи которые протекают через паразитные емкости между силовыми шинами питания и землёй, подавляются небольшими керамическими конденсаторами, они соединяют линии питания в общей точке с землей.

Синфазный дроссель также создаёт сопротивление для этих помех.

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

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

(Для корректной работы фильтра необходимо рабочее заземление)

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

Фильтр, как и весь блок питания, на входе защищают предохранителем.

Он нужен для защиты цепи от короткого замыкания. Его номинал должен зависеть от потребляемой мощности, но в большинство БП ставят 3 или 5-амперные предохранители.
(400 Вт – 2,5 А, 600 Вт-4, 800 Вт – 5 А)

Рядом с предохранителем ставят термистор. Он защищает элементы цепи от бросков тока.

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

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

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

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

(Варисторы обеспечивают защиту высоковольтной части блока питания от всплесков напряжения, а термисторы — от большого тока при включении)

После этого блока отфильтрованное напряжение поступает на высоковольтный выпрямитель (ВВ).

Выпрямитель делает из переменного напряжения, постоянное. Состоит он обычно из 4 диодов. Диоды пропускают ток только в одном направлении, при подключении их по мостовой схеме, на выходе получается пульсирующий ток одной полярности. Такую схему ещё называют «диодный мост». Иногда 4 диода можно встретить в одном корпусе, как одну микросхему.

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

Его реализуют на плате как один или два высоковольтных конденсатора, включённых параллельно нагрузке.



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

Массивный дроссель с конденсатором перед фильтром, это PFC - корректор коэффициента мощности.

Он снижает резкую нагрузку на проводку и предотвращает её нагрев и повреждение. Дроссель препятствует заряду конденсатора на пике входной синусоиде и позволяет при спаде. Если этим процессом управляет отдельная схема на плате или контроллер, то это увеличивает эффективность блока питания и такая коррекция называется активной. В некоторых схемах для более высокой эффективности используют, несколько дросселей.
(APFC или Active PFC, Active Power Factor Correction converter)

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

Он делает из выпрямленного постоянного напряжения высокочастотные импульсы прямоугольной формы. Делается это обычно двумя мощными транзисторами, которые по очереди открываются и закрываются, их частоту и скважность, задаёт ШИМ-контроллер, путем подачи сигналов на их затворы.

Чем дольше транзистор будет открыт, тем больше он передаст энергии, на первичную обмотку главного трансформатора.

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

Так как пикабу не разрешил вставлять больше картинок, продолжение по ссылке Часть 2

Показать полностью 23
1200

Часть 2. Устройство компьютерных блоков питания, схемы, компоненты

Трансформатор состоит из нескольких катушек проволоки, намотанных на намагничиваемый сердечник. Высоковольтные импульсы, поступающие в первичную обмотку трансформатора, создают магнитное поле.

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

В разных блоках по-разному реализована элементная база, поэтому пример может отличаться, но в основном, со вторичных обмоток импульсного трансформатора, снимаются 12, 5 и 3,3 вольта.

Трансформированные напряжения с обмоток дальше поступают на выходные выпрямители.

В отличии от аналога на входе, здесь ток выпрямляется с помощью силовых диодов Шоотки. В каждом таком корпусе находится по два диода, они имеют высокою рабочую частоту и низкое падение напряжения, поэтому именно их используют в качестве выходных (импульсных) выпрямителей.

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

Обычно используют Г и П-образные LC-фильтры, так как сглаживаются высокочастотные импульсы, то большая мощность конденсаторов и катушек не нужна. Для напряжений 12В и 5В используют дроссель групповой стабилизации. 3,3 вольтовая линия стабилизируется отдельно, дросселем поменьше. Связанный дроссель, на несколько линий ставят для экономии места и уменьшения скачков напряжения при резком изменении нагрузки.

Бывают и другие схемы, например есть блоки питания в которых только одна несущая шина, в таких блоках со вторичной обмотки трансформатора снимается только 12 вольт, а напряжения 5 и 3,3 В получают из 12 В, с помощью DC-DC преобразователей, которые распаиваются на небольшой плате. В таких блоках питания выходные напряжения более стабильны.

Чтобы постоянно поддерживать напряжения на должном уровне, при изменении нагрузки. В импульсных блоках питания есть узел стабилизации, который дополнительно является блоком защиты от перегрузки и короткого замыкания. Выполнен узел в виде микросхемы, которая называется супервизор (supervisor).

В современных БП супервизор и ШИМ-контроллер объединены в одну микросхему. Она следит за величиной выходных напряжений. Если напряжение слишком низкое, микросхема увеличивает ширину импульсов (Скважность), пропуская больше мощности через трансформатор и увеличивая напряжение на вторичной обмотке БП. Если хотя бы одно из напряжений выйдет за допустимые пределы, то отключится сигнал Power Good, тем самым материнская плата экстренно остановит систему.


Питается этот узел, от отдельного трансформатора, со своим преобразователем.

Даже когда компьютер «выключен», 5В источник дежурного питания обеспечивает работу: часов реального времени, функции пробуждения, а также подает питание на порты USB.
(Он работает все время, пока БП подключен к сети)

Дежурные 5 вольт поступают на материнскую плату через фиолетовый провод.

Сигнал что питание в норме(PW_OK, Power Good), через серый. Через зелёный провод отправляется сигнал включения (PS_ON, Power On). Черный — это общий провод, «земля».

Эти провода вместе с линиями 3,3 оранжевыми проводами, 5 вольтовыми красными и 12 вольтовыми жёлтыми образуют главный 24-контактный разъём для питания материнской платы и устройств, подключённых к ней.

Раньше на 20 и 14 контакт разъёма выводились отрицательные напряжения 5 В белый провод и 12 В синий провод.

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

Замыкание зелёного провода на землю (на чёрный провод), включит блок питания без подключения к материнской плате. Так его можно проверить на работоспособность

Накопители, приводы и прочие маломощные устройства питаются отдельно, от разъёмов SATA и MOLEX.

Центральный процессор и видеокарты получают дополнительное питание от отдельных разборных разъёмов

Основная мощность отдаётся через эти разъёмы по 12 вольтовой линии, поэтому важно чтобы сечение проводов было достаточным чтобы выдержать токовую нагрузку.

Обычно используют кабели с сечением — 0.5(20AWG) 0.8(18AWG) и 1.3 кв. мм(16AWG). Более толстые провода обладают меньшим сопротивлением, чем тонкие, поэтому меньше греются при увеличении силы тока, необходимой для нормальной работы видеокарт и процессора под нагрузкой.

Выдаваемая сила тока по всем линиям, указывается на наклейке блока питания. На ней так же указывается общая мощность.

Обычно производители указывают общую мощность которая отдаётся по всем линиям, но нужно обращать внимание на мощность, которую блок питания может выдать по линии 12В, умножив напряжение на силу тока, ведь линии 5В и 3.3В в современных компьютерах практически не нагружены.

На этом всё.

Показать полностью 16
946

SSD технологии древних: DiskOnChip

Автор: dlinyj

Оригинальный материал

Дополнительные фото, ссылки, а также информация по DiskOnChip в
источнике материала. Всё попросту не влезло :(

В середине 1990-х, FLASH-накопители были очень дорогими, поэтому появление твердотельных накопителей сильно задерживалось. Стоимость 1 МБ FLASH-памяти была несоизмеримо дорога в сравнении со стоимостью 1 МБ памяти на физическом жёстком диске, с блинами.

Но, несмотря на это, в 1995 году — израильская компания M-Systems представила первый полупроводниковый накопитель. Это был настоящий жёсткий «диск», который выглядел как обычная 32-х контактная DIP-микросхема. Более того, он устанавливался вместо микросхемы расширения BIOS, при этом имел на борту ёмкость в десятки, а то и сотни мегабайт. В те годы — это было просто космические технологии, и в последствии они встречались и использовались достаточно часто, но уже в промышленном секторе.

Это система DiskOnChip – фактически полноценный жёсткий диск на одной маленькой микросхеме, с минимальной обвязкой, которая для своей работы потребует всего два чипа логики.

Ну что же, попробуем собрать свою необычную систему с этим жёстким «диском», проверю, может ли она работать с обычной ROM-памятью, запущу наконец свой BIOS на 386 машине с ISA-картой, чего не удалось в прошлый раз.

❯ Что же такое DiskOnChip®?


DiskOnChip (далее – DOC) – это фактически продолжение идеи расширения BIOS, о котором я достаточно подробно писал в статье "Пишем свой ROM BIOS".

DOC представляет собой обычную DIP-микросхему и вставляется в ту же панельку, что EEPROM, как на сетевой карте, живёт по тем же адресам и даже в начале содержит код BIOS инициализации. И микросхема pin-to-pin совместима с некоторыми микросхемами ПЗУ! Однако далее, в старших адресах этой микросхемы, содержатся регистры управления, которые переключают окна FLASH-памяти.

Для сравнения можно посмотреть расположение выводов DiskOnChip 2000 и микросхемы EEPROM SST 29EE512 (64К x 8). Отличие только в количестве адресных линий, потому что DOC работает через окно в 8К х 8 (как восьмикилобайтная EEPROM).

Сравнение распиновки EEPROM и DOC

Фактически электрический интерфейс работы с DiskOnChip ничем не отличается от интерфейса работы с обычной EEPROM. Сигнальные линии называются также, и она совместима с ними по ногам.

Структурная схема DOC

DiskOnChip занимает 8 КБ памяти. При этом — во время старта, она выглядит как обычная ROM BIOS, и инициализирует код для работы в реальном режиме, добавляя в прерывание BIOS 13h ПО для работы по этому интерфейсу.

При работе в реальном режиме, когда передаётся код управления BIOS в его внутреннюю EEPROM, он подменяет прерывание 13h по работе с диском. Таким образом, он начинает мапить в старшие адреса по очереди страницы флэш-памяти, с помощью регистров управления.

Карта памяти DiskOnChip 2000

Если рассмотреть карту памяти, которая доступна системе в пространстве 8 КБ, то мы увидим что оно состоит из четырёх разделов по 2 КБ.

  • Секция 0: Загрузочный блок. Этот раздел содержит данные, которые выполняются при загрузке BIOS.

  • Секция 1: Загрузочный блок 2. Содержит вторую часть загрузочной области.

  • Секция 2: Регистры управления. Используется для управления поведением DiskOnChip 2000 и флэш-носителя.

  • Секция 3: Окно доступа к FLASH-накопителю. Окно, чрез которую видно область FLASH для записи или чтения данных.


Как можно понять, вся доступная память, в моём случае 8 МБ, доступна через маленькое окно в 2 КБ и переключается с помощью регистров управления.

В более сложных системах, которые работают уже в защищённом режиме, таких как Windows CE, Windows 2000, QNX, Linux и т. д., где недоступен код инициализации и прерывание 13h, для работы требуются специализированные драйвера файловой системы DOC, называемой TrueFFS.

Подводя итог, можно сказать, что DiskOnChip – это примитивный SSD того времени, который успешно применялся во многих встраиваемых системах. Чаще всего его можно было встретить в одноплатных компьютерах, в кассах, тонких клиентах и другом аналогичном оборудовании. Вот, например, недавно через мои руки прошёл моноблок для ресторанов Micros WS4. Как я понял, он использовался официантами для приёма заказа.

Внешний вид моноблока

И после вскрытия внутри можно обнаружить микросхему DiskOnChip, несмотря на то, что он работает под управлением операционной системы Windows CE.

Микросхема DiskOnChip

Самое приятное, что из-за простоты устройства DOC для его подключения к компьютеру не требуется использовать каких-либо контроллеров жёстких дисков, от них можно вообще отказаться! Схема подключения содержит всего две микросхемы логики.


Кстати, если вас пугают импортные микросхемы 74-й серии, то, во-первых, их можно взять с другими буквенными индексами, а во-вторых, вполне можно заменить на отечественные аналоги, например:

74-серияаналог74139155ид1474138155ид7
А ещё их можно заменить на микросхемы серии к155, к555, кр1564 и всё будет прекрасно работать.

Схема простая, значит можно попробовать запустить его на любом старом железе!

❯ Ваяю плату расширения


Много лет хочу сделать плату расширения для шины ISA. Ещё со студенческой скамьи вынашивал идеи, прикидывал дешифраторы адреса для создания своей платы расширения. Даже как-то пытался паять параллельный порт на микросхеме КР580ВВ55. Но всё это было не торт, и толком не работало.

Здесь другое дело, схема простая, всего три микросхемы, как работает – понятно. Осталось дело за малым – это всё реализовать. Мне было лениво заниматься разводкой печатной платы, поэтому решил делать всё на макетке. В качестве основы платы взял проект IBM PC XT8-bit ISA Prototype PCB Card XL.


В Китае заказал изготовления платы, микросхему DOC на 8 МБ и уже здесь нашёл подходящие микросхемы логики: 74HC138AP и 74HC139AP (обратите внимание, что буквенные индексы иные). Самое тяжёлое – это было томительное ожидание, когда изготовят платы и их отправят. Спустя несколько месяцев у меня всё было на руках.

Всё готово к сборке

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

Набросок схемы

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

Кружок кройки и шитья

Спустя неделю вечеров пайки получил-таки готовый результат.

Вид спереди

Вид сзади

Далее предстоит самое интересное – тестирование!

❯ Проверка работоспособности DiskOnChip


Проверку проводил на материнских платах с процессорами 386SX и Pentium 1. Как обычно бывает, где-то был неконтакт или непропай. После исправления мелких недочётов система сразу подхватила BIOS из DOC, и я увидел при загрузке ключевое сообщение, о том, что TrueFFS-BIOS запустился.

Если загрузиться вместе с жёстким диском, то можно увидеть второй диск D:, который можно отформатировать в системный раздел и перенести на него файлы, что я и сделал. Забегая вперёд, скажу, что форматировать стандартным format d: /s нельзя! То есть если очень хочется, то можно, но результат непредсказуем.

Намного более правильно работать с этим «диском» с помощью его родных утилит, которые корректно работают с TrueFFS. После того как я отформатировал диск родными утилитами, можно было перенести систему, отсоединить плату контроллера дисков и оставить только видеокарту и мою самодельную платку.

Удивительно, но это работает!

Ничего лишнего: только материнская плата, видеокарта и DOC

Самое забавное, что при загрузке BIOS не видит никаких подключённых носителей: ни флоппи, ни жёстких дисков. Но несмотря на это, всё равно идёт загрузка DOS. Лучше всего посмотреть на видео.

❯ Не всё так гладко с этим DOC…


На самом деле, не всё так гладко. То ли мне не повезло с микросхемой, то ли какая-то другая проблема, но DOC глючил. Он не всегда успешно загружался на моей плате, так и на железе, которое умеет работать с DOC из коробки (имеет аппаратную и программную поддержку в системном BIOS). То есть выглядело так, BIOS TrueFFS стартует, но диска при загрузке не видит. После перезагрузки стартует нормально, потом снова не видит. С чем связано – непонятно.
В какой-то момент при загрузке начались артефакты с запуском программ, а при переходе в папку увидел такое:

Так выглядит смерть жёсткого диска

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

❯ Замена DiskOnChip на EEPROM

Hо перед нами прогресс открывал все пути,
И, бросив старых друзей ради новых ХТ,
Мы выжимали, что можно, из DOS и из архитектуры,

Меняли коды команд, трассировали INT'ы
Дизассемблировали BIOS и писали в порты
То, что я б не позволил печатать на месте цензуры.


Мне всё же хотелось продемонстрировать, что вместо DOC можно поставить обычную ROM микросхему, и это решение будет работать. В результате это вылилось в столь громадный квест, что потянет на ещё одну статью, а то и не одну. Там пришлось дизассемблировать основной BIOS, была попытка запустить его в qemu и много других забавных экспериментов. Но всё же, оставлю это всё самое интересное за кадром, и расскажу суть.

В качестве микросхемы ПЗУ взял EEPROM SST 29EE512 просто потому, что она у меня была под рукой, и была pin-to-pin совместима с DOC. Внимательный читатель заметит (хотя уверен, что таких нет), что это та же самая микросхема, которую я использовал в статье "Пишем свой ROM BIOS". Для корректной работы 64КБ ROM в области памяти 8 КБ, нужно посадить неиспользуемые старшие адреса на землю. То есть, фактически мы превращаем микросхему в 8 килобайтную EEPROM.

В процессе экспериментом выяснилось, что БИОС на материнской плате пытается писать в EEPROM, и, таким образом, портит её содержимое. Для того чтобы этого не происходило, доработал переходник, удалив контакт с сигналом разрешения записи WE.

Больше переходников, богу переходников!

Изначально планировал попробовать точно также запустить BASIC-ROM, но как я не бился, так и не смог его стартануть. То есть, видно, что происходит успешная инициализация, системный BIOS «зависает» без ошибок, значит переход на код ПЗУ состоялся, о чём также свидетельствовали POST-коды. Но ничего больше не происходило. В отчаянной попытке я начал искать JTAG-отладчики для 386 архитектуры, пытался запустить BIOS материнской платы в qemu, но всё тщетно. Идей, как отлаживать подобные BIOS у меня пока нет. Хотя задача, крайне интересная, как же заниматься отладкой различных расширений BIOS.

Обращаю внимание, что в qemu c SeaBIOS и на другой материнской плате, с EPROM на PCI-карте всё прекрасно работало.

Установленная микросхема ПЗУ, вместо DOC

В конце концов, я не нашёл выхода из этой ситуации, поэтому решил идти по более простому пути и запустить ROM HELLO. К слову сказать, в том коде я тоже обнаружил ошибку.

Как оказалось, после того как я посчитал контрольную сумму, оставшиеся байты надо было сделать равными нулю. Чтобы в результате общая сумма давала нуль. И мне сильно повезло, что на PCI тогда этот код завёлся. Вообще, то что на PCI плате это работало – чудо, потому что потом я внимательно прочитал стандарты, он не должен был работать никак. Исправление этой ошибки запуску BASIC не поспособствовали.

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

Успешный запуск на материнской плате Pentium

Это, конечно, очень интересное колхозничество, но что насчёт промышленных железок, будет ли оно работать и там?

❯ Тест на железе с панелькой под DOC


Всё это забавно и хорошо, хочется попробовать запустить реальное железо, которое имеет поддержку DiskOnChip прямо из коробки. Специально для этого прикупил себе старинный тонкий клиент Light System LG8101, внутри которого есть панелька для DOC.

Внешний вид тонкого клиента

Если вскрыть эту штуку, то внутри можно обнаружить CF, с которой идёт загрузка, и панельку под DiskOnChip. В неё можно и проинсталлировать нашу замечательную микросхему.

Недра

Эта железка имеет поддержку DOC на уровне BIOS, так что запуск TrueFFS-BIOS не требуется. Обратная сторона этой поддержки в том, что сюда не получится вставить свою ROM-память, эта панелька предназначена только для микросхемы DiskOnChip (да, я попробовал вставить туда свою ROM, но ничего не произошло).

Выбираем в BIOS загрузку с DOC

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

Успешная загрузка тонкого клиента с установленной микросхемы DiskOnChip

❯ Заключение


Удивительно, но многие из вас не знают, что первые SSD-накопители появились аж в 1995 году, и даже вполне себе успешно применялись и использовались. Их высокая стоимость и малая ёмкость привели к тому, что рядовые пользователи не могли встретить их в своих ПК. Однако нашли широкое применение во встраиваемых системах, либо там, где не требуется частая запись на диск, как, например, тонкий клиент. Их могли использовать также в игровых автоматах или станках.

Условный игровой автомат на DiskOnChip

Тем не менее широкого распространения они так и не получили. Впоследствии дешевизна и расширение рынка CompactFlash свели на нет эту перспективную разработку. К её недостаткам также следует отнести, что она довольно медленная, так как работа идёт через маленькое окно в 2 КБ.

❯ Полезные ссылки:

  1. Документация на DiskOnChip.

  2. Отличная статья на русском по DOC: «Все про DiskOnChip® 2000» от Андрея Кузнецова.

  3. Прекрасная статья о работе и програмированию DiskOnChip (англ.)

  4. ПО под ДОС для работы с DOC.

  5. Проект макетной платы ISA.

❯ Благодарности:


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

P.S. Поскольку в рамках одной статьи невозможно рассказать обо всех тонкостях, то некоторые заметки на полях буду публиковать у себя в телеграмме.

Подпишись на наш блог, чтобы не пропустить новые интересные посты!

Показать полностью 25
81

Как мы с другом не тот транзистор искали

Во времена, когда ещё не было интернета, мы с моим другом Артёмом внезапно решили собрать усилитель для старого динамика из S90.

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

Не помню, где именно мы нашли схему, но помню, что для её сборки требовалось буквально 10-15 компонентов - пару транзисторов, диодов и несколько конденсаторов.

Дело оставалось за малым - найти эти компоненты и собрать схему. Тогда мы даже не думали о том, чтобы пойти в магазин и купить компонент. Да и зачем, если есть свалка, где часто можно было найти телевизоры.

Каким-то чудом мы нашли часть компонентов, но оставалось самое трудное - транзистор VT1. Как мы не искали по старым платам - нигде такого транзистора найти не могли. Но тут на помощь пришёл старый (как выяснилось позже - рабочий) усилитель, который стоял на шкафу.

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

Спустя несколько лет я вспомнил эту историю и внезапно понял, почему схема не заработала - мы искали компоненты по порядковому номеру (VT1, R1, R2 и т.д.), а надо было по маркировке элемента.

P.S. Тёма, привет. Я знаю, что ты меня читаешь. Честно говоря, я до сих пор удивляюсь, как мы тогда остались живы)

Показать полностью
Отличная работа, все прочитано!