Nokia E71 Üzerinden Ubuntu’yu İnternete Çıkarmak
28 Ekim 2008Medeniyetten uzak yerlerde ancak GSM operatörümüzün kapsama alanı dahilinde internet erişimi ihtiyacımız olabilmekte. Her ne kadar Nokia E71 ile internetten yararlanmamızı sağlayan birçok araç (WEB, E-posta, FTP, SSH, RDP erişimi için çeşitli uygulamalar mevcut) bulunsa da 320×240 çözünürlüğündeki bir ekrandan kullanımın konforu ile bir dizüstü bilgisayarın ekranındaki kullanım konforu karşılaştırılabilecek durumda bile değil. Hatta bazen OpenVPN gibi Nokia E71 üzerinde bulamayacağınız bazı araçları çalıştırma ihtiyacı da duyulabilir. Bu nedenle Nokia E71 üzerinden Ubuntu GNU/Linux dağıtımı koşturan dizüstü bilgisayarımı internete çıkarma ihtiyacı ile sık sık karşılaşmaktayım. Bunun nasıl yapıldığını öğrenmek için yazının devamını okumanızı öneririm.
Nokia E71’de bekleme durumunda giriş ekranında iken *#2820# tuşlayarak Nokia E71’in bluetooth donanım adresini öğrenin ve bir yere not edin.
Ubuntu üzerinde /etc/bluetooth/rfcomm.conf dosyasına aşağıdaki gibi bir satırlar bloğu ekleyin:
rfcomm0 { bind yes; device 00:21:FE:5F:A1:63; channel 4; comment "E71"; }
Burada dikkat edilmesi gereken nokta, device ile belirtilen bluetooth donanım adresinin telefondan alınan adres bilgisi ile aynı olması, channel’ın mutlaka 4 olması ve bind’ın yes olmasıdır. Özellikle channel değeri 4 olmak zorunda. E71’i geliştirenler channel’ları farklı amaçlara göre bölmüşler. Bluetooth kulaklık etkin iken, internet bağlantısı için gerekli olan seri arayüz (ing. serial interface) hizmetini de aynı bluetooth üstünden aynı anda sunmanın yolu farklı channel kullanımından geçiyor. 4 numaralı channel’ın seri arayüz amacına yönelik olduğunu deneme yanılma ile keşfettim. Eğer bu dosyada rfcomm0 zaten başka bir cihaz için kullanılmış ise rfcomm1’i veya sıra numarasına göre uygun olan bir tanesini kullanabilirsiniz.
Bu işlemden sonra Ubuntu’nun bluetooth hizmetlerini yeniden başlatılması gerekmekte:
# /etc/init.d/bluetooth restart
Nokia E71 üzerindeki bluetooth açık hale getirilir getirilmez Ubuntu üzerinde /dev/rfcomm0 adındaki aygıt kullanılabilir duruma gelecektir. Bu aygıt AT Hayes komut kümesi uyumlu GPRS/EDGE modemdir.
Ubuntu’da sistem tepsisinde (ing. system tray) yer alan ağ bağlantıları (Network Manager Applet / nm-applet) üzerine farenin sol düğmesi ile tıklayınız. Açılan menüden “Manual Configuration”a tıklayınız. Açılan “Network Settings” penceresindeki unlock düğmesine tıklayarak oturum açma şifrenizi giriniz. Bu aşamadan sonra Network Settings penceresindeki bileşenler etkin duruma geleceklerdir.
Connections sekmesinde yer alan “Point to Point connection”a tıklayarak seçiniz ve Properties düğmesine tıklayınız. “ppp0 Properties” adında yeni bir pencere açılacak. Bu pencereden “Connection type:” kısmında “GPRS/UMTS” seçiniz, “Access point name:” kısmına “internet” yazınız, username ve password alanlarını da olduğu gibi bırakınız. Modem sekmesine geçiniz ve “Modem port:” kısmına “/dev/rfcomm0” yazınız ve OK düğmesine tıklayarak “ppp0 Properties” penceresini kapatınız.
“Network Settings” penceresindeki “Close” düğmesine tıklayarak “Network Settings” penceresini kapatınız.
Bu ayarlamadan sonraki normal kullanımda GRPS/EDGE ile ağ bağlantısı kurmak için sistem tepsisindeki ağ simgesine sol fare düğmesi ile bir kez tıklayınız, çıkan menüden “Dial-Up Connections” alt menüsünü açınız ve “Connect to ppp0 via Modem…” tıklayınız (Nokia E71 üzerinde bluetooth açık vaziyette olmalı). Bağlantıyı kesmek için de hemen altında yer alan “Disconnect from ppp0 via Modem…” tıklayınız.
Komut satırında bağlantının kurulup kurulamadığını “ifconfig ppp0” komutu ile takip edebilirsiniz. Bağlantı kurulduğunda ppp0 ağ arayüzü bulunabilecek ve IP yapılandırması aşağıdaki gibi görüntülenebilecektir. Bağlantı kurulmadıysa ppp0 ağ arayüzü bulunamayacaktır.
sezay@zmey:~$ ifconfig ppp0 ppp0: error fetching interface information: Device not found sezay@zmey:~$ ifconfig ppp0 ppp0: error fetching interface information: Device not found sezay@zmey:~$ ifconfig ppp0 ppp0 Link encap:Point-to-Point Protocol inet addr:213.43.76.137 P-t-P:10.6.6.6 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:6 errors:1 dropped:0 overruns:0 frame:0 TX packets:7 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:60 (60.0 B) TX bytes:81 (81.0 B)
Bir de “netstat -nr” ile ön tanımlı ağ geçidinin ppp0 aygıtına ilişkilendirilmiş olan ağ geçidi olup olmadığını kontrol ediniz. Destination 0.0.0.0 varsayılan ağ geçidini temsil etmektedir.
sezay@zmey:~$ netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 10.6.6.6 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
Ayrıca /var/log/messages altındaki loglarda ayrıntılı olarak bağlantı kurulma girişimi ve durumu hakkındaki kayıtları takip edebilirsiniz.
sezay@zmey:~$ tail -20 /var/log/messages Oct 27 13:02:07 zmey chat[8825]: expect (OK) Oct 27 13:02:07 zmey chat[8825]: ^M Oct 27 13:02:08 zmey chat[8825]: AT+CGATT=1^M^M Oct 27 13:02:08 zmey chat[8825]: OK Oct 27 13:02:08 zmey chat[8825]: -- got it Oct 27 13:02:08 zmey chat[8825]: send (AT+CGDCONT=1,"IP","internet"^M) Oct 27 13:02:08 zmey chat[8825]: expect (OK) Oct 27 13:02:08 zmey chat[8825]: ^M Oct 27 13:02:08 zmey chat[8825]: AT+CGDCONT=1,"IP","internet"^M^M Oct 27 13:02:08 zmey chat[8825]: OK Oct 27 13:02:08 zmey chat[8825]: -- got it Oct 27 13:02:08 zmey chat[8825]: send (ATDT*99***1#^M) Oct 27 13:02:09 zmey pppd[8780]: Serial connection established. Oct 27 13:02:09 zmey pppd[8780]: Using interface ppp0 Oct 27 13:02:09 zmey pppd[8780]: Connect: ppp0 <--> /dev/rfcomm0 Oct 27 13:02:09 zmey pppd[8780]: PAP authentication succeeded Oct 27 13:02:09 zmey kernel: [ 178.778319] PPP BSD Compression module registered Oct 27 13:02:09 zmey kernel: [ 178.840660] PPP Deflate Compression module registered Oct 27 13:02:10 zmey pppd[8780]: local IP address 213.43.76.137 Oct 27 13:02:10 zmey pppd[8780]: remote IP address 10.6.6.6
Bu yöntemle kurulan bağlantıda DNS sunucu bilgileri otomatik olarak kurulmuyor. /etc/resolv.conf dosyası içine “nameserver 193.140.216.203” gibi herkesçe erişilebilir bir DNS sunucu IP’si yazmayı unutmayınız. En doğrusu GSM operatörünün sağladığı DNS IP’lerini kullanmaktır. Ancak loglarda DNS sunucu tanımlamasını görmek mümkün değil. Belki bir windows bilgisayar ile aynı GSM operatörü üzerinden GPRS bağlantısı kurmuş olan bir arkadaşınızdan DNS yapılandırmasına göz atarak ilgili GSM operatörünün DNS IP adreslerini alıyor olabilirsiniz.
Yukarıdaki tariflerde önemli olan bluetooth üstünden Nokia E71’in /dev/rfcomm0 olarak Linux’e gösterilmesiydi. Bu aşamayı başardıktan sonra bağlantıyı kurmak amacıyla ppp0 ağ arayüzünü ayağa kaldırmak için kppp, wvdial gibi araçlar da kullanılabilir. Turkcell GSM operatörü ve Nokia E71 ile yapmış olduğum bu tür bağlantılarda azami olarak 236 kbps bağlantı hızı elde edebildim. Bu da EDGE’in GPRS’ten 5-6 kat daha hızlı veri bağlantısı sağladığı anlamına geliyor. Ülkemizde 3G hizmete girebilirse 3.5 mbps’a kadar bağlantı hızlarını GSM operatörleri üzerinden gerçekleştirebiliyor olacağız. Ancak şimdilik 236 kbps gibi hızlara şükretmekten başka seçeneğimiz yok.
Etiketler: /dev/rfcomm0, AT Hayes, bluetooth, dns, E71, edge, gprs, gsm, internet, kppp, modem, network manager, nokia, Nokia E71, ppp0, rfcomm, route, serial, ubuntu, wvdial