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

Алексей.

Members
  • Content count

    38
  • Joined

  • Last visited

  • Days Won

    18

Community Reputation

4 Neutral

About Алексей.

  • Rank
    Member
  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. как команда LEDE выпустила релиз OpenWrt 18.06? (первый стабильный после слияния OpenWrt/LEDE) А что так навали? После LEDE 17.01 назвали бы LEDE 18.06
  13. Вы ничего не делали, а пакет сам вдруг появился? Напоминает “Восстание машин” Решил не терять время на долгую сборку, просто повторяю опыт по конфигурации клонирую реп 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…), которые делают модули на том же медиатеке, тоже должны попасть в “родные”?
  14. Когда меняем роутер (подключаемся то к одному то к другому), каждый раз скрипт править будем для другого 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
  15. Если бутлоадер жив, то и доставать не требуется. Убить его можно по неосторожности, но тогда можно сдуть крышку (на первых омегах и крышки то небыло), клипсой зацепиться за флеш и считать. Я на skw92 модулях так и делал