Upload mode watchdog reset что это
Upload mode watchdog reset что это
Утилита, которая ставит официальные драйвера ADB от Google и устанавливает бинарники adb/fastboot в System32 (Очень полезно для прямой работы) adb-setup-1.4.2.exe ( 9.18 МБ )
CM11 01.01.15
Carbon ROM 03.01.15 (Внимание, тестовая сборка, есть баги)
PACMAN ROM [Собран из исходников,не кривой порт :thank_you: ]
MIUIv5 KK (Не работает RIL)
CWM 6.0.5.1 с тач управлением recovery.img ( 10.34 МБ )
TWRP 2.8.1.0 image-new.img ( 10.06 МБ )
Новая сборка CM11.
— исправлена камера, теперь полностью рабочая
— исправлен встроенный SIP-клиент
— обновления самого CM
Это была проба пера, никакие кроме изменений самого CM.
wmaster, да на самом деле я так же думаю, просто краски сгустил для достоверности. Но в любом случае кастомов здесь будет куда больше.
А ещё, какой вопрос у опроса-то? По смыслу, конечно, понятно, но… ответы без вопроса странно выглядят.
это функция была в лаунчере, вы понимаете вообще как устроен android? Ставьте Apex Launcher и настраивайте себе как угодно
Upload mode watchdog reset что это
Кирпич восстанавливается в СЦ или вышеописанным способом, процедура стоит от 1000 руб, делается уже во многих сервис-центрах, смотрите по ветке поиском фразы «Восстановление кирпичей», которая должна быть в конце сообщения. Есть контакты и рекомендации различных СЦ и специалистов.
lndeo,
На XDA народ вовсю кричит о том, что новые партии Самсунгов (как будто) не поддерживают 3 кнопочный метод. Суть в том, что поменяли загрузчик. Безопасного метода перешива загрузчика пока не описано, однако в новом загрузчике (похоже) изменили комбинацию (последовательность) клавиш.
Народ пишет, что работало с телом подключенным к питанию (PC).
Выключаешь
Вынимаешь батарейку
Зажимаешь громкость (вверх для recovery/вниз для download) и питание.
Как только появится I9000 белый текст жмешь среднюю кнопку.
Может, кто был в аналогичной ситуации? Есть решение проблемы?
По ходу дела, lndeo вопрос так и не решил.
ADB не вариант, так как в случае неудачи ты не сможешь восстановить тело. Не советую экспериментировать пока ещё тело у тебя в порядке. Нужно искать способ входить в режим прошивки на выключенном аппарате. Кстати таких аппаратов всё больше и больше. Канада, Австрия, Чехия, Англия, Россия и т.д.
Советую ждать и шиться пока на официал через Kies
Иначе они бы не стали анонсировать выход обновления которое исправит залоченые кнопки.
Исходя из этого, есть надежда что и нам будет доступно данное исправление в будущем. Обновление идёт через KIES, в стандартном режиме.
С нетерпением ждём-с.
Итак, рабочий метод восстановления трехкнопочного режима
Все перевел, собрал из разных мест, попробовал.
Внимание! эта процедура может «убить» телефон так, что придется сдавать на ремонт в СЦ. Да и они пока не особо знают что с ними делать. Вероятность не очень высока, но все же есть. Прочитайте внимательно несколько следующих страниц ДО выполнения этой процедуры.
4. Откорректируйте следующие ключи в этом каталоге:
«SoftwareRevision»=»I9000UGJG9/I9000BMCJG9/I9000UGJG9/I9000UGJG9»
«HIDSWVER»=»I9000UGJG9/I9000BMCJG9/I9000UGJG9/I9000UGJG9»
«DEVCONINFO»=» замените в строке Ваши данные на «I9000UGJG9/I9000BMCJG9/I9000UGJG9/I9000UGJG9»
«ProductCode»=»GT-I9000HKDBMC»
«Model Name»=»GT-I9000M»
5. Выйдите на уровень наверх (HKEY_CURRENT_USER\Software\Samsung\Kies) и замените
«Region»=»CA»
6. Затем откройте обновить микропрограмму в Киес.
Совет: если Kies запускается долго, и вы не хотите ждать, тогда (выйдя из киес) вместо шага 1 из инструкции:
-Запустите только аплет обновления C:\Program Files\Samsung\Kies\MSC.Thunder.FirmwareUpdate.exe
-Подключите телефон в режиме Kies
Вот как все должно выглядеть (Ключ Region туда попал по ошибке, его там быть не должно)
команда | Описание | Пример |
---|---|---|
help | Краткая справка по командам | help |
LED1 | Управление светодиодом, по умолчанию выключен | LED1 ON LED1 OFF |
RELAY | Управление реле, по умолчанию включено | RELAY ON RELAY OFF |
KEY1 | Имитация нажатия кнопки 1, по умолчанию не нажата | KEY1 ON KEY1 OFF |
KEY2 | Имитация нажатия кнопки 2, по умолчанию не нажата | KEY2 ON KEY2 OFF |
C1 | Управление таймером 1, связанным с кнопкой 1. Установка времени в секундах, максимальное значение 32767. Для отключения функции таймера, необходимо задать время равное 0. | C1 RES C1 SET 60 C1 SET 0 |
C2 | Управление таймером 2, связанным с кнопкой 2. Установка времени в секундах, максимальное значение 32767. Для отключения функции таймера, необходимо задать время равное 0. | C2 RES C2 SET 60 C2 SET 0 |
USB | Управление питанием USB, по умолчанию включено | USB ON USB OFF |
В случае удачного выполнения команды возвращает «OK».
В случае некорректных данных возвращает «ERROR».
Признаком конца строки служит символ возврата каретки «\r». Также поддерживается режим «\r\n».
Устройство выполнено на базе контроллера STM32F103CA с аппаратной поддержкой USB. Библиотека работы с USB версии V4.0.0. Напряжение работы 3.3В получаем с помощью линейного стабилизатора из 5В на USB. Во всех управляющих цепях используются транзисторы в ключевом режиме. Также не забываем про защитный диод от токов самоиндукции в катушки реле (в моем случае он оказался встроенным).
Arduino watchdog или автоматический RESET в случае зависания
Речь пойдет о том, как держать Arduino всегда в работоспособном состоянии. Механизм watchdog встроен в контроллеры Atmega, но, к сожалению, не всякий загрузчик (bootloader) Arduino правильно обрабатывает эту функцию. Попробуем разобраться с этой проблемой.
Итак, что такое watchdog? Простыми словами — это встроенный таймер на определенное время (до 8 сек в зависимости от чипа), который можно запустить программно. Как только таймер «дотикает» до нуля, контроллер подает правильный сигнал сброса (RESET) и всё устройство уходит в hard перезагрузку. Самое главное, что этот таймер можно сбрасывать в начальное состояние также программным способом.
Функции Watchdog
Чтобы использовать функции Watchdog нужно подключить к проекту стандартную библиотеку:
Теперь нам доступны следующие три функции:
1. Запуск таймера watchdog:
Таймер будет считать ровно столько, сколько указано в константе. По истечении этого времени произойдет перезагрузка.
2. Сброс таймера watchdog:
Думаю, понятно для чего нужна эта функция — пока вы вызываете ее, контроллер не сбросится. Как только система зависнет и эта функция вызываться перестанет, то по истечении заданного периода произойдет перезагрузка.
3. Отключение watchdog:
Отключение таймера watchdog.
Собственно, на этом можно было бы и закончить наше повествование о watchdog… но дело в том, что все это работает только в Arduino Uno, а на Arduino Mega, Mini и Nano все это работает ровно наоборот, т.е. не работает совсем 🙂
Почему watchdog не работает на большинстве современных плат Arduino
Дело в том, что после перезагрузки, которая была вызвана watchdog, контроллеры последних выпусков оставляют включенным watchdog на минимальный период, т.е. 15ms. Это нужно для того, чтобы программа как-то узнавала, что предыдущая перезагрузка была по watchdog. Поэтому первоочередная задача загрузчика (или вашей программы, если она запускается первой) — сохранить информацию о том, что перезагрузка была «неожиданной» и сразу же выключить watchdog. Если этого не сделать, то система уйдет в bootloop, т.е. будет вечно перегружаться.
Как известно, в Arduino есть специальный загрузчик, который выполняется в первую очередь после перезагрузки системы. И, к огромному сожалению, стандартный загрузчик не сбрасывает watchdog! Таким образом, система заходит в жестокий bootloop (состояние «crazy led», при котором светодиод на 13-м пине мигает как сумасшедший).
Пути решения проблемы
Если посмотреть на исходники стандартного загрузчика (они есть в поставке платформы), то код отключения watchdog есть (!), но этот код вынесен под условную компиляцию и, по всей видимости, стандартный загрузчик скомпилирован без поддержки watchdog. По крайней мере в пакете платформы версии 1.5.2 (последней на момент написание статьи) дело обстоит именно так.
Для решения проблемы я даже прочитал man-ы самой платформы (:) и вроде бы там описана эта проблема и даже приведен код, который должен сделать всех счастливыми:
Здесь описывается функция get_mcusr(), которая должна вызываться сразу после сброса. Это достигается макросом «__attribute__((section(«.init3″)))». Я пробовал прописывать эту функцию во все секции, которые только возможно — да, она действительно запускается до функции setup() из скетча, но, к сожалению, гораздо позже 15ms (минимальная константа watchdog) после сброса…
Короче говоря, как я ни рыл интернет в поисках легкого решения проблемы, так ничего найдено не было. Я нашел только один способ заставить watchdog работать — перепрошить загрузчик… чем мы сейчас и займемся.
Проверка работоспособности watchdog
Прежде чем что-то прошивать, нужно проверить — вдруг ваша Arduino поддерживает watchdog. Для этого я написал небольшой скетч для теста. Просто залейте его, откройте монитор порта и смотрите, что будет происходить.
После перезагрузки (или подключения монитора к порту) встроенный светодиод мигнет, сигнализируя о том, что запустился загрузчик. Далее в секции setup происходит включение watchdog с таймером на 8 сек. После этого светодиод отсчитает нам это время и должна произойти перезагрузка.
Далее начинается самое интересное — если перезагрузка произошла и все повторяется в такой же последовательности, то вы имеете на руках Arduino, в которой загрузчик правильно обрабатывает watchdog. Если же после перезагрузки светодиод на 13-м пине начинает бесконечно мигать, то значит загрузчик не поддерживает watchdog. Здесь даже кнопка сброса не поможет. Для последующей прошивки нужно плату отключать от питания и после включения успеть прошить до первой перезагрузки.
Я протестировал 4 вида плат и только загрузчик в Arduino Uno сработал так как надо:
Watchdog не поддерживается загрузчиком: | Watchdog поддерживается загрузчиком: |
Как легче всего прошить новый загрузчик?
Прошивать загрузчик в Arduino можно с помощью отдельных программаторов, а можно собрать свой программатор с помощью той же самой Arduino. Т.е. любую плату Arduino можно превратить в программатор, залив туда специальный скетч.
Я не буду в этой статье описывать все премудрости создания программатора на основе Arduino, т.к. эта тема довольно подробно описана в интернете. В качестве программатора я использовал Arduino Uno. Как известно, прошивка производится через отдельный разъем ICSP, который есть почти на всех платах. В случае прошивки Arduino Pro Mini, у которого нет IСSP, подключение производится непосредственно к выводам.
Где взять загрузчик, который поддерживает watchdog?
Эта глава напоминает танцы с бубном и скорее всего можно сделать все как-то проще, но, увы, у меня по-другому не получилось.
Рекомендуется использовать загрузчики из пакета optiboot. В принципе, эти загрузчики идут в инсталляции самой платформы Arduino, но лучше скачать и установить последнюю версию optiboot отсюда. Установка заключается в двух шагах (возможно, это можно сделать как-то по-другому):
Далее перегружается среда разработки и в меню Сервис/Плата можно наблюдать новые платы с пометкой [optiboot]. К сожалению, при выборе этих плат происходят какие-то непонятные ошибки компиляции и появляются всякие другие странности… поэтому делаем еще проще. Открываем в любом текстовом редакторе файл C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt и меняем следующие строчки:
Для Arduino Nano:
menu.cpu.nano.atmega328.bootloader.file=optiboot/optiboot_atmega328.hex
Для Arduino Mini:
menu.cpu.mini.atmega328.bootloader.file=optiboot/optiboot_atmega328.hex
Следующая проблема в том, что загрузчика optiboot для платы Arduino Mega не существует в природе, т.к. в Mega больше памяти и используется другой протокол. Поэтому мы используем стандартный, но модифицированный загрузчик, который качаем отсюда. Файл переименовываем в stk500boot_v2_mega2560_2.hex и записываем в папку C:\Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\stk500v2.
Далее меняем в уже знакомом файле boards.txt следующую строчку:
mega2560.bootloader.file=stk500v2/stk500boot_v2_mega2560_2.hex
Не пугайтесь, что файл модифицированной прошивки для Mega в 2 раза меньше стандартного — так вроде бы должно быть.
Процесс прошивки
После всех изменений можно прошивать загрузчики, выбирая в меню плат обычные платы (не [optiboot]!). В этом случае прошиваться будут именно те файлы hex, которые мы указали в файле board.txt.
Процесс прошивки может не стартовать и выдаваться ошибка:
Для решения этой проблемы откройте скетч программатора и в секции setup выберите другую скорость последовательного порта.
Во время заливки в Arduino Mega может появляться ошибка, которую следует игнорировать:
Заключительные манипуляции
Загрузчики optiboot имеют еще одну особенность — они увеличивают скорость загрузки скетчей, поэтому при использовании плат с optiboot нужно внести соответствующие изменения в boards.txt:
Для Arduino Nano:
menu.cpu.nano.atmega328.upload.speed=115200
Для Arduino Mini:
menu.cpu.mini.atmega328.upload.speed=115200
Предыдущую скорость порта лучше тоже запомнить, т.к. ее нужно будет использовать на платах со стандартными загрузчиками. Если такие изменения не сделать, то процессе заливки скетчей будет выдаваться ошибка, типа такой:
Вачдоги
SimpleRigResetter SRRv2 Вачдог
Изначально к нему подключается виндовый клиент, настраивается таймаут срабатывания. На ригах надо создать файл: /hive-config/watchdog_srrv2.txt
После ребута рига нужно выключить виндовый клиент (в интерфейсе есть отключение), иначе он вместе с ригом будет отправлять «пинги».
Китайские вачдоги
На рынке есть много китайских вачдогов. Вы можете найти их на Aliexpress или Ebay. Они могут быть разных форм, но в их основе лежит один и тот же чип.
Чтобы проверить сброс, вы можете запустить следующую команду после подключения к системе: hive/opt/qinheng/hl340 reset
Запустите эту команду, чтобы проверить ID устройства: lsusb
Список поддерживаемых чипов:
OpenDev Вачдог
Вы можете проверить, обнаружен ли он, с помощью следующей команды:
Oct 28 23:37:55 worker hive[861]: > Detecting watchdogs
Oct 28 23:37:55 worker hive[861]: Watchdogs InUa found: 0
Oct 28 23:37:55 worker hive[861]: Watchdogs OpenDev found: 1
Как протестировать работу вачдога:
Pro версия также поддерживает эту команду. Вы должны увидеть, как мигает светодиод. Если мигает — всё в порядке!
- усилитель сигнала для тв антенны какой выбрать
- Анапа что посмотреть в окрестностях на своем автомобиле с детьми