🛠️ XGecu T48 (TL866-3G) eMMC ISP Toolkit & GUI Этот проект представляет собой набор инструментов на Python на основе реверс-инжиниринга USB-протокола универсального программатора XGecu T48 (TL866-3G) - https://github.com/danusha2345/xgecu-t48-reverse. Проект сфокусирован на работе с памятью eMMC через внутрисхемное программирование (ISP), а также работу через соответствующие адаптеры, обеспечивая прямой доступ к железу из операционных систем Linux и Windows в обход официального проприетарного софта.
Основой проекта служит графический интерфейс (GUI) и оптимизированные низкоуровневые скрипты, которые позволяют безопасно инициализировать чипы, считывать показатели здоровья и мгновенно парсить таблицы разделов.
✨ Ключевые возможности
Графический интерфейс (GUI): Удобная и легкая оболочка. Объединяет в себе панель управления (включая переключение напряжения VCCQ "на лету"), логгер событий и интерактивную таблицу разделов.
Глубокая аппаратная диагностика: Чтение и интеллектуальный парсинг регистров CID, CSD и EXT_CSD. Скрипт корректно обрабатывает специфичный для T48 пословный реверс байт (word-swap) для CID/CSD, оставляя EXT_CSD в прямом (raw) порядке.
Анализ износа и конфигурации (Smart Health): Вывод реального объема чипа, размеров скрытых разделов BOOT1/2 и RPMB, версии eMMC, а также показателей износа SLC (Typ A) и TLC (Typ B).
Быстрый парсер GPT: Молниеносное чтение таблицы разделов напрямую с eMMC без необходимости скачивать полный дамп. Использует потоковое аппаратное чтение (Bulk Read) программатора.
Автоопределение файловых систем (FS Magic): Распознавание ФС «на лету» путем точечного чтения первых килобайт каждого раздела. Поддерживаются: EXT4, F2FS, EROFS, SquashFS, FAT32, exFAT, NTFS, а также образы Android Boot.
Полный контроль над шиной: Возможность программного переключения напряжения VCCQ (1.8 В / 3.3 В) и управления частотой шины CLK вплоть до безопасного максимума для ISP — 40 МГц.
⚙️ Требования и установка Проект написан на языке Python и взаимодействует с USB напрямую. Никаких специфических драйверов уровня ядра не требуется. Требуетля лишь python 3.10+
Установите зависимости: pip install pyusb libusb (Пакет pyusb предоставляет интерфейс, а libusb нужен как физический бэкенд для общения с портами).
Настройка для Windows: Для корректной работы скриптов необходимо привязать универсальный драйвер WinUSB к интерфейсу программатора с помощью утилиты Zadig.
Настройка для Linux: Добавьте стандартное udev-правило, чтобы предоставить вашему пользователю права доступа к USB-интерфейсу T48 без использования root.
🔌 Рекомендации по аппаратному подключению (ISP) Линии GND: Используйте порт ICSP и обязательно припаяйте обе линии GND как можно ближе к линии CLK. Длина проводов: Сделайте провода ISP-шлейфа максимально короткими и не допускайте их переплетения для минимизации наводок на частоте 40 МГц. Сброс (RST_n): Пин RST_n чипа eMMC должен находиться в высоком логическом состоянии. Если там 0 В, подтяните его к линии VCCQ через резистор ~1 кОм. Конфликт с процессором: Если eMMC распаяна на плате, основной процессор может перебивать сигналы. Рекомендуется принудительно остановить его (например, замкнув кварцевый резонатор на массу).
Поддержать разработку -
💳Тбанк - https://www.tbank.ru/cf/5xFGZshymTA
💳Сбер - https://messenger.online.sberbank.ru/sl/b64OEIJdaiBKMQ5W3