• Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal

Алексей.

Members
  • Content count

    38
  • Joined

  • Last visited

  • Days Won

    18

Everything posted by Алексей.

  1. Небольшое дополнение. Если вы предполагаете собрать образ прошивки из исходников зафиксированного релиза на "чистой" версии ОС и при обновлении самой ОС больше не планируете заниматься сборкой, иными словами, собрали на последней версии ОС и при апгрейде ОС не планируете собирать или не планируете апгрейдить ОС, то дальше можно не читать. Статей по сборке опенврт в сети много и я собирал различные релизы, но при апгрейде ОС столкнулся с неприятной проблемой. Собирая для омеги прошивку версии v0.2.2 из репов ониона (как они утверждают это форк openwrt-18.06), на убунте 16.04 проблем небыло. При сборке на убунте 18.04 тулчейны не захотели собираться, f2fsprogs отказывался собираться на этой версии ядра, пичалька... Откатываться на 18.04 не вариант, ставить виртуалку только для сборки не хотелось, поэтому решил собирать в докере, построил контейнер с ubuntu:16.04 и проблемы разрешились. Кроме этого, выполняя сборку в изолированном окружении получаем гарантированный результат, не зависящий от хостовой ОС.
  2. Порядок действий очевидный ;))) Добавляем в /etc/uci-defaults/ то что нужно выполнить при первом старте как описано тут. В нашем случае это скрипт устанавливающий в /etc/config/wireless разрешение на включение wifi и ssid. Директория в которой собираю прошивку у меня в домашней директории ~/openwrt будем плясать от неё. Создадим файл ~/openwrt/package/base-files/files/etc/uci-defaults/99_wifi_on с содержимым #!/bin/sh m1=$(cat /sys/class/net/wlan0/address | awk -F':' '{ print $5 }' | awk '{print toupper($0)}') m2=$(cat /sys/class/net/wlan0/address | awk -F':' '{ print $6 }' | awk '{print toupper($0)}') uci -q batch <<-EOF > /dev/null set wireless.@wifi-iface[0].ssid='OpenWrt-$m1$m2' set wireless.@wifi-device[0].disabled=0 commit wireless EOF exit 0 в котором собственно три строчки кода, если используете текстовый редактор, обратите внимание на разделитель строк, допустимый '\n', для '\r\n' не проверял. Выполним сборку, образ прошивки получился в ~/openwrt/bin/targets/ramips/mt76x8/openwrt-ramips-mt76x8-omega2-squashfs-sysupgrade.bin, копируем его на омегу в /tmp/sysupgrade.bin alex@lenovo-e480:~$ scp ~/openwrt/bin/targets/ramips/mt76x8/openwrt-ramips-mt76x8-omega2-squashfs-sysupgrade.bin root@192.168.3.1:/tmp/sysupgrade.bin openwrt-ramips-mt76x8-omega2-squashfs-sysupgrade.bin 100% 3840KB 1.2MB/s 00:03 Ну и говорим омеге удали конфиги и выполни обновление alex@lenovo-e480:~$ ssh root@192.168.3.1 'rm /etc/config/*; sysupgrade /tmp/sysupgrade.bin' Saving config files... Collected errors: * file_sha256sum_alloc: Failed to open file /etc/config/dhcp: No such file or directory. * file_sha256sum_alloc: Failed to open file /etc/config/dropbear: No such file or directory. * file_sha256sum_alloc: Failed to open file /etc/config/firewall: No such file or directory. * file_sha256sum_alloc: Failed to open file /etc/config/mosquitto: No such file or directory. * file_sha256sum_alloc: Failed to open file /etc/config/mountd: No such file or directory. * file_sha256sum_alloc: Failed to open file /etc/config/rpcd: No such file or directory. * file_sha256sum_alloc: Failed to open file /etc/config/uhttpd: No such file or directory. killall: watchdog: no process killed Sending TERM to remaining processes ... netifd odhcpd uhttpd onion-helper dnsmasq avahi-daemon mosquitto ntpd shellinaboxd ubusd askfirst logd rpcd mountd Sending KILL to remaining processes ... askfirst Switching to ramdisk... Performing system upgrade... mount: mounting /dev/mtdblock6 on /overlay failed: Resource busy Unlocking firmware ... Writing from <stdin> to firmware ... [e Appending jffs2 data from /tmp/sysupgrade.tgz to firmware.. Upgrade completed Rebooting system... umount: can't unmount /dev: Resource busy ^Calex@lenovo-e480:~$ ^C обновление выполнено и модуль пошел на перезагрузку, wifi выключился, сдувшуюся ssh сессию я прервал по '^c'. Секунд через 30-50 в wifi сети увидел свою омегу.
  3. OpenWrt из соображений безопасности оставляет выключенный wifi в собранном образе прошивки, для использования в роутерах или каких либо устройствах, у которых есть возможность подключиться по ethernet или uart0 это нормальное решение. Моя омега установлена в повердок2 к которого уарт0 не выведен, а микроюсб используется только для питания и заряда лития, т.о. превратил я обновлением с выключенным wifi омегу в тыкву, лампочкой мигает, а вайвая не дает. Пальцами прижимая провода юсб-ттл адаптера, включил wifi. Обновил обратно на онионовскую прошивку. Как ни странно wifi у ней включен. Добавил включение wifi в сборку OpenWrt, собрал, загрузил на омегу, сначала на омеге удалил конфиги, потому как мердж после обновления может быть немножко плохим, затем выполнил обновление, как и ожидал, wifi появился. Если нет возможности откачать омегу (нет возможности подключься к uart0), может всё же проигнорировать безопасность и собирать со включенным wifi, как это делает онион?
  4. Для работы с сокетами действительно есть определенные сложности по сравнению с привычным линуксом. Для решения я использовал кросс-платформенную библиотеку POCO (код работает на линуксах виндовсах и как оказалось на опенврт). Если собиретесь использовать, добавьте её в депенденси. В си-шном проекте использую библиотеку stdcpp (без неё никак), для доступа к конфигам библиотека uci, для сокетов, http серверов/клиентов, логирования и много чего ещё библиотека poco. define Package/my-project SECTION:=utils CATEGORY:=Utilities DEPENDS:=+libstdcpp +poco +libuci TITLE:=This is my project endef
  5. К сожалению интегрированный 5-ти портовый ethernet свтич (коммутатор) оказался не включен Switch "switch0" has an unknown topology - the VLAN settings might not be accurate. как переключаться с lan на wan теперь не понятно
  6. Чтож вы так воспринимаете вопросы как тролинг... Я стараюсь придерживаться простых правил: - Я задаю вопросы - Я отвечаю на вопросы - Я даю комментарии по существу Правда не всегда получается но я стараюсь. Иначе тема превращается в откровенный срач.
  7. Странно... когда в 2016-м был создан проект LEDE как форк OpenWrt и онион взял LEDE за основу для своего проекта, не думал что время допиливания сразу сбросилось. Модуль интересен для встраиваемых систем и всякие шелы, luci и прочий мусор типа веб-морды совсем не нужен. Не от хорошей жизни я использовал репы ониона, не получилось добиться стабильной работы модуля без использования онионовского wifi драйвера. Не понятно как это выпиливать, ведь в сборку включаются только необходимые пакеты и ничего больше, а получать и подавно ничего не требуется. Вот я и хотел узнать насколько стабильно работает омега на опенврт без проприетарного драйвера.
  8. До выхода версии 18.06, сборки опенврт для омеги работали не стабильно, приходилось использовать репы ониона, те что на гитхабе. Подскажите для чего собирать из репов опенврт а не из репов ониона? В чем преимущество?
  9. Один существенный минус - шаг межу выводами на модуле 2мм, война стандартов блин, империал со своими 2.54 фактически монополист, хочется наедятся что наш метрик после появления таких модулей всё же оживет
  10. На Crowd Supply цена на модуль невероятно высока, Total Cost $49 (includes US shipping), для шипинга в Россию цены нет, но этого достаточно чтоб представить порядок цен на модули ониона. Например оранж пи 3г-иот на двух ядерном медиатеке мт6572 (кортекс А7 1.2ГГц и Мали-400 500МГц) с е-ммс модулем 512МБ/4ГБ озу/пзу и интегрированным wifi/bt/gps модулем и 3g/2g-модемом, стоит в полтора и более раза дешевле. Подарок от ониона за $49 с ресурсами существенно уступающими конкурентам, как то не очень привлекателен становится за такую цену.
  11. На каком чипе и какая цена? Из за высокой стоимости док станций, получается очень дорогое решение. Омега2 и повердок дороже одноплатника оранж-пи-3g-iot с интегрированным 3g модемом.
  12. Столкнулся с проблемой wifi модуля при сборки прошивки из исходников, собираем как рекомендует онион git clone https://github.com/OnionIoT/source.git omega2 cd omega2 Выполняем настройку make menuconfig Устанавливаем Target System, Subtarget, Target Profile и сохраняем изменения Target System (MediaTek Ralink MIPS) ---> Subtarget (MT7688 based boards) ---> Target Profile (Onion Omega2) ---> Target Images ---> Global build settings ---> [ ] Advanced configuration options (for developers) ---- [ ] Build the LEDE Image Builder [ ] Build the LEDE SDK [ ] Package the LEDE-based Toolchain [ ] Image configuration ---> Base system ---> Boot Loaders ---- Development ---> Firmware ---> Kernel modules ---> Languages ---> Libraries ---> Network ---> Utilities ---> Собираем прошивку, после сборки wifi почему то не заработал, вялый он какой то оказался, сначала вроде работает, а через несколько секунд тухнет. Видимо нужен драйвер онионовский, но в конфигурации немножко нехватает онионовских меню. Обновляем индексы у фидов ./scripts/feeds update -a Устанавливаем пакет wifi-warp-core ./scripts/feeds install wifi-warp-core Вторая попытка выполнить настойку make menuconfig Target System (MediaTek Ralink MIPS) Subtarget (MT7688 based boards) ---> Target Profile (Onion Omega2) ---> Target Images ---> Global build settings ---> [ ] Advanced configuration options (for developers) ---- [ ] Build the LEDE Image Builder [ ] Build the LEDE SDK [ ] Package the LEDE-based Toolchain [ ] Image configuration ---> Base system ---> Boot Loaders ---- Development ---> Firmware ---> Kernel modules ---> Languages ---> Libraries ---> Network ---> Onion ---> Utilities ---> появился элемент 'Onion --->' выбираем его, а там 'WiFi ----', уупс, настройка недоступна, что то пошло не так. Начнем сначала, откатим локальные изменения git checkout .Третья попытка выполнить настройку оказалась удачной make menuconfig Onion ---> WiFi ---> <*> wifi-warp-core................ Onion's Enhanced Omega2 MT7688 WiFi Driver первая сборка, в которой большую часть времени собираются тулчейны, выполняется не быстро (у меня получилось за 93 минуты) на холодном Intel(R) Core(TM) i3-4010U CPU @ 1.70GHz time make -j4 V=S real 92m31.994s user 265m57.467s sys 35m53.870s
  13. как команда LEDE выпустила релиз OpenWrt 18.06? (первый стабильный после слияния OpenWrt/LEDE) А что так навали? После LEDE 17.01 назвали бы LEDE 18.06
  14. Вы ничего не делали, а пакет сам вдруг появился? Напоминает “Восстание машин” Решил не терять время на долгую сборку, просто повторяю опыт по конфигурации клонирую реп git clone https://github.com/OnionIoT/source.git omega2 захожу в директорию cd omega2 сразу обновляю индексы у фидов ./scripts/feeds update -a устанавливаю пакет wifi-warp-core ./scripts/feeds install wifi-warp-core зная, что пакет wifi-warp-core не виден в make menuconfig откатываю локальные изменения сначала смотрю статус git status On branch lede-17.01 Your branch is up-to-date with 'origin/lede-17.01'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: .config no changes added to commit (use "git add" and/or "git commit -a") да, действительно, есть изменения, откатываю их git checkout . ещё раз смотрю статус git status On branch lede-17.01 Your branch is up-to-date with 'origin/lede-17.01'. nothing to commit, working directory clean выполняю make menuconfig и вижу пакет Onion->WiFi-><*> wifi-warp-core Что означает для Омеги слово "родным бинарником" с проекта OpenWrt? Производитель Онион и репы для омеги тоже онионовские есть, или идет речь о другой омеге? Почему у вас вызывает удивление отсутствие проприетарных пакетов ониона в опенсорсной сборке? И для чего этот пакет (wifi-warp-core) там нужен, если он работает с драйверами ониона? Если так рассуждать то и пакеты других производителей (skylab, widora, hi-link…), которые делают модули на том же медиатеке, тоже должны попасть в “родные”?
  15. Когда меняем роутер (подключаемся то к одному то к другому), каждый раз скрипт править будем для другого ip адреса? не кошерно как то получается . Если роутер работает дефалтовым шлюзом, может просто пинговать как раз его? сначала получим адрес шлюза, а потом пинганем #!/bin/sh default_gateway=$(ip route show | grep 'default' | awk '{print $3}') if [ -z "$default_gateway" ]; then echo "default gateway is not found" else ping -c 1 $default_gateway fi
  16. Если бутлоадер жив, то и доставать не требуется. Убить его можно по неосторожности, но тогда можно сдуть крышку (на первых омегах и крышки то небыло), клипсой зацепиться за флеш и считать. Я на skw92 модулях так и делал
  17. Собственно вопрос, где хранить данные которые меняются? Для хранения статических конфигурационных параметров, которые меняются только в процессе настройки, оверлей самое подходящее место, но в процессе эксплуатации раз в сутки необходимо сохранять некие данные. Поскольку ресурс spi flash по количеству циклов записи ограничен, решил вынести хранение этих данных на отдельном разделе. Если отдельный раздел из за постоянных записей (в течении N-лет) будет "затерт до дыр" то раздел с firmware по прежнему останется живым. Вот и думаю стоит оно того или нет. Может оставить всё на оверлее? Хочу услышать мнение.
  18. Вопрос не чем пользоваться (базами, файлами и и.п.), а на каком разделе устройства, имеет ли смысл выносить данные на отдельный раздел или нет? Установка дополнительного внешнего накопителя sd-карта usb-флеш, существенно увеличивают стоимость изделия, что не приемлемо. При наличии доступа в сеть, данные и так синхронизируются, но есть обязательное требование - хранить данные N-дней
  19. Вы его сами включили и собрали? или пользуетесь кодом собранным кем то? Если собранным кем то, может спросить у них? Проблемы бывают разные, пример: В роутер воткнут usb 3g свисток, связь с роутером есть, и роутер считает что у него есть доступ в и-нет, только ни чего не работает, ни адреса не разрешаются ни ip соединения не устанавливаются до тех пор пока роутеру ни скажешь перелогинится по 3g, никакой тут нетворкменеджер или впа-саппликант не спасает.
  20. wpa-supplicant не включен в сборку омеги по умолчаению, чего не понятного?
  21. Посмотрите что включено по умолчанию для сборки омеги в секции Network < > wpa-cli...................... WPA Supplicant command line control utility < > wpa-supplicant............................................ WPA Supplicant О каком wpa_supplicant идет речь? wpa-supplicant просто не включен, и кто теперь должен следить?
  22. Реализацию wpa_supplicant нашел только в пакете hostapd, но какое это имеет отношение к режиму STA не понятно.
  23. Да очень полезная программа wifimanager , только совсем не понятно почему в режиме STA (клиента) без режима AP (точка доступа) не работает. Только работает AP+STA Если wpa_supplicant присутствует в системе - значит работает так как решили разработчики.
  24. что это такое??? вы уверены что кто то должен следить и т.п.?
  25. Ну и в чем проблема? Поймали строчку и перегружайте нетворк или вифи.