Мощный одноплатник за копейки: Как я купил полноценный мини-ПК за 800 рублей, восстановил его и превратил в сервер


Спойлер: Вы тоже можете купить такой одноплатник за 800 рублей, благо на барахолках их навалом. Ну а как их починить и превратить во что-то полезное, я расскажу в рамках сегодняшней статьи!
По правде сказать, я огромный фанат купить что-то очень дешевое и нерабочее, чтобы затем найти новое применение железу со свалки. Недавно я изучал Авито и наткнулся на тонкие клиенты Dell Wyse 3040 по 800 рублей с нерабочими eMMC. Казалось бы, тонких клиентов на вторичке навалом — но у этого был 4х-ядерный процессор от Intel, неплохой GPU с поддержкой DirectX11, 2 гигабайта оперативной памяти и целых 4 слота под USB. Надо брать!
В этой статье всё как вы любите: диагностика, изучение схемотехники, перекатка и замена флэшки в BGA-корпусе, попытки впихнуть невпихуемое и очень изощренные способы загрузить Linux. Интересно? Тогда жду вас под катом!
❯ Предисловие
Недавно я мониторил барахолки на предмет каких-то необычных ретро гаджетов по типу телефонов, ноутбуков и минипк. В основном они мне интересны из-за возможности погонять на них ретро-игры, запустить экзотические ОС или просто для тестирования демок своих игр, которые я пишу в рамках отдельной серии статей. Неделю назад в моих рекомендациях всплыл некий Dell Wyse 3040: тонкий клиент на 4х-ядерном Intel Atom z8350, который из коробки работает на собственной операционке ThinOS.

По сути, это обычный x86 мини-компьютер, который вместо ноутбучного Celeron/Pentium использует планшетный Intel Atom на платформе Cherry Trail: такие Atom'ы можно было найти в дешевых Wintel-планшетах типа Irbis TW85, а также ноутбуках в категории «до 15.000 рублей» в 2015-2020 годах. У большинства таких гаджетов была одна критическая болячка: в качестве накопителя они использовали чипы памяти eMMC из смартфонов, а поскольку ресурс таких флэшек значительно ниже оных в обычных SSD-накопителях, они выходили из строя всего через 2-3 года активного использования. Wyse 3040 тоже использовал eMMC в качестве SSD, из-за чего сотни, если не тысячи экземпляров дожили до наших дней рабочими лишь частично и пошли под списание. Как раз именно такой списанный экземпляр я и решил купить всего за 870 рублей.
Скрытый текст
Конечно я немного лукавлю насчет "одной единственной болячки". У тех же Irbis'ов летело всё: USB-OTG хост, контроллеры питания, тачскрины, биосы... в общем, это было то ещё удовольствие.

Когда я получил девайс, он сразу же меня впечатлил: мало того что размером с мою ладошку (как и eBox, о котором я рассказывал в рамках прошлой статьи), так ещё и с полностью пассивным охлаждением, питанием от 5В/2А и целой кучей интерфейсных разъемов. На передней панели расположилась кнопка питания, один порт USB 3.0, один USB 2.0, а также 3.5мм джек для подключения наушников.

В то время как на задней целых два DisplayPort'а, ещё два USB и Ethernet. Существовало несколько разных версий 3040'ого: в базовой из коммуникаций есть только RJ-45 и накопитель объёмом в 8ГБ, а в продвинутой добавили ещё и Wi-Fi/Bluetoth модуль и увеличили объём накопителя аж до 16ГБ. В мои руки попала как раз базовая версия.

После получения, я пришёл домой, подключил компьютер и... увидел сообщение «No bootable devices found". В UEFI-прошивке Dell'ов есть режим самодиагностики, который честно сказал, что не может ничего прочитать с eMMC — а значит она не просто ушла в режим «только для чтения», а вообще полностью посыпалась. Неужто там стоят легендарные чипы от Samsung, которые в своё время досрочно унесли с собой Galaxy S4, S4 Mini, S4 Zoom, S3, Tab 3...

❯ Разбираем и изучаем
Теперь отремонтировать наш минипк можно только заменив чип памяти на новый, благо сделать это не особо сложно. Для этого сначала нужно разобрать компьютер, что называется, голыми руками — отщелкиваем нижнюю часть корпуса с клипс и разбираем "бутерброд":

После чего перед нами открывается следующая картина:

В глаза сразу бросаются два чипа оперативной памяти типа DDR3 объёмом по 512МБ каждый, LAN-трансформатор, LDO для питания LAN-контроллера и слот M2... казалось бы, можно ставить самый дешевый SATA SSD с «алика» и заканчивать статью, но у этого слота нет ни PCI-E, ни SATA линий — на него выведена шина SDIO для подключения Wi-Fi/BT модуля в старших версиях.


С фронтальной стороны платы нас встречает относительно небольшая система охлаждения, состоящая из радиатора, который отводит тепло и с процессора, и с контроллера питания, и с памяти. TDP у процессора крошечный — всего ~2Вт, поэтому активное охлаждение ему не нужно совсем (а вот его температуры под нагрузкой мы узнаем чуть позже).

Под радиатором скрывается кастомный контроллер питания Texas Instruments SND9039A2, разработанный специально для Cherry Trail. Эти КП используются во всех устройствах на этой платформе, что потенциально несколько усложняет ремонт — те же Bay Trail'ы нередко использовали куда более распространенные и задокументированные КП от AXP.

КП формирует 6 основных шин питания из шины 5V: 1.15V, 1.25V и 1.05V для питания процессора, 1.35V для питания DDR3 в режиме LV, ещё одна 1.15V для питания видеочипа и 1.8V для общения с периферией. Помимо основных шести DC-DC преобразователей, в КП также есть аж 14 LDO, которые формируют периферийные шины по типу VRTC (дежурка и часы реального времени), 3.3V и 1.2V. За основную шину питания — т.е 5V отвечает другой чип — NCP81231, так что если компьютер не включается — смотрите в первую очередь в его сторону.

В центре платы расположилось сердце устройства — тот самый процессор Atom Z8350, представленный в феврале 2016 года. Концептуально это система на кристалле — по сути весь компьютер выполнен в виде одного крошечного чипа, выполненного по техпроцессу 14нм. Внутри него скрываются:
4 ядра на архитектуре Airmont, способные работать на частоте от 1.4ГГц до 1.9ГГц в турбобусте и имеющие 2МБ общего L2-кэша. Кроме того, ядра поддерживают HyperThreading и являются прямыми наследниками ядер Silvermont, используемых в смартфонах Asus ZenFone и планшетах Asus FonePad. Так что да, чисто технически — этот процессор близкий родственник смартфонных чипов :)
GPU Intel HD Graphics 400, способный работать на частоте до 500МГц и имеющий всего 12 унифицированных шейдеров (даже в GeForce GT710 было 192 унифицированных шейдера, в i3 6100 — 24). Тем не менее, HD Graphics 400 вполне тянет игры из начала нулевых, имеет целых два DisplayPort'а и поддержку DSI-матриц планшетов, умеет декодировать 4K видео и поддерживает DirectX 11.2.
Встроенный контроллер оперативной памяти типа DDR3, плюс контроллер eMMC для накопителя. Интересно то, что SATA в нём вообще не было — что ещё раз подтверждает родство с смартфонными процессорами.
Из внешних шин есть PCI-Express 2.0 1x (да, всего одна дифпара на всю систему), UART, SPI, I2C и SDIO. За звук отвечает I2S контроллер, а за общение с параллельной периферией отдельный GPIO-контроллер.
И всё это с TDP всего в 2Вт!
Круто, да? Рядом с процессором расположились ещё два банка ОЗУ по 512МБ каждый, в сумме дающий нам 2ГБ памяти. В теории объём можно расширить и до 4ГБ, однако это потребует патч SPD-таблицы в UEFI, ведь отдельной SPD EEPROM-ки тут нет. Помимо этого, около процессора можно заметить гигабитный Ethernet-контроллер Realtek RTL8111H, подключенный через единственную дифференциальную пару PCI-Express в процессоре, и аудиоконтроллер ALC5672 от всё той же Realtek.

А ещё чуть ниже можно увидеть SPI-флэшку с прошивкой UEFI — MXIC 25U12873F, рядом с виновником торжества — eMMC-флэшкой Hynix H26M41204HPR объёмом в 8ГБ. И именно её нам сейчас предстоит заменить.

Ремонт
Как и во многих других устройствах, в Wyse 3040 используются флэшки в корпусе BGA153. Этот корпус пережил уже целых 3 поколения памяти: сначала в него упаковывали eNAND, затем eMMC, а сейчас во всю используют для UFS. У этого корпуса есть совместимый брат — BGA169, который отличается дополнительными пинами по бокам. Существуют два вида таких чипов:
Собственно сам чип-памяти eMMC, который состоит только из NAND-памяти.
И eMCP, который состоит из бутерброда флэш-память + оперативная память. Такой тип активно использовался в смартфонах и планшетах.
Оба этих типа частично взаимозаменяемы между собой — можно без проблем поставить eMCP в устройство с обычной eMMC на борту (просто пины оперативной памяти подключены не будут), однако обратное делать уже нельзя, иначе устройство останется без оперативной памяти. Перед заменой eMMC, старый чип необходимо выпаять, предварительно намазав под пузо флюс. Я использую AMAOE M53:

Никакого компаунда здесь нет, а плата хоть и толстая, но не особо теплоемкая — так что eMMC легко отлетает за минуту прогрева при 320 градусах на среднем потоке воздуха и без нижнего подогрева.

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

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

Поискав в запасах чипы BGA153, я нашел два одинаковых SanDisk'а по 8ГБ, один из которых я сдул с убитой платы планшета, а также BGA169 чип от Toshiba на 32ГБ с Nokia N8. Чип от N8 я припаять нормально не смог из-за того что он слишком большой для этой площадки, а вот SanDisk'и залетели на плату на ура.

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

Далее оплавляем припой при температуре ~290-300 градусов. Если сильно переборщить — флюс испарится быстрее, чем припой начнет оплавляться и шары повылетают. Если поставить меньше — шары будут дольше оплавляться. С нагревом чипов памяти нужно быть осторожным — даже eMMC боится перегрева, не говоря уже об очень хрупких UFS, которые снимать нужно обязательно на нижнем подогреве.

Далее капаем немного флюса на посадочную площадку:

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

И вот, чип наконец-то установлен! Но, как в известном анекдоте, есть нюанс...

❯ Ставим ОС
После включения, EFI всё также жаловался на отсутствие устройств, с которых можно загрузиться. Однако селф-тест теперь сразу вылетал с ошибкой «Short eMMC read test unsuccessful», что надвинуло меня на мысль о том, что инициализации не происходит.

Я перекатал несколько разных чипов еще 5 раз и эффект изменился только с чипом от Samsung на 4ГБ. И вот тут то я понял: а что, если только UEFI не видит eMMC из-за несовместимости бутпротокола в extCSD? Ведь на схеме не просто так указаны страпы для выбора ревизии памяти. И точно — флэшка Samsung заработала тут нормально. После этого я решил загрузить Linux с USB и проверить /dev/ — и eMMC там определился за счет собственного драйвера для Cherry Trail!

Далее я поставил обратно чип от SanDisk, загрузился в Puppy и увидел что система запустила проверку разделов с файловой системой ext, что уже очень хороший знак — флэшка успешно инициализируется и читается системой. На этом этапе чип можно пропатчить с помощью специальной утилиты, но дампа extCSD оригинальной флэшки у меня нет :(

В качестве системы, я решил выбрать Debian 12 Bookworm — она не слишком старая и не слишком тяжелая, особенно с рабочим столом Xfce. Установщик сразу увидел eMMC, которую теперь необходимо переразметить — сейчас там остатки Android от планшета, из которого этот чип выпаяли.

После установки компьютер перезагрузился... но вы же не думаете, что всё было так просто? Он снова не увидел eMMC. Дело в том, что в Wyse 3040 кривой UEFI, который не учитывает путь до загрузчика из NVRAM и грузит только стандартный BOOTX64.EFI. Я скопировал его из папки EFI/debian/ в EFI/boot/

И даже после этого UEFI его не увидел, а значит моя теория с тем, что EFI привередлив к ExtCSD флэшки — верна. Поэтому я решил сделать финт ушами и записать на маленькую USB-флэшку только ядро и initrd, перенаправив root на eMMC. Для этого монтируем флэшку и копируем initrd из под Rescue-режима Debian:
mkdir -p /emmc/
mount -o remount,rw /cdrom/
mount -t /dev/mmcblk0p2 /emmc/
cp /emmc/initrd.img /cdrom/Патчим grub.cfg так, чтобы он указывал на initrd и ядро на флэшке:
menuentry --hotkey=g 'Boot' {
set background_color=black
linux /install.amd/vmlinuz vga=788 root=/dev/mmcblk0p2 ---
initrd /initrd.img
}И загружаемся с флэшки. Как итог — система пошла грузиться и уже через минуту я увидел окно входа LightDM.

Теперь компьютером можно полноценно пользоваться. Debian сразу подцепил все необходимые драйвера, в том числе и для GPU — так что даже аппаратное ускорение интерфейса присутствует. Конечно 2ГБ памяти для современного ПК очень мало, но тем не менее, 4х-ядерный Atom ещё кое-что может!

Например, можно с некоторыми лагами серфить современный интернет. Я спокойно зашел на свой профиль на Хабре дабы поностальгировать со статей 2023 года. И мне это удалось сделать, даже скроллинг почти не тормозит.

Драйвера Mesa также подтянулись сами, благодаря чему работает WebGL. Помимо 3D, также есть аппаратное ускорение видео, благодаря чему из такого минипк можно сделать мультимедийный центр.

А ещё этот малыш даже игры тянет! В OpenArena мы получаем 40-60 кадров на большинстве локаций в 800x600... результат конечно не супер крутой (все таки это игра на базе движка Quake 3), но тем не менее в TuxRacer или эмуляторы ретро-консолей поиграть можно :)

При максимальной нагрузке, процессор едва греется до 55 градусов — так что температурный режим у него максимально безопасный и думаю он никогда не начнет троттлить и не выдаст низкий уровень на пин PROCHOT при своевременном обслуживании :)

Ради интереса, я погонял его в бенчмарке sysbench cpu, где он набрал 1476 попугаев. Это результат примерно в два раза хуже чем у Core 2 Quad Extreme Q9300 и в полтора раза хуже чем у Pentium G4400. Для планшетного процессора результат отличный, Intel N95 с гордостью перенял эстафету экономичного, но достаточно шустрого процессора :)

Учитывая неплохую производительность и минимальное энергопотребление, вас наверняка может заинтересовать перспектива использования этого минипк в качестве SBC. И он вполне для этого годится! На плате есть пятаки для отладочного порта, где выведено сразу несколько шин I2C, UART и JTAG. К I2C можно «достучаться» с помощью i2c_dev, а к UART'у через обычный ttyS.

Более того, путем небольших вмешательств в плату можно взять линии PCI-Express с сетевого контроллера для подключения внешней видеокарты или накопителя, а питание для внешних дисплеев и прочей периферии можно попробовать взять прямо из шин питания компьютера. Например 3.3v можно взять от LDO, который формирует IO-питание LAN-контроллера — у него запас аж 3А, так что хватит с головой :)
Так что лично я считаю, что Wyse 3040 — прекрасная альтернатива Raspberry Pi 2/3 и OrangePi Zero/PC, которые сейчас можно найти на авито по схожей цене, а иногда даже и выше. А вы?

❯ Заключение
Вот такой интересный компьютер я купил всего за 800 рублей. Пару часов времени, немного паяльной пасты, трафарет и фен — и вот компьютер по цене пиццы уже работает и радует меня как маленький домашний сервер с минимальным потреблением. И ведь таких экземпляров на вторичке сотни, и каждый из них можно использовать для организации медиацентра, мини-NAS, сервера или, если очень постараться, и накатить Windows, даже машинки для ретро-игр. А что думаете вы? Какие применения могут быть у такого 4х-ядерного компьютера? Пишите свое мнение в комментариях!

В качестве тестовых машин, мне было бы интересно пощупать что‑то ещё из семейства Nvidia ION/Radeon Xpress Graphics/VIA Chrome9 HC/Trident Blade. Если у кого‑то есть всякие интересные тонкие клиенты или ноутбуки на прикольном железе, или что‑то AMD'шное времен 939/462 — пишите в ЛС, обязательно сделаю контент!

Ну а я надеюсь, что вам было интересно. Подписывайтесь на блог, чтобы не пропускать новые статьи каждую неделю! А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram‑канал «Клуб фанатов балдежа„, куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.“»
А если вы хотите что‑нибудь подарить из железа и увидеть о нём статью — пишите мне в Telegram. Меня очень интересуют самые разные гаджеты: начиная от игровых консолей и любых связанных с геймингом устройств, телефонов, смартфонов, КПК, заканчивая ретро‑компьютерами и ноутбуками. Кто знает, может героем следующей подобной статьи окажется ноутбук из 90-х?:‑)

После обзоров устройства не продаются, а остаются в моей коллекции. Когда‑нибудь я хочу сделать музей, где к каждому устройству можно будет приложить QR и почитать мою статью. Кто знает, вдруг на следующей неделе я также подробно расскажу про девайс из вашей юности?:)

Кстати, у меня есть GameBoy Advance SP, под который я очень хочу написать игру. Однако мой экземпляр был залит водой и кофе. Может у кого‑то есть донор с дохлой платой, откуда я смог бы взять контроллер питания? У меня AGS-101.
Может быть интересно:

Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram‑канале ↩
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
50%Балдежная😎 Настоящий хабраторт, мы такое любим.1
50%О, одна из тех редких статей, где моно и с софтом пердолингом занимается, и железо ремонтирует — кайф!1
0%Антибалдеж. Это щитпост, такого на Хабре вообще быть не должно.0
0%Я сразу понял что автор дилетант и ничего не понимает в ремонте, а текст сгененрирован LLM!0
0%Ну всё, побежал заказывать себе такой. ХОЧУ!!!0
0%Не, ну грузить рутфс с eMMC имея ядро и рамдиск на USB — до такого только монобогдан мог додуматься0
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.