Newsgroup: it.comp.os.linux.iniziare
Titolo: udev dove sbaglio?

Ho generato un file 90-local.rules con esecuzione e lettura chiunque 
come nel file 11-media..auto.mount.rules. ma sia che faccia il boot sia 
che inserisca la chiavetta dopo, non parte, dovrei inserire un delay in 
wvdial.conf?
 
cat /etc/udev/rules.d/90-local.rules
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", 
ATTR{idProduct}=="1506", RUN+="/usr/bin/sudo wvdial"
 
[enrico@archbang ~]$ lsusb
Bus 001 Device 005: ID 12d1:1506 Huawei Technologies Co., Ltd. E398 
LTE/UMTS/GSM Modem/Networkcard
 
[enrico@archbang ~]$ ls /etc/udev/rules.d
11-media-by-label-auto-mount.rules  90-local.rules
 
[enrico@archbang ~]$ cat 
/etc/udev/rules.d/11-media-by-label-auto-mount.rules
# Start at sdb to avoid system harddrive.
KERNEL!="sd[b-z][0-9]", GOTO="media_by_label_auto_mount_end"
 
# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"
 
# Get a label if present, otherwise specify one
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"
 
# Global mount options
ACTION=="add", ENV{mount_options}="relatime"
# Filesystem-specific mount options
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", 
ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=002"
 
# Mount the device
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", 
RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}"
 
# Clean up after removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l 
/media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"
 
# Exit
LABEL="media_by_label_auto_mount_end"[enrico@archbang ~]$ cat 
/etc/udev/rules.d/11-media-by-label-aut
 
[enrico@archbang ~]$ locate wvdial
/etc/wvdial.conf
/etc/ppp/peers/wvdial
/etc/ppp/peers/wvdial-pipe
/usr/bin/wvdial
/usr/bin/wvdialconf
/usr/share/licenses/wvdial
/usr/share/licenses/wvdial/LICENSE
/usr/share/man/man1/wvdial.1.gz
/usr/share/man/man1/wvdialconf.1.gz
/usr/share/man/man5/wvdial.conf.5.gz
 
[enrico@archbang ~]$ cat /etc/wvdial.conf
[Dialer Defaults]
Modem = /dev/ttyUSB0
Baud = 460800
New PPPD = yes
Init = ATZ0
Init2 = AT Q0 V1 E0 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
Dial Command = ATD
Carrier Check = no
Phone = *99#
Password = guest
Username = guest
Stupid Mode = 1
Init3 = AT+CGDCONT=1,"IP","
ibox.tim.it
"
Dial Attempts = 20
[enrico@archbang ~]$

Considera che alla chiavetta ci vogliono da 3 a 30 secondi per cercare la 
rete, registrarsi e darti la lucina lampeggiante... Io inserirei anche un 
test per "vedere" se è registrata ad una cella oppure inserisci un delay 
ragionevole: 15 secondi.
 
Al AT+CDGCONT= mi pare che manchi qualcosa (un parametro) controlla.


la stringa va bene quando lancio la chiamata sudo wvdial parte anche 
velocemente, il delay speravo che mi dicessi come inserirlo, nella 
regola perchè proprio non mi viene in mente come fare, forse esiste il 
modo di farlo con uno script bash da lanciare al posto del comando? non 
cè un messaggio di ready della chiavetta che sia possibile intercettare?
ora vedo un po se con bash trovo i comandi.

 wvdial.conf?
 
Tante teste, tante idee ... :-) leggendo i tuoi tre thread :-/ che hai aperto in questi giorni 
sull'argomento, vedo che ho un approccio completamente diverso dal tuo riguardo la 
connessione ad internet; ad es. a me non andrebbe proprio che la connessione partisse in 
automatico, poi preferisco avere una interfaccia grafica (gnome-ppp) per wvdial  e 
preferisco poterla lanciare senza dover essere il superuser.
Comunque trovo l'argomento interessante e cercando un po' in rete ho trovato questa 
pagina:
http://wmltd.co.uk/index.php/support/linux-admin-tips/3g-internet-backup
 
che mi pare faccia al caso tuo.
 
 


lanciare wvdial con sudo ï¿œ una necessitï¿œ, se no non parte la 
connessione, io ho letto il link che mi hai consigliato e ho provato 
questo comando nel file 90-locals.rules
 
 
SUBSYSTEMS=="usb", ATTRS{manufacturer}=="Huawei Technologies", 
RUN+="/usr/local/bin/fireup_dongle"
 
fireup_dongle fa uno sleep e una chiamata a sudo wvdial che funziona se 
chiamo da linea di comando.
 
Questo sopra ï¿œ quello che cï¿œ:
$(udevadm info -q path -n ttyUSB0)
 
     KERNELS=="1-3"
     SUBSYSTEMS=="usb"
     DRIVERS=="usb"
     ..
     ATTRS{idVendor}=="12d1"
     ..
     ATTRS{manufacturer}=="Huawei Technologies"
     ATTRS{removable}=="unknown"
     ATTRS{idProduct}=="1506"
     ATTRS{product}=="HUAWEI Mobile"
 
 
udevadmin monitor chiavetta inserita e rimossa, ï¿œ qui:
http://pastebin.com/8aR0zGJ3
 
 
Qualcuno mi puï¿œ dire come intercettare la chiavetta Huawei e come
fare che esegua, RUN+=/usr/local/bin/fireup_dongle che lancia wvdial?
 
ciao e mille grazie