-An itibariyle- 4.18.5 sürüm numaralı Linux çekirdeği ve Intel Dual Band Wireless-AC 7260(ağ & Bluetooth) ile kullandığım Dell E7440 dizüstü bilgisayarımda Powerbeats3 Bluetooth kulaklığı test etmek isterken garip gelen bir durumla karşılaştım.
Powerbeats ile dizüstü bilgisayarı eşleştirdikten sonra Spotify üzerinden Lake of Tears’ın So Fell Autumn Rain parçasını açtım, başlarda 1-2 minik takılmadan sonra şarkı hiç teklemeden devam etti, ses kalitesi de eh işte, ürünün sınıfına göre tatminkâr diyelim. Daha sonra Firefox’a geçip sayfalar arasında gezinirken iş biraz daha tuhaflaştı; yeni bir sayfa açtığımda, sayfadaki bir görsele tıkladığımda, kısacası yeni bir ağ isteği yapan her işlemde kulaklıktaki müzik takılıyordu, ilk aklıma gelen 2 nokta ya işlemci ya da ağ kartı oldu, kısa bir araştırmadan sonra problemin ağ kartı olduğunu anladım.
Elimizde 2 iletişim ağı var; biri IEEE standardı olan 802.11’i kullanan Wi-Fi diğeri ise -daha önceleri yine bir IEEE standardı olan 802.15.1’i kullanan- Bluetooth. Aynı anda kullanmaya çalıştığım bu 2 ağ(en azından şu an dahil olduğum Wi-Fi ağı) da 2.4GHz frekansı üzerinden yayın yapıyor. Bu 2 ağ alt frekanslarda tam olarak aynı kanalları kullanmasa da kanallar arasında çakışmalar kaçınılmaz oluyor. Problemin kendisi “Wi-Fi and Bluetooth Coexistence” olarak geçiyor, “Wi-Fi ve Bluetooth Ağının Aynı Ortamda Bulunması” olarak çevirebiliriz, buradaki problem bu 2 ağın birbirine parazit yaratarak birbirini yavaşlatması. Bu problemin farklı katmanlarda uygulanabilecek farklı çözümleri var, benim karşılaştığım ve huzurla müzik dinlememe engel olan çözümü ise sürücü seviyesinde kullanılmış olan çözüm. Yazının girişinde bahsettiğim Linux çekirdeği ve Intel’in ağ kartı arasındaki iletişimi sağlayan sürücünün adı iwlwifi.
iwlwifi sürücüsünde bahsettiğim sorunu çözmek için Wi-Fi ve Bluetooth’un aynı anda iletişim kurması engellenmiş; dizüstü bilgisayarım Wi-Fi üzerinden paket gönderiyor/alıyorsa o sırada Bluetooth üzerinden veri alışverişi yapamıyor bu da kablosuz ağ üzerinden internette gezerken Bluetooth cihaz üzerinden müzik dinlememe engel oluyor. Neyseki Linux’ta LKM ve bunu yönetmemizi sağlayan modprobe aracılığıyla iwlwifi sürücüsünde bt_coex_active
anahtarını değiştirebiliyor ve sorunumuzu çözebiliyoruz. Linux ile iwlwifi sürücüsünü kullanan bir Intel ağ kartına sahipseniz çözüm için terminalinizde aşağıdaki komudu çalıştırmanız ve bilgisayarınızı yeniden başlatmanız yeterli.
echo "options iwlwifi bt_coex_active=0" | sudo tee -a /etc/modprobe.d/iwlwifi.conf
Diğer kablosuz ağ kartları ve Linux’taki sürücülerine dair çözüm bilgim yok ancak donanım bilginizi iletirseniz yardımcı olmaya çalışırım.
Bu çözüm ile doğal olarak karşımıza kablosuz ağ sinyalindeki kalitenin düşmesiyle iletişimin yavaşlaması gibi problemler çıkabilir, yoksa hiçbir üretici sizin aynı anda Wi-Fi ve Bluetooth ağlarını kullanmanızı engellemek istemez. 🙂 Konuya dair kısaca detaylı bilgi edinmek isterseniz Texas Instruments’ın raporuna göz atabilirsizin.