5 заметок с тегом

прошивка

Неудачное начало дня

На неделе договорились с товарищем, что я проведу техническое обслуживание в одной из аптек. Заодно я решил, что он будет первым кто протестируем мою новую систему заявок на техподдержку. Итак, он оставил там заявку, я получил уведомление, все нормально. Ехать я должен был в субботу утром.
Утро субботы началось как обычно. Телефон меня уведомил о наличии новой прошивки и предложил обновить ее. Ничуть не сомневаясь, как обычно, согласился. Все предыдущие обновления проходили без эксцессов. Но это был не тот случай... После обновления прошивки и перезагрузки телефон выдал сообщение «Приложение system не отвечает» и предложили либо закрыть его, либо подождать. Ни одна из кнопок на нажатия не реагировала. Перезагружаю телефон, жду. После загрузки он снова перезагрузился, что вызвало у меня некоторые подозрения. В итоге, после десятка перезагрузок он либо выдавал вышеуказанное сообщение, либо перезагружался, либо вообще не реагировал на любые действия. Потихоньку я начинал понимать, что придется делать сброс настроек, но очень не хотелось... Но выхода не было. Надеясь на то, что после сброса работа телефона восстановится, загрузился в recovery (поди еще разберись в китайских надписях!) и сбросил телефон до заводского состояния. После сброса пришлось, конечно, заново устанавливать все необходимые программы.
Потеряв на всех этих манипуляциях почти час времени, с опозданием поехал в аптеку — работать все равно надо. Проведя там полдня, в перерывах восстановил работу мессенджеров — благо, что их было всего трое. Контакты восстановились из резервной копии Google. А вот бэкап Xiaomi меня ничуть не порадовал — последний созданный бэкап датировался летом прошлого года. Спрашивается зачем я настраивал синхронизацию? Но чуть позже оказалось, что все смс-ки, фотографии и т. д. снова очутились у меня на телефоне. СМС-сообщения были самым, наверное, важным среди всего этого. Это меня порадовало, ибо были контакты еще не внесенные в адресную книгу, но которые можно было извлечь из смс-ок.
В итоге, настройку телефона закончил только сегодня. Самым утомительным оказалось организовать ярлыки на рабочем столе по папкам.

4 марта   настройка   обновление   прошивка   сбой   сброс   телефон

Проект LEDE

Проект LEDE появился на замену популярной прошивки для роутеров OpenWrt. В последней, из-за внутренних проблем, обновления и новые пакеты стали появляться все реже. LEDE взялся устранить все проблемы, существующие в нынешней прошивке OpenWrt и периодически выпускать новые релизы.
На сам проект я наткнулся достаточно недавно, два или три месяца назад. Почитал первую страницу сайта, заинтересовался, но, так как дел было невпроворот, отложил на будущее. Вчера, перебирая закладки браузера, наткнулся на него и решил все-таки посмотреть более внимательно.
LEDE является ответвлением OpenWrt и полностью с ним совместим. Вы можете устанавливать те же самые пакеты, что и в OpenWrt. Более того, даже сам сайт проекта LEDE выглядит точно так же, как и у OpenWrt. Связано это с тем, что сейчас идет интеграция старого сайта в новый.

Стартовая страница сайта LEDE
Стартовая страница сайта LEDE

На сайте также можно найти информацию о том, что в течение этого года планируется полное слияние обеих проектов.
Первое, что я сделал — посмотрел текущую стабильную версию прошивки. Как ни странно, но разработчики «перешагнули» через 16 версию и создали сразу 17-ю. Последняя стабильная прошивка для моего роутера оказалась 17.01.4. Ее я и скачал. Дальше все, как обычно, просто. Заходим на страницу System — Backup / Flash Firmware роутера, указываем на файл с новой прошивкой в разделе Flash new firmware image, оставив галочку Keep settings отмеченной, чтобы не терять сделанные настройки, и запускаем процесс обновления.
Сразу хочу сказать, что тема оформления Bootstrap мне почему-то никогда не нравилась, я постоянно выбирал старую OpenWrt. Хотя к самому фреймворку я отношусь более, чем положительно. Но старая тема после перепрошивки не заработала, поэтому следующим моим шагом был поиск темы, отличной от Bootstrap. На мое удивление в списке доступных увидел тему Material. Ее и установил. Тема оказалась удобной, красивой, но чуть недоработанной и, на мой взгляд, чуть громоздкой — роутер чуть медленней переключался между страницами.

Страница входа в систему
Страница входа в систему
Страница статуса системы
Страница статуса системы
Скрипты, выполняемые при загрузке
Скрипты, выполняемые при загрузке

Памятуя о качестве перевода с английского на русский язык в предыдущей прошивке, я не торопился переключаться на русский язык, меня вполне устраивал и английский. Позже я все-таки решил установить языковой пакет. Оказалось, что устанавливать их нужно не один, как раньше, а как минимум два — для «стандартных» страниц и для настроек firewall. При этом при установке этих пакетов я получил ошибку «uci: Parse error (too many arguments) at line 123, byte 34», но решил не обращать на нее внимание, потому что пакеты установились без ошибок.
Одновременно просматривая сайт проекта наткнулся на интересный «фокус», который заключается в том, что после авторизации на роутере по SSH, в консоли выводится количество установленных пакетов и количество доступных для обновления. Это освобождает от необходимости вручную проверять наличие обновлений, так почему бы этим не вспользоваться? Для этого нужно записать всего несколько строчек в файл ~/.profile

#!/bin/sh
opkgInstalled="$(opkg list-installed 2> /dev/null | wc -l)" #silencing error output
opkgUpgradable="$(opkg list-upgradable 2> /dev/null | wc -l)" #silencing error output
echo "$opkgInstalled packages are installed." && echo "$opkgUpgradable packages can be upgraded." && echo

И, как говорится, раз уж «пошла такая пьянка», то почему бы не сделать похожий скрипт, который устанавливал бы все обновления сразу? Мне никогда не нравился вариант сначала получить список доступных для обновления пакетов, затем копировать их имена в команду обновления. На сайт проекта также есть решение этого вопроса, но мне оно не понравилось. Более того, оно просто некорректно работает. Поэтому предлагаю свой вариант:

#!/bin/sh
/bin/opkg update
/bin/opkg upgrade $(opkg list-upgradable | awk '{print $1}')

Но я отвлекся. Еще одним новшеством, которое мне понравилось в данной прошивке — визуализация уровня сигнала WiFi

Уровень сигнала WiFi
Уровень сигнала WiFi

В какой-то момент изучения прошивки я сделал ошибку, пришлось сбрасывать настройки на заводские и заново перенастраивать роутер. И тут выявилось, что в этой прошивке таки заработал туннель от Henet. После внесения настроек я смог извне протестировать свой роутер на доступность по IPv6 и получил положительный результат.

Результаты тестирования IPv6
Результаты тестирования IPv6

На данном этапе мне эта прошивка нравится намного больше, чем версия 15.05.1 от OpenWrt. Возможно, что в процессе дальнейшей эксплуатации вылезут какие-то недочеты, ошибки, но будем надеяться, что их будут более-менее быстро исправлять.

14 февраля   dir-825   lede   openwrt   замена   проект   прошивка   роутер   форк

Подключение датчиков

Вчера купил пару bme280. Утром пришел на работу с большим желанием подключить его и посмотреть на показания. Достал из рюкзака пенал с паяльными принадлежностями... А он внутри залит спиртово-канифольным флюсом. Запах сильный, конечно. Пришлось потратить кучу времени на отмывание всего, что было в пенале. Как оказалось, лопнула крышка у банки с флюсом.
Дождавшись когда все просохнет, воткнул в макетку все датчики, которые у меня есть: am2302, am2320, DS18b20 и bme280. Затем отправился на сайт за прошивкой с поддержкой bme280. Эта функция оказалась платной, поэтому пришлось также заплатить за лицензию. Цена небольшая — всего 110 рублей, но есть привязка к устройству. Иными словами, вы не можете использовать одну лицензию для разных ESP8266. Ну да ладно, я пока не собираюсь массово их закупать.
Настроил все необходимые параметры в модуле и вернулся на главную страницу, где отображаются показания все датчиков. Показания меня несколько удивили. Так bme280 показывал температуру примерно на 1 градус выше, чем все остальные датчики. Влажность отличалась у всех трех: am2302, am2320 и bme280. И только температура через некоторое время стала примерно равной у всех. Так как давление у меня умеет измерять только один, пришлось сравнивать показания с ближайшими датчиками на сайте narodmon.
Итог:

am2320 am2302 bme280 ds18b20
Температура 27,6 27,5 28,6 27,6
Влажность 45,0% 43,2% 36,7%
Давление 743,30 mmHg

UPD. Уже ближе к вечеру наткнулся на датчик освещенности и углекислого газа. Последний, после коротких раздумий, решил не брать, а вот первый взял, не выдержал. Заодно приобрел пару коробочек для будущей метеостанции.
Остается решить только один теоретический вопрос. Для измерения некоторых вещей, таких как давление, влажность, освещенность, требуется создать в боксе отверстия. Но отверстия нужно создать так, чтобы в них не попадала вода, чтобы они не перекрывались льдом при наступлении зимы. Думаю, что нужно попробовать связаться с теми пользователями narodmon, которые уже сделали что-то подобное и выяснить у них этот вопрос.

2017   am2302   am2320   bme280   ds18b20   esp8266   датчик   подключение   показания   прошивка

Первый опыт с ESP8266

Не так давно приобрел ESP8266-07 с адаптером под «гребенку» с шагом 2,54 мм. Давно была мысль попробовать что она из себя представляет, а тут просто вспомнил и прикупил. Обошлось мне все это буквально в 275 рублей. Думаю, что это не та сумма, которую было бы жалко за опыт.
До экспериментов несколько дней руки не доходили, пока не утащил на работу Там, когда выдалось свободное время, занялся платой. Для подключения использовал беспаечную плату, кабели для подключения и адаптер USB-TTL. Для начала система, как обычно, скачала и поставила драйверы на адаптер, затем уже я начал собирать схему.
Без приключений не обошлось. Поначалу компьютер ни в какую не хотел «общаться» с ESP. Не считывал данные, не мог перепрошить, вообще ничего не мог с ней сделать. Плюсом к этому всему была «любовь» Windows к работе с COM-портами. Здесь я подразумеваю тот момент, что если ты не освободил порт (например, программа зависла и ее пришлось завершать принудительно) или сделал еще какие-то его настройки, «несовместимые» с Windows — тебя ждет перезагрузка системы. Сколько я этого «накушался», когда занимался торгово-кассовым оборудованием!!!
И вот, ура! Адаптер определился программой, можно считать параметры и так далее. Первое, что я сделал — перепрошивка. Особой надобности в этом не было (по крайней мере, пока что), просто хотелось получить опыт в этом направлении. С перепрошивкой пришлось помучиться. В итоге, программа залила на плату другую прошивку, но в самом конце выдала сообщение о невозможности выхода из режима прошивки. Пока пытался что-то сделать с платой, привести ее в рабочее состояние, сложилось впечатление, что я получил «кирпич». В тоже самое время не покидала мысль, что ЭТО невозможно убить. Заменил программу прошивки. Поначалу смутило множество настроек — память подсказывала, что почти все они критичны для прошивки. Поменял те, которые, на мой взгляд, было нужно и перепрошил. Получил рабочую плату, которая перезагружалась в самый неожиданный момент. Снова битва с прошивальщиком... В конце концов я получил вполне работоспособную плату, которая адекватно реагировала на команды и не перезагружалась в самый неподходящий момент. В итоге, причиной всех перезагрузок платы оказался плохой контакт питания. Но это я понял уже в самом конце экспериментов.
Завтра возьму с собой на работу датчики, попробую подключить к плате, прошив перед этим NodeMCU — там есть возможность использовать скрипты на lua. Посмотрим что из этого всего получится...

2017   esp8266   ttl   USB   первый опыт   прошивка   эксперимент

Восстановление DIR-300

Преамбула.
Вчера у генерального директора «отвалилось» видеонаблюдение за «Сибиряком». Поднялся, проверил — не видит программа видеорегистратор и все тут. На форуме нашел программу для Adnroid, установил себе на телефон. Через несколько минут смог подключиться к «Сибиряку» и смотреть видео с камер. Было принято решение поискать замену установленной на ноутбуке директора программе. Вернул сам ноутбук и пошел к себе копать интернет. По итогу все найденные программы либо не могли подключиться к регистратору, либо подключались, но раза с 10-го так и жутко тормозили. Чтобы найти причину, скопировал себе на флэшку эти программы и протестировал дома (канал шире, компьютер мощнее да и просто другой провайдер). Результат радости не принес — подключение также раза с 10, все тормозит. Сделал вывод, что проблемы на стороне «Сибиряка».
Продукцию фирмы D-Link знают, думаю, все — она славится нестабильностью своей работы, но это, в большинстве случаев, решается заменой прошивки на OpenWrt или DD-Wrt. Или еще какую-нибудь, но не от фирмы-разработчика устройства. На «Сибиряке» стоит именно D-Link DIR-300. В целом, аппарат неплохой, но... см выше.

Амбула.
Нашел у себя дома два устройства: DIR-300 и DAP-1360. Последний туда явно не годится, а вот в каком состоянии «трехсотый» — я уже не помнил. Взял с собой на работу, подключил и сразу вспомнил в чем с ним проблема: неудачная прошивка привела его в состояние «кирпича», подключиться к нему можно только в режиме Emergency room. Ну что делать, будет восстанавливать. Скачав с интернета несколько разных прошивок (фирменных и openwrt), попытался ему их скормить. Роутер отчаянно сопротивлялся: то говорил, что прошивка некорректна, то вроде бы «проглатывал» ее, но при этом просто гас индикатор подключения к порту и на этом все заканчивалось. Приходилось снова перезагружать его в Emergency room и пытаться скормить ему очередной образ. После полутора часов поисков, экспериментов и борьбы с упрямым роутером удалось найти фирменную прошивку, с которой он согласился принять. Но загрузка прошла только до 49%, после чего все Chrome потерял связь с роутером. Через некоторое время удалось отправить ему весь образ, на что роутер ответил предупреждением, что процесс прошивки начался и ни в коем случае нельзя выключать роутер. Хорошо, хорошо, уговорил.
После перезагрузки ожили индикаторы сети и WiFi. Слава богу! Итак, доступ к стандартному интерфейсу мы получили. Но я же упрямый, меня он не устраивает, я хочу OpenWrt! «Скормил» ему нужный образ и приготовился к ожиданию конца перепрошивки. Процесс завершился удачно, на роутер встала нужная мне прошивка. Дело осталось за малым: настроить ее под свои нужды. Но это уже такие мелочи... :-)