บันทึกการติดตั้ง Debian - wireless
www.tanabutr.co.th/photobook
เครื่องโน้ตบุคที่ใช้อยู่ซื้อมาเมื่อ 3 ปีที่แล้ว. ตอนนั้นไม่ได้ซื้อรุ่นที่มี wireless LAN ติดมาด้วยตอนนี้เลยต้องใช้ wireless LAN card แบบ PCMCIA ของ Buffalo WLI2-CB-G54L ที่แถมมากับ wireless access point.
ตรวจสอบฮาร์ดแวร์
ก่อนอื่นตรวจสอบฮาร์ดแวร์ว่าเห็น wireless LAN อันนี้หรือไม่ด้วยคำสั่ง lspci
# lspci ... 0000:02:00.0 Ethernet controller: Linksys, A Division of Cisco Systems [AirConn] INPROCOMM IPN 2220 Wireless LAN Adapter (rev 01)
ลองหาข้อมูลจาก google ก็จะรู้ว่าใช้กับลินกซ์ผ่านทาง ndiswrapper.
module-assistant
ถ้าลอง apt-cache หาแพ็กเกจที่เกี่ยวกับ ndiswrapper จะเห็นว่ามีแพ็กเกจ ndiswrapper-source กับ ndiswrapper-utils. และ ndiswrapper-source จะขึ้นกับแพ็กเกจ module-assistant ซึ่งเป็นแพ็กเกจโปรแกรมสำหรับสร้างโมดูลใช้กับเคอร์เนลปัจจุบัน.
ในดิสโทร Debian เราสามารถติดตั้งเคอร์เนลที่ทางดิสโทรเตรียมไว้ให้แล้ว. แน่นอนว่าโมดูลเคอร์เนลบางตัวดิสโทรไม่ได้เตรียมไว้ให้เช่นในกรณี ndiswrapper นี้จะมีแพ็กเกจ xxx-source ให้แล้วใช้ module-assistant สร้างเคอร์เนลโมดูลเอง. อีกอย่างหนึ่งผู้ใช้มีสิทธิ์เลือกว่าจะใช้เคอร์เนลรุ่นไหน 2.4x , 2.6.x. ถ้าใช้ module-assistant ช่วยสร้างโมดูลที่เข้ากันกับเคอร์เนลที่ใช้ได้จากรหัสต้นฉบับ.
# apt-get install ndiswrapper-source ndiswrapper-utils
ถ้าในระบบยังไม่มีแพ็กเกจ module-assistant ก็จะติดตั้งแพ็กเกจนี้ให้ด้วย. ไฟล์รหัสที่มากับแพ็กเกจ ndiswrapper-source จะเป็นไฟล์ archive ชื่อ ndiswrapper-source.tar.bz2 อยู่ที่ไดเรกทอรี /usr/src. หลังจากนั้นใช้คำสั่ง module-assistant หรือย่อๆว่า m-a คอมไพล์โมดูลเป็นแพ็กเกจแล้วติดตั้งแพ็กเกจที่คอมไพล์.
โปรแกรม module-assistant เป็นโปรแกรมแบบไดอะล็อกโต้ตอบกับผู้ใช้ทางเทอร์มินอล. ในไดอะล็อกจะมีขึ้นตอนได้แก่
- UPDATE ใช้สำหรับ update รายการแพ็กเกจที่ใช้ได้, เหมือนกับการสั่งคำสั่ง apt-get update.
- PREPARE เป็นการเตรียมเฮดเดอร์ไฟล์, รหัสต้นฉบับของเคอร์เนลที่จำเป็นในการสร้างโมดูล. ถ้ายังไม่มีเฮดเดอร์ไฟล์หรือรหัสต้นฉบับระบบจะตรวจดูรุ่นเคอร์เนลที่ใช้อยู่และดาว์นโหลดติดตั้งแพ็กเกจที่จำเป็นให้. หรือเลือกทำไว้ไม่เสียหายเพื่อความชัวร์.
- SELECT เป็นไดอะล็อกเลือกโมดูลที่ต้องการสร้าง. ตรงนี้ผมจะใช้ ndiswarapper ก็จะเลือก ndiswrapper อย่างเดียว.
หลังจากที่เลือกโมดูลที่ต้องการติดตั้งแล้วก็จะเป็นหน้าจอใหม่เกี่ยวกับการสร้างโมดูลนั้น. ก็ทำตามขั้นตอนที่มีให้เลือกตั้งแต่ GET, BUILD แล้ว INSTALL.
ถ้าไม่มีอะไรผิดพลาดโปรแกรมก็จะสร้างโมดูลเป็นแพ็กเกจ .deb อยู่ในไดเรกทอรี /usr/src แล้วติดตั้งแพ็กเกจ .deb ที่สร้าง. แพ็กเจกที่สร้างและติดตั้งเป็นเคอร์เนลโมดูล, ถ้าต้องการใช้ทันทีก็สั่ง modprobe ndiswrapper และเขียนชื่อโมดูล ndiswrapper ไว้ในไฟล์ /etc/modules เพื่อให้โหลดโมดูลนี้อัตโนมัติในครั้งต่อไปที่บูตเครื่อง.
ติดตั้งไดรเวอร์ด้วย ndiswrapper
ดาว์นโหลดไดรเวอร์ Windows XP ของ PCMCIA การ์ด WLI2-CB-G54L มาจากเว็บไซด์ของ Buffalo แล้วกระจายไฟล์ที่ได้มา. เสร็จแล้วสั่งคำสั่ง
# ndiswrapper -i /home/poonlap/download/WLI2-CB-G54L/NET2G54L.inf
เป็นอันว่าติดตั้งไดรเวอร์ด้วย ndiswrapper เรียบร้อยครับ.
เช็ค wireless LAN
ลองคำสั่ง iwconfig ถ้าเห็นอินเทอร์เฟสชื่อ wlan0 ก็แสดงว่าใช้ wireless LAN ได้แล้ว.
# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
eth1 no wireless extensions.
wlan0 IEEE 802.11g ESSID:"YBBUser"
Mode:Managed Frequency:2.412 GHz Access Point: 00:02:8A:4D:DD:FF
Bit Rate:11 Mb/s Tx-Power:0 dBm
RTS thr:2347 B Fragment thr:2346 B
Encryption key:off
Power Management:off
Link Quality:100/100 Signal level:-70 dBm Noise level:-256 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
sit0 no wireless extensions.
ปรับแต่ง wlan0
แก้ไขไฟล์ /etc/network/interfaces ตัวอย่างเช่นเพิ่มบรรทัดต่อไปนี้ให้ wlan0 รับ IP มากจาก DHCP เซิร์ฟเวอร์.
iface wlan0 inet dhcp name Wireless LAN card wireless_essid YBBUser auto wlan0
YBBUser เป็นชื่อ essid ของ access point. เสร็จแล้วสั่งคำสั่ง ifup เพื่อให้ wlan0 ทำงาน.
# ifup wlan0
การปรับแต่ง wlan0 ตรงนี้แทนที่จะแก้ไขไฟล์ interfaces โดยตรงจะใช้โปรแกรม network-admin (Application > System tools > Networking) ช่วยก็ได้.
เสร็จแล้วเพิ่ม Wireless Link Monitor แอพเพล็ตเพ่ิมในพาเนลด้วยก็ได้ครับ. เอาไว้ดูเล่น.
