* [Comm] листая /etc/init.d/slmodemd
@ 2005-07-30 13:27 Arioch
2005-07-30 15:47 ` Sergey Vlasov
0 siblings, 1 reply; 3+ messages in thread
From: Arioch @ 2005-07-30 13:27 UTC (permalink / raw)
To: community; +Cc: week
[-- Attachment #1: Type: text/plain, Size: 1451 bytes --]
slmodemd - это демон многих win-модемов, например одного, встроенного в
мой ноут (MaxSelect.ru M620).
Сижу практически без инета - потому все письма готовлю в офлайне.
Потому же Сизиф у меня примерно месячной давности, там где BootSplash
(или в соотв. с документациейBootSlash - это IMHO правильней) совместно
с initrd от wks 2.6.11 alt 4 не хотят загружаться по хорошему :)
Надеюс в данном случае не за вчерашним днём погнался :D
В багтрэкер не кладусь поскольку в офлайне и поскольку ожидаю вправления
рук или надавания по оным. Когда прочитаю ответы (if any) не знаю, но
как-нибудь случиться же :-)
Во-первых захотелось, чтобы скрипт создавал при возможности /dev/modem;
в память о весенней, кажется, kppp не признававшей устройств "/dev/ttySL?"
Попутно выяснилось, что скрипт забывает стереть PIDFILE
Покореженный скрипт в аттаче.
PS: интересно, что у нас с gnome-ppp? Он, в отличие от kppp гвоздями
прибит к группе netadm и ни в жисть не позволит простому юзеру поднять
соединение? К kppp у меня теперь идиосинкразия ;)
PPS: зато на сам модем права имеют только root и uucp
Кто по идеологии Альта должен иметь права на /dev/modem ?
PPPS: дай бог мне этот модем настроить, когда в HOWTO описан
несуществующий у меня usernetctl зато напрочь отсутствует etcnet :(
И да сумеет модем дозвoниться до одного номера (если да - значит
старокривые дрова в винде. Если нет - значит вообще нет :( )
[-- Attachment #2: slmodemd --]
[-- Type: text/plain, Size: 4041 bytes --]
#!/bin/sh
# $Id: template,v 1.3 2003/05/21 17:47:00 ldv Exp $
### the_Arioch@nm.ru - i wanna /dev/modem symlink be automagic
#
# slmodemd Smartlink softmodem driver daemon
#
# chkconfig: 345 90 10
# description: slmodemd is SmartLink softmodem drivers daemon
#
#
# processname: slmodemd
# Do not load RH compatibility interface.
WITHOUT_RC_COMPAT=1
# Source function library.
. /etc/init.d/functions
PIDFILE=/var/run/slmodemd.pid
LOCKFILE=/var/lock/subsys/slmodemd
RETVAL=0
#Arioch - since slmodem now features SysFS interface - lets engage it
SYSFS_DRIVERS=/sys/class/{slusb,slamr}
# i do not know what to do with ALSA modems - and how do they show up;
# also i do not have usb modem and hope it will just follow slamr pattern.
# I assume if someone have built-in modem (slamr) and at the same time external
# one (slusb) - he prefers USB one.
#Now, what env-vars respect ls ? can i unexpectedly get verbose output without -l argument?
#Something like LS_COLORS or like DirCmd in DOS/Windows, i need to clear before invoking ls ?
SYSFS_DEVICES=
#in case it was borrowed from parent process
[[ -d /sys ]] && SYSFS_DEVICES=`for fold in /sys/class/{slusb,slamr}; do ls $fold ; done 2>/dev/null`
#i guess, for 2.4 kernels one could have one more list instead of sysfs
#parsing dmesg, or returned by slmodemd --SomeQueryOption, or from /etc/SomeWhere
## End of Arioch (yet)
start()
{
action "Starting slmodem daemon: " start-stop-daemon --quiet --start -b -m --pidfile $PIDFILE --exec /usr/sbin/slmodemd -- --country=RUSSIA
RETVAL=$?
# Arioch:
# 1st existing slmodem device i'd like to see symlinked as /dev/modem - if /dev/modem is not occupied already
# But let returning value stay the daemon's return code
if [ $RETVAL -eq 0 ]; then
if [[ ! -e /dev/modem ]]; then
for smth in "$SYSFS_DEVICES"; do
[[ -e /dev/$smth ]] && ( ln -s /dev/$smth /dev/modem ; break )
done;
fi
fi
# A rake, i placed here: imagine someday DEVFS or UDEV would move slamr0 to, say,
# /dev/modems/slamr0 or to any other subfolder - "[[ -e /dev/$smth ]]" would fail.
# To avoid stepping upon the rake someday, we maybe can search throughout /dev.
# /sys/class/(DRIVER)/(DEVICE)/dev contain major and minor and this can be
# used to find driver file wherever under /dev - but i don't know any easy way.
# End of Arioch (yet)
return $RETVAL
}
stop()
{
action "Stopping slmodem daemon: " start-stop-daemon --stop --quiet --pidfile $PIDFILE slmodemd
RETVAL=$?
# Arioch: let's wipe away /dev/modem, if it is our own link
if [ $RETVAL -eq 0 ]; then
local TARGET
# i'm afraid local is command, thus can affect value of $?
TARGET=`readlink -e /dev/modem` && [[ -c $TARGET ]] && TARGET=`basename $TARGET`
# see rooks in start().
#Now, how should i test is word is contained in list ?
[ $? -eq 0 ] && ( echo $SYSFS_DEVICES | grep -G "\<$TARGET\>" >/dev/null 2>/dev/null ) && rm -f /dev/modem
#Neither slmodemd nor start-stop-daemon don't care about PID :-(
rm -f $PIDFILE
fi
# End of Arioch (yet)
return $RETVAL
}
restart()
{
stop
sleep 1
start
}
reload()
{
msg_reloading slmodemd
start-stop-daemon --stop --pidfile $PIDFILE -s HUP -- slmodemd
RETVAL=$?
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
restart
;;
condstop)
if [ -e "$LOCKFILE" ]; then
stop
fi
;;
condrestart)
if [ -e "$LOCKFILE" ]; then
restart
fi
;;
condreload)
if [ -e "$LOCKFILE" ]; then
reload
fi
;;
status)
status --pidfile "$PIDFILE" --expect-user root -- slmodemd
RETVAL=$?
# Arioch (next line, list of devices):
[[ -n "SYSFS_DEVICES" ]] && echo " Known devices: $SYSFS_DEVICES"
# End of Arioch. "finishing, closing and going home"
;;
*)
msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|status}"
RETVAL=1
esac
exit $RETVAL
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Comm] листая /etc/init.d/slmodemd
2005-07-30 13:27 [Comm] листая /etc/init.d/slmodemd Arioch
@ 2005-07-30 15:47 ` Sergey Vlasov
2005-07-30 18:09 ` [Comm] " Arioch
0 siblings, 1 reply; 3+ messages in thread
From: Sergey Vlasov @ 2005-07-30 15:47 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 1902 bytes --]
On Sat, Jul 30, 2005 at 05:27:52PM +0400, Arioch wrote:
> slmodemd - это демон многих win-модемов, например одного, встроенного в
> мой ноут (MaxSelect.ru M620).
>
> Сижу практически без инета - потому все письма готовлю в офлайне.
> Потому же Сизиф у меня примерно месячной давности, там где BootSplash
> (или в соотв. с документациейBootSlash - это IMHO правильней) совместно
> с initrd от wks 2.6.11 alt 4 не хотят загружаться по хорошему :)
> Надеюс в данном случае не за вчерашним днём погнался :D
>
> В багтрэкер не кладусь поскольку в офлайне и поскольку ожидаю вправления
> рук или надавания по оным. Когда прочитаю ответы (if any) не знаю, но
> как-нибудь случиться же :-)
>
> Во-первых захотелось, чтобы скрипт создавал при возможности /dev/modem;
> в память о весенней, кажется, kppp не признававшей устройств "/dev/ttySL?"
>
> Попутно выяснилось, что скрипт забывает стереть PIDFILE
>
> Покореженный скрипт в аттаче.
Скрипт покорёжен неправильно. Лезть в /sys/class/{slusb,slamr} и
искать там имя, на которое нужно ставить ссылку /dev/modem, нельзя -
устройства slusb и slamr являются скорее "звуковыми картами с
телефонным интерфейсом". Вся эмуляция модема сидит в slmodemd - там
создаётся псевдотерминал, и соответствующий файл устройства (с
неизвестным заранее minor) кладётся в /dev/ttySL*; вот на этот файл и
должна показывать ссылка /dev/modem.
На самом деле модуль slamr и соответствующие устройства сейчас могут
быть вообще не нужны - если slmodemd собран с поддержкой ALSA, вместо
этого драйвера могут использоваться драйверы типа snd-intel8x0m,
snd-via82xx-modem, snd-atiixp-modem.
> PPS: зато на сам модем права имеют только root и uucp
> Кто по идеологии Альта должен иметь права на /dev/modem ?
GROUP="uucp", MODE="0660"
Аналогичные права нужны для доступа в /var/lock/serial, чтобы
обеспечить правильную блокировку портов.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Comm] Re: листая /etc/init.d/slmodemd
2005-07-30 15:47 ` Sergey Vlasov
@ 2005-07-30 18:09 ` Arioch
0 siblings, 0 replies; 3+ messages in thread
From: Arioch @ 2005-07-30 18:09 UTC (permalink / raw)
To: community
Sergey Vlasov wrote:
> Скрипт покорёжен неправильно. Лезть в /sys/class/{slusb,slamr} и
> искать там имя, на которое нужно ставить ссылку /dev/modem, нельзя -
> устройства slusb и slamr являются скорее "звуковыми картами с
> телефонным интерфейсом".
Угу, пост-фактум выяснил.
Непросто в Линуксе с настройкой модема :-) Все только руками, обманывая
программы.
> Вся эмуляция модема сидит в slmodemd - там
> создаётся псевдотерминал, и соответствующий файл устройства (с
> неизвестным заранее minor) кладётся в /dev/ttySL*; вот на этот файл и
> должна показывать ссылка /dev/modem.
ttySLM0 - только его далеко не все проги признают :(
> На самом деле модуль slamr и соответствующие устройства сейчас могут
> быть вообще не нужны - если slmodemd собран с поддержкой ALSA, вместо
> этого драйвера могут использоваться драйверы типа snd-intel8x0m,
> snd-via82xx-modem, snd-atiixp-modem.
Учитывая как у меня алса со звуком работает...
учитывая отсутствие документации про это - ну его нафиг.
Модуль-то есть (intel), да трогать его страшновато :-)
>>PPS: зато на сам модем права имеют только root и uucp
>>Кто по идеологии Альта должен иметь права на /dev/modem ?
>
> GROUP="uucp", MODE="0660"
Тады логику gnome-ppp я не понимаю.
Вообще половина груп в /etc/group выглядит дупликатами.
uucp, netadmin, netwatch....
А можно одной группе дать права другой?
Чтобы человек из wheel автоматом получал uucp ?
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-07-30 18:09 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-07-30 13:27 [Comm] листая /etc/init.d/slmodemd Arioch
2005-07-30 15:47 ` Sergey Vlasov
2005-07-30 18:09 ` [Comm] " Arioch
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git