Аппарат Honda CRV недавно заказанный в Китае на Alliexpress. Аппарат внешне добротный по техническим характеристикам превосходит те, что привозят наши дилеры. Андроид 8.0 платформа с восьми-ядерным процессором 4 Гб оперативной памяти RAM. Почти все функции работают очень хорошо. Однако как часто бывает с такими доставками Ali есть и проблема. При включении устройства пропадает WiFi соединение и потом даже в меню настроек его не включить, всем знакомый выключатель напротив WiFi просто не срабатывает. Причем даже проработав несколько дней WiFi внезапно отключается.

Устройство приняли на диагностику и разобрав убедились что тут производители сэкономили на компонентах USB-хоста, он работает нестабильно, особенно при низких температурах. При запросах системы этот  хост принимает участие, в результате может нестабильно работать WiFi Bluetooth модуль или USB флешки. То есть при низких температурах, происходит отключение этих компонентов из-за дешевых комплектующих, которые применяются для USB хоста.

Существует также еще хитрый программный способ знакомый нашим инженерам для обхода этой проблемы. Для гарантированного исправления этой проблемы с отвалом WiFi нужно  прописать специальный скрипт в ПО магнитолы. В случае если все таки устройство Bluetooth или WiFi или другое устройство USB не инициализировалось, специальный скрипт создаст  дополнительный запрос в системе и инициализирует его с небольшой задержкой. Таким образом, обеспечивается надежность определения и подключения модулей, (встречаются также случаи с отключением Bluetooth, USB) в нашем случае неcтабильно работал только WiFi

Не секрет, что все производители стараются уменьшить затраты на производство и как итог, устанавливают не слишком качественные комплектующие. Что происходит — при включении ГУ или пробуждении, MCU дает сигналы на подачу питания USB хаба, WiFi модуля, BT модуля и другой периферии и в плату ARM на запуск системы. Все периферийные устройства начинают внутреннюю инициализацию, параллельно начинается загрузка Андроида. Из-за не лучших электронных компонентов, как получается термозависимых, на миллисекунды затягивается инициализация хаба GL850G и Андроид не полностью «подхватывает» подключение хаба, он получается «недовоткнутым», соответственно получается ситуация что хаб считает, что он подключен, а Андроид считает, что ничего к нему не подключено и не пытается ничего с этим сделать.
Что с этим можно было сделать:
1) Самый лучший вариант аппаратный, сменить комплектующие на качественные, возможно схему.
2) Исправить прошивку MCU, что бы чутка попозже высылал сигнал на старт Андроида.
3) Исправить ядро Андроида, что бы система в другом порядке грузилась и инициализация USB устройств начиналась попозже.
Ввиду того что решения по всем 3 пунктам, ведут к нашим друзьям из поднебесной, а они «морозятся» не меньше хаба, искались попытки решения этой проблемы на «костылях»,  из цепей питания хаба исключили ключ питания, поставив перемычку, это дало 400 микросекунд экономии времени на запуск хаба, но спасало только при полной загрузке ГУ, при пробуждении эффекта не было.
Поэтому начал искать программный «костыль» для исправления глюка. Из чего родился скрипт перезапуска хаба.
Опишу скрипт, который надо запустить после запуска системы.

su sh -c ‘echo «0» > /sys/bus/usb/devices/1-1/authorized’

Строка виртуально «вытаскивает» устройство «1-1» из «виртуального» разъема USB, которое является нашим хабом, если у Вас это не так, то необходимо эти цифры поменять, номер посмотреть можно с помощью USB Host Controller вытащив все устройства из всех разъемов USB

su sh -c ‘echo «1» > /sys/bus/usb/devices/1-1/authorized’

Эта строчка «виртуально» втыкает хаб «1-1» обратно.
У кого отваливаются только флешки (как я понял это владельцы Dasaita), на этом скрипт можно закончить.

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

sleep 1

ждем 1 секунду, нужно, что бы WiFi-модуль успел инициализироваться в системе, иначе «передергивание WiFi» помогает в половине случаев.

su sh -c ‘svc wifi disable’

отключаем службу WiFi

su sh -c ‘svc wifi enable’

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

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

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

Иногда требуется замена непосредственно самого модуля WiFi, Bluetooth GPS или других деталей. Нашим инженерам необходимо тщательно проверять что является причиной и устранять неисправность. Доверьтесь лучше специалистам, кроме решения на компонентном уровне как показывает практика требуются программные доработки и они должны быть совместимые с производителем. Так как производителей более десятка производящих ГУ на одной и той же платформе Allwinner например или PX5, PX3 причем компонентная база используется разная. Поэтому во избежание лишних проблем обращайтесь непосредственно к нам и нашим инженерам, уже имеющим большой опыт работы с различными устройствами мультимедийной автомобильной электроники.

У нас вполне демократичные цены. На примере данного устройства клиент оплатил 1500 руб за новые более качественные компоненты и работа по их замене 1400 руб. Итого 2900 руб больше проблем ни с WiFi ни другими модулями у клиента не возникает, все сделали надежно.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *