X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=usr_sbin%2Fmodemlink;fp=usr_sbin%2Fmodemlink;h=0000000000000000000000000000000000000000;hb=e3ecb347d98e75e54f87342d18d4a190647f878c;hp=1362badeae193573f7f3013614cfa0182cba2c75;hpb=1e39a7bd1b6e8f8bbb15b2b1aefaa0a91e4bb7dc;p=grml-scripts.git diff --git a/usr_sbin/modemlink b/usr_sbin/modemlink deleted file mode 100755 index 1362bad..0000000 --- a/usr_sbin/modemlink +++ /dev/null @@ -1,330 +0,0 @@ -#!/bin/bash +x -# Filename: modemlink -# Purpose: start device drivers and set /dev/modem link in GRML -# Authors: (c) Klaus Knopper Mar 2004, (c) Michael Prokop -# Bug-Reports: see http://grml.org/bugs/ -# License: This file is licensed under the GPL v2. -# Latest change: Mit Okt 04 11:51:09 CEST 2006 [mika] -################################################################################ - -PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin" -export PATH - -# XDIALOG_HIGH_DIALOG_COMPAT=1 -# export XDIALOG_HIGH_DIALOG_COMPAT - -if [ $UID != 0 ] ; then - echo Error: become root before starting $0 >& 2 - exit 100 -fi - -TMP=$(mktemp) - -bailout(){ - rm -f "$TMP" - exit $1 -} - -DIALOG="dialog" -# [ -n "$DISPLAY" ] && [ -x /usr/bin/Xdialog ] && DIALOG="Xdialog" - -trap bailout 1 2 3 15 - -# LANGUAGE -[ -r /etc/default/locale ] && . /etc/default/locale - -# Language-dependent Messages -case "$LANGUAGE" in -de*|at*|ch*) -TITLE1="Art der Verbindung" -MESSAGE1="Bitte die gewünschten Verbindungsart auswählen:" -SERIAL="Serielle Schnittstelle (z.B. Modem)" -WINMODEM="Nach nicht-unterstützten \"WinModems\" suchen" -SIR="Standard SIR (oder USB)" -USB="USB Schnittstelle (z.B. Modem)" -IRDA="Infrarot Schnittstelle (z.B. für Handy/PDA)" -BLUETOOTH="Bluetooth Funkadapter (z.B. für Handy/PDA)" -TITLE_DONGLES="IRDA Adapter-Typ" -MESSAGE_DONGLES="Bitte den verwendeten IRDA-Adaptertyp auswählen:" -TITLE_TEST="Adaptertest - Strg-C zum Beenden des Tests" -TITLE_SRVFAIL="FEHLER" -MESSAGE_SRVFAIL="Konnte Daemon für Gerät nicht starten. Wahrscheinlich wurde die falsche Schnittstelle ausgewählt." -AUTOSEARCH="ALLE Schnittstellen scannen" -TITLE_BLUES="Bluetooth-Geräte" -MESSAGE_BLUES="Folgende Bluetooth-Geräte befinden sich in der Umgebung. Bitte eins auswählen:" -TITLE_PIN="PIN" -MESSAGE_PIN="Bitte geben Sie eine 4-stellige PIN zur Authentfizierung der Bluetooth-Geräte ein:" -TITLE_GAUGE="Device-Scan..." -TITLE_LINK="/dev/modem Link erzeugen..." -MESSAGE_LINK="Möchten Sie den Symlink /dev/modem auf das neu konfigurierte Gerät setzen? Dies ist notwendig, wenn Sie das Gerät z.B. als Modem für kppp oder GPRS benutzen möchten). - -Verlinken von /dev/modem -> " -TITLE_RETRY="FEHLER" -MESSAGE_RETRY="Das scheint nicht geklappt zu haben. Noch einmal versuchen?" -TITLE_BTID="Keine Bluetooth Geräte in Reichweite" -MESSAGE_BTID="Auf die Sendeanfrage hat kein Bluetooth-Gerät geantwortet. Bitte geben Sie die Adresse eines entfernten Bluetooth-Gerätes ein." -;; -*) -TITLE1="Connection Type" -MESSAGE1="Please select type of connection:" -WINMODEM="Scan for unsupported \"WinModems\"" -SERIAL="Serial connector (i.e. Modem)" -SIR="Standard SIR (or USB)" -USB="USB connector (i.e. Modem)" -IRDA="Infrared wireless device (i.e. cellphone/PDA)" -BLUETOOTH="Bluetooth wireless device (i.e. cellphone/PDA)" -TITLE_DONGLES="IRDA Adapter type" -MESSAGE_DONGLES="Please select type of IRDA adapter:" -TITLE_TEST="Testing adapter - Hit Ctrl-C to end test." -TITLE_SRVFAIL="ERROR" -MESSAGE_SRVFAIL="Failed to start device daemon. Probably the selected port is wrong." -AUTOSEARCH="scan ALL devices" -TITLE_BLUES="Bluetooth Devices" -MESSAGE_BLUES="These bluetooth devices exist nearby. Please select:" -TITLE_PIN="PIN" -MESSAGE_PIN="Please chose a 4-digit PIN number for authention of bluetooth devices:" -TITLE_GAUGE="Scanning devices..." -TITLE_LINK="Create /dev/modem link..." -MESSAGE_LINK="Do you want to set the symlink /dev/modem to point to the newly configured device? This is necessary if you want o use the device as modem for kppp, as an example, or for using GPRS). - -Create link /dev/modem -> " -TITLE_RETRY="ERROR" -MESSAGE_RETRY="This seems to have failed. Do you want to try again?" -TITLE_BTID="No bluetooth devices in range" -MESSAGE_BTID="No bluetooth devices responded to our scan. Please enter the address of a remote bluetooth device." -;; -esac - -# Shortcut description selected -TYPES=(serial "$SERIAL" on \ -usb "$USB" off \ -irda "$IRDA" off \ -bluetooth "$BLUETOOTH" off \ -winmodem "$WINMODEM" off) - -type scanmodem >/dev/null 2>&1 || { unset TYPES[14]; unset TYPES[13]; unset TYPES[12]; } -type rfcomm >/dev/null 2>&1 || { unset TYPES[11]; unset TYPES[10]; unset TYPES[9]; } -type irdadump >/dev/null 2>&1 || { unset TYPES[8]; unset TYPES[7]; unset TYPES[6]; } - -# man irattach -DONGLES=(auto "$SIR" on \ -act200l "ACTiSYS Ir-200L dongles" off \ -actisys "ACTiSYS IR-220L dongle" off \ -actisys+ "ACTiSYS IR-220L+ dongle" off \ -airport "Airport dongle" off \ -ep7211 "IR port driver for the Cirrus Logic EP7211 processor (ARM based)" off \ -esi "Extended Systems JetEye PC ESI-9680" off \ -girbil "Greenwich GIrBIL dongle" off \ -litelink "Parallax LiteLink dongle & Extended Systems JetEye PC ESI-9680B" off \ -old_belkin "Belkin (old) SmartBeam dongle or any dongle only capable of 9600 bauds" off \ -ma600 "Mobile Action ma600 dongles" off \ -mcp2120 "Dongles based on the MCP2120 (Microchip)" off \ -tekram "Tekram IrMate IR-210B dongle" off) - -AUTODEVICE=(auto "$AUTOSEARCH" off) - -SERIALDEVICES=(ttyS0 "(COM1:)" off \ -ttyS1 "(COM2:)" off \ -ttyS2 "(COM3:)" off \ -ttyS3 "(COM4:)" off \ -ttyS4 "(COM5:)" off \ -ttyS5 "(COM6:)" off \ -ttyS6 "(COM7:)" off \ -ttyS7 "(COM8:)" off \ -ttyS8 "(COM9:)" off \ -ttyS9 "(COM10:)" off \ -ttyS10 "(COM11:)" off \ -ttyS11 "(COM12:)" off \ -ttyS12 "(COM13:)" off \ -ttyS13 "(COM14:)" off \ -ttyS14 "(COM15:)" off \ -ttyS15 "(COM16:)" off) - -USBDEVICES=(ttyACM0 "USB Modem 1" off \ -ttyACM1 "USB Modem 2" off \ -ttyACM2 "USB Modem 3" off \ -ttyACM3 "USB Modem 4" off \ -ttyUSB0 "USB Serial 0" off \ -ttyUSB1 "USB Serial 1" off \ -ttyUSB2 "USB Serial 2" off \ -ttyUSB3 "USB Serial 3" off) - -num=${#COMMANDS[@]} - -#for ((i=0; i<$num; i++)); do -## Remove non-existing desktops/descriptions from list -#d0="$(($i * 3))" -#d1="$(($i * 3 + 1))" -#d2="$(($i * 3 + 2))" -#if type "${COMMANDS[$i]}" >/dev/null 2>&1; then -#[ "$DESKTOP" = "${DESKTOPS[$(($i * 3))]}" ] && DESKTOPS[$(($i * 3 + 2))]="on" || DESKTOPS[$(($i * 3 + 2))]="off" -#else -#unset DESKTOPS[$d0] -#unset DESKTOPS[$d1] -#unset DESKTOPS[$d2] -#unset COMMANDS[$i] -#fi -#done - -gauge(){ -rm -f "$TMP.done" -status=0 -while [ ! -e "$TMP.done" ]; do echo "$status" ; status="`expr \( 100 - $status \) / 4 + $status`"; sleep 2; done | $DIALOG --title "$TITLE_GAUGE" --gauge "$1" 8 75 0 -} - -# Stop status bar -killgauge(){ -touch "$TMP.done" ; wait ; rm -f "$TMP.done" -} - -conntype(){ -rm -f "$TMP" -$DIALOG --clear --title "$TITLE1" --radiolist "$MESSAGE1" 18 75 9 "${TYPES[@]}" 2>"$TMP" || bailout 1 -read TYPE <"$TMP" -TYPE="${TYPE#\"}"; TYPE="${TYPE%\"}" -rm -f "$TMP" -return 0 -} - -startservice(){ -case "$TYPE" in -serial) -rm -f "$TMP" -$DIALOG --clear --title "$TITLE_RAWDEVICE" --radiolist "$MESSAGE_RAWDEVICE" 18 75 9 "${SERIALDEVICES[@]}" 2>"$TMP" || bailout 1 -read DEVICE <"$TMP" -DEVICE="${DEVICE#\"}"; DEVICE="${DEVICE%\"}" -rm -f "$TMP" -;; -winmodem) -[ -n "$DISPLAY" ] && xterm -e bash -c "scanmodem; read -p 'Enter to quit.'" || { scanmodem; read -p 'Enter to quit.'; } -return 1 -;; -usb) -rm -f "$TMP" -$DIALOG --clear --title "$TITLE_RAWDEVICE" --radiolist "$MESSAGE_RAWDEVICE" 18 75 9 "${USBDEVICES[@]}" 2>"$TMP" || bailout 1 -read DEVICE <"$TMP" -DEVICE="${DEVICE#\"}"; DEVICE="${DEVICE%\"}" -rm -f "$TMP" -;; -irda) -killall irattach 2>/dev/null -modprobe irda 2>/dev/null -modprobe ircomm-tty 2>/dev/null -rm -f "$TMP" -$DIALOG --clear --title "$TITLE_RAWDEVICE" --radiolist "$MESSAGE_RAWDEVICE" 18 75 9 "${AUTODEVICE[@]}" "${SERIALDEVICES[@]}" "${USBDEVICES[@]}" 2>"$TMP" || bailout 1 -read RAWDEVICE <"$TMP" -RAWDEVICE="${RAWDEVICE#\"}"; RAWDEVICE="${RAWDEVICE%\"}" -rm -f "$TMP" -$DIALOG --clear --title "$TITLE_DONGLES" --radiolist "$MESSAGE_DONGLES" 18 75 9 "${DONGLES[@]}" 2>"$TMP" || bailout 1 -read DONGLE <"$TMP" -DONGLE="${DONGLE#\"}"; DONGLE="${DONGLE%\"}" -rm -f "$TMP" -case "$DONGLE" in auto) DONGLE="" ;; *) DONGLE="-d $DONGLE" ;; esac -if [ "$RAWDEVICE" = "auto" ]; then -gauge "Device-Scan..." & -for i in /dev/ttyUSB* /dev/ttyS*; do -RAWDEVICE="${i##/dev/}" -irattach "/dev/$RAWDEVICE" $DONGLE -s -usleep 125000 -done -killgauge -sleep 2 -RAWDEVICE="$(ps auxw | awk '/irattach/{print $12}' | head -1)" -RAWDEVICE="${RAWDEVICE##/dev/}" -else -irattach "/dev/$RAWDEVICE" $DONGLE -s -sleep 2 -fi -if ifconfig irda0 >/dev/null 2>&1; then -true -else -$DIALOG --clear --title "$TITLE_SRVFAIL" --msgbox "$MESSAGE_SRVFAIL" 18 75 -DEVICE="" -return 1 -fi -DEVICE="ircomm0" -rm -f /etc/irda.conf -echo "#irda.conf Version: 1.0 -IRDADEV=/dev/$RAWDEVICE" >/etc/irda.conf -[ -n "$DONGLE" ] && echo "DONGLE=\"${DONGLE##-d }\"" >>/etc/irda.conf -echo "DISCOVERY=-s -ENABLE=yes" >>/etc/irda.conf -[ -x /etc/init.d/irda ] && for i in 2 3 5; do ln -sf /etc/init.d/irda /etc/rc$i.d/S99irda; done -;; -bluetooth) -killall hcid 2>/dev/null -killall rfcomm 2>/dev/null -hcid || return 1 -count=0 -gauge "Device-Scan..." & -while read HW NAME; do -d0="$(($count * 3))" -d1="$(($count * 3 + 1))" -d2="$(($count * 3 + 2))" -BLUES[$d0]="$HW"; BLUES[$d1]="$NAME"; BLUES[$d2]="off" -count=$(($count + 1)) -done </dev/null | awk '/[0-9]:[0-9]/{print $0}') -EOT -killgauge -if [ -n "${BLUES[0]}" ]; then -$DIALOG --clear --title "$TITLE_BLUES" --radiolist "$MESSAGE_BLUES" 18 75 9 "${BLUES[@]}" 2>"$TMP" || bailout 1 -else -$DIALOG --title "$TITLE_BTID" --inputbox "$MESSAGE_BTID" 15 60 "00:00:00:00:00:00" 2>"$TMP" || bailout 1 -fi -read RAWDEVICE <"$TMP" -RAWDEVICE="${RAWDEVICE#\"}"; RAWDEVICE="${RAWDEVICE%\"}" -rm -f "$TMP" -read PIN < /etc/bluetooth/pin 2>/dev/null -rm -f "$TMP" -if [ -n "$DISPLAY" ]; then -$DIALOG --title "$TITLE_PIN" --inputbox "$MESSAGE_PIN" 8 65 "$PIN" 2>"$TMP" || bailout 1 -fi -read PIN <"$TMP" 2>/dev/null -rm -f "$TMP" -rm -f /etc/bluetooth/pin -echo "$PIN" >/etc/bluetooth/pin -rm -f /etc/bluetooth/rfcomm.conf -cat >/etc/bluetooth/rfcomm.conf <