Восстановление магнитолы Wanqi AllWinner T3-P1 из состояния “софт-кирпич”

Окирпичил свою магнитолу на третий день владения в попытках получить рут-права. Абсолютно никакой информации на просторах интернета о магнитолах на T3-P1 с Android 8.1 с завода. Китаец, естественно, опрокинул с поддержкой и я бросился во все тяжкие. Целая неделя нервотрепки, сломанный тачскрин ввиду многократных разборок/сборок магнитолы для пробы прошивок. И теперь я готов предоставить свой вариант загрузочного образа для PhoenixCard, который вновь оживил мою магнитолу. Но обо всем по порядку.

Как всё начиналось

Попытался получить рут путем прошивки SuperSU через рекавери переименовав его в os_update_*.zip. Он успешно прошился, но магнитола словила бутлуп. Действовал на тот момент я так смело потому, что имел свою оригинальную прошивку os_update_XWQC01D1-O55‑1.0.4.3.1_20190715_204335_b1.zip. Ведь что может пойти не так? Ну сломал ведро, зайди в рекавери да накати по новой раздел /system и /vendor. А вот здесь начались сложности.

Сначала я шел от банального: пробовал всевозможные комбинации с кнопкой Reset (единственная физическая кнопка на данной магнитоле), но не похоже, что она имеет какую-то программную обработку. Скорее всего она задействована на банальный разрыв питания магнитолы.

Затем на ютубе нашел ролик, в котором на первый взгляд аналогичная внешне магнитола, с таким же точно лаунчером. В нем автор демонстрирует способ перезагрузки в рекавери через зажатие кнопки Reset, пока не начнет мигать подсветка сенсорных кнопок, и после нажать 3 раза Reset одновременно с тиками подсветки. И что странно, мне этот способ не помог — магнитола по прежнему мгновенно перезагружается при касании Reset’a. Из этого делаем вывод, что абсолютно одинаковые внешне магнитолы (даже программно) могут иметь абсолютно другое железо внутри.

На 4pda вдоль и поперек изучил три имеющиеся темы по магнитолам на T3 (он же sun8iw11p1). Там популярен способ с зажатием трех клавиш на внешней USB-клавиатуре, а именно: ALT + PrintScreen и спамить клавишу I. Бесполезно, на момент бутлоадера, ю‑бута, ядра и затем даже той части загрузки андроида до бутлупа клавиатура просто напросто не работает. В последствии, когда я перебирал всевозможные прошивки для феникса от совсем разных магнитол, на одной из них я все таки смог воспользоваться этим способом, так что он тоже слишком ситуативный.

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

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

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

Видим, что исполнение одноплаточное: Android-составляющая, MCU, питание и усилитель размещены вместе, без модулей как привычно для многих других магнитол. А это уже тревожный звоночек. Но как было сказано ранее, терять нечего и разбираем дальше.

К моему огромному ВЕЗЕНИЮ обнаруживается распаянный слот MicroSD на обратной стороне платы, закрытый радиатором. Как известно, аварийный способ восстановить прошивку на всех AllWinner — это создать загрузочную флешку с помощью программы PhoenixCard и образа .img, который состоит из разметки разделов (sys_partition.fex, dlinfo.fex, sunxi_mbr.fex), boot0 загрузчика (boot0_nand.fex, boot0_sdcard.fex), boot1 загрузчика (он же — u‑boot.fex, который в свою очередь запакован в boot_package.fex), параметров запуска ядра (env.fex), раздела /bootloader (boot-resource.fex, содержит в себе MAGIC.BIN и изображения загрузчика), ну и привычные для андроида boot.fex, recovery.fex, system.fex и в случае восьмой версии ведра vendor.fex. По сути, имея такой слот на магнитоле и прошивку для своей модели, можно не бояться программных экспериментов, ибо прошивка фениксом это самая что ни на есть полная переразметка всей NAND с последующей перезаписью данных.

Но прежде чем начинать радоваться, нужно было убедиться, что этот слот действительно загрузочный. Обычно в магнитолах на AllWinner два MicroSD слота, и только один из них используется как загрузочный. Неизменный загрузчик, с которого начинается запуск всегда в приоритете пытается выполнить загрузку с MicroSD карты, и затем, не обнаружив её, уже переключается на NAND.

Бегу на 4pda в ближайшую тему к нашей магнитоле: https://4pda.ru/forum/index.php?showtopic=806442. Беру оттуда первую попавшуюся прошивку седьмого андроида для феникса, накатываю на флешку, вставляю в магнитолу и о чудо:

Слот загрузочный, процесс пошел. Не смотря на вопли в топике по ссылке выше о том, что T3-P3 и T3-P1 не взаимнопрошиваемы, система всё таки загрузилась:

Но сразу же бросается в глаза, что абсолютно ничего больше не работает. Слава Богу, что хотя бы сам андроид стартанул. Не было ни блютуза, ни вай-фая, ни радио и естественно отсутствовал звук. Версия андроида не принициальна, как и внешний вид лаунчера, после нескольких дней езды с кирпичом вместо новенькой магнитолы хотелось любой работоспособности. Но её не было, и потому сразу была предпринята попытка прошить имеющийся zip для рекавери от китайца с оригинальным восьмым андроидом. На тот момент я еще не знал, что в восьмом андроиде иная таблица разделов, и самое основное изменение — это раздел /vendor, вместо которого раньше был симлинк /vendor -> /system/vendor. Естественно, не было никаких шансов накатить восьмой андроид на седьмой, даже если бы рекавери прошил ядро, оба загрузчика и раздел /system, без /vendor система бы не загрузилась:

И в голову сразу же пришла другая идея: отталкиваться от того, что работает на данный момент. С помощью ImgRePacker и параметра /noiso извлек работающую семерку и получил папку YMHC0101-N39‑1.5.4.2.5_20171212_152614.img.dump. Не имея ранее опыта сборки прошивок, и тем более никогда не юзав устройства на AllWinner, было потрачено достаточно времени в понимании устройства образа прошивки для феникса. Первоначально я хотел просто добавить недостающие разделы, которые появились в восьмом ведре: vendor, dto вместо alog и media_data.

Для этого достаточно текстовым редактором открыть sys_partition.fex , исправить секции в соответствии с нашими требованиями и воспользовавшись найденными на просторах github’a бинарниками сгенерировать сначала sys_partition.bin, а затем из него dlinfo.fex и sunxi_mbr.fex.

Имейте в виду: размер в sys_partition.fex указывается в так называемых секторах, где 1 байт равняется 2 секторам. Указывая конкретный размер раздела, не забудьте его умножить на 2.

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

А так же порядок партиций в данном файле напрямую определяет, какими они будут в mmcblk0p*:
Первая запись в файле будет разделом mmcblk0p2
Вторая запись в файле будет разделом mmcblk0p5
Третья, четвертая, пятая, … — mmcblk0p6, mmcblk0p7, mmcblk0p8
И дальше в обычном порядке, но при этом UDISK всегда получает mmcblk0p1.

Скачать “Бинарники для преобразования sys_partition.fex” mbr_generator_allwinner.zip – Загружено 150 раз – 15 KB

Бинарник sys_partition.bin нам не нужен, а вот оставшиеся два файла скидываем обратно в дамп распакованной img прошивки. dlinfo.fex содержит в себе информацию о заливаемых образах разделов в NAND. sunxi_mbr.fex, как можно догадаться из раздела, MBR для нашей mmcblk0.

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

Бинго, вот и vendor в седьмом андроиде. Сразу же стало очевидно попытаться dd’шкой загнать образы разделов прям с работающей системы. Для этого вернемся к нашему zip архиву с восьмеркой и вытащим из него все возможное:

Что мы имеем? А имеем мы, не смотря на внешний вид а‑ля OTA обновление из-за патчей system и vendor, полноценную систему. Разбираем содержимое архива:

  • boot.img - ядро андроида, при встраивании в образ для феникса просто переименовываем в boot.fex
  • boot0_nand.fex и boot0_sdcard.fex - boot0 загрузчик для типов памяти сооветственно, копируем без изменений
  • boot-resource.fex — образ раздела /bootloader в файловой системе FAT16, копируем как есть
  • env.fex - параметры запуска ядра, если распаковать, то получим следующее содержимое:
  • file_contexts.bin — список пермишинов selinux для файлов, не используется в нашем случае
  • system.new.dat.br, system.patch.dat, system.transfer.list — раздел /system. Сначала необходимо пройтись по файлу .dat.br утилитой Brotli.exe, получим system.new.dat, который вместе с двумя остальными файлами кидаем в директорию Input-DAT программы Auto Tool Unpack Repack .DAT & .IMG For Windows. Выбираем первый пункт, ожидаем завершение процесса и в корне программы обнаруживаем наш полноценный образ system.dat.img. С помощью img2simg.exe можно сжать файл за счет удаление свободного пространства, которое в изначальном файле представлено нулями. Я этого делать не стал, потому что опасаюсь, что без нулей образ не покроет полностью соответствующий раздел в NAND. Полученный файл переименовываем в system.fex и бросаем в наш дамп
  • toc0.fex и toc1.fex — копируем без изменений
  • u‑boot.fex - не смотря на аналогичное название файла файлу в дампе, они отличаются. А вот с файлом boot_package.fex у них полное совпадение, потому переименовываем u‑boot из архива zip в boot_package.fex и заменяем. Это первое. Второе: данный пакет содержит в себе в том числе и u‑boot.fex для img образа феникса. Любым удобным HEX-редактором открываем файл и видим следующее:

    Это своего рода пакет-склейка нескольких файлов: u‑boot, optee, soc-cfg и еще не влез dtb конфиг. Видим, что нужный нам u‑boot идет первым, а за ним следует optee. Значит, в начале файла обрезаем всё вплоть до 8E 01 00 EA 75 62 6F 6F 74, что соответствует строке kuboot. Теперь наша задача определить конец юбута, для этого вернемся к структуре пакета на скриншоте выше и видим, что за юбутом следует optee. Вбиваем в поиск (не HEX) название optee и находим его начало:

    Наблюдаем ярко выраженную границу двух файлов, потому сразу после множества FF FF FF … FF обрезаем наш boot_package до самого конца. Получившийся файл сохраняем как u‑boot.fex в дамп для феникса. Еще раз: из одного файла u‑boot.fex из зип архива мы получаем два файла boot_package.fex и u‑boot.fex для img дампа феникса.
  • vendor.new.dat.br, vendor.patch.dat, vendor.transfer.list — по аналогии с system.new.dat.br. Только стоит учесть, что программа Auto Tool Unpack Repack .DAT & .IMG For Windows на вход принимает файл строго с названием system.new.dat.br, поэтому все три файла переименовываем из vendor в system, а затем полученный образ обратно в vendor.fex и бросаем в дамп феникса.

Возвращаемся к ImgRePack, теперь уже запаковываем дамп обратно в img, введя название папки YMHC0101-N39‑1.5.4.2.5_20171212_152614.img.dump и параметр /noiso. Получаем образ, который с помощью PhoenixCard записываем на флешку и идем прошивать магнитолу.

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

И вот вчера в теме на 4pda ув. ahmed68 выложил полный образ восьмерки для феникса. Естественно, я сразу побежал его прошивать, но прошивка даже не стартовала. Просто черный экран при включении магнитолы с подключенной флешкой MicroSD. Я начал заменять в ней файлы по одному своими из zip архива, естественно начиная связанных с загрузкой, ибо ни ядро, ни разделы самого андроида очевидно не влияют на процесс прошивки. И когда список замененных файлов был следующим: boot_package.fex, boot0_nand.fex, boot0_sdcard.fex, boot-resource.fex и u‑boot.fex прошивка таки пошла. И даже больше: появилась загрузочная картинка из /bootloader. Это был прогресс на фоне всех моих ранних мучений.

Естественно, я сразу же заменил и оставшиеся разделы андроида, но загрузка так и не пошла. Даже больше: при замене boot.fex ядром от моего восьмого андроида, загрузка начала прерываться ежесекундной перезагрузкой. Причину, по которой содержимое моего архива не хотело грузиться я не знаю. От безысходности я решил попробовать повторить аналогичное, но с другим архивом: os_update_KC1C01W1-O01‑1.0.4.3.1_20190424_192823_b1.zip. Внутри такой же андроид 8.1, настоящий, не переименованный в build.prop. Но с лаунчером не как у нас, а как и в ранних прошивках KC1C0101, только с андроидом 7.

И всё, появилась бутанимация восьмого ведра:

А затем и лаунчер от KC1C0101:

Сразу в глаза бросилась иконка Wi-Fi, и не зря: он заработал. Так же, как и всё остальное. Появилось радио, начали сохраняться настройки эквалайзера. Блютуз снова находит другие устройства. MCU не менял, прекрасно работает и с моим июльским, хотя прошивка апрельская:

Прикладываю разметку разделов, на которой 100% восьмой андроид грузится. Да, тут есть лишние разделы, но они не мешают и я их оставил прозапас:

Не знаю, связано ли это с последней прошивкой от ув. ahmed68 или же мне сразу стоило пытаться накатить KC1C01W1-O01, а не мучиться с моей оригинальной. Но в любом случае магнитола снова работает, чему я безумно рад. Естественно, сразу же сделал рут, с чего это приключение и начиналось. Пропатчил ядро boot.fex с помощью Magisk Manager и собрал архив .zip для прошивки через рекавери. Переименовал его в os_update_kernel.zip и прошил обычным путем через юсб-флешку на работающей системе. После этого остается поставить Magisk Manager из apk и доустановить рут.

Скачать прошивку и MCU

Образ для феникса:

Скачать “Сборка sun8iw11p1 и KC1C01W1 в формате .IMG” sun8iw11p1_KC1C01W1.zip – Загружено 2769 раз – 649 MB

Единственный PhoenixCard, который у меня смог без ошибок записывать образы на MicroSD-карты:

Скачать “PhoenixCard 1.0.0.1” PhonixCard.zip – Загружено 766 раз – 8 MB

Пропатченное ядро для рута, кинуть на юсб-флешку и выбрать для прошивки в интерфейсе системы:

Скачать “Пропатченное ядро Magisk’ом для прошивки через Recovery” os_update_kernel.zip_signed.zip – Загружено 935 раз – 9 MB

Скачать MCU 1001KC1 от 12.07.2019:

Скачать “MCU 1001KC1 для AllWinner T3-P1 (от 12.07.2019)” mcu-201907121001KC1-1022 — 复件(2).upd – Загружено 1 раз – 64 KB

Скачать MCU 1001KC1 от 18.03.2019:

Скачать “MCU 1001KC1 для AllWinner T3-P1 (от 18.03.2019)” mcu-201903181001KC1-1656(1).upd – Загружено 636 раз – 64 KB


Собранные в одном месте прошивки можно найти здесь.

30 ответов к «Восстановление магнитолы Wanqi AllWinner T3-P1 из состояния “софт-кирпич”»

  1. А автозвуком не увлекаетесь? Хотелось бы узнать, как магнитола реагирует на подключение устройств USB-audio.

    1. Звуком нет, но внешние USB-ЦАПы подключать пробовал. Как и на любом ведре, без стороннего плеера который умеет гнать звук на конкретную карту не обойтись.

      1. Вы не правы, нормальные современные андройд устройства гонят весь звук в USB AUDIO при подключении и оригинальная магнитола на Т3 это делает, рассчитывая на это я такую и заказал и пришла эта версия ((( Я почти на 100% уверен, что если добавит в /vendor/etc/audio_polycu.conf в секцию оутпут строки:

        usb {
        outputs {

        usb_device {
        sampling_rates dynamic
        channel_masks AUDIO_CHANNEL_OUT_STEREO
        formats dynamic
        devices AUDIO_DEVICE_OUT_USB_DEVICE
        flags AUDIO_OUTPUT_FLAG_DIRECT
        }

        То на этой магнитоле тоже все заработает.
        Но у меня нету оригинальной прошивки моей магнитолы и я пока не могу с китайца её вытрясти. ПО этому боюсь пробовать получать root

  2. На алвинтерах ещё можно ставить систему на флешку. Я так делал на Mele A1000
    Тоесть создаются разделы прямо на sd card туда пишутся нужные данные, в fstab правятся пути и система грузится с флешки. Работает ощутимо медленнее, но зато с ней удобно экспериментировать.

    1. Если на такой же магнитоле, как у меня, то только командой “reboot recovery” в терминале. Для этого нужны рут права.

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

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

  4. Здравствуйте! Имею такую же магнитолу как у вас визуально, только производитель SEICANE. Как узнать, возможно ли залить прошивку с вашей магнитолы? А то китаец прислал мне магнитолу с андройдом демо. Потом скинул прошивку, но там муть какая-то. Хотел бы поставить себе нормальную прошивку. В принципе все работает. Спасибо за ответ. Моя почта kuchshenkovit@mail.ru

  5. Здравствуйте. Очень помог образ прошивки созданный Вами для оживления “кирпича”. Только теперь нарисовалась проблема в виде не возможности обновить через os_update. Зависает на половине. Это можно как то решить?

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

      1. т.е. из рекавери прошивки обновляются? тогда может попробовать портировать TWRP)))

  6. Простите за мой русский. Я голландец и использую гугл переводчик, чтобы писать на русском.
    У меня есть устройство с чипом T3 P1 и MCU STM32-20190828–11-KC1-30 и версией ОС KC1C01D5-O55‑1.0.4.3.1. Это было установлено, когда я купил устройство.
    Проблема, с которой я сталкиваюсь — это время запуска устройства. Загрузка устройства занимает около минуты. Я уже пытался поменять местами красный и желтый провода, но безуспешно.
    Имеет ли смысл использовать вашу прошивку, чтобы попытаться это исправить?
    Заранее спасибо за помощь.

    1. я не думаю, что время запуска зависит от прошивки. это же Андроид. а мы все прекрасно знаем, что он долго загружает систему. так что это нормально.

    2. я не думаю, что время запуска зависит от прошивки. это же Андроид. а мы все прекрасно знаем, что он долго загружает систему. так что это нормально.

    3. Приветствую. У меня такая же проблема, отсутствует спящий режим и при каждом запуске устройство загружается 1 минуту. Единственным решением для этого является включить в настройках пункт “shutdown delay when ACC OFF”, но даже с ним максимальное время спящего режима ограничено лишь несколькими часами.

      1. Благодарю. Я попробовал еще раз с заменой проводов ACC и 12V и вашим предложением.
        Он улучшен, GPS также исправлен, а цвет светодиода сохранен правильно.
        Таким образом, жгут проводов неправильный, и необходимо заменить местами желтый и красный провода.
        Я думаю, что я должен принять время загрузки.

  7. Привет,
    Это программное обеспечение можно загрузить в мою радиостанцию Bosion 410?
    Hello ,
    This software can be downloaded into my Bosion 410 radio ?
    ” Скачать “Сборка sun8iw11p1 и KC1C01W1 в формате .IMG” sun8iw11p1_KC1C01W1.zip – Загружено 1565 раз – 649 MB”

    Radio BOSION 410–32
    BX-410
    1. Pure android 7.1 OS
    2. Procesor: Allwinner T3 Cortex A7 czterordzeniowy 1.2 GHz
    3. RAM: 2 GB DDR3
    4. ROM: 32 GB

    Android 7.1.1
    Quad Core AliWinner-Rom 32GB-DDR3 2GB
    Curr version:1.6.4.2.6.20171222–1‑KC1-09

    Kernel Version
    Linux 3.10.65-Sat Dec 23 16:21:22 CST2017

    OS VERSION
    BSP 1.6.4.2.6‑IVT-171223

    MCU Version
    20171222–1KC1-09

    привет

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

      1. Можете ли вы порекомендовать протестированную версию программного обеспечения для этого радио Bosion 410?

  8. Ребята как зайти в меню рекавери если не механических кнопок Андроид 8–1 китайское чудо 7089C все сенсорном управляется не могу войти .заблокирован экран рсит пароль перепад все аеауты не идёт. Помогите чтоб не разбирать ее.Зарание Всем СПАСИБО

  9. Добрый день! Подскажите, пожалуйста, ноут определяет устройство, но драйверов к нему найти не можем. Из всех доступных загрузок пытались поставить, но винда ругается, что установлены наиболее подходящие. Удаляли, вновь устанавливали, но устройство не определяется как нужно, а следовательно его никакая программа не видит.

  10. Доброе утро, я пользователь автомобильной GPS-системы навигации, в частности EVUS DD571A vº1 с моделью материнской платы: *** x и star t3 en_mb_v.01_161103 ***, в которой возникла проблема усиления звука из bluetooth, который не выходит усиленным по отношению к динамикам автомобиля, все остальные аудиофункции, такие как usb, радио, фильмы и т. д., воспроизводятся и слушаются отлично, я больше не знаю, является ли это программной или аппаратной проблемой

    Отчет AIDA64

    Производитель: Allwinner
    Модель: QUAD-CORE T3 p3
    Бренд: Allwinner
    Carte Mère: exdroid
    Одежда: t3-p3
    Matériel: sun8iw11p1
    Plateform: T3
    Продукт: t3_p3
    Серийный номер: 110100303136473330005d47d2ad754b
    RAM Installée: 2 Go
    Общая память: 1 768 месяцев
    Доступная память: 932 мес.

    Версия Android: 7.1.1 (Nougat)
    API Niveau: 25
    Niveau du correctif de sécurité Android: 2017-03-05
    Appareil rooté: Oui
    Идентификатор Android: d8a19f9cdd4d08d7
    Идентификатор сборки: t3_p3-spa 7.1.1 NMF27D 20180925 тестовых ключей
    Кодовое название: REL
    Empreinte Digitale: Allwinner / t3_p3 / t3-p3: 7.1.1 / NMF27D / 20180925: eng / test-keys
    ID: NMF27D
    Добавочный: 20180925
    Версия Java Runtime: Android Runtime 0,9
    Машина Virtuelle Java версия: ART 2.1.0
    Taille du Heap Java VM: 192 пн
    Ядро архитектуры: armv7l
    Версия ядра: 3.10.65 (john @ ubuntu) (версия gcc 4.6.3 20120201 (предварительная версия) (crosstool-NG linaro‑1.13.1–2012.02–20120222 — Linaro GCC 2012.02)) # 1168 ПРЕДУПРЕЖДЕНИЕ SMP вт 25 сентября : 47: 25 CST 2018

    Я ДОЛЖЕН ЗНАТЬ, ЕСЛИ ВЫ МОЖЕТЕ ПОМОЧЬ МНЕ

    СПАСИБО ВАМ

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

    Пытаюсь включить рековери через “ALT + PrintScreen и спамить клавишу I” перезагружается появляется андроид восклицательным знаком и иероглифами, скорее всего что нет команды иииии все, перетыкал все подряд толку нет.… подскажите пожалуйста что ему нажать что бы перейти в следующее меню выбора команды

Добавить комментарий

Ваш адрес email не будет опубликован.