Arkadaşlarım nihayet beni yeni Linux dağıtımlarını denemeye ikna etti. Linux bana Windows’un sağladığı her şeyi, hatta daha fazlasını sağlayacakmış. Bunu görmeliyim dedim ve ortam da uygun olunca (uygun donanımı edinmek gibi) Fedora 10 (Cambridge) dağıtımını kurdum.
Linux sisteminin 6 yıl önce üniversitedeki tecrübelerime kıyasla ne kadar geliştiğini görünce gözlerime inanamadım. Daha kurulum anında dizüstü bilgisayarın neredeyse tüm donanımını otomatik olarak tanıdı ve çalışır halde teslim etti. En çok gözüme çarpan sorunlar, en kolay çözüleninden en zor çözülenine doğru şunlar oldu: tümleşik ses kartının tanınması, parmak izi okuyucunun tanınması ve son olarak bluetooth fare. Tahmin edeceğiniz üzere, bu yazı bir bluetooth fareyi, Fedora 10 kurulu ve tümleşik bluetooth adaptörü düzgün bir biçimde tanıtılmış bir diz üstü bilgisayara tanıtma maceram hakkında.
Her şeyden önce bu maceradan edindiğim en kötü deneyimlerimi paylaşayım sizlerle:
- Linux camiası insanlara yardım etmeye Microsoft camiasının yarısı kadar bile istekli değil. (IRC kanallarındaki hiç kimse beni Google’a yönlendirmek dışında hiçbir yardımda bulunmadı. Hatta son 12 saatimi Google’da bu probleme bir çözüm arayarak geçirdiğimi tekrar tekrar belirtmeme rağmen. En azından AltaVista’ya yönlendirmediler ya bu da bir şeydir. Görülüyor ki bu insanlar küçük problemlerle uğraşamayacak kadar mağrur!)
- BlueZ çok şık bir web sayfasına sahip ama kolay anlaşılır ve güncel bir kullanıcı kılavuzu sunmuyorlar. Sadce bir geliştirici viki’leri var. (Belki her şeyin beklendiği gibi çalışacağından emin olduklarından ya da çok meşgul olduklarından herhalde..)
İkinci konuyu daha anlayışla karşılıyorum zira her şey bedava. Ben de oturup bu yazıyı yazarak bu küçük boşluğu doldurmaya çalışacağım.
Kurulu sistemim şöyle:
- Windows Vista SP1 (çoklu başlangıç)
- BlueZ 4.22 kurulu Fedora 10 (BlueZ kullanan diğer dağıtımların da benzer şekilde çalışmasını beklerim. Ancak BlueZ’un daha eski sürümlerini kullanıyorsanız bu yazıyı okumanıza gerek olmayacaktır.)
- Microsoft Bluetooth Notebook Mouse 5000 (Hem PIN’siz bağlantı hem de 0000 PIN kodunu kabul ediyor. Tıpkı çoğu OEM farede olduğu gibi).
Kurulumun öncül adımları şöyle:
- Önce sistemi Vista ile başlatalım. Vista mevcut donanım üzerinde çok daha az kontrol sağladığından ilk önce onu aradan çıkaralım ki Fedora’da kalan sorunları halledebilelim.
- Fareyi açıp altındaki tuşa basalım ki fare eşleştirilmeye hazır hale gelsin.
- Fareyi normalde yapacağınız şekilde eşleştirin: Denetim Masası -> Bluetooth Aygıtları‘na gidip, Ekle‘ye tıklayın ve yönergeleri takip edin. Ben, PIN kodu olarak 0000 vermek yerine Şifre (Passkey) kullanma.” seçeneğini seçtim. Her ikisini de seçebilirsiniz muhtemelen. Eğer adımları tamamladığınızda sorun çıkarsa diğer şekilde de deneyebilirsiniz.
- Farenin sürücüsü yüklenecektir. Tuşların çalıştığına emin olun.
- Sistemi yeniden başlatın ve Fedora 10′u açın.
- Gnome masaüstüne normal kullanıcınızla giriş yaptıktan sonra şu yolu takip edin: System -> Preferences -> Hardware -> Bluetooth.
- Farenin alttaki tuşuna tekrar basın ve fareyi yeniden bulunmaya hazır hale getirin.
- Açılmış olan pencerede “Setup new device” tuşuna basıp yönergeleri takip edin. Bu adımdan sonra fareyi düzgün bir şekilde kullanabiliyorsanız şanslısınız, zira muhtemelen iş bitmiştir. Kalan adımlar benim gibi şanssız insanlar içindir.
- Aklınızda bulunsun sıradaki adımları farenizin eşleştirme ışığı henüz yanıp sönerken bitirmelisiniz.
- Bir terminal açın ve root kullanıcısına geçiş yapın (Ya da zevkinize göre sudo kullanın)
- Dizüstü bilgisayarınızın bluetooth aygıtının ayar klasörüne gidin ve farenizin donanım kimliğini bulun.
$ su root
$ cat /var/lib/bluetooth/*/lastseen | cut -c 1-17
00:xx:xx:xx:xx:x2
Güvenlik için x’li kısımları budadım.
İlk problemi çözmek, nispeten kolay. Fareyi sisteme tanıtabilmek için İnsan Arayüz Aygıtları servisini (HID daemon) kullanın. Bu farenin RFCOMM desteği olmadığı için bu yöntemi kullanmak zorunda kaldım. Belki bazılarına bu normal ve basit gelecektir ama benim için hiç de öyle değildi.
$ hidd --connect 00:xx:xx:xx:xx:x2
Artık farenizi kullanabiliyor olmalısınız. Ama işimiz maalesef bitmedi. Sıradaki kısım aslında işin en zor kısmı: fareyi sistemi yeniden başlattıktan sonra ve kullanıcı (Gnome) giriş ekranında kullanabilmek. Bu kısmı keşfetmek ve çözmek saatlerimi aldı. HID servisini elle çalıştırdığımız zaman BlueZ iki cihaz arasındaki bağlantı anahtarını (linkkey) * otomatik kaydetmiyor. Bunu da elle yapmamız gerekiyor:1
$ echo 00:xx:xx:xx:xx:x2 01234567890012345678900123456789012 >> /var/lib/bluetooth/*/linkkeys
Güzel olan şu ki, faremiz PIN kodu kullanmıyor. Bu sebepten muhtemeelen herhangi bir bağlantı anahtarı kullanabiliriz. Bir bağlantı anahtarı temelde 128-bit’lik bir sayıdır ve 16′lık sistemle (hex) saklanır. Ben de yukarıda gördüğünüz uydurma sayıyı bağlantı anahtarı olarak atadım. Muhtemelen 16 tabanındaki 32 basamaklı herhangi bir sayı işe yarayacaktır.
Yeniden başlatma problemi henüz çözülmedi. Görünen o ki, bazı bluetooth adaptörleri sistem başlangıcı sırasında daha önceden eşleştikleri aygıtlara yeniden bağlanamıyor. Bu bana bir el sıkışma/durum (handshake/state) sorunu gibi geliyor. Yapılması gereken, adaptörün sistem başlangıcında sıfırlanması. Bunu yapabilmek için bluetooth servisinin başlangıç komutunu değiştirmelisiniz:
$ vi /etc/init.d/bluetooth
My startup script looks like this after modification:
start()
{
echo -n $"Starting Bluetooth services:"
daemon /usr/sbin/bluetoothd
RETVAL=$?
[ $RETVAL = 0 ] && touch /var/lock/subsys/bluetoothd
[ "$HID2HCI_ENABLE" = "true" ] && hid2hci --tohci > /dev/null 2>&1 || :
touch /var/lock/subsys/bluetooth
echo ""
sleep 1 && hciconfig hci0 reset
return $RETVAL
}
Gördüğünüz gibi sadece içinde “reset” geçen kısmı ekledim. (Direk kopyala yapıştır yöntemini kullanmayın zira kullandığım blog teması bazı karakterleri daha güzel görünümlü karakterlerle değiştiriyor.) Bu yöntem çalışmazsa “sleep” komutunun süresini uzatabilirsiniz. Bazı mesajlarda 5 saniyeye kadar süreler gördüm. Dahili bluetooth adaptörü çoğu zaman hci0 olarak adlandırılır. Bilgisayarınızdaki tüm adaptörlerin listesini şu komutu kullanarak görebilirsiniz:
$ hciconfig -a
Bu aşamada yeniden başlatma problemi çözülmüş olmalı. Ancak geriye son bir sorun kaldı. Fareyi bilgisayarla tekrar eşleştirdik ve Windows son bağlantı anahtarını (linkkey) bilmiyor. Sahte bir bağlantı anahtarı kullanmış olsak da Microsoft yeniden eşleştirme isteyecektir. Linux insanları bu problemi öngörerek bir çözüm üretmişle. Çözüm çok basit. Mevcut bağlantı anahtarını bilgisayarın bluetooth adaptörü üzerine yazacağız ve böylece Windows’u açtığımızda yeniden eşleştirme yapmamız gerekmeyecek.
$ hciconfig hci0 putkey 00:xx:xx:xx:xx:x2
hci0 dizüstü bilgisayarın adaptör kimliği ve x’li adres de farenin cihaz adresi.
Oh be diyebiliriz artık. İster Fedora’yı ister Vista’yı başlatın ve farenizin yeniden eşleştirmeye ihtiyaç duymadan çalıştığını görün. Bir noktayı aklınızdan çıkarmayın. Eğer farenizi başka bir cihazla eşleştirirseniz veya yanlışlıkla altındaki tuşa basarsanız, bağlantı anahtarının yenilenmesi gerekeceğinden, muhtemelen bütün bu adımları tekrarlamanız gerekecektir.
Artık faremi beklediğim gibi kullanabiliyorum. Muhtemelen siz de öyle..
Şinanay da yavrum hopa şinanay!!
* Bluetooth cihazları eşleştiğinde, veri şifreleme (encryption) için ortak bir şekilde bir simetrik anahtar üretirler. Buna bağlantı anahtarı (linkkey) denir.
Kaynaklar:
1 FAQs, Problems and Solutions, Internet Tablet Talk
P.S.: English version of this howto is also available.
RSS
Twitter
FriendFeed
Pingback: valentines day crafts for kids free