Instalacja modemu Option Icon 225 w abonamencie plusa z Hardym na pokładzie

Czy HowTo pomogło?

Tylko zamieszałeś. Nie wiem, co robić dalej.
1
14%
Tylko zamieszałeś. Nie wiem, co robić dalej.
0
Brak głosów
Tylko zamieszałeś. Nie wiem, co robić dalej.
1
14%
Tylko zamieszałeś. Nie wiem, co robić dalej.
1
14%
Tylko zamieszałeś. Nie wiem, co robić dalej.
4
57%
 
Liczba głosów: 7
alfar
Piegowaty Guziec
Piegowaty Guziec
Posty: 2
Rejestracja: 14 lut 2007, 08:48
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Kontakt:

Instalacja modemu Option Icon 225 w abonamencie plusa z Hardym na pokładzie

Post autor: alfar » 22 wrz 2008, 14:24

I. Uwagi wstępne:
1. Byłoby lepiej, abyś wyłączył/a pytanie o pin w karcie sim używając do tego komórki. W ten sposób będzie nieco łatwiej uzyskać połączenie.

II. Zaczynamy:
1. Pobierz sterownik hso-1.6.tar.gz ze strony http://www.pharscape.org/component/opti ... pic/t,544/
i zapisz go do Twojego folderu domowego, w moim przypadku był to folder /home/mateusz.

2. Pobierz archiwum hso-udev.tar.gz ze strony http://www.pharscape.org/component/opti ... pic/t,425/
i zapisz je do folderu /home/twoj_login/hso-udev (oczywiście utwórz folder hso-udev, zanim zapiszesz w nim archiwum).

3. Otwórz terminal.

4. Rozpakuj oba archiwa:

cd ~
tar xzvf hso-1.5.tar.gz
cd ~/hso-udev
tar xzvf hso-udev.tar.gz

5. Skompiluj i zainstaluj sterownik hso:

cd ~/hso_26
make
sudo make install

6. Skompiluj i zainstaluj reguły udev do modemu:

cd ~/hso-udev
rm rezero
make
sudo make install
Podłącz modem do usb.

7. Utwórz skrypt automatycznego startu usługi iplus przy uruchamianiu systemu:
sudo touch /etc/init.d/iplus
sudo chmod +x /etc/init.d/iplus

8. Otwórz pusty skrypt poleceniem:

sudo gedit /etc/init.d/iplus &

i wklej do niego poniższe komendy:

Kod: Zaznacz cały

#!/bin/sh

#################################################################################################
#	Script: hso_connect.sh
#	Purpose:Bring the interface up and down, send the needed AT commands to connect
#################################################################################################

# checking for root
USERID=`id -u`
if [ "$USERID" != "0" ]
then
	echo "Need root permissions to run this script"
	exit
fi

# always start with checking if a connection data file has been supplied
CONNECTIONFILE="/etc/ppp/conninfo.ini"
if [ -z "$2" ]
then
	if [ ! -f $CONNECTIONFILE ]
	then
		echo "# this file contains the connection information for your subscription" >> $CONNECTIONFILE
		echo "APN=web.pro.be" >> $CONNECTIONFILE
		echo "# USER=" >> $CONNECTIONFILE
		echo "# PASS=" >> $CONNECTIONFILE
		echo "# PIN=" >> $CONNECTIONFILE
	fi
else
	if [ -f $2 ]
	then
		CONNECTIONFILE=$2
	else
		echo "Supplied file $2 does not exist"
		exit 1
	fi
fi
DEVICE=/dev/ttyHS0
NETDEV=hso0
TMPFIL=/tmp/connect.$$
OUTPUTFILE=/tmp/output.$$
SCRIPTFILE=/tmp/scriptfile.$$

#################################################################################################
#	METHOD:	Connect
#	PURPOSE:Connect to the specified APN with the specified user and pass and get the ip
#		set the IP to the interface
#################################################################################################
Connect()
{
	echo "Initializing..."

	#============================================================
	# get the APN, USER, PASS and PIN out of the connection file
	#============================================================
	APN=`grep '^APN=' $CONNECTIONFILE | cut -d= -f2`
	USER=`grep '^USER=' $CONNECTIONFILE | cut -d= -f2`
	PASS=`grep '^PASS=' $CONNECTIONFILE | cut -d= -f2`
	PIN=`grep '^PIN=' $CONNECTIONFILE | cut -d= -f2`
	if [ -z "$APN" ]
	then
		echo "Please provide an APN (eg web.pro.be)"
		exit
	fi

	#============================================================
	# send the PIN, APN, USER and PASS
	#============================================================
	rm -f $SCRIPTFILE
	echo "ABORT ERROR" > $SCRIPTFILE
	echo "TIMEOUT 10" >> $SCRIPTFILE
	echo "\"\" ATZ" >> $SCRIPTFILE
	if [ -n "$PIN" ]
	then
		echo "OK \"AT+CPIN=\\\"$PIN\\\"^m\"" >> $SCRIPTFILE
	fi
	echo "OK \"AT+COPS=0^m\"" >> $SCRIPTFILE
	echo "OK \"\d\d\d\d\d\d\dAT+COPS=?^m\"" >> $SCRIPTFILE
	echo "OK \"AT+CGDCONT=1,,\\\"$APN\\\"^m\"" >> $SCRIPTFILE
	if [ -n "$USER" -a -n "$PASS" ]
	then
		echo "OK \"AT\$QCPDPP=1,1,\\\"$PASS\\\",\\\"$USER\\\"^m\"" >> $SCRIPTFILE
	fi
	echo "OK \"\"" >> $SCRIPTFILE

	#============================================================
	# run the script
	#============================================================
	echo "Trying $APN ..."
	rm -f $OUTPUTFILE
	( /usr/sbin/chat -E -s -V -f $SCRIPTFILE <$DEVICE >$DEVICE ) 2> $OUTPUTFILE
	ISERROR="`grep '^ERROR' $OUTPUTFILE`"
	if [ -n "$ISERROR" ]
	then
		echo "Failed to initialize connection"
		cat $OUTPUTFILE
		echo " "
		rm -f $OUTPUTFILE
		exit
	fi
	ISERROR="`grep '^+CME' $OUTPUTFILE`"
	if [ -n "$ISERROR" ]
	then
		echo "Failed to initialize connection"
		cat $OUTPUTFILE
		echo " "
		rm -f $OUTPUTFILE
		exit
	fi
	rm -f $SCRIPTFILE
	sleep 2

	#============================================================
	# now actually connect
	#============================================================
	echo "Connecting..."
	stty 19200 -tostop

	# make the call script
	echo "ABORT ERROR" > $SCRIPTFILE
	echo "TIMEOUT 10" >> $SCRIPTFILE
	echo "\"\" ATZ" >> $SCRIPTFILE
	echo "OK \"AT_OWANCALL=1,1,0^m\"" >> $SCRIPTFILE
	echo "OK \"\d\d\d\d\dAT_OWANDATA=1^m\"" >> $SCRIPTFILE
	echo "OK \"\"" >> $SCRIPTFILE
	
	PIP=""
	COUNTER=""
	while [ -z "$PIP" -a "$COUNTER" != "-----" ]
	do
		echo "trying$COUNTER"
		sleep 2
		rm -f $OUTPUTFILE
		( /usr/sbin/chat -E -s -V -f $SCRIPTFILE <$DEVICE > $DEVICE ) 2> $OUTPUTFILE
		ISERROR=`grep '^ERROR' $OUTPUTFILE`
		if [ -z "$ISERROR" ]
		then
			PIP="`grep '^_OWANDATA' $OUTPUTFILE | cut -d, -f2`"
			NS1="`grep '^_OWANDATA' $OUTPUTFILE | cut -d, -f4`"
			NS2="`grep '^_OWANDATA' $OUTPUTFILE | cut -d, -f5`"
		fi

		COUNTER="${COUNTER}-"
	done

	echo Connected

	#============================================================
	# always check the IP address
	#============================================================
	if [ -z "$PIP" ]
	then
		echo "We did not get an IP address from the provider, bailing ..."
		cat $OUTPUTFILE
		rm -f $OUTPUTFILE
		exit
	fi
	rm -f $OUTPUTFILE

	#============================================================
	# setting network settings
	#============================================================
	echo "Setting IP address to $PIP"
	ifconfig $NETDEV $PIP netmask 255.255.255.255 up
	echo "Adding route"
	route add default dev $NETDEV
	mv -f /etc/resolv.conf /tmp/resolv.conf.hso
	echo "Setting nameserver"
	echo "nameserver	$NS1" > $OUTPUTFILE
	echo "nameserver	$NS2" >> $OUTPUTFILE
	mv $OUTPUTFILE /etc/resolv.conf

	echo "Done."
}

#################################################################################################
#	METHOD:	Disconnect
#	PURPOSE:disconnect from the providers network
#################################################################################################
Disconnect()
{
	echo "Bringing interface down..."
	ifconfig $NETDEV down

	echo "Disconnecting..."

	# make the disconnect script
	rm -f $SCRIPTFILE
	echo "TIMEOUT 10" >> $SCRIPTFILE
	echo "ABORT ERROR" >> $SCRIPTFILE
	echo "\"\" ATZ" >> $SCRIPTFILE
	echo "OK \"AT_OWANCALL=1,0,0^m\"" >> $SCRIPTFILE
	echo "OK \"\"" >> $SCRIPTFILE

	#============================================================
	# run the script
	#============================================================
	/usr/sbin/chat -V -f $SCRIPTFILE <$DEVICE >$DEVICE 2> /dev/null
	if [ -f /tmp/resolv.conf.hso ]
	then
		echo "Reset nameserver..."
		mv -f /tmp/resolv.conf.hso /etc/resolv.conf
	fi
	echo "Done."
}

#################################################################################################
#	METHOD:	usage
#	PURPOSE:
#################################################################################################
usage()
{
	echo Usage: $0 \(start\|stop\|restart\)
}

#################################################################################################
# Choose your action
#################################################################################################
case "$1" in
	start)
		Connect
		;;
	stop)
		Disconnect
		;;
	restart)
		Disconnect
		Connect
		;;
	*)
		usage
		;;
esac
9. Zapisz zmiany klikając Plik -> Zapisz.

10. Utwórz plik conninfo.ini, w którym wpiszesz dane dotyczące Twojego dostawcy, pin, itd.:

sudo touch /etc/ppp/conninfo.ini
sudo chmod 755 /etc/ppp/conninfo.ini

11. Otwórz ten plik w celu wpisania niezbędnych do połączenia danych:

sudo gedit /etc/ppp/conninfo.ini &

12. Jeśli masz iplusa i wyłączone pytanie o pin, wpisz do pliku:

Kod: Zaznacz cały

APN=www.plusgsm.pl
13. Jeśli masz iplusa i włączone pytanie o pin, Twój plik conninfo.ini powinien wyglądać następująco:

Kod: Zaznacz cały

APN=www.plusgsm.pl
PIN=1234
(zamień 1234 na Twój pin)

14. Poinformuj system, by uruchamiał usługę przy włączaniu systemu:

sudo update-rc.d iplus defaults 20

To wszystko. Po reboocie iplus powinien uruchomić się automatycznie.

III. Uwagi końcowe:

1. W analogiczny sposób (aczkolwiek nie sprawdzałem) można próbować uruchomić modem u innych operatorów, np. w Erze lub Orange modyfikując zawartość pliku conninfo.ini
Dla Ery APN=erainternet
Dla Orange APN=internet
Dla Play APN=internet
Po więcej tego typu informacji odsyłam do strony: http://www.bez-kabli.pl/viewtopic.php?p=81956#81956

2. Możliwe, że podczas kompilacji coś się wywali, wówaczas może pomóc doinstalowanie paczki build-essential oraz nagłówków do jądra. W konsoli wpisz:

sudo apt-get install build-essential linux-headers-`uname -r`

3. Jeśli nie możesz poradzić sobie z powyższym sposobem, spróbuj zupełnie inaczej. Będzie to proste i przejrzyste graficznego rozwiązanie, niezależne od ww.:

Pobierz dwie paczki i zapisz je do folderu domowego:
http://www.pharscape.org/index2.php?opt ... load&id=38
http://www.pharscape.org/index2.php?opt ... load&id=50
Otwórz terminal i wpisz kolejno:

cd ~
sudo dpkg -i *.deb

W menu Aplikacje -> Internet powinna być aplikacja HSOconnect. Otwórz ją. Jeśli program poprosi o wpisanie pinu podaj go a następnie kliknij Connect, aby się połączyć. Po chwili połączenie powinno być ustalone. Czasami program dostaje zawiechy, więc odczekaj chwilę i spróbuj znów się połączyć klikając Connect. Teraz sprawdź czy masz neta.
ODPOWIEDZ

Wróć do „Software-Sieć”