Kamis, 12 November 2009

Melakukan Konfigurasi Wireless Pada Sistem GNU/Linux

Pengantar

Link berikut ini akan sangat berguna sebagai acuan untuk menentukan kartu wireless PCI yang paling sesuai untuk komputer anda.

Madwifi Compatible Cards from Netgear
Comprehensive List of cards from all vendors

Saya lebih memilih WG311 dari Netgear dardipada membeli kartu wireless USB. Seharusnya saya memastikan terlebih dahulu pada link di atas, apakah pada sistem Linux sudah tersedia driver untuk kartu ini. Akhirnya saya harus menggunakan “ndiswrapper” agar kartu tersebut dapat bekerja dengan baik.

Apa itu ndiswrapper?

Diambil dari http://ndiswrapper.sourceforge.net:

“Banyak vendor yang tidak merilis spesifikasi hardware atau menyediakan driver Linux untuk kartu wireless yang mereka produksi. Proyek ini mengimplementasikan Windows kernel API dan NDIS API pada sistem Linux. Driver Windows untuk kartu wireless tersebut dikaitkan dengan implementasi ini sehingga driver tersebut akan berjalan secara native, seperti halnya pada Windows, tanpa memerlukan emulasi binary.”

Mengapa saya membeli kartu PCI? Mengapa tidak USB?

Bukannya saya membenci kartu wireless USB… Saya hanya ingin menghubungkan sistem desktop saya dengan jaringan broadband, tanpa mengurangi keindahan rumah dengan kabel-kabel yang berserakan.

Mengenal madwifi

Apa itu madwifi? Mengapa madwifi?

Diambil dari http://www.madwifi.org:

“madwifi.org adalah [...] sebuah tim pengembang sukarela yang membuat driver Linux untuk peralatan wireless LAN dengan chipset Atheros. Kami menyediakan dua buah driver, MadWifi dan ath5k.”

Saya harus menyadari kenyataan bahwa driver madwifi mendukung chipset Atheros, namun kartu PCI WG311 dari Netgear menggunakan chipset Marvell. Chipset ini tidak didukung oleh madwifi.

Saya kemudian mendownload paket source madwifi versi terakhir (0.9.4) dari website http://madwifi.org dan mengikuti petunjuk yang terdapat pada Madwifi Newbie Doc. Langkah-langkah instalasi dari source adalah sebagai berikut:

[root@thinnai /tmp/madwifi]# ./configure && make && make install
[root@thinnai /tmp/madwifi]# modprobe ath_pci

Kemudian saya mencoba membuat interface. Di sini saya menemukan kegagalan.

[root@thinnai ~]# wlanconfig ath0 create wlandev wifi0 wlanmode sta
wlanconfig: ioctl: No such device

Setelah saya mempelajari URL yang disebutkan pada pengantar tulisan ini, keduanya menyebutkan bahwa kartu WG311 didukung oleh “ndiswrapper” — namun tidak didukung oleh madwifi.

Menurut dokumentasi dasar yang tersedia pada halaman ndiswrapper wiki, ada dua langkah yang harus dilakukan untuk mengkonfigurasi kartu wireless: Pertama, install ndiswrapper dari source. Kemudian, download dan install driver Windows yang diperlukan.

Bagaimana saya menentukan driver Windows yang harus didownload? Sederhana saja — saya mengidentifikasi revisi chipset yang digunakan pada kartu wireless, kemudian ikuti langkah-langkah berikut ini:

  • Dengan menggunakan perintah “lspci”, kita akan menemukan card identifier. Dalam hal ini “01:07.0″ seperti ditunjukkan di bawah (kolom pertama).
  • Menggunakan perintah “lspci -n” dengan mereferensikan card identifier, kita akan menemukan PCI ID (kolom ketiga).
  • Untuk kartu WG311 dari Netgear, saya memilih bagian ‘M-N’ dari halaman web berikut ini.
  • Kita temukan PCI ID yang sesuai dengan kartu yang kita miliki. Dari halaman web tersebut, saya cocokkan PCI ID dan nomor revisi chipsetnya,kemudian saya bisa menentukan driver Windows yang tepat. Saya menggunakan driver untuk Windows 2000 dan dapat bekerja dengan baik pada sistem GNU/Linux.

Berikut adalah halaman wiki mengenai langkah-langkah detail untuk menginstal ndiswrapper dari source, termasuk menginstal driver Windows.

Pada langkah instalasi tersebut, disebutkan bahwa kita sebaiknya mencoba menggunakan driver Windows XP terlebih dahulu, sebelum mencoba driver Windows 2000. Disebutkan pula bahwa jika driver Windows yang disediakan oleh vendor dapat bekerja dengan baik, file-file driver tersebut dapat dipergunakan kembali. Oleh karena itu saya mendownload driver dari URL di atas dan tidak menggunakan file-file driver bawaan Windows.

[root@thinnai:~]#/sbin/lspci|grep -i wireless
01:07.0 Ethernet controller: Marvell Technology Group Ltd. 88w8335 [Libertas] 802.11b/g Wireless (rev 03)
[root@thinnai ~]# lspci -n|grep 01:07
01:07.0 0200: 11ab:1faa (rev 03)

Menggunakan ndiswrapper

Menginstal ndiswrapper

Saya mendownload rilis terakhir tarball ndiswrapper dan membaca dokumentasinya, terutama untuk file INSTALL. Langkah-langkah untuk mengkompilasi dan menginstal binary ternyata cukup mudah.

Berada pada direktori /root/ndiswrapper-1.20, saya menjalankan perintah berikut:

[root@thinnai ndiswrapper-1.20]# make && make install
[...]
*** WARNING: Kernel is compiled with 4K stack size option (CONFIG_4KSTACKS); many Windows drivers will not
work with this option enabled. Disable CONFIG_4KSTACKS option, recompile and install kernel
[...]

Jika anda menemukan pesan peringatan seperti di atas, anda bisa mengabaikannya. Peringatan ini tidak akan mempengaruhi fungsionalitas kartu wireless anda.

Setelah mengekstrak driver Windows, langkah-langkah instalasinya adalah sebagai berikut:

[root@thinnai ndiswrapper-1.20]# ls ../ENLWI-G_Driver_Utility_98SE-ME-2000-XP/V1.10/DRIVER/Windows\ XP/
Mrv8000c.cat Mrv8000c.inf Mrv8000c.sys

[root@thinnai ndiswrapper-1.20]# cp ../ENLWI*/*{inf.sys} . # Copy the drivers into the current dir

[root@thinnai ndiswrapper-1.20]# ndiswrapper -i Mrv8000c.inf # Install them
Installing mrv8000c
Forcing parameter AdhocGMode|1 to AdhocGMode|0
Forcing parameter AdhocGMode|1 to AdhocGMode|0

[root@thinnai ndiswrapper-1.20]# ls /etc/ndiswrapper/ # Confirmed the installation
mrv8000c
[root@thinnai ndiswrapper-1.20]# ls /etc/ndiswrapper/mrv8000c/
11AB:1FAA.5.conf 11AB:1FAB.5.conf mrv8000c.inf mrv8000c.sys
[root@thinnai lnx_data]# ndiswrapper -l
Installed drivers:
mrv8000c driver installed, hardware present

Langkah berikutnya adalah mengkonfigurasi interface wireless, melakukan scan access point, dan melakukan koneksi. Saya juga melihat nomor versi tool wireless yang saya gunakan.

[root@thinnai ~]# rpm -qa | grep -i wireless
wireless-tools-28-0.pre13.5.1

[root@thinnai ~]# iwconfig --version
iwconfig Wireless-Tools version 28
Compatible with Wireless Extension v11 to v19.

Kernel Currently compiled with Wireless Extension v19.

wlan0 Recommend Wireless Extension v18 or later,
Currently compiled with Wireless Extension v19.

Langkah Terakhir

Saya menyatukan perintah-perintah ke dalam skrip shell untuk memudahkan instalasi driver kartu wireless dan mengaktifkannya setiap kali sistem melakukan boot.

echo "Activating wireless interface on your computer ..."
modprobe ndiswrapper
echo "===================================================================="
echo "Status of your ethernet interfaces ... "
/sbin/ifconfig
echo "===================================================================="
echo "Activating the wireless interface ... "
/sbin/ifconfig wlan0 up
echo "===================================================================="
echo "Status of your wireless interfaces ... "
/sbin/iwconfig
echo "===================================================================="
echo "Scanning your wireless networks, joining available n/w also ..."
iwlist wlan0 scan
/sbin/iwconfig wlan0 essid default
/sbin/iwconfig wlan0
echo "===================================================================="
echo "Acquiring IP address for the wireless interface ... "
dhclient wlan0

Untuk memastikan status interface wireless PCI dengan ndiswrapper, saya menggunakan perintah “dhclient”.

Acquiring IP address for the wireless interface ...
Internet Systems Consortium DHCP Client V3.0.3-RedHat
[...]
Listening on LPF/wlan0/00:1e:2a:35:2a:79
Sending on LPF/wlan0/00:1e:2a:35:2a:79
Sending on Socket/fallback
DHCPREQUEST on wlan0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
bound to 192.168.0.147 -- renewal in 39 seconds.

Berikut contoh pengecekan validitas koneksi secara sederhana:

[ram@thinnai ~]$ host linuxgazette.net
linuxgazette.net has address 64.246.26.120
linuxgazette.net mail is handled by 10 genetikayos.com.
[ram@thinnai ~]$ ping -c 5 www.eham.net
PING www.eham.net (69.36.242.135) 56(84) bytes of data.
64 bytes from atlanta.eham.net (69.36.242.135): icmp_seq=1 ttl=50 time=297 ms
64 bytes from atlanta.eham.net (69.36.242.135): icmp_seq=2 ttl=50 time=298 ms
64 bytes from atlanta.eham.net (69.36.242.135): icmp_seq=3 ttl=50 time=298 ms
64 bytes from atlanta.eham.net (69.36.242.135): icmp_seq=4 ttl=50 time=298 ms
64 bytes from atlanta.eham.net (69.36.242.135): icmp_seq=5 ttl=50 time=298 ms

--- www.eham.net ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3998ms
rtt min/avg/max/mdev = 297.142/298.288/298.837/0.617 ms

Penutup

Anda sebaiknya membaca terlebih dahulu URL yang disebutkan di atas, sebelum menentukan kartu wireless yang akan anda beli. Jika kartu wireless PCI/USB anda tidak didukung oleh madwifi, jangan menyerah; cobalah menggunakan ndiswrapper.

 


Free CursorsMyspace LayoutsMyspace Comments
type='text/javascript'/>