2009-09-16

Kernel 2.6.30.5 ve kablosuz sorunu

Bir seneden uzun bir süredir muzdarip olduğum Linux'ta kablosuz ağ sorununa nihayet bir çözüm bulundu galiba.

Intel PRO/Wireless 3945abg kablosuz ağ kartımın linux'ta UNCLAIMED gözükmesi, ve bunun sonucunda da kablosuz ağlara bağlanamam konusuna daha önce değinmiştim. O gün bu gündür denediğim hiçbir linux dağıtımından olumlu sonuç alamamıştım.

Pardus 2009'da durumun değiştiğini farkediyorum. Şu anda 2.6.30.5 çekirdek kullanan Pardus 2009'dan kablosuz ağlara sorunsuz bağlanabiliyorum. Bunun bir tesadüf mü olduğunu bir süre düşündüm ama defalarca açıp kapatmama rağmen her seferinde Pardus sorunsuz çalışıyor. Ubuntu ise hala sorunlu.

Şimdi elimde şunlar var:

Ubuntu:
Linux çekirdeği sürümü : 2.6.28-11-generic
iwl3945 sürümü : 1.2.26ks (firmware : iwlwifi-3945-1.ucode)

Pardus:
Linux çekirdeği sürümü : 2.6.30.5-126
iwl3945 sürümü : 1.2.26ks (firmware : iwlwifi-3945-2.ucode)

Ayrıca, Pardus altında çalışan dell_laptop ve rfkill gibi modüller de var ki bunlar 2.6.30.5'e özel çekirdek modülleri sanırım. 3945 ile ilgili sorunun da aslında büyük oranda Dell marka dizüstü bilgisayarların kablosuz açma/kapama anahtarı ile ilgili olduğu bilgisi ile (bu fikri ubuntuforums.org'dan edinmiştim) bu modüllerin derdime derman olacağına inanıyorum.

Ubuntu 9.04 için şu anda en güncel çekirdek sürümü 2.6.28-11. Haricen çekirdek derleme işine girmek istemiyorum; bu geçişi Ubuntu 9.10'a bırakacağım. Kod adı Karmic Koala olan yeni sürümün Alpha2'sinde 2.6.30.5 kullanılıyormuş. Yani nihai sürümde muhtemelen kablosuz sorun yaşamayacağım. Herkese müjde!

NOT: Nedendir bilinmez, Ubuntu Karmic'te kablosuz bağlantım Pardus'taki kadar sorunsuz çalışmıyor. Pardus'ta şimdiye kadar hiç sorun yaşamamış olmama rağmen Ubuntu'da bazen kablosuz kartım yine aynı şekilde sorun çıkarabiliyor (Mart, 2010)

2009-09-07

Samsung 40B653 artılar ve eksiler

Samsung 40B653, bir optik ses çıkışı ile geliyor. Yani, cihazın sesini bir ses sistemine vermek isterseniz analog çıkışlara mahkum değilsiniz. Bilmem kaç kanal sesi tek bir kabloyla üstelik kayıpsız/gürültüsüz olarak gayet net bir şekilde ses sistemine verebilirsiniz. Örneğin cihazın kendi media player'ı ile oynatılan filmlerin 5+1 sesleri, kendi DVB-C tuner'i ile aldığı yayınların sesleri gibi. Peki ya HDMI üzerinden bağlanmış başka cihazlarından gelen sesler? İşte bu pek de beklendiği gibi değil.

Bilgisayarınızı, uydu alıcınız veya DVD player'ınızı televizyonunuza HDMI üzerinden bağladığınızda, sesleri ancak stereo olarak ses sisteminize aktarabilirsiniz. Televizyonu alırken böyle olduğunu bilmiyordum ama piyasadaki LCD'lerin büyük bir çoğunluğu HDMI üzerinden gelen çok kanal sesleri sadece stereo olarak optik ses çıkışından verebiliyorlar. Bu büyük bir eksi elbette. Ama bunu yapabilecek televizyon şu anda piyasada yok gibi.

Başka bir konu da DTS sesler. Televizyonun kendi media player'ı DTS sesleri çalmıyor. Bu da büyük bir eksiklik. Bir çok filmin sadece DTS ses desteğiyle geldiğini düşünürsek kurcalamaya gerek kalmadan izleyebileceğimiz film sayısı biraz azalıyor.

Ayrıca televizyon, birden fazla ses izi olan filmlerin sadece varsayılan ses izini dışarıya verebiliyor. Diğerlerini seçme şansınız yok. Yani bir mkv dosyasında hem İngilizce hem de Türkçe dublaj varsa, sadece default sesi duyuyorsunuz. Diğerini seçme şansınız yok.

Aldığım günden beri Samsung web sitesinde 3 tane firmware yayınlandı. Bunların hiçbirini henüz yüklemedim. Ama Samsung'un firmware güncellemesi konusundaki başarısı da bir artı. Donanımhaber.com'daki şu forumda firmware'lerle ilgili yorumlara yer veriliyor. DTS desteği getiren ve/veya filmlerdeki ikinci sesi seçme şansı veren bir firmware'i heyecanla bekliyorum.

2009-09-05

VirtualBox'a eski sanal makinaları aktarmak

VirtualBox'ta kolay bir import özelliğinin olmaması büyük bir eksiklik. Şimdiye kadar ben de eski sanal makinalarımı nasıl yeni kurduğum bir bilgisayara, veya başka bir bilgisayara aktarırım, bilmiyordum. Artık öğrendim.

Virtualbox her türlü meta verisini xml dosyalarında tutuyor. İki çeşit xml dosyası var. Bunlardan birisi kullanıcının profil klasörünün içindeki .virtualbox (başındaki noktaya dikkat!) klasörünün içinde bulunan Virtualbox.xml dosyası. Bu dosya, genel olarak programın ayarlarını, ana pencereyi açtığınızda görülen sanal makinaların listesini ve sisteme kayıtlı olan sabit diskler ve cd kalıp dosyalarını (image files) saklıyor. Diğer xml dosyası ise kurulu bir sanal makinanın ayarlarını (kaç disk bağlı, snapshot'lar nerede vs.) saklıyor. Eğer çalışan sisteminizin birinci olarak bahsettiğim Virtualbox.xml dosyası elinizde ise bunu hedef bilgisayarda oturum açmış kullanıcının profilindeki .virtualbox klasörüne taşıyarak tüm dertlerinizden kurtulabilirsiniz. Ama eğer Virtualbox.xml dosyası artık ulaşılamıyorsa, yani gerçekten bir "import" özelliğine ihtiyaç duyuyorsanız, bu dosyayı sıfırdan tırnaklarınızla yaratmanın yolu burada.

Muhtemel senaryomuz şöyle olsun: C: sürücüsünü formatladınız, Virtualbox.xml dosyası gitti. Ama Default Hard Disk Folder ile Default Machine Folder zarar görmeden duruyor. Bu durumda VirtualBox'ı bir kez çalıştırıp, Default Hard Disk ve Default Machine klasörlerini ayarlayıp kapatın. Bu sayede kullanıcı profiliniz içindeki .virtualbox klasöründeki Virtualbox.xml dosyasını oluşturdunuz. Şimdi bu dosyaya eskiden kurmuş olduğunuz makinaları ekleyelim.

Virtualbox.xml dosyası en üstte bir xml bildirisi ile başlar. Bu satırı, diğer bütün satırları içine alacak VirtualBox ve Global tag'ları takip eder:


Bundan hemen sonra genel sistem bilgilerini tutan ExtraData tagı içindeki ExtraDataItem tag'ları vardır. Bunlara dokunmak zorunda kalmayacağız. Sanal makinamızı kaydedebilmek için MachineRegistry tag'ını bulun ve içine aşağıdaki gibi yeni bir MachineEntry tag'ı yaratın:


Bu eklemeyi yaparken Virtualbox'ın kapalı olması gerekir. Aksi halde Virtualbox.xml dosyasına yazılamayacaktır.

Yukarıdaki eklemeyi yaptıktan sonra makinamızın sabit disk(ler)ini eklemek gerek. Snapshot'larınızın da olduğunu varsayarak anlatacağım. Eklemek istediğiniz sanal makinaya ait xml dosyasını (yukarıdaki örnek için dummy.xml) açarak StorageControllers tag'ının içindeki Image tagını bulun ve bunun içindeki uuid özniteliğinin değerini kaydedin (Bütün uuid değerleri rastgele atanan benzersiz değerlerdir). Bu Image tag'larından birden fazla olacaktır (snapshot'lar için). Dosyanın içinde yer alma sırasına göre bunları MediaRegistry tag'ı içindeki HardDisks tagı içine ayrı ayrı HardDisk tagları olarak ile Virtualbox.xml dosyasına ilave edin. Şu şekilde gözükmelidir:


İlk HardDisk tag'ı ile diğer HardDisk tag'ları arasında bir fark var: ilkinin sonundaki type="Normal" özniteliği. İlki sanal makinanın ilk oluşturulan sabit diski. Diğerleri buna bağlı olarak çalışan snapshot dosyaları. Bunlarda type özniteliği yok. Hiyerarşik olarak en içteki HardDisk tagının (en son alınan snapshot'ın) kapalı bir tag olduğuna, diğerlerinin ayrıca /HardDisk öğesi ile kapatıldığına dikkat edin.

Takılacak sabit disklerin girişini yaptıktan sonra sistemde tanımlı bulunmasını istediğiniz CD/DVD kalıp dosyaları (iso dosyaları) varsa bunları da MediaRegistry tagının içine DVDImages içine yukarıdaki gibi yazabilirsiniz. Eğer dondurulmuş sanal makinalar yoksa bu adımın çok gerekli olduğunu sanmıyorum.

Samsung LCD TV'de DLNA özelliği ile video izlemek

Samsung 40B653 televizyonun DLNA (Digital Living Network Alliance) özelliği olduğundan daha önce bahsetmiştim. Wikipedia'ya göre DLNA; yeni nesil elektronik eğlence cihazlarının ağ üzerinden içerik paylaşmasını sağlayan bir standart. Yani modemim üzerinden aynı ağa bağlı olan televizyonumla bilgisayarım arasında bir bağlantı kurulabilir. Televizyonumdan, bilgisayarım üzerinde yarattığım bir paylaşıma erişerek oradaki resim, video ve müzik dosyalarına ulaşabilirim.



Bunu yapabilmek için televizyonla birlikte gelen Samsung PC Share Manager yazılımını Windows bir PC'ye kurmam gerek. Bu yazılım, bilgisayarımın, televizyonun erişebileceği şekilde bir paylaşım yaratmasına izin verecek.

Yazılımı kurduktan sonra ilk açılışta sunucunun (PC Share Manager'in kurulu olduğu bilgisayar) adını değiştirdim (XPSM1530).


Bu işlemden sonra videolarımın bulunduğu klasörü paylaştırdım.

Bütün bunları yaptıktan sonra televizyonumdan hala bilgisayarımı göremiyordum. Son bir adım daha vardı, o da cihaz ilkesi ayarlama:

Bu adımdan sonra televizyonumun MediaPlay bölümüne gelerek aygıtları inceledim. Ve orada XPSM1530 duruyordu.

DLNA'yi seçtikten sonra bilgisayarımdaki film listesi karşıma şu şekilde geldi:

Emin olmak için bir de aygıt özelliklerine baktım ve...

evet, DLNA! Bütün filmleri USB disklerim üzerinden bilgisayarıma bağlıyabiliyor olsam da bu özellik de güzel. Bu sayede yine televizyonumun çözebildiği codec'lerle sınırlıyım. Bilgisayarıma yükleyeceğim codec'lerin hiçbir faydası olmayacak, merak edenler varsa.

Bu arada film listesini gezerken birşey dikkatimi çekti. DLNA ile gezinirken, USB disklerde olduğu gibi klasör görünümü (Temel Görünüm) mümkün değil. Bunun yerine Başlık, Klasör ve Zaman Çizelgesi görünümleri var ama buradaki Klasör görünümü bahsettiğim ve alışık olunan klasör görünümü değil (Samsung buna Temel Görünüm demiş). Klasör görünümü ile yukarıdaki resimde görülen bir liste oluşuyor.

Son bir not: PC Share Manager yazılımı bunu kurulum sırasında yapıyor ama, size yine de Windows Güvenlik Duvarı üzerinde bir kuralınız olduğudan emin olun. Bende aşağıdaki gibi bir kural kurulum sırasında yaratılmış ve etkinleştirilmiş (WiseLinkPro).


Ayrıca Nokia N79 ile Samsung 40B653 arasında bir DLNA bağlantısı için şu sayfaya, Samsung 40B653 ile Ubuntu Karmic arasında miniDLNA yazılımı ile DLNA bağlantısı için de şu sayfaya bakabilirsiniz.

2009-08-26

Yemeksepeti : "Ne yediğiniz bizi hiç ilgilendirmiyor"

Yemeksepeti.com güzel bir fikir. Çevrenizdeki tüm restaurant ve fast food'ları bir yerden görme ve arasından seçim yapma imkanı veriyor. Üstelik bu aracılık için sizden ek bir ücret de talep etmiyor.

Son kullanıcı olarak nasıl bir sistem kurduklarını, sisteme üye olan firmalarla ilişikilerini hangi seviyede tuttuklarını hiç bilmiyorum, bilmem de gerekmiyor. Benim tek istediğim siteden siparişi vermek, belirtilen makul sürede siparişimin elime geçmesini beklemek, ve ücretini de kapıda ödemek.

Her sistem çalışırken güzeldir. Ama sorun çıktığında bunun halledilebilir olması o sistemi daha da güzel yapar. Yemeksepeti sorunlarla nasıl ilgileniyor?

Birkaç hafta önce yine Yemeksepeti.com üzerinden bir sipariş verdim. Siparişimin üzerinden uzun süre (~ 50 dk) geçmesine rağmen elime ulaşmayınca siteden canlı destek sayfasına girerek bir yetkili ile "chat" yaptım. Yetkili sipariş verdiğim firmayı arayarak durum bilgisi aldı ve siparişimin yolda olduğunu söyledi. Sipariş verdiğim yerin evime yürüyerek 10 dk. uzaklıkta olmasına rağmen bu gecikme ilginçti. Ama yaklaşık 1 saat sonra siparişim kapıdaydı. Acıkmış olmanın verdiği acelecilikle bu konuyu daha fazla uzatmadım; siparişi teslim alarak borcumu ödedim. Televizyon karşısına geçerek paketleri açtım ve yemeye başladım. Ama bir süre sonra yediklerimin sipariş verdiğim şeyler olmadığının da farkına vardım. Sipariş verdiğim şey ekmekle servis edilen, yanında birkaç çeşit garnitürü olan bir yiyecekti. Elime geçense ekmeksiz ve garnitürsüz yalın bir yiyecekti. Benden aldıkları bedel de bana teslim edilenin değil, sipariş verdiğim ürünün bedeliydi.

Bu durumu Yemeksepeti'ne bildirdiğimde aldığım cevap "firma yetkililerine bildirilecek ve gün içinde size cevap verilecek" şeklinde oldu. Aynı gün cevap alamdım ve 3 gün sonra bir hatırlatma daha yaptım. Aldığım mesaj ilkinin kopyası gibiydi. Şu an olayın üzerinden 3 hafta geçti ve bana kimse birşey bildirmedi.

Demek ki çalışan sistem güzel, ama sorun çıkınca kimse sorunla nasıl ilgileneceğini bilmiyor. Ya da sorun çözmekle ilgili bir politikaları yok. Sitenin başlığına "Kredi kartınız bizi hiç ilgilendirmiyor" yazmak çok havalı duruyor. Ama bundan sonraki sloganınızı "Ne yediğiniz bizi hiç ilgilendirmiyor" olarak seçmeniz yaptığınız işi daha iyi tarif edecektir!

2009-08-24

32 bitlik sistemler ve bellek sınırları

Windows ve diğer işletim sistemlerinin 64 bitlik sürümlerini duymuşsunuzdur. Sistem tasarımında 64 bitlik adres ve veriyolu kullanan bu yeni sistemlerin 32 bitlik sistemlere göre bir seferde daha fazla (2 kat) veri aktarabilecekleri fikri, başta herkes gibi bana da daha hızlı bir sistem çağrışımı yapmıştı. Zaman geçtikçe sağda solda benchmark testleri, 32 bitlik sistemlerle 64 bitlik sistemlerin performans açısından ciddi farklar sağlamadığını (hatta bazı özel durumlarda daha bile yavaş kaldıklarını) gösterdi. Peki 64 bitin avantajı neydi?

32 bitlik bir adres ve veriyoluna sahip bir mikroişlemcinin adresleyebileceği azami alan 4 GB'dir. Bu alana bellekle birlikte işlemcinin erişeceği diğer donanım da dahildir (örneğin ekran kartı). Bu gibi donanımlara erişmek için kullanılan alan genelde 4 GB'lık alanın en son kısmında yer alır. Bu ne demek? Eğer 1 GB'lık belleği olan bir ekran kartınız varsa bu 1 GB'lık belleğe erişim için 4 GB'lık adres alanının sonunda 1 GB'lık alan ayrılır. Diğer sistem donanımlarınız (ses kartı, ethernet kartı vs.) için de bir miktar alan ayrılır. Dolayısıyla 4 GB'lık alanın 1 GB'tan daha büyük bir kısmı kullanılamaz olur. Bu da, piyasada satılan 4 GB belleği ve 1 GB'lık bir ekran kartı olan bir oyun bilgisayarını 32-bitlik bir işletim sistemi ile kullanmak isterseniz en azından 1 GB'lık bir belleği adresleyemezsiniz demektir. Yani size kalır 3 GB'tan daha az bir bellek. Ama siz 4 GB parası vermiştiniz?

Aslında 64 bitlik sistemlerde de durum aynı. Adreslenebilir alanın son 1 GB'tan fazla kısmı ekran kartına ve diğer sistem donanımlarına ayrılır. Ama 64 bit bir sistemin adresleyebileceği alan çok daha fazla bir alan olduğu için bu, en azından şimdilik, muhtemel bellek miktarlarından daha uzak bir noktaya denk geliyor. Kısacası şu, 4 GB'lık belleğinizin tümünü 1 GB'lık ekran kartı olan bir makinede kullanabilirsiniz!

32 bitlik Windows Server işletim sistemlerinin, PAE (Physical Address Extension) sayesinde, 4 GB'tan daha fazlasını adresleyebilmeleri mümkün. Windows XP sürümlerinin böyle bir şansı yok. Bunun sebebi de Mark Russinovich'in Technet'teki blog'unda açıklanmış. Burada söylenene göre masaüstü işletim sistemlerinde 4 GB sınırını koyan donanımların sürücüleri. Bu sürücülerin 4 GB sınırlarla tasarlanmış olmaları ve PAE eklentileri ile daha yüksek bellek miktarlarınında yapılan denemelerde ciddi sistem hatalarına yol açmaları. Bu yüzden Microsoft, Windows XP 4 GB sınırı koymuş. Elbette bu, Windows XP'nin 64 bitlik sürümleri için geçerli değil.

Windows Vista yüklü bir bilgisayarda ne kadar belleğiniz olduğunu ve bunun ne kadarını kullanabildiğinizi görmek için Sistem Bilgisi'ni (msinfo32.exe) kullanabilirsiniz.

Yukarıdaki Sistem Bilgisi penceresinde görüldüğü gibi bilgisayardaki toplam fiziksel bellek (Installed Physical Memory) 4 GB olmasına rağmen, kullanılabilir fiziksel bellek (Total Physical Memory) sadece 3,48 GB. Aradaki farkın hangi donanımlar tarafından kullanıldığını görmek isterseniz Aygıt Yöneticisini kullanabilirsiniz.

Masaüstü bilgisayarlarımızda 512 MB kullandığımız günlerden 4 GB'lık sistemlere geçiş çok hızlı oldu. Bu konuda Windows Vista'nın payı büyük (!). Ama Windows 7, Vista'ya kıyasla daha az bellek kullanıyor. Bu sebeple 4 GB sınırı bir süre daha 32 bitlik işletim sistemi kullananları rahatsız etmeyecek gibi. Bunun için Microsoft da Windows 7'nin 32 bitlik sürümlerini çıkarıyor. Ama gelecek 64 bitte. Er ya da geç 64 bit sürücülerin yaygınlaştığı, uygulama uyumsuzluklarının kalmadığı bir gün gelecek.

2009-08-07

Uzak masaüstü bağlantısı üzerinden yazıcı yönlendirmesi

Uzak masaüstü bağlantısının (RDP) güzel bir özelliği de istemci bilgisayardaki kaynakları sunucu üzerinden kullanabilme imkanı sunması. Bilgisayarınıza fiziksel olarak bağlı olan yazıcıyı uzak masaüstü yaptığınız sunucu ekranında da görebilir ve çıktı alabilirsiniz.

Ama her zaman değil! Bazı yazıcılar için bu iş beklendiği kadar düzgün çalışmıyor. Bugün bir bilgisayarda uzak masaüstü bağlantı ekranında "yazıcılara bağlan" kutusunu işaretlememe rağmen sunucu ekranında yazıcıyı göremedim. Sistem olay kayıtlarını incelerken TermServDevices kaynaklı #1111 hataları ile karşılaştım. Sürücünün bilinmediğini ve bir sonraki bağlantı öncesinde sürücünün yüklenmesi gerektiğini söylüyordu.

Microsoft Support sitesinde KB302361 makalesini buldum ama burada söylenenler derdime derman olmadı. Experts-exchange.com'da bulduğum bu yazı da bunun gayet sık karşılaşılan bir sorun olduğunu ve sürücünün sunucu üzerinde kurulması ile sorunun halledileceğini söylüyordu. Söylenene göre bazı durumlarda yazıcının sürücüsünün sunucu üzerine kurulması yeterli olurken bazı durumlarda yazıcının fiziksel olarak sunucuya bağlanması gerekiyormuş. Bu biraz zor olacak. Onun yerine şunu denedim: istemcideki yazıcıyı paylaştırdım. Sunucudan, istemcideki paylaştırılan yazıcıya bağlandım. Bu işlem sırasında gerekli sürücü dosyaları sunucuya aktarıldı. Daha sonra yazıcıyı kaldırdım. Elbette bu işlem az önce aktarılan sürücü dosyalarını silmediği için sorun yok. Daha sonra uzak masaüstü bağlantısını tekrarladım ve yazıcım nihayet göründü. Her zaman bu kadar kolay olmayabilir. Bir dahaki sefere yazıcıyı kucaklayıp sunucuya bağlamak zorunda kalabilirim!