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

Автор Тема: Пишем udev.rules для autorun3Gmodem  (Прочитано 15659 раз)

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

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8502
  • Репутация: +185/-2
  • Автор темы
  • Старый чайник
Re:Пишем udev.rules для autorun3Gmodem
« Ответ #15 : 28 Январь 2013, 21:36:50 »
 У меня модем ="03", остальные ="02". Думал по этому параметру определять порт модема, но видимо не судьба.
Моноблок 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

Оффлайн RW011

  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-1
Re:Пишем udev.rules для autorun3Gmodem
« Ответ #16 : 05 Февраль 2013, 20:38:41 »
Dd Shurick-у.Очень интересная тема.Ранее для автозапуска модемов в Пуппи пользовался Моб.партнером.Подскажите,как запустить этот PFS-файл в Puppy-Precise.Что-то не могу разобраться.Спасибо.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8502
  • Репутация: +185/-2
  • Автор темы
  • Старый чайник
Re:Пишем udev.rules для autorun3Gmodem
« Ответ #17 : 05 Февраль 2013, 22:42:37 »
Подскажите,как запустить этот PFS-файл в Puppy-Precise.
Пакет предназначен для Richy, для других Puppy надо перепаковывать в .pet
Код
 unsquashfs autorun3Gmodem.pfs
dir2pet squashfs-root
Моноблок 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

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8502
  • Репутация: +185/-2
  • Автор темы
  • Старый чайник
Re:Пишем udev.rules для autorun3Gmodem
« Ответ #18 : 01 Сентябрь 2013, 00:27:44 »
 Поднимаю тему.
Вместо "бюрократических" *-Datacard.rules теперь 99-modem.rules в две строчки. Спасибо "магам" за идею.
Код
ACTION=="add", SUBSYSTEM=="tty", SUBSYSTEMS=="usb", KERNEL=="ttyUSB?|ttyACM?", RUN+="check3Gmodem %k"
ACTION=="remove", SUBSYSTEM=="tty", SUBSYSTEMS=="usb", KERNEL=="ttyUSB?|ttyACM?", RUN+="/bin/rm /dev/modem", RUN+="/bin/rm /dev/ttyUSB_utps_pcui"
Для создания ссылок скрипт /lib/udev/check3Gmodem
Код
#!/bin/sh
[ $1 ] || exit 1
[ -f /tmp/mdev ] && rm /tmp/mdev
/usr/sbin/modem-stats -c AT /dev/$1 && echo $1 >> /tmp/mdev #записываем какие порты откликнулись
/bin/grep $1 /tmp/mdev || exit 1
if [ $(/usr/bin/wc -l /tmp/mdev) = 1 ]; then #если порт один, например телефон в качестве модема.
ln -s $1 /dev/modem && exec /lib/udev/wvdial.sh
else #определяем управляющий порт и порт модема и создаём соответствующие ссылки
[ "$(/bin/grep -m 1 [BR] /dev/$1)" != "" ] && ln -s $1 /dev/ttyUSB_utps_pcui && ln -s $(/bin/grep -v $1 /tmp/mdev) /dev/modem && kill $(pidof grep) && exec /lib/udev/wvdial.sh
fi
Скрипт /lib/udev/wvdial.sh без изменений
Код
#!/bin/sh
export DISPLAY=:0
[ $(/bin/pidof wvdial) ] && exit
[ -f /etc/ppp/peers/wvdial -a -f /etc/ppp/peers/wvdial-pipe ] || /bin/ln -s /etc/ppp/wvdial* /etc/ppp/peers/
/bin/sleep 12 #время для работы usb_modeswitch
/usr/bin/wvdial 2>/tmp/wvdial.log &
/bin/sleep 12 #время для соединения
[ $(/bin/pidof wvdial) ] && exit
/usr/bin/leafpad /tmp/wvdial.log #при отсутствии соединения выводится лог
« Последнее редактирование: 01 Сентябрь 2013, 00:38:24 от 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

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33054
  • Репутация: +226/-0
    • PuppyRus-A
Re:Пишем udev.rules для autorun3Gmodem
« Ответ #19 : 01 Сентябрь 2013, 12:35:48 »
Исправил ошибку в check3Gmodem
Код
if [ $(/usr/bin/wc -l < /tmp/mdev) = 1 ]; then
Проверил в PRA. Автоподключается, но есть тонкости:
Соединение устанавливается через USB0, но в это же время идет  check3Gmodem на USB1
Потом процесс на USB1 убивает worker (посмотреть journalctl -f)
Соединение на USB0 рвется и медленно восстанавливается
Поэтому переделал запуск wvdial в /Startup

После ждущего режима USB правильно переопределяется и соединение восстанавливается
Но в процессе kworker что-то убивает и по итогу оставляет кучу своих процессов (смотреть ps ax)
Модуль под PRA в аттаче. В /etc/wvdial.conf надо вбить свой номер пароль и логин
« Последнее редактирование: 01 Сентябрь 2013, 12:39:45 от sfs »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8502
  • Репутация: +185/-2
  • Автор темы
  • Старый чайник
Re:Пишем udev.rules для autorun3Gmodem
« Ответ #20 : 28 Январь 2014, 21:54:09 »
 Обновил autorun3Gmodem.
Добавлено распознавание оператора командой AT+COPS?
Устранены "зависания" при определении модема.
 Требуется доработка wvdial.conf под региональных операторов и операторов союзных республик. Надеюсь на помощь.
Моноблок 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