08 November 2004

Teknik Instalasi WLAN di Linux

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:winntsystem32. 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:winntsystem32
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!

No comments:

Post a Comment

Disqus for Dedy selalu Milisdad