OpenSuSE’ye BCM 43142 kablosuz ağ kartının tanıtılması

Doruk Fisek
Sit Alanı’nın Seyir Defteri
2 min readFeb 23, 2013

Dell’in yeni Vostro/Inspiron serisi bazı dizüstüleri üzerinde Ubuntu kurulu olarak geliyor tahminen (Ubuntu logosu var üzerinde). Tahminen diyorum, çünkü yurdum bilgisayarcısının elinde o müşteriye Windows yüklü olarak ulaşabiliyor :/.

Windows lisansının parasıyla da uğraşmamanın, ucuz olmalarının, düzgün bir klavyelerinin olması, standart ofis ihtiyaçları için fazlasıyla yeterli olmasının mutluluğu içinde Inspiron’ın 3520 serisinden bir-iki hafta içerisinde 3 tane aldım farklı işler için.

Bu dizüstülerinde Broadcom’un 43142 kablosuz ağ kartından bulunuyor. Aslında üzerinde Ubuntu yüklü geldiği için, bu ağ kartı doğal olarak Linux’ta çalışabiliyor. Üzerindeki Ubuntu’yu kullanacaksanız, sorun yok. Ancak herhangi bir Linux kurup, Broadcom’un son model kararlı sürücülerini kullanmaya kalktığınızda bu kartı (henüz?) tanıtamıyorsunuz.

Bunun üzerine Jasmine Aura isimli güzel bir insan, gitmiş ön-kurulu Ubuntu’dan o sürücüleri çıkartmış, tekrar paketlemiş, içine daha yeni çekirdeklerle çalışabilmesi için yamaları eklemiş.

Hazırda deb paketleri var, bunu OpenSuSE 12.2'de kullanabilmek içinse ben şu yolu izledim:

zypper in kernel-devel gcc kernel-desktop-devel patch make

komutuyla çekirdeğe modül derlemek için gerekli paketleri kurdum.

wget http://jas.gemnetworks.com/debian/pool/main/w/wireless-bcm43142/wireless-bcm43142_6.20.55.19.orig.tar.bz2
tar -xf wireless-bcm43142_6.20.55.19.orig.tar.bz2

komutlarıyla kaynak kodunu indirip açtım.

debian/patches dizinindeki tüm yamaları teker teker uyguladım:

cd wireless-bcm43142
patch -p1 < debian/patches/01-Makefile.patch
patch -p1 < debian/patches/02-license.patch
patch -p1 < debian/patches/03-rename-to-wlan0.patch
patch -p1 < debian/patches/04-linux-semaphore-include.patch
patch -p1 < debian/patches/05-kernel_3.1_onwards.patch
patch -p1 < debian/patches/06-user_ioctl_reqs.patch
patch -p1 < debian/patches/07-kernel_3.4_onwards.patch
patch -p1 < debian/patches/08-kernel_3.6_onwards.patch

Ek olarak aşağıdaki yamayı da hazırlayıp, uygulamam gerekti:

--- amd64/Makefile.orig	2013-02-23 11:18:13.949212051 +0200
+++ amd64/Makefile 2013-02-23 11:18:42.632389994 +0200
@@ -153,3 +153,3 @@

-EXTRA_LDFLAGS := $(src)/lib/wlc_hybrid.o_$(BINARCH)
+EXTRA_LDFLAGS := $(src)/lib/wlc_hybrid.o_shipped_x86_64

Bunu bir dosyaya kaydedip,

patch -p1 < dosya_adi.patch

olarak uygulayabilirsiniz. Artık modülü derliyorum:

cd amd64
make

Ortaya çıkan wl.ko dosyası bizim çekirdek modülümüz. Bunu ilgili çekirdek dizininin altına kopyalamamız gerekiyor:

cp wl.ko /lib/modules/3.4.11-2.16-desktop/kernel/drivers/net/wireless/
depmod -a

Burada 3.4.11–2.16-desktop olan çekirdeğinizin ismi. Güncellemeler sonucu değişebilir, /lib/modules altında da tüm güncellenmiş çekirdeklerin modüllerini bulabilirsiniz. Kullandığınız çekirdek sürümünü uname -a komutu ile öğrenebilirsiniz.

Modülü denemek için yükleyebilirsiniz:

modprobe wl

Bir hata almadıysanız, artık dmesg komutunun çıktısında, wlan0 aygıtının tanındığını görmelisiniz. Ağ ayarlarınızı yapabilir ve cihazınızı kullanabilirsiniz.

Sistem tekrar açıldığında da, çekirdek ilgili modülü yerleştirdiğimiz yerden bulup otomatik olarak yükleyecektir.

--

--