Сайт | Скачать | Видео | Wiki

Автор Тема: UpNet-0.3  (Прочитано 38691 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
UpNet-0.3
« : 30 Июль 2021, 21:09:53 »
 Пока маялся с глазами, переосмыслил работу trayNet. Теперь индикацией управляет простейший демон ( while true ) upNetd, который запускается из init.d. Сам же trayNet сделал самоубивающимся "if operstate != up  exit(0);" Тестирую потихоньку, пока без ppp (нет ни модемов, ни pppoe), только lan и wifi.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33966
  • Репутация: +231/-0
    • PuppyRus-A
Re: UpNet-0.3
« Ответ #1 : 31 Июль 2021, 09:25:32 »
Пока маялся с глазами
сейчас лучше?

У меня в утилитах tray* давно так и сделано:
1. Демон на ash (bash жирнее ) , который обновляет данные и перерисовывает svg с цифрами
2. GUI на yad, который висит в трее и выводит обновляемый в п.1 svg
3. GUI с подробной статистикой, опционально вызываемый в п.2
Особого жора ресурсов не замечено

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: UpNet-0.3
« Ответ #2 : 31 Июль 2021, 12:55:49 »
сейчас лучше?
Да, терпимо.
1. Демон на ash
Естественно. Busybox sh это и есть ash.
2. GUI на yad
У меня на gtk2 (на gtk3 tray вырезали). Получается интелектуальнее и добавить могу что хочу. Кстати, пробовал компилировать trayNet clang-ом, получается.
3. GUI с подробной статистикой
По моему - лишнее. Мало кому надо, а кому надо, тот знает, где взять. Зато у меня "инструкция в картинках для чайников" ;)
Особого жора ресурсов не замечено
А не с чего ему быть
 Пока ничего не выкладываю, потому что pre alfa.
 Для запуска из init.d добавил в inittab строку
Код
::sysinit:/usr/bin/find /etc/init.d -type f -exec {} start \; 
Для остановки
Код
::::shutdown:/usr/bin/find /etc/init.d -type f -exec {} stop \; 
Нравится?
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33966
  • Репутация: +231/-0
    • PuppyRus-A
Re: UpNet-0.3
« Ответ #3 : 31 Июль 2021, 18:01:32 »
на gtk3 tray вырезали
Нет. Трей в yad одинаков в gtk2 и 3
Нравится?
Минималистично. Плохо знаком с иниттаб.

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: UpNet-0.3
« Ответ #4 : 31 Июль 2021, 19:01:46 »
Нет. Трей в yad одинаков в gtk2 и 3
Функцию create_tray_icon вырезали, как это обойти, не знаю.
Плохо знаком с иниттаб.
Ничего сложного нет, особенно в busybox init. Вот
Код
::sysinit:/bin/mount -o remount,rw /
::sysinit:/bin/mount -a
::sysinit:/bin/mkdir -p /dev/shm /dev/pts
::sysinit:/bin/mount /dev/shm
::sysinit:/bin/mount /dev/pts
::sysinit:/sbin/udevd --daemon
::sysinit:/sbin/udevadm trigger
::sysinit:/usr/bin/find /etc/init.d -type f -exec {} start \;
tty1::respawn:/sbin/getty -n -l /usr/bin/slim 38400 tty1
tty2::respawn:/sbin/getty 38400 tty2
tty3::respawn:/sbin/getty 38400 tty3
::ctrlaltdel:/sbin/reboot
::shutdown:/usr/bin/find /etc/init.d -type f -exec {} stop \;
::shutdown:/bin/umount -a -r
::shutdown:/sbin/swapoff -a
Хочу сделать так:
- интерфейсов нет - в трее не отображается ничего
- интерфейс опущен - в трее отображается значок "No Net"
- интерфейс поднят но не подключен ( отсоединён провод lan, не запущен wpa_supplicant wlan ) - отображается мигающий значок интерфейса. ( лишний повод отключить неработающее или настроить как надо )
- интерфейс поднят - отображается значок интерфейса
- интерфейс упал - значок исчезает. Если это был единственный интерфейс, то начинает отображаться значок "No Net"
Вот как то так....
Оно уже работает, но надо доводить
« Последнее редактирование: 31 Июль 2021, 19:35:17 от DdShurick »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: UpNet-0.3
« Ответ #5 : 03 Август 2021, 19:07:11 »
 Проблемы с уведомлениями. От udev показывает в виде узкой ленты вверху экрана. Как вразумить, не знаю.
 Немножко повоевал с usb_modeswitch. Мой Megafon M150-2 не пожелал запускаться с версией usb_modeswitch-2.6.0. Причина - usb_modeswitch_dispatcher. Выяснилось, что для Huawei можно обойтись без жирного и глючного usb_modeswitch_dispatcher и usb-modeswitch-data.
Срока 15 для Huawei (40-usb_modeswitch.rules):
Код
ATTRS{idVendor}=="12d1", ATTRS{manufacturer}!="Android", ATTR{bInterfaceNumber}=="00", ATTR{bInterfaceClass}=="08", RUN+="usb_modeswitch -J -v %s{idVendor} -p %s{idProduct}"
Скрипт /lib/udev/usb_modeswitch переписал:
Код
#!/bin/sh
/usr/sbin/usb_modeswitch $@
/sbin/udevadm trigger -s usb
Работает как часы. Правда это частный случай, но хорошо бы его сделать общим.
Андроидофонщиков прошу обратить внимание на "ATTRS{manufacturer}!="Android", это содержится и в оригинале. Возможно, все ваши беды отсюда.

Инструкция для чайников в картинках
« Последнее редактирование: 03 Август 2021, 21:11:01 от DdShurick »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33966
  • Репутация: +231/-0
    • PuppyRus-A
Re: UpNet-0.3
« Ответ #6 : 04 Август 2021, 08:27:55 »

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: UpNet-0.3
« Ответ #7 : 04 Август 2021, 09:38:02 »
Как выводите?
notify-send -> dunst
Проблема в том, что в $HOME должен быть .config/dunst/dunstrc, root его видит, а udev нет.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: UpNet-0.3
« Ответ #8 : 04 Август 2021, 09:47:31 »

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: UpNet-0.3
« Ответ #9 : 04 Август 2021, 09:50:01 »
Проблема в том, что в $HOME
В вопросе оказался ответ: export HOME=/root решило проблему.
« Последнее редактирование: 04 Август 2021, 11:21:23 от DdShurick »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: UpNet-0.3
« Ответ #10 : 04 Август 2021, 11:36:39 »
 Как поступить с usb_modeswitch_dispatcher? Оставить и ловить ошибки или выкинуть и ловить новые? Я бы выкинул, но у меня сейчас всего два модема: старинный WeTelecom WM-D200, для которого не существует сети, и Megafon M150-2 прошивка HiLink, фактически usb-сетевая карта, а не модем. Не на чем пробовать.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: UpNet-0.3
« Ответ #11 : 06 Август 2021, 20:27:42 »
Код
#!/bin/sh
##trayNetd демон отображения сетевых интерфейсов в трее. DdShurick GPL-v2. 06.08.2021
while true
do
sleep 5
[ -d /tmp/.X11-unix ] || continue
[ -f /tmp/dsp -a ! "$DISPLAY" ] && export DISPLAY="$(cat /tmp/dsp)" #?? Костыль, но как отследить загрузку WM?
ls -1 /sys/class/net | grep -v lo | while read IFACE
do
OPST="$(cat /sys/class/net/$IFACE/operstate)" 2>/dev/null
[ "$(cat /tmp/operstate.$IFACE)" == "$OPST" ] && continue
[ "$OPST" == "up"  ] && trayNet "$IFACE" &
echo "$OPST" | tee /tmp/operstate.$IFACE
done
[ "$(grep up /tmp/operstate.*)" -o "$(pidof trayNet)" ] || trayNet none &
done
Посмотрите, у кого есть желание. Может что присоветуете.
trayNet (gtk2) с иконками прилагаю.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: UpNet-0.3
« Ответ #12 : 07 Август 2021, 14:03:19 »
 Кто пользуется 3G-модемами, похимичим?  ;)
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
Re: UpNet-0.3
« Ответ #13 : 07 Август 2021, 16:20:47 »
upNet достаточно пользовал для 'usb0'(андроид-модем-смартов) и для 'pppoe'( # PRA-03,1808,... Richi32, ... а на слакваре(PuppySlako) можно сказать бывало - "чуть ли не единственный вариант" и жалобы там и-нетные на pppoe попадались). Для другого не пробовал. Как и "другое" тоже.
---------
пока на "чистомАрче"/т.е. Ледяном. Компилить не пробовал. И предполагаю, что возможно придется что-нибудь "вырубать"... # но нет четкого представления что именно...
на другое пока времени не хватает
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: UpNet-0.3
« Ответ #14 : 07 Август 2021, 17:41:15 »
Компилить не пробовал.
Компилить не надо, я github не обновлял, химичу локально.
андроид-модем-смартов
Тут интересно было бы посмотреть вывод
Код
# udevadm info -a -p /sys/class/net/usb0
# udevadm info env -p /sys/class/net/usb0
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64