Linux E X P R E S

Facebook

UMTS modem Huawei K3765 na SalixOS

salixos_logo_le.jpg

Před nějakým časem jsem prováděl zásadní změny co se týče používání linuxové distribuce na desktopu a připojení k síti Internet. Zaměnil jsem CentOS s GNOME za SalixOS s Xfce a připojení přes CDMA (AxessTel MV110H) od O2 za 3G Internet (Huawei K3765) od Vodafone. Že to budou větší změny jsem očekával, ale dosti mne překvapil problém s připojením k Internetu pomocí GSM/UMTS modemu na Slackware.


vodafone_modem_huawei_k3765.jpgVyptával jsem se pana Googla a sháněl informace na různých fórech. Přestože byli všichni moc milí a snažili se mi pomoci (rád bych všem touto cestou poděkoval), všude jsem se dovídal pouhé útržky informací, které nikam nevedly. Nakonec jsem z toho všeho dal dohromady postup, který jsem otestoval a používám. Pokusím se zde popsat postup jednoduchým způsobem, aby byl použitelný i pro běžného uživatele.

Napřed bych rád upozornil na skutečnost, že záleží na tom, zda máte SalixOS s KDE nebo Xfce GUI. U KDE stačí doinstalovat a nastavit pouze usb_modeswitch a poté nastavit dialup připojení přes kppp.


U Xfce je to trochu jiné. K tomu, aby bylo možné zprovoznit 3G Internet na Salixu s Xfce, je potřeba mít v systému nainstalovány a nastaveny následující programy.

slapt-get -i wvdial
slapt-get -i usb_modeswitch
  • comgt (utilita fungující z příkazové řádky pro kontrolu, nastavení a komunikaci s 3G a 2G - HSDPA, UMTS, EDGE, GPRS, GSM datovými zařízeními v prostředí linuxu)
    http://sourceforge.net/projects/comgt/
wget http://sourceforge.net/projects/comgt/files/comgt/0.32/comgt.0.32.tgz
tar xvf comgt.0.32.tgz
cd comgt.0.32
make all
make install


Po doinstalování výše vyjmenovaných aplikací přistoupíme k vlastnímu nastavení. Pozor! Nastavení (i předchozí instalaci programů) musíte provádět pod právy roota.

Do souboru /etc/wvdial.conf (nastavení programu wvdial) zapíšeme následující nastavení.

[Dialer Defaults]
Modem = /dev/ttyUSB0
ISDN = off
Modem Type = USB Modem
Baud = 460800
Init = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init4 =
Init5 =
Init6 =
Init7 =
Init8 =
Init9 =
Phone1 =
Phone2 =
Phone3 =
Phone4 =
Dial Prefix =
Dial Attempts = 1
Dial Command = ATM1L3DT
Ask Password = off
Auto Reconnect = off
Abort on Busy = off
Carrier Check = on
Check Def Route = on
Abort on No Dialtone = on
Stupid Mode = off
Idle Seconds = 0
Init3 = AT+CGDCONT=1,"IP","internet"
Password = vodafone
Username = vodafone
Phone = *99#


Pokud se dobře podíváte na poslední čtyři řádky, uvidíte základní parametry 3G Internetu od Vodafone.

  • Telefonní číslo: *99#
  • APN (Access Point Name - název přípojného bodu): internet
  • Jméno: vodafone
  • Heslo: vodafone



Do souboru /usr/local/bin/umts-connect uložíme následující obsah. Nejsem autorem daného skriptu, pouze jsem změnil cestu a ikonku. Ikonku původního skriptu jsem v systému neměl ;-)

#!/bin/bash
#
# umts-connect 0.3
#
# Script to connect UMTS modems
# via comgt (PIN activation) and wvdial
#
# - icon with established connection
# - used volume is shown after the connection is closed
# - choice of the device (modem, handy via usb or bluetooth
#
# Thomas Schönhütl <pilleus.pulcher@arcor_de>
# 22. September 2008
# 20. April 2009
# 20. Juli 2009
#
# Lizenz: GPL, Version 2
#
DEVICE=$(zenity --title "Modem/Handy" --width=400 --height=200 --radiolist --text "Which device shall be used?" --list --column Choice --column Device TRUE "UMTS-Modem (USB/PCMCIA/Express34)" FALSE "Handy/PDA via USB connection" FALSE "Handy/PDA via bluetooth")
if [ -z "`echo $DEVICE`" ]; then
zenity --title "UMTS connection" --info --text "The script will finish now ..."
exit
fi
#
#
#
if [ "`echo $DEVICE`" = "UMTS-Modem (USB/PCMCIA/Express34)" ]; then
#
if [ -z "`/bin/ls /dev/ttyUSB*`" -a -z "`/bin/ls /dev/ttyACM*`" ]; then
zenity --title "UMTS connection" --info --text "No UMTS modem available!\n\nThe script will finish now ..."
exit
fi
#
PIN=$(zenity --title "PIN" --entry --text "Please insert the PIN of the SIM card:" --hide-text)
#
export COMGTPIN=$PIN
/usr/local/bin/comgt PIN -d /dev/ttyUSB0
#
WAHL=$(zenity --title "UMTS connection" --list --radiolist --text "Use the last configuration?" --column Choice --column Action TRUE "Yes, use it." FALSE "No, configure a new one.")
#
if [ -z "`echo $WAHL`" ]; then
zenity --title "UMTS connection" --info --text "The script will finish now ..."
exit
fi
#
if [ "`echo $WAHL`" = "Yes, use it." ]; then
sed -i "s:ttyACM:ttyUSB:" /etc/wvdial.conf
sed -i "s:rfcomm0:ttyUSB0:" /etc/wvdial.conf
export MAIN_DIALOG="
<window title=\"UMTS connection\">
<hbox>
<vbox>
<text>
<label>Preparing the UMTS modem for wvdial ...</label>
</text>
</vbox>
</hbox>
</window>"
{
sleep 15
killall gtkdialog
} | gtkdialog -c --program MAIN_DIALOG
(xterm -title "Please do NOT close this window during the connection ..." -e wvdial && ERG=$(echo "`tail /var/log/messages | grep Sent | tr " " "\n" | grep bytes -1 | sed -e '2,3d' | sed -e '2,3d'`+`tail /var/log/messages | grep Sent | tr " " "\n" | grep bytes -1 | sed -e '2,3d' | sed -e '1d' | sed -e '2d'`" | bc -l) && ERG1=$(echo "`echo $ERG`/1024" | bc -l) && ERG2=$(echo $ERG1 | cut -d "." -f1) && zenity --info --text "Used data volume:\n\n`echo $ERG2` Kb" && killall zenity) &
sleep 45
rm /etc/resolv.conf
echo "nameserver `tail -30 /var/log/messages | grep DNS | sed -e '2d'| rev | cut -d " " -f1 | rev`" > /etc/resolv.conf
while [ "`ps -e | grep wvdial`" ]; do zenity --notification --window-icon=/usr/share/icons/gnome-illustrious/scalable/apps/application-x-remote-connection.svg --text "UMTS connection: activ; local IP: `ifconfig | grep P-t-P | tr " " "\n" | grep addr | cut -b 6-`; DNS: `cat /etc/resolv.conf`" && zenity --info --text "UMTS connection: activ; local IP: `ifconfig | grep P-t-P | tr " " "\n" | grep addr | cut -b 6-`; DNS: `cat /etc/resolv.conf`"; continue; done
else
TEL=$(zenity --title "UMTS connection" --entry --text "Insert telefonnumber or accept:" --entry-text *99#)
if [ -z "`echo $TEL`" ]; then
zenity --title "UMTS connection" --info --text "The script will finish now ..."
exit
fi
NETZ=$(zenity --title "UMTS connection" --entry --text "Please insert APN of the provider:")
if [ -z "`echo $NETZ`" ]; then
zenity --title "UMTS connection" --info --text "The script will finish now ..."
exit
fi
USER=$(zenity --title "UMTS connection" --entry --text "Please insert username:")
if [ -z "`echo $USER`" ]; then
zenity --title "UMTS connection" --info --text "The script will finish now ..."
exit
fi
PASSWD=$(zenity --title "UMTS connection" --entry --text "Please insert password:")
if [ -z "`echo $PASSWD`" ]; then
zenity --title "UMTS connection" --info --text "The script will finish now ..."
exit
fi
#
tac /etc/wvdial.conf | sed -e '1,4d' | tac > /tmp/wvdial.conf
echo "Init3 = AT+CGDCONT=1,\"IP\",\"`echo $NETZ`\"" >> /tmp/wvdial.conf
echo "Password = `echo $PASSWD`" >> /tmp/wvdial.conf
echo "Username = `echo $USER`" >> /tmp/wvdial.conf
echo "Phone = `echo $TEL`" >> /tmp/wvdial.conf
rm -f /etc/wvdial.conf
mv /tmp/wvdial.conf /etc/
sed -i "s:ttyACM:ttyUSB:" /etc/wvdial.conf
sed -i "s:rfcomm0:ttyUSB0:" /etc/wvdial.conf
(xterm -title "Please do NOT close this window during the connection ..." -e wvdial && ERG=$(echo "`tail /var/log/messages | grep Sent | tr " " "\n" | grep bytes -1 | sed -e '2,3d' | sed -e '2,3d'`+`tail /var/log/messages | grep Sent | tr " " "\n" | grep bytes -1 | sed -e '2,3d' | sed -e '1d' | sed -e '2d'`" | bc -l) && ERG1=$(echo "`echo $ERG`/1024" | bc -l) && ERG2=$(echo $ERG1 | cut -d "." -f1) && zenity --info --text "Used data volume:\n\n`echo $ERG2` Kb" && killall zenity) &
sleep 45
rm /etc/resolv.conf
echo "nameserver `tail -30 /var/log/messages | grep DNS | sed -e '2d'| rev | cut -d " " -f1 | rev`" > /etc/resolv.conf
while [ "`ps -e | grep wvdial`" ]; do zenity --notification --window-icon=/usr/share/icons/gnome-illustrious/scalable/apps/application-x-remote-connection.svg --text "UMTS connection: activ; local IP: `ifconfig | grep P-t-P | tr " " "\n" | grep addr | cut -b 6-`; DNS: `cat /etc/resolv.conf`" && zenity --info --text "UMTS connection: activ; local IP: `ifconfig | grep P-t-P | tr " " "\n" | grep addr | cut -b 6-`; DNS: `cat /etc/resolv.conf`"; continue; done
fi
killall zenity
fi
#
#
#
if [ "`echo $DEVICE`" = "Handy/PDA via USB connection" ]; then
if [ -z "`/bin/ls /dev/ttyUSB*`" -a -z "`/bin/ls /dev/ttyACM*`" ]; then
zenity --title "UMTS connection" --info --text "No UMTS modem available!\n\nThe script will finish now ..."
exit
fi
#
#
WAHL=$(zenity --title "UMTS connection" --list --radiolist --text "Use the last configuration?" --column Choice --column Action TRUE "Yes, use it." FALSE "No, configure a new one.")
#
if [ -z "`echo $WAHL`" ]; then
zenity --title "UMTS connection" --info --text "The script will finish now ..."
exit
fi
#
if [ "`echo $WAHL`" = "Yes, use it." ]; then
sed -i "s:ttyUSB:ttyACM:" /etc/wvdial.conf
sed -i "s:rfcomm0:ttyACM0:" /etc/wvdial.conf
export MAIN_DIALOG="
<window title=\"UMTS connection\">
<hbox>
<vbox>
<text>
<label>Preparing Handy/PDA for wvdial ...</label>
</text>
</vbox>
</hbox>
</window>"
{
sleep 4
killall gtkdialog
} | gtkdialog -c --program MAIN_DIALOG
(xterm -title "Please do NOT close this window during the connection ..." -e wvdial && ERG=$(echo "`tail /var/log/messages | grep Sent | tr " " "\n" | grep bytes -1 | sed -e '2,3d' | sed -e '2,3d'`+`tail /var/log/messages | grep Sent | tr " " "\n" | grep bytes -1 | sed -e '2,3d' | sed -e '1d' | sed -e '2d'`" | bc -l) && ERG1=$(echo "`echo $ERG`/1024" | bc -l) && ERG2=$(echo $ERG1 | cut -d "." -f1) && zenity --info --text "Used data volume:\n\n`echo $ERG2` Kb" && killall zenity) &
sleep 45
rm /etc/resolv.conf
echo "nameserver `tail -30 /var/log/messages | grep DNS | sed -e '2d'| rev | cut -d " " -f1 | rev`" > /etc/resolv.conf
while [ "`ps -e | grep wvdial`" ]; do zenity --notification --window-icon=/usr/share/icons/gnome-illustrious/scalable/apps/application-x-remote-connection.svg --text "UMTS connection: activ; local IP: `ifconfig | grep P-t-P | tr " " "\n" | grep addr | cut -b 6-`; DNS: `cat /etc/resolv.conf`" && zenity --info --text "UMTS connection: activ; local IP: `ifconfig | grep P-t-P | tr " " "\n" | grep addr | cut -b 6-`; DNS: `cat /etc/resolv.conf`"; continue; done
else
TEL=$(zenity --title "UMTS connection" --entry --text "Insert telefonnumber or accept:" --entry-text *99#)
if [ -z "`echo $TEL`" ]; then
zenity --title "UMTS connection" --info --text "The script will finish now ..."
exit
fi
NETZ=$(zenity --title "UMTS connection" --entry --text "Please insert APN of the provider:")
if [ -z "`echo $NETZ`" ]; then
zenity --title "UMTS connection" --info --text "The script will finish now ..."
exit
fi
USER=$(zenity --title "UMTS connection" --entry --text "Please insert username:")
if [ -z "`echo $USER`" ]; then
zenity --title "UMTS connection" --info --text "The script will finish now ..."
exit
fi
PASSWD=$(zenity --title "UMTS connection" --entry --text "Please insert password:")
if [ -z "`echo $PASSWD`" ]; then
zenity --title "UMTS connection" --info --text "The script will finish now ..."
exit
fi
#
tac /etc/wvdial.conf | sed -e '1,4d' | tac > /tmp/wvdial.conf
echo "Init3 = AT+CGDCONT=1,\"IP\",\"`echo $NETZ`\"" >> /tmp/wvdial.conf
echo "Password = `echo $PASSWD`" >> /tmp/wvdial.conf
echo "Username = `echo $USER`" >> /tmp/wvdial.conf
echo "Phone = `echo $TEL`" >> /tmp/wvdial.conf
rm -f /etc/wvdial.conf
mv /tmp/wvdial.conf /etc/
sed -i "s:ttyUSB:ttyACM:" /etc/wvdial.conf
sed -i "s:rfcomm0:ttyACM0:" /etc/wvdial.conf
(xterm -title "Please do NOT close this window during the connection ..." -e wvdial && ERG=$(echo "`tail /var/log/messages | grep Sent | tr " " "\n" | grep bytes -1 | sed -e '2,3d' | sed -e '2,3d'`+`tail /var/log/messages | grep Sent | tr " " "\n" | grep bytes -1 | sed -e '2,3d' | sed -e '1d' | sed -e '2d'`" | bc -l) && ERG1=$(echo "`echo $ERG`/1024" | bc -l) && ERG2=$(echo $ERG1 | cut -d "." -f1) && zenity --info --text "Used data volume:\n\n`echo $ERG2` Kb" && killall zenity) &
sleep 45
rm /etc/resolv.conf
echo "nameserver `tail -30 /var/log/messages | grep DNS | sed -e '2d'| rev | cut -d " " -f1 | rev`" > /etc/resolv.conf
while [ "`ps -e | grep wvdial`" ]; do zenity --notification --window-icon=/usr/share/icons/gnome-illustrious/scalable/apps/application-x-remote-connection.svg --text "UMTS connection: activ; local IP: `ifconfig | grep P-t-P | tr " " "\n" | grep addr | cut -b 6-`; DNS: `cat /etc/resolv.conf`" && zenity --info --text "UMTS connection: activ; local IP: `ifconfig | grep P-t-P | tr " " "\n" | grep addr | cut -b 6-`; DNS: `cat /etc/resolv.conf`"; continue; done
fi
killall zenity
fi
#
#
#
if [ "`echo $DEVICE`" = "Handy/PDA via bluetooth" ]; then
zenity --title "UMTS connection" --info --text "Some handies must be paired with the pc before this script will work, just try it!\n\nPair the handy with the pc and make the pc known in the handy as allowed device ..."
#
if [ "`hcitool dev | awk '{ print $2 $3 }'`" = "" ]; then
zenity --title "UMTS connection" --info --text "No bluetooth device available!\n\nThe script will finish now!"
/etc/rc.d/rc.bluetooth stop
/etc/rc.d/rc.bluetooth start
exit
fi
#
#
OLD=$(cat /etc/bluetooth/hcid.conf | grep passkey | cut -d " " -f2 | sed -e 's/\";//' -e 's/\"//')
PIN=$(zenity --title "UMTS connection" --entry --text "The actual PIN of the pc is `echo $OLD`. It can be changed now:" --entry-text `echo $OLD`)
echo $PIN > /etc/bluetooth/passkeys/default
if [ -z "`echo $PIN`" ]; then
/etc/rc.d/rc.bluetooth stop
/etc/rc.d/rc.bluetooth start
exit
fi
sed -i "s/`echo $OLD`/`echo $PIN`/" /etc/bluetooth/hcid.conf
zenity --title "UMTS connection" --info --text "The actual PIN of the pc is `echo $PIN`!"
#
#
zenity --title "UMTS connection" --progress --text "Scanning for bluetooth devices in range ..." --pulsate --auto-close &
hcitool scan > ERG
EMPF=`cat ERG | sed -e '1d' -e 's/ //g'`
rm -f ERG
killall zenity
#
if [ "`echo $EMPF | awk '{ print $1 }'`" = "" ]; then
zenity --title "UMTS connection" --info --text "No bluetooth devices in range!\n\nThe script will finish now!"
/etc/rc.d/rc.bluetooth stop
/etc/rc.d/rc.bluetooth start
exit
fi
#
EMPFWAHL=$(zenity --title "UMTS connection" --list --radiolist --text "Choose the bluetooth device:" --column Choice --column Device TRUE "`echo $EMPF | cut -d " " -f1,2`" FALSE "`echo $EMPF | cut -d " " -f3,4`" FALSE "`echo $EMPF | cut -d " " -f5,6`")
if [ -z "`echo $EMPFWAHL`" ]; then
/etc/rc.d/rc.bluetooth stop
/etc/rc.d/rc.bluetooth start
exit
fi
#
#
KANAL=$(sdptool search dun | grep -i "`echo $EMPFWAHL | cut -d " " -f1`" -A 9 | grep Channel | cut -d ":" -f2 | sed -e 's: ::g')
rfcomm connect 0 "`echo $EMPFWAHL | cut -d " " -f1`" "`echo $KANAL`" &
#
#
WAHL=$(zenity --title "UMTS connection" --list --radiolist --text "Use the last configuration?" --column Choice --column Action TRUE "Yes, use it." FALSE "No, configure a new one.")
#
if [ -z "`echo $WAHL`" ]; then
zenity --title "UMTS connection" --info --text "The script will finish now ..."
exit
fi
#
if [ "`echo $WAHL`" = "Yes, use it." ]; then
sed -i "s:ttyUSB0:rfcomm0:" /etc/wvdial.conf
sed -i "s:ttyACM0:rfcomm0:" /etc/wvdial.conf
export MAIN_DIALOG="
<window title=\"UMTS connection\">
<hbox>
<vbox>
<text>
<label>Preparing Handy/PDA for wvdial ...</label>
</text>
</vbox>
</hbox>
</window>"
{
sleep 30
killall gtkdialog
} | gtkdialog -c --program MAIN_DIALOG
(xterm -title "Please do NOT close this window during the connection ..." -e wvdial && ERG=$(echo "`tail /var/log/messages | grep Sent | tr " " "\n" | grep bytes -1 | sed -e '2,3d' | sed -e '2,3d'`+`tail /var/log/messages | grep Sent | tr " " "\n" | grep bytes -1 | sed -e '2,3d' | sed -e '1d' | sed -e '2d'`" | bc -l) && ERG1=$(echo "`echo $ERG`/1024" | bc -l) && ERG2=$(echo $ERG1 | cut -d "." -f1) && zenity --info --text "Used data volume:\n\n`echo $ERG2` Kb" && killall zenity) &
#sleep 30 && tail /var/log/messages | grep DNS | sed 's/ primary  //' | sed 's/ secondary//' \ | cut -d" " -f8 | while read line; do echo "nameserver $line" > /etc/resolv.conf; done
sleep 45
rm /etc/resolv.conf
echo "nameserver `tail -30 /var/log/messages | grep DNS | sed -e '2d'| rev | cut -d " " -f1 | rev`" > /etc/resolv.conf
while [ "`ps -e | grep wvdial`" ]; do zenity --notification --window-icon=/usr/share/icons/gnome-illustrious/scalable/apps/application-x-remote-connection.svg --text "UMTS connection: activ; local IP: `ifconfig | grep P-t-P | tr " " "\n" | grep addr | cut -b 6-`; DNS: `cat /etc/resolv.conf`" && zenity --info --text "UMTS connection: activ; local IP: `ifconfig | grep P-t-P | tr " " "\n" | grep addr | cut -b 6-`; DNS: `cat /etc/resolv.conf`"; continue; done
else
TEL=$(zenity --title "UMTS connection" --entry --text "Insert telefonnumber or accept:" --entry-text *99#)
if [ -z "`echo $TEL`" ]; then
zenity --title "UMTS connection" --info --text "The script will finish now ..."
exit
fi
NETZ=$(zenity --title "UMTS connection" --entry --text "Please insert APN of the provider:")
if [ -z "`echo $NETZ`" ]; then
zenity --title "UMTS connection" --info --text "The script will finish now ..."
exit
fi
USER=$(zenity --title "UMTS connection" --entry --text "Please insert username:")
if [ -z "`echo $USER`" ]; then
zenity --title "UMTS connection" --info --text "The script will finish now ..."
exit
fi
PASSWD=$(zenity --title "UMTS connection" --entry --text "Please insert password:")
if [ -z "`echo $PASSWD`" ]; then
zenity --title "UMTS connection" --info --text "The script will finish now ..."
exit
fi
#
tac /etc/wvdial.conf | sed -e '1,4d' | tac > /tmp/wvdial.conf
echo "Init3 = AT+CGDCONT=1,\"IP\",\"`echo $NETZ`\"" >> /tmp/wvdial.conf
echo "Password = `echo $PASSWD`" >> /tmp/wvdial.conf
echo "Username = `echo $USER`" >> /tmp/wvdial.conf
echo "Phone = `echo $TEL`" >> /tmp/wvdial.conf
rm -f /etc/wvdial.conf
mv /tmp/wvdial.conf /etc/
sed -i "s:ttyUSB0:rfcomm0:" /etc/wvdial.conf
sed -i "s:ttyACM0:rfcomm0:" /etc/wvdial.conf
(xterm -title "Please do NOT close this window during the connection ..." -e wvdial && ERG=$(echo "`tail /var/log/messages | grep Sent | tr " " "\n" | grep bytes -1 | sed -e '2,3d' | sed -e '2,3d'`+`tail /var/log/messages | grep Sent | tr " " "\n" | grep bytes -1 | sed -e '2,3d' | sed -e '1d' | sed -e '2d'`" | bc -l) && ERG1=$(echo "`echo $ERG`/1024" | bc -l) && ERG2=$(echo $ERG1 | cut -d "." -f1) && zenity --info --text "Used data volume:\n\n`echo $ERG2` Kb" && killall zenity) &
#sleep 30 && tail /var/log/messages | grep DNS | sed 's/ primary  //' | sed 's/ secondary//' \ | cut -d" " -f8 | while read line; do echo "nameserver $line" > /etc/resolv.conf; done
sleep 45
rm /etc/resolv.conf
echo "nameserver `tail -30 /var/log/messages | grep DNS | sed -e '2d'| rev | cut -d " " -f1 | rev`" > /etc/resolv.conf
while [ "`ps -e | grep wvdial`" ]; do zenity --notification --window-icon=/usr/share/icons/gnome-illustrious/scalable/apps/application-x-remote-connection.svg --text "UMTS connection: activ; local IP: `ifconfig | grep P-t-P | tr " " "\n" | grep addr | cut -b 6-`; DNS: `cat /etc/resolv.conf`" && zenity --info --text "UMTS connection: activ; local IP: `ifconfig | grep P-t-P | tr " " "\n" | grep addr | cut -b 6-`; DNS: `cat /etc/resolv.conf`"; continue; done
fi
killall zenity
rfcomm release "`echo $EMPFWAHL | cut -d " " -f1`" "`echo $KANAL`"
fi
#


Nyní přidáme skriptu /usr/local/bin/umts-connect atribut X (executable - spustitelný)

chmod a+x /usr/local/bin/umts-connect

a spustíme příkaz

ldconfig

(příkaz vytváří potřebné odkazy a "kešuje" poslední nalezené sdílené knihovny specifikované v příkazové řádce, v souboru /etc/ld.so.conf a důvěryhodných adresářích /lib a /usr/lib - více ...)

Poté vymažem soubor /etc/resolv.conf a vytvoříme zde link na soubor /etc/ppp/resolv.conf.

rm /etc/resolv.conf
ln -s /etc/ppp/resolv.conf /etc/resolv.conf


Do souborů /etc/usb_modeswitch.conf a /etc/usb_modeswitch.setup zapíšeme následující nastavení týkající se modemu Huawei K3765. Tyto informace je možné získat na stránkách utility usb_modeswitch.

##
# Huawei K3765
#
# Contributor: Felix Schwarz
DefaultVendor=  0x12d1
DefaultProduct= 0x1520
TargetVendor=   0x12d1
TargetProduct=  0x1465
MessageContent="55534243123456780000000000000011060000000000000000000000000000"


Teď máme počítač nastaven a provedeme jeho restart.



Připojení k Internetu

Vlastní použití výše připraveného připojení je již mnohem jednodušší. Pod právy roota spustíte skript /usr/local/bin/umts-connect

sudo /usr/local/bin/umts-connect

Objeví se před vámi dialog s možností volby připojení pomocí UMTS modemu nebo mobilního telefonu. My ponecháme první volbu (UMTS modem) a pouze potvrdíme tlačítkem OK.

screen01.jpg


Poté budete vyzváni k zadání PINu SIM karty uložené v modemu. Pokud máte PIN zrušen tak jako já, nechte pole prázdné a pouze potvrďte tlačítkem OK.

screen02.jpg


Následně je vám nabídnuta volba "nastavit připojení" nebo "pokračovat dál", je-li již připojení nastaveno. Vyberete-li volbu "nastavení", je po vás vyžadováno zadání telefonního čísla, APN, jména a hesla. Pro připojení přes Vodafone jsou hodnoty následující.

  • Telefonní číslo: *99#
  • APN: internet
  • Jméno: vodafone
  • Heslo: vodafone

My jsme již připojení nastavili (viz. soubor /etc/wvdial.conf).

screen03.jpg


Tím dotazování uživatele končí a objeví se černá obrazovka s výpisem o průběhu připojování.

screen04.jpg

screen05.jpg


Dole v panelu se objeví ikonka o stavu připojení (IP adresa, DNS ...).

screen06_1.jpg

screen07.jpg



Závěrem:

Tento postup je jeden ze způsobů připojení k Internetu pro SalixOS nebo Slackware s Xfce. Jiná GUI mohou nabízet pohodlnější možnosti. Příkladem mohou být KDE s utilitou kppp nebo GNOME s gnome-ppp.

Pokoušel jsem se dané připojení zprovoznit pomocí Network Managera, ale nepovedlo se a na Internetu jsem postup k tomu nenašel :-(

To nejdůležitější se  ale povedlo a to "být připojen". Díky všem za každou radu a snahu mi pomoci.



Diskuze (2) Nahoru