Bluetooth Cep Telefonları Ve Debian

Debian Türkiye sitesinden

Melen (Mesaj | katkılar) tarafından oluşturulmuş 12:20, 14 Mayıs 2008 tarihli sürüm (Yeni sayfa: Bu yazıda 2.6.x kernel versiyonları ve debian dağıtımı üzerinde bluetooth destekli cep telefonlarının nasıl bilgisayarla bağlanacağı ve kontrol edileceği anlatılacaktır. ...)

(fark) ← Önceki hâli | en güncel halini göster (fark) | Sonraki hâli → (fark)

Bu yazıda 2.6.x kernel versiyonları ve debian dağıtımı üzerinde bluetooth destekli cep telefonlarının nasıl bilgisayarla bağlanacağı ve kontrol edileceği anlatılacaktır.

Bu yazı kendi derlediğim 2.6.9-canavar kerneli flexy usb bluetooth adaptörü ve nokia 6230 kullanılarak hazırlanmıştır ama tahminimce bluetooth desteği olan telefonların çoğuyla aynı şekilde çalışır.

Bluetooth desteği : Öncelikle debian 'ın bluetooth adaptörü ile iletişim kurabilmesi için kernelde gereken modullerin yüklenmiş olması lazım. Debian'ın öntanımlı gelen 2.6 çekirdeklerinde bu destek var. Ama eğer benim gözden kaçırdığım bir versiyon varsa ya da kendi derlediğiniz kerneli kullanıyorsanız /boot/config-2.6.'kernel-surumu' dosyasını bir editorle açıp aşağıdaki bölümün olup olmadığını kontrol edin

  1. Bluetooth device drivers

CONFIG_BT_HCIUSB=m CONFIG_BT_HCIUSB_SCO=y CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_H4=y CONFIG_BT_HCIUART_BCSP=y

  1. CONFIG_BT_HCIUART_BCSP_TXCRC is not set

CONFIG_BT_HCIBCM203X=m CONFIG_BT_HCIBFUSB=m CONFIG_BT_HCIVHCI=m CONFIG_NETDEVICES=y CONFIG_DUMMY=m CONFIG_BONDING=m CONFIG_EQUALIZER=m CONFIG_TUN=m CONFIG_ETHERTAP=m

Eğer yoksa cp /boot/config-2.6.'kernel-surumu' /usr/src/linux/.config komutunu verip .config dosyasını bir editorle açıp yukarıda yazanları yapıştırın. Ya da make menuconfig ile network devices sekmesinden bluetooth desteğini etkinleştirin. yeni bir kernel derleyin. Kernel de Bluetooth desteği olduğundan emin olduktan sonra bluetooth paketlerini yükleyebiliriz. bunun için aşağıdaki komutu verin.

  1. apt-get install bluez-utils bluez-hcidump bluez-pin libbluetooth1 libsdp2 obexserver openobex-apps

paketler yüklendikten sonra bluetooth adaptörünü usb portlardan birine takıp bluez-utils servisini yeniden başlatın

  1. /etc/init.d/bluez-utils restart

Restarting bluez-utils: hcid sdpd rfcomm.

Yukardaki bir çıktı aldıysanız sorun yok. Herşey den emin olmak için bir de adaptörü kontrol edelim debian:/home/emre# hciconfig -a hci0: Type: USB BD Address: 00:10:60:AB:8F:77 ACL MTU: 192:8 SCO MTU: 64:8 UP RUNNING PSCAN ISCAN RX bytes:107 acl:0 sco:0 events:14 errors:0 TX bytes:300 acl:0 sco:0 commands:13 errors:0 Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH HOLD SNIFF PARK Link mode: SLAVE ACCEPT Name: 'debian-0' Class: 0x100100 Service Classes: Object Transfer Device Class: Computer, Uncategorized HCI Ver: 1.1 (0x1) HCI Rev: 0x460 LMP Ver: 1.1 (0x1) LMP Subver: 0x460

Manufacturer: Cambridge Silicon Radio (10)

Benim çıktım yukardaki gibi böyle bir çıktı alıyorsanız herşey normal. Artık yapılandırma kısmına geçebiliriz.

Yapılandırma : Öncelikle telefonumuzdan Bluetooth'u etkinleştirin , sonra bluez-utils i yeniden başlatın.

  1. /etc/init.d/bluez-utils restart

Şimdi telefonumuzla ilgili yapılandırmaları yapabilmek için Telefonumuzun mac adresini öğreneceğiz.

  1. hcitool scan

Scanning ... 00:12:62:09:3C:3D Emre

Eğer böyle bir çıktı almadıysanız yazının başına dönün ve herşeyi kontrol edin. eğer yine olmazsa debian-turkish listesine sorun.

  1. sdptool browse 'telefonun Mac adresi' komutuyla telefondan verilen servisleri ve bunların kanal numaralarını öğrenelim

benimki aşağıdaki gibi

  1. sdptool browse 00:12:62:09:3C:3D

Browsing 00:12:62:09:3C:3D ... Service Name: OBEX Object Push Service RecHandle: 0x1000e Service Class ID List: "OBEX Object Push" (0x1105) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 9 "OBEX" (0x0008) Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "OBEX Object Push" (0x1105) Version: 0x0100

Service Name: OBEX File Transfer Service RecHandle: 0x1000f Service Class ID List: "OBEX File Transfer" (0x1106) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 10 "OBEX" (0x0008) Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "OBEX File Transfer" (0x1106) Version: 0x0100

Service Name: Dial-up networking Service RecHandle: 0x10010 Service Class ID List: "Dialup Networking" (0x1103) "Generic Networking" (0x1201) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 1 Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "Dialup Networking" (0x1103) Version: 0x0100

Service Name: Nokia PC Suite Service RecHandle: 0x10011 Service Class ID List: "Serial Port" (0x1101) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 15 Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100

Service Name: COM 1 Service RecHandle: 0x10012 Service Class ID List: "Serial Port" (0x1101) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 3 Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100

Service Name: Voice Gateway Service RecHandle: 0x10013 Service Class ID List: "" (0x111f) "Generic Audio" (0x1203) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 13 Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "" (0x111e) Version: 0x0101

Service Name: Audio Gateway Service RecHandle: 0x10014 Service Class ID List: "Headset Audio Gateway" (0x1112) "Generic Audio" (0x1203) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 12 Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "Headset" (0x1108) Version: 0x0100

Service Name: SIM ACCESS Service RecHandle: 0x1001a Service Class ID List: "SIM Access" (0x112d) "Generic Telephony" (0x1204) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 4 Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "SIM Access" (0x112d) Version: 0x0100

Burda bizi ilgilendiren en baştaki 9 . kanalda bulunan obex push channel. Bu kanal cep telefonundan dosya almaya ve göndermeye yarıyor. bunu ayarlamak için /etc/bluetooth/rfcomm.conf dosyasını en favori editorümüz vi ile açıyoruz

  1. vi /etc/blueetooth/rfcomm.conf

dosyayı açtığımızda bir örnek var ve her satırın başında # işareti var. yani dosya boş olarak algılanıyor. dosyaya şunları ekliyoruz.

rfcomm0 { device 'telefonun_mac_adresi' channel 'obex_push_channelın_kanal_numarası' comment “çok gerekli lütfen ihmal etmeyin�?; }

burda dikkat etmeniz gereken en önemli şey küme parantezini kapatmak yoksa 20 dakika uğraşıp niye olmuyo diye söyleniyoruz. :)

benimki aşağıdaki gibi

rfcomm0 { bind yes; device 00:12:62:09:3C:3D; channel 9; comment "6230 OBEX push"; }

Bluez-utils i yeniden başlatın eğer hata alırsanız rfcomm.conf dosyasında ya parantezi kapamamış ya da bir yazım hatası yapmışsınızdır.

Sırada debian depolarında bulunmayan ussp-push paketini yükleyecez. Bu paketi debian depolarında bulamadım fakat google da yaptığım bir aramada şu adreste debian paketini buldum isten tarball halinde indirip derleyebilirde. Ama Ben debian kullanıcısıyım tembelliğe alıştım slackware mi bu ./configure çıktılarıyla tırmalıycam diyorsanız aşağıdaki adresten deb paketini indirip kurun ben bir sorunla karşılaşmadım. http://www.as220.org/jb/freeware/ussp-push dpkg -i ussp-push* komutuyla ussp-push paketini kurduktan sonra artık telefonumuza bağlanabiliriz.

  1. rfcomm connect /dev/rfcomm0 00:12:62:09:3C:3D 9

Connected /dev/rfcomm0 to 00:12:62:09:3C:3D on channel 9 Press CTRL-C for hangup

yukardaki gibi bir çıktı alıyorsak sorun yok eğer

Can't connect RFCOMM socket: Resource temporarily unavailable

şeklinde bir çıktı alıyorsak

modprobe rfcomm modprobe bluetooth /etc/init.d/bluez-utils restart komutlarını çalıştırın eğer udev kullanmıyorsanız /dev altında aygıtları yeniden yaratın

  1. cd /dev
  2. ./MAKEDEV -v generic

Kullanım : bu kısımda kde ve gnome altında çalışan programları ve bir kaç ekstra programla ilgilenceğiz isterseniz bunlara gerek kalmadan işinizi obexserver ve ussp-push ile komut satırından da halledebilirsiniz.

kdebluetooth paketi resmi debian yansılarında bulunuyor ordan yükleyebilirsiniz. Ama ben gnome kullandığım için denemedim.

Gnome Bluetooth :

Programı yüklemek için şu yansıları source.liste ekleyin.

deb http://debian.usefulinc.com/gnome ./ deb-src http://debian.usefulinc.com/gnome ./

  1. apt-get update
  2. apt-get install gnome-bluetooth

Paketler yüklendikten sonra update-menus komutunu veriyoruz ve artık nautilus tan bir dosyanın üzerine sağ tuşla tıklayınca açılan menüden send via bluetooth seçeneğini seçip istediğimiz dosyaları telefonumuza gönderebiliyoruz. telefondan da aynı şekilde bir dosyayı seçip send via bluetooth dediğimizde bilgisayarımızı seçip gönderebiliyoruz. Eğer telefondan göndermeye çalışırken cihaz bulunamadı , aygıt bulunamadı device not found türünden hatalar alıyorsanız ki ben aldım.

  1. /etc/bluetooth/hcid.conf dosyasını vi ile açıyoruz ve

class 0x100 satırını şu şekilde değiştiriyoruz.

class 0x100100 evet gördüğünüz gibi sadece bir 100 eklemek gerekiyormuş ama bunu öğrenmek için 1 hafta uğraşıyorsunuz.

Cep telefonuna oyun program vs vs yükleme contact ları düzenleme : Bu işlem için iki adet uygulama var gammu ve wammu programları yüklemek için aşağıdaki yansıyı source.list dosyasına ekliyoruz.

deb http://www.cihar.com/debian/ ./

  1. apt-get update
  2. apt-get install gammu wammu

programları yükledikten sonra kullanıcı dizinimizin altında .gammurc dosyası yaratıyoruz ve ayarlarımızı yapıp kaydediyoruz . $ touch .gammurc $ vi .gammurc

benimki aşağıdaki gibi mac adresini değiştirerek aynısını kullanabilirsiniz bir sorun olcağını zannetmiyorum. [gammu] port = 00:12:62:09:3C:3D “buraya kendi mac adresinizi yazın�? connection = bluephonet SyncTime = no LockDevice = yes StartInfo = no

Ayarlamayı bitirdikten sonra internetten indirdiğimiz java oyunları ve uygulamaları telefonumuza yükleyebiliriz. bunun için gammu –help nokia dan öğrendiğimiz şu komut bize yardımcı olacak

$ gammu –nokiaaddfile Game /home/emre/oyun

$ gammu –nokiaaddfile Application /home/emre/uygulama

burda dikkat etmeniz gereken nokta internetten uygulamaların hem .jar hemde *.jad olarak indirip bu iki dosyanın da aynı klasörde aynı isimle bulunması dikkat ederseniz komutta herhangi bir uzantı kullanmıyoruz. mesela araba.jar ve araba.jad dosyalarını indirdik bu oyunu yüklemek istiyoruz. iki dosyanın da aynı klasörde bulunduğundan emin olduktan sonra

$ gammu –nokiaadfile Game /home/emre/araba

komutuyla yüklüyoruz.

Wammu yu kullanırken dikkat etmemeiz gereken nokta ise ayarların gammu ile aynı olması wammu ile bir gui kullanarak rehberimizi msglarımızı notlarımızı ajandamızı vs vs vs düzenleyip yedek alabiliyoruz.

Bu belge gpl lisanslıdır isim göstererek alıp heryerde kullanabilirsiniz kopyalayabilirsiniz vs vs vs vs