15 April 2011

How to install hybrid wireless driver Broadcom On Linux Ubuntu 10.04

             เหตุเกิดจาก notebook ผมเกิดดื้อ ดันมี wireless เป็นของ Broadcom ต้องมา
install เอง T___T ตอนลง Ubuntu 10.04 ใหม่ 555+ สนุกๆละที่เนี้ย ลำบากไปถามพี่กรู(google)
อีกแล้วครับ! โดยสรุปๆๆ ได้ดังนี้


ต้องโหลดเจ้าตัว install มา : http://www.broadcom.com/support/802.11/linux_sta.php

Step1 : ใช้คำสั่ง ตรวจสอบหา Device ID's สำหรับ Broadcom cards โดยคำสั่ง :

                                sudo lspci -n | grep 14e4

SUPPORTED DEVICES : ดูรุ่นที่รองรับ นะครับ

BRCM             PCI             PCI                                           Dell
Product           Name         Vendor ID         Device ID       Product ID
------------- ---------- --------- -----------
4311              2.4 Ghz       0x14e4               0x4311         Dell 1390
4311              Dualband     0x14e4              0x4312          Dell 1490
4311              5 Ghz          0x14e4              0x4313
4312              2.4 Ghz       0x14e4              0x4315          Dell 1395
4313              2.4 Ghz       0x14e4              0x4727          Dell 1501
4321              Dualband     0x14e4              0x4328           Dell 1505
4321              Dualband     0x14e4              0x4328           Dell 1500
4321              2.4 Ghz       0x14e4              0x4329
4321              5 Ghz          0x14e4              0x432a
4322              Dualband     0x14e4              0x432b           Dell 1510
4322              2.4 Ghz       0x14e4              0x432c
4322              5 Ghz          0x14e4             0x432d
43224            Dualband     0x14e4             0x4353      Dell 1520 (** รุ่นนี้ของผมเอง T__T!)
43225            2.4 Ghz        0x14e4             0x4357
43227            2.4 Ghz        0x14e4             0x4358
43228           Dualband       0x14e4            0x4359         Dell 1530


    สำหรับใครที่ลง Ubuntu อย่างของผม ผมก็จะติดตั้ง headers และ tools ก่อน (กันเหนียวไว้ก่อน)
    โดยใช้คำสั่ง :
                            sudo apt-get install build-essential linux-headers-generic


                            sudo apt-get build-dep linux

ลองตรวจสอบว่ามี directory bulid ว่ามีหรือเปล่า โดยใช้คำสั่ง :

                            ls /lib/modules/'uname -r'/build

                สำหรับ uname -r นั้น เป็นคำสั่งที่ใช้แสดงรุ่นของ kernel ที่ใช้อยู่ เช่น
                2.6.32-28-generic เป็นต้น

Step2 : เรามาเริ่มการ Build Instructions กันเลยดีกว่า :-)

            1. เตรียมพร้อม install driver กันก่อนนะ.....

                For 32 bit: hybrid-portsrc_x86-32_v5.100.82.38.tar.gz
                For 64 bit: hybrid-portsrc_x86-64_v5.100.82.38.tar.gz (ผมใช้ตัวนี้ครับ)

               หลังจาก Download มาแล้ว! ก็หา folder เก็บแล้ว แตกไฟล์ออกมานะครับ

                ผมขอ เก็บไว้ที่ /tmp แล้วกันนะครับ

            $sudo mkdir /tmp/hybrid_wl


            #cd /tmp/hybrid_wl


           #tar -zxvf <path ที่เก็บไว้นะ>/hybrid-portsrc_x86-64_v5.100.82.38.tar.gz (ตรงนี้ ผมลงUbuntu 64bitครับ)

          2. จากนั้น ทำการ Build Driver ในโมดูล Kernel Linux (LKM): โดยใช้คำสั่ง

                                  sudo make clean

                                  sudo make


                       เมื่อ Build เสร็จ ก็จะมีไฟล์ชื่อ wl.ko ใน directory ที่เราสร้างไว้

 (กรณีนี้ ผมเป็นการ Install ใหม่ ไม่ได้ Upgrading นะครับ )

               3. สำหรับขั้นตอนนี้ คือ เราจะต้อง Check ก่อนว่า มี Driver ตัวใดหรือเปล่าที่ทำการใช้งาน
                   Driver Broadcom 802.11 อยู่หรือไม่ เช่น b43 และ ssb เป็นต้น ถ้าไม่เช่นนั้นจะทำให้
                   มีปัญหา เอาง่ายๆๆ แล้วจะนั่งปวดหัวไปสักพักใหญ่.... เลย!!!

          อ้าว!! ต่อเลย ครับ ให้ทำการตรวจสอบ modules พวกนี้โดยใช้คำสั่ง :

                      sudo lsmod | grep "b43\|ssb\|wl"

          ถ้าเจอพวก เจ้าตัวปัญหาพวกนี้ install อยู่ ก็ remove มันซะ 555+

              # rmmod b43
              # rmmod ssb
              # rmmod wl (เผื่อมีก็ ลบไปก่อนนะ)


         จากนั้น กันเหนียว!! ไว้ด้วยการสั่งไม่ให้ Kernel Run พวก modules พวกนี้ขึ้นมา
       เมื่อตอนบูต นะครับ โดยไป เขียนไว้ที่ไฟล์ /etc/modprobe.d/blacklist.conf
       โดยใช้คำสั่ง :

             # echo "blacklist ssb" >> /etc/modprode.d/blacklist.conf
             # echo "blacklist b43">> /etc/modprode.d/blacklist.conf


       4. ให้ทำการ Insmod driver โดยเป็นการ install module wl driver ใช้คำสั่ง :

             #modprobe lib80211

             #insmod wl.ko
(ตรงนี้คุณต้องอยู่ที่ folder ที่คุณสร้างขึ้นครั้งแรกนะครับ!)

            หลังจากทำติดตั้งแล้ว จะมี wireless ขึ้นมาแสดงการเชื่อมต่อ ......เย้!! ถึงตรงนี้
            ยิ้มปากกว้างๆๆ ได้เลยครับ ^O^ ในที่สุดก็มี Wireless เล่นซะที

       5. ขั้นตอนนี้ คือจะเป็นการ set ให้ wireless ของเรา load ทุกครั้งเมื่อทำการบูตเข้าระบบมานะครับ

           โดยใช้คำสั่ง :

                 # cp wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
                 # depmod -a

                  # echo modeprobe wl >> /etc/rc.local (Fedora/SUSE)
แต่ Ubuntu ผมก็ใช้นะ 55+


     หลังจากนี้ ลองทำการ Reboot เครื่องขึ้นมา แล้ว Check ว่า Wireless เครื่องเราทำงานหรือเปล่า
แต่ผมมั่นใจว่าได้ ถ้าไม่ อะไรผิดพลาดนะครับ !!! (แต่ถ้าผิดพลาดแสดงว่าไม่ได้ งานเข้าไง!!!)

อ้างอิง จาก : เนื้อหา Readme.txt ของ Broadcom นะครับ แต่ผมทำแล้ว ได้ผลสำเร็จแล้ว !!!



มั่วๆไปประการใด ก็ขออภัย ไว้ด้วยแล้วกันนะคับ !!! (ผมคือ อนุบาลคอมพิวเตอร์)

No comments:

Post a Comment