Teknik Instalasi WLAN di Linux Berbasis TI ACX100

Onno W. Purbo

Peralatan WLAN berbasis chipset Texas Instrument ACX100 mampu bekerja sampai dengan kecepatan 22Mbps atau di kenal sebagai IEEE 802.11b+. Texas Instrument (TI) mengembangkan modulasi yang di kenal sebagai Packet Binary Convolutional Code untuk mencapai dua kali kecepatan standard IEEE 802.11b.

Card WLAN berbasis Texas Instrument ACX100 yang saya ujicoba dalam instalasi ini adalah dari SMC tipe SMC2402W, yang merupakan card WLAN PCI di instalasi di mesin Pentium III yang saya gunakan sebagai ujicoba gateway PC di rumah saya. Berbagai card SMC lainnya juga dapat beroperasi dengan baik menggunakan teknik yang akan di jelaskan di sini.

Tidak seperti card WLAN Orinoco atau Prism II card. Driver untuk chipset Texas Instrument ACX100 tidak tersedia di distribusi Linux yang standard. Dengan menggunakan mesin pencari www.google.com menggunakan keyword seperti “acx100 linux”, maka kita akan menemukan paling tidak tiga (3) situs yang membawa driver Texas Instrument ACX100 untuk Linux, yaitu:

http://acx100.sourceforge.net/
http://www.ivor.it/wireless/acx.html
http://www.houseofcraig.net/acx100_howto.php

acx100.sourceforge.net berhasil mereverse engineering driver Texas Instrument ACX100 yang di rahasiakan oleh Texas Instrument untuk di buat driver-nya di Linux. Tapi sayang saya tidak berhasil dengan baik menginstalasi-nya di Linux Mandrake 9.1 yang saya gunakan.

Ivor menyediakan binary dari driver TI ACX100 yang berbasis dari acx100.sourceforge.net. Setelah saya coba juga hasilnya gagal total. Tidak berhasil jalan dengan baik.

Satu-satunya driver TI ACX100 yang berjalan dengan baik adalah yang saya peroleh dari House of Craig. Craig menyediakan binary driver TI ACX100 untuk RedHat 9.0, Mandrake 9.1, Mandrake 9.0, Slackware 9.0, Knoppix 3.3 beserta instalasi-nya secara lengkap. Memang tidak seperti instalasi driver Linux pada umumnya yang cukup sederhana dan plug-n-play, teknik instalasi driver ACX100 cukup membuat kepala pening, tapi jika dilakukan secara seksama dan hati-hati mengikuti petunjuk yang ada maka driver tersebut berjalan dengan baik sekali.

Download Driver

Berbagai driver yang dibutuhkan dapat di ambil dari http://www.houseofcraig.net/acx100_howto.php#downloads. Termasuk di dalamnya adalah firmware http://www.houseofcraig.net/acx100_firmware.tar.gz yang merupakan driver Windows yang terdiri dari beberapa file yaitu:

WLANGEN.BIN
RADIO0d.BIN
RADIO11.BIN

Yang biasanya diperoleh di direktori c:\winnt\system32. Harus di akui bahwa file ini bukan merupakan file open source, jadi solusi ini bukan murni solusi open source tapi di menggunakan driver card SMC bawaan yang ada di Windows tapi di akses melalui Linux, tapi tidak melanggar hak cipta karena driver tersebut biasanya diberikan dalam CD driver card SMC yang kita beli.

Selanjutnya adalah langkah yang perlu dilakukan dalam proses download dari driver SMC card di Linux.

1.	ambil file binary dari http://www.houseofcraig.net/acx100_howto.php#downloads sesuai dengan distribusi Linux yang anda gunakan. Jika ambil firmware SMC dari http://www.houseofcraig.net/acx100_firmware.tar.gz. Biasanya di Linux saya letakan file tersebut di folder /usr/local/src.

2.	Lepaskan card WLAN PCMCIA. Juga pastikan anda tidak menginstall modul driver WLAN acx100 lainnya karena akan tabrakan.

3.	jika dibutuhkan, kita dapat saja rebooting Linux. Masuk ke bagai “root” di Linux. Cara paling sederhana adalah login dengan user name root. Cara lain adalah dengan menulis “su” di shell,

# su

dan memasukan password “root”. Untuk mencek apakah betul anda adalah “root”, dapat di tulis “whoami” di shell.

4.	Masuk ke directory tempat anda menyimpan file tar.gz dari driver SMC WLAN maupun firmwarenya, yaitu:

# cd /usr/local/src

5.	Selanjutnya kita buka file acx100_pci-v0.2.0pre5-2.4.21-0.13mdk.tar.gz, menggunakan perintah

# tar zxvf  acx100_pci-v0.2.0pre5-2.4.21-0.13mdk.tar.gz

bagi anda yang menggunakan distro lain, maka 2.4.21-0.13mdk tidak akan sama dengan di atas. Untuk mengetahui versi kernel yang digunakan, lakukan

	# uname –r

2.4.12-0.13mdk adalah versi kernel yang digunakan di Linux Mandrake 9.1. Dalam tulisan ini saya menggunakan Linux Mandrake 9.1 sebagai referensi.

6.	Dan terakhir buka file acx100_firmware.tar.gz, menggunakan perintah,

# tar zxvf  acx100_firmware.tar.gz

Anda akan melihat file driver windows untuk SMC *.BIN dari hasil ekstraksi file ini. Alternatif lain adalah mengambil langsung dari c:\winnt\system32 jika anda menginstall driver tersebut di Windows.

Instalasi Module & Firmware

Setelah proses download selesai dilakukan, selanjutnya yang perlu dilakukan adalah instalasi modul dan firmware dari SMC card tersebut. Langkah instalasi dilakukan secara manual, belum ada script yang dibuat agar proses instalasi dilakukan secara automatis, yiatu:

1.	copykan acx100_pci.o hasil ekstrasi dari acx100_pci-v0.2.0pre5-2.4.21-0.13mdk.tar.gz, gunakan perintah

# mv /usr/local/src/acx100_pci.o /lib/modules/2.4.21-0.13mdk/kernel/drivers/net

2.	buat directory untuk menyimpan firmware SMC di /lib/modules, gunakan perintah

# mkdir /lib/modules/acx100_fmwe

3.	copykan semua *.BIN dari driver SMC ke folder acx100_fmwe yang baru kita buat menggunakan perintah

# mv *.BIN /lib/modules/acx100_fmwe

4.	Selanjutnya kita perlu mengedit file /etc/modules.conf menggunakan text editor yang ada di Linux. Saya sendiri biasanya menggunakan “vi”, sayangnya “vi” tidak manusiawi bagi pengguna Linux pemula. Yang perlu ditambahkan di /etc/modules.conf adalah

options acx100_pci use_eth_name=1 debug=0x01 firmware_dir=/lib/modules/acx100_fmwe

Bagi anda yang menggunakan PCI SMC WLAN card seperti saya SMC2402W, maka perlu ditambahkan pula di file /etc/modules.conf
	
alias eth1 acx100_pci

perhatikan baik-baik saya mengunakan eth1 karena kebetulan eth0 telah digunakan oleh card ethernet LAN UTP. Bagi anda yang hanya mempunyai sebuah card WLAN maka kemungkinan anda mengunakan eth0, ubah sebuah referensi di bawah ini ke eth0 jika ternyata anda mengunakan eth0 bukan eth1.

5.	update module dependency file, gunakan perintah

# depmod –a

6.	cek module dependency file apakah sudah berisi referensi ke acx100_pci, lakukan,

#  grep -i acx100 /lib/modules/`uname -r`/modules.pcimap

anda harusnya akan melihat beberapa entry terhadap acx100_pci

7.	Jika anda menggunakan card PCMCIA SMC, masukan card PCMCIA SMC tersebut dan lakukan,

# modprobe acx100_pci

8.	untuk mencek apakah module acx100_pci telah di load dengan baik atau belum, bisa dilihat melalui perintah

# lsmod | grep acx100_pci,

Testing Konfigurasi

Sebelum melakukan testing sebaiknya kita mempunyai semua informasi yang dibutuhkan, seperti:

•	IP address router atau wireless access point, kadang 192.168.0.1 atau 192.168.1.1.
•	MAC address dari access point atau WLAN card, seperti 00:03:2F:05:44:D2.
•	SSID dari access point.
•	WEP encryption key, jika di gunakan encryption.

Adapun langkah test dari konfigurasi yang perlu dilakukan adalah

1.	check apakah device eth1 tersebut ada, caranya,

# ifconfig –a

anda akan melihat selain device “lo”, ada beberapa device eth seperti

eth1	Link encap:Ethernet  HWaddr 00:04:E2:66:46:F8
	………. Ada beberapa line tambahan di sini ……….
Interrupt:10 Base address:0xdc00

Yang penting yang perlu di perhatikan adalah eth1 mempunyai MAC address 00:04:E2:66:46:F8 seperti yang tertera pada Card WLAN yang kita gunakan. Dan ada interrupt dan base address untuk digunakan oleh system operasi.

2.	untuk mengaktifkan card WLAN tersebut sebetulnya sederhana saja, kita dapat memberikan perintah, misalnya,

# ifconfig eth1 192.168.0.10

maka Ethernet card WLAN tersebut akan bekerja dengan IP address 192.168.0.10.

3.	Selanjutnya kita akan cek konfigurasi jaringan wireless-nya, melalui perintah

# iwconfig

anda akan melihat keluaran kira-kira seperti

eth1	v0.1g  ESSID:""
Mode:Ad-Hoc  Channel:1  Cell: 54:57:7B:51:10:86
Bit Rate=11Mb/s   Tx-Power:20 dBm
Encryption key:off
Link Quality:34/0  Signal level:-191 dBm  Noise level:-225 dBm
Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
Tx excessive retries:0  Invalid misc:0   Missed beacon:0

4.	Untuk mengkonfigurasi agar WLAN card SMC tersebut dapat beroperasi pada SSID dan channel yang kita inginkan maka kita dapat menggunakan perintah, misalnya,

# iwconfig eth1 mode managed channel x essid xxxxxxxx

dengan demikian WLAN card tersebut akan beroperasi pada ESSID tertentu.

5.	Jika anda mengunakan WEP key, maka kita perlu memasukan perintah, misalnya,

# iwconfig eth1 key xxxx-xxxx-xx essid xxxxxx

atau, jika anda menggunakan kunci WEP dapat format ASCII

# iwconfig eth1 key s:kunci-wep-ascii essid xxxxxxxx

6.	Kita perlu mencek sekali lagi apakah semua setup yang baru kita masukan berhasil dilakukan oleh system operasi, melalui perintah,

# iwconfig

contoh hasilnya adalah sebagai berikut,

eth1	v0.2.0pre5  ESSID:"SwadayaVision"  Nickname:"visiongate"
Mode:Managed  Channel:5  Access Point: 00:30:1A:00:FF:A8
Bit Rate=11Mb/s   Tx-Power:20 dBm
Encryption key:off
Link Quality:100/100  Signal level:57/100  Noise level:0/100
Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Pada titik ini, card WLAN SMC anda telah tergabung ke salah satu Access Point sesuai dengan ESSID yang digunakan. Tampak disini kecepatan yang digunakan hanya 11Mbps karena memang Access Point yang sedang saya coba bukan SMC jadi tidak bisa bekerja pada kecepatan maksimum 22Mbps.

7.	Kita perlu menset routing agar packet dapat dikirim dengan benar ke Internet, caranya melalui,

# route add default gw 192.168.0.1 eth1

eth1 dan 192.168.0.1 perlu di sesuaikan dengan kondisi jaringan yang anda gunakan.

8.	Check hubungan ke router atau Access Point, gunakan ping seperti

ping -c 4 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=255 time=2.63 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=255 time=2.42 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=255 time=2.35 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=255 time=2.40 ms

--- 192.168.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3032ms
rtt min/avg/max/mdev = 2.354/2.455/2.635/0.107 ms

Konfigurasi Interface

Sebetulnya di distribusi Linux telah di sediakan fasilitas konfigurasi untuk interface jaringan, tapi pengalaman saya sebaiknya kita mengkonfigurasi langsung pada perintah text di Linux terutama di bawah folder /etc/sysconfig.

1.	Gunakan text editor dan edit file  /etc/sysconfig/network-scripts/ifcfg-eth1 agar sesuai dengan kondisi jaringan yang kita gunakan. Terlampir adalah contoh konfigurasi yang saya gunakan di rumah

DEVICE=eth1
BOOTPROTO=static
# BOOTPROTO=dhcp
IPADDR=192.168.0.10
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
ONBOOT=yes
ESSID=SwadayaVision
CHANNEL=5
MODE=Managed
RTS=128
# MTU=512

tampak saya memberikan beberapa parameter yang di beri tanda “#”. Parameter tersebut hanya sebagai contoh saja bagi anda yang ingin mengubah atau bermain dengan parameter wireless.

2.	Gunakan text editor untuk mengedit file /etc/sysconfig/network agar sesuai dengan yang kita inginkan, contoh isi file /etc/sysconfig/network yang saya gunakan adalah,

HOSTNAME=visiongate.yc0mlc.ampr.org
NETWORKING=yes
GATEWAY=192.168.0.1
GATEWAYDEV=eth1
# FORWARD_IPV4=false
# DOMAINNAME=yc0mlc.ampr.org

Parameter yang penting di atas adalah GATEWAY harus sesuai dengan IP address router di LAN anda yang mengarah ke Internet.

Selesai sudah konfigurasi WLAN Card untuk mereka yang menggunakan chipset Texas Instrument ACX100. Selebihnya anda dapat mengkonfigurasi Linux untuk gateway anda seperti biasa, seperti menambahkan squid proxy server, iptables untuk firewall dll.

Selamat berjuang!