9 Ağustos 2009

Compaq Mini 110 ve Linux ile 3G bağlantısı

İki gün önce elime Turkcell'in kampanyayla dağıttığı Compaq Mini 110c-1010ET lerden geçti. Klavyesi ve sabit diski yeterince büyük ve dahili 3G modemi olan bu ufaklık çok hoşuma gitmişti.

İşin ucunda her yerden internete girebilmek olduğu için kardeşimin bilgisayarları değişelim teklifine hayır diyemedim. Bilgisayarımı hemen bıraktıktan sonra ilk iş olarak elimin altında duran Ubuntu Netbook Remix kurulu USB belleği Mini'ye takıp başladım. Ses çıkmaması ve 3G modemin ortalıkta görünmemesi dışında bir sorunu yoktu. Bundaki Gparted'i kullanarak yanlışlıkla(!) Windows bölümünü ortadan kaldırdıktan sonra Pardus ve Ubuntu'yu yan yana kurmayı düşünüp ona göre yeniden bölümlendirdim.

Ubuntu'yu kurduktan sonra Pardus 2009 kurulumunda ilk kez bu bilgisayarda bir sorunla karşılaştım. /dev içeriği dolduruluyor yazan yerde bilgisayar kilitleniyordu. Açılışta pek çok kernel parametresini denedikten sonra bir sonuca ulaşamayınca başka kurulum yöntemleri düşünmeye başladım. Diğer bilgisayarı kullanarak Pardus'u harici bir diske kurdum ve bunu Ubuntu'yla Mini'de hazırladığım Pardus bölümüne kopyalayarak kurulumu tamamlamış oldum.

/* Aşağıda Compaq Mini'ye Pardus kurulumu ile ilgili yazanları evde denememenizi öneririm. Henüz mutlu sona ulaşamadım. Sadece 3G modemle ilgileniyorsanız ikinci yorumdan itibaren okumaya devam edin. */

Kurduktan sonra tahmin ettiğim gibi yine aynı yere gelince kilitlenmeye devam ediyordu. Hemen Pardus'un açılışından sorumlu olan /sbin/mudur.py'yi inceleyip nerede kilitlendiğini bulmak için aralara ne yapıldığını anlatan çeşitli iletiler ekledim. Udev aygıtları tarayıp /dev dizinini doldurmaya başlıyor, bunun bitmesi beklenirken kilitleniyordu. /etc/udev/udev.conf'ta debug parametresini kullanarak daha ayrıntılı çıktı alabildim. Hangi aygıtın kilitlenmeye sebep olduğunu düşünürken sıkıldım ve başka fikirler denemeye karar verdim.

Önce Pardus'u Ubuntu kerneliyle (2.6.28) açmaya çalışırsam ne olur dedim ve kerneli kopyalayıp grub'a ekleyerek denedim. Tamam açılıyordu ama sürücüler olmadığı için doğal olarak konsolda kalıyordu. Sürücüleri de kopyalamaya üşendiğim için hemen başka bir şey denedim ve hazır Pardus açılmışken pisi'yle depodaki son kerneli kurayım dedim. Bu kez de dbus düzgün çalışmadığı için çomar yapılandırması başarısız oluyordu. Kernele ait çomar betiğini inceleyip çomarın işini (mkinitramfs çalıştırmak ve grub'a eklemek) elle yaparak bunu da atlattıktan sonra yeni Pardus kerneliyle başlattım ve dbusun yine çalışmadığını görünce Pardus kurulumuna biraz ara verip 3G modemle uğraşmaya karar verdim.

/* Asıl konuya dönüyoruz, okumaya devam. */

Ubuntu Jaunty Netbook Remix, 2.6.28 kerneliyle geliyordu ve Mini'deki entegre Hp un2400 Mobile Broadband modem için gerekli olan qcserial modülü 2.6.30 kerneli istiyordu. Aşağıdakileri indirip sudo dpkg -i komutuyla kurduktan sonra artık 2.6.30 kernelim de olmuştu:

linux-headers-2.6.30-020630-generic_2.6.30-020630_i386.deb
linux-headers-2.6.30-020630_2.6.30-020630_all.deb
linux-image-2.6.30-020630-generic_2.6.30-020630_i386.deb

Yeni kernelin en sevdiğim yanı Intel ekran kartını hemen hemen %50 oranında daha performanslı çalıştırıyor olmasıydı. Kötü olan yanı ise Broadcom kablosuz kartın artık çalışmamasıydı. Sahipli sürücüsü olan bu kartın 2.6.30 için sürücüsü yoktu. Durumu kurtarmak için HP'nin sitesinden ilgili Windows XP sürücüsünü indirdim ve Wine'yle çalıştırıp açılmasını sağladıktan sonra ndiswrapper ile bu sürücüyü yükledim. Sürücüyü b43 ve ssb modülleri sahiplendiği için önce rmmod ile bunları kaldırıp modprobe ndiswrapper diyerek kablosuzun çalışmasını sağlayabildim.

Bu kadar uğraştıktan sonra yine sıkılmaya başladım ve müzik dinleyebilmek için ses sorunuyla ilgilenmeye karar verdim. Ubuntu, alsa'nın biraz eski bir sürümünü kullanıyordu ve bu sürüm Mini'deki ses kartının kullandığı yepyeni kodek için destek vermiyordu. Hazır kerneli yenilemişken alsa sürücülerinin de son halini indirip sadece hda-intel sürücüsünü derledim ve kurduğum gibi ses gelmeye başladı.

Müzik de tamam olunca sıra 3G Modeme geldi. Kernel güncel olmasına rağmen lsusb çıktısında modemle ilgili hiçbir şey görünmüyordu. Bu konuda araştırırken bir forumda hp-wmi sürücüsünün adının geçtiğini gördüm. Bu sürücü HP bilgisayarlardaki kısayol düğmelerinin çalışmasını sağlıyordu. Sürücüyü modprobe ile etkinleştirip kablosuz ağ düğmesine iki kez basınca lsusb çıktısında modemi görmek heyecan vericiydi.

Çeşitli kaynaklarda yazdığına göre modem orada göründüğü haliyle bir işe yaramıyordu. Quallcomm'un ürettiği bu modemler gobi_loader denen bir araçla servis sağlayıcısının verdiği firmware'in modeme yüklenmesi ile çalışır hale geliyordu. Sonrasında da qcserial adlı bir modülün yüklenmesi gerekliydi. Hemen bu ikisini indirip derledim. Modemin firmware'ini almak bunlardan uzun sürdü çünkü HP'nin sitesindeki dosya tam 130MB büyüklüğündeydi. İçinde tüm servis sağlayıcılar için birer firmware dosyası bulunuyordu. Bunlar 0'dan 10'a kadar isimlendirilmiş dizinlerin içinde ikişer dosya halinde duruyordu. Bizim Turkcell olsa olsa sonuncu olmuştur diyerek 10 numaralı dizindekilerle şansımı denemeye karar verdim. Bunları /lib/firmware/gobi/ altına kopyaladım ve kablosuz ağ düğmesini tekrar aç-kapa yapıp biraz bekledikten sonra modem çalışmaya başladı.


Modem çalışmasına rağmen yine de bağlanamıyordu. Pardus-kullanıcıları e-posta listesinde Turkcell Vınn Modem ile bağlanabildiğini açıklayan Akın'a bir e-posta atarak fikrini aldım. SIM kartı bir telefona takıp pin kodu korumasını kaldırdım ve Apn yerine mgb yazdım. Sonra bağlan dedim ve çıkan küçük parola pencerelerini hiçbir şey yazmadan Tamam'a tıklayarak kapattım. Son pencereyi de tamam diyerek kapattığım anda bağlantı kurulmuştu.

Sırada Pardus 2009'daki sorunu bulup kurulumu tamamlamak var...

Not: Yazıdaki derleme ve kurulumlarla ilgili bağlantıları ve komutları zaman bulduğumda ekleyeceğim. Şimdilik bu haliyle yayına alıp aynı durumla uğraşan kişilerin zaman kazanmasını ve bunun mümkün olduğunu görmelerini istedim.