การ์ด Broadcom ไร้สายพร้อมเคอร์เนล 2.6.38 บน Debian

หลังจากการอัปเกรดที่คาดว่าจะสูงเป็น kernel 2.6.38เป็นไปได้ว่าการ์ดไร้สาย Broadcom ไม่ทำงานใน debianเนื่องจากเคอร์เนลคือ ฟรีอย่างสมบูรณ์แต่ไดรเวอร์สำหรับแบรนด์นี้ไม่ใช่ ฉันจะอธิบายวิธีการ เปิดใช้งาน การ์ด บรอดคอม 4311, 4312, 4313, 4321, 4322, 43224, 43225, 43227 y 43228 en Debian Squeeze, เลนนี่ y ดังเสียงฮืด ๆ.


ก่อนเริ่มต้นหากคุณไม่แน่ใจว่าการ์ดไร้สายของคุณคืออะไรคุณควรรันคำสั่งต่อไปนี้บนคอนโซล:

lspci

และรายชื่อทั้งหมด PCI ในคอมพิวเตอร์ บรรทัดที่ว่า ตัวควบคุมเครือข่าย เป็นการ์ดไร้สายที่ระบุไว้ มีลักษณะดังนี้:

01: 00.0 ตัวควบคุมเครือข่าย: Broadcom Corporation BCM4312 802.11b / g LP-PHY (rev 01)

ด้วยเหตุนี้พวกเขาจึงสามารถตรวจสอบให้แน่ใจได้แล้วว่าการ์ดไร้สายใดในกรณีนี้คือ 4312 ที่กล่าวถึงในตอนต้นของบทความ

บีบ

1. เพิ่มองค์ประกอบ "ไม่ฟรี" ลงใน / etc / apt / sources.list ในกรณีที่ไม่ทำ ตัวอย่างคือ:

# เดเบียนบีบ / 6.0
deb http://ftp.us.debian.org/debian บีบส่วนหลักที่ไม่ฟรี

2. อัปเดตรายการแพ็คเกจที่มี

# อัพเดทความถนัด

3. ติดตั้งแพ็คเกจ โมดูลช่วย y เครื่องมือไร้สาย

# aptitude ติดตั้ง module-assistant wireless-tools

4. รวบรวมและติดตั้งแพ็คเกจ Broadcom-sta-modules- * สำหรับระบบของคุณโดยใช้ ผู้ช่วยโมดูล

# ma ai Broadcom-sta

5. สำหรับไพ่ BCM4313, BCM43224 Y BCM43225เพิ่มโมดูลในบัญชีดำ brcm80211เพื่อหลีกเลี่ยงความขัดแย้งกับการสนับสนุนของคุณ

# บัญชีดำ echo brcm80211 >> /etc/modprobe.d/broadcom-sta-common.conf

6. สร้าง ramdisk เริ่มต้นใหม่และเพิ่มโมดูลที่กำหนดไว้ในไฟล์ลงในบัญชีดำ /etc/modprobe.d/broadcom-sta-common.conf ด้วย initramfs

# update-initramfs -u -k $ (uname -r)

7. ดาวน์โหลดโมดูลที่ขัดแย้งกัน

# modprobe -r b44 b43 b43legacy ssb brcm80211

8. โหลดโมดูล wl

#modprobewl

9. ตรวจสอบว่าอุปกรณ์มีอินเทอร์เฟซที่ใช้ได้

#iwconfig

10. การกำหนดค่า อินเทอร์เฟซไร้สาย

เลนนี่

1. ติดตั้งแพ็คเกจ build-essential, debhelper, ผู้ช่วยโมดูล, quilt y เครื่องมือไร้สาย

# อัพเดทความถนัด
# aptitude ติดตั้ง build-essential debhelper module-assistant quilt wireless-tools

2. ดาวน์โหลดแพ็คเกจด้วยตนเอง บีบ / Broadcom-sta-source จากกระจกใด ๆ ใน http://packages.debian.org/squeeze/all/broadcom-sta-source/download

$ wget http://ftp.us.debian.org/debian/pool/non-free/b/broadcom-sta/broadcom-sta-source_5.60.48.36-2_all.deb

3. ดาวน์โหลดแพ็คเกจด้วยตนเอง บีบ / Broadcom-sta-common จากกระจกใด ๆ ใน http://packages.debian.org/squeeze/all/broadcom-sta-common/download

$wget http://ftp.us.debian.org/debian/pool/non-free/b/broadcom-sta/broadcom-sta-common_5.60.48.36-2_all.deb

4. ติดตั้งแพ็คเกจ บีบ / Broadcom-sta-common y บีบ / Broadcom-sta-source ด้วย dpkg

# dpkg -i broadcom-sta- * deb

5. รวบรวมและติดตั้งแพ็คเกจ Broadcom-sta-modules- * สำหรับระบบของคุณโดยใช้ ผู้ช่วยโมดูล

# ma ai Broadcom-sta

6. สำหรับไพ่ BCM4313, BCM43224 Y BCM43225เพิ่มโมดูลในบัญชีดำ brcm80211เพื่อหลีกเลี่ยงความขัดแย้งกับการสนับสนุนของคุณ

# บัญชีดำ echo brcm80211 >> /etc/modprobe.d/broadcom-sta-common.conf

7. สร้าง ramdisk เริ่มต้นใหม่และเพิ่มโมดูลที่กำหนดไว้ในไฟล์ลงในบัญชีดำ /etc/modprobe.d/broadcom-sta-common.conf ด้วย initramfs

# update-initramfs -u -k $ (uname -r)

8. ดาวน์โหลดโมดูลที่ขัดแย้งกัน

# modprobe -r b44 b43 b43legacy ssb brcm80211

9. โหลดโมดูล wl

#modprobewl

10. ตรวจสอบว่าอุปกรณ์มีอินเทอร์เฟซที่ใช้ได้

#iwconfig

11. การกำหนดค่า อินเทอร์เฟซไร้สาย

ดังเสียงฮืด ๆ

1. เพิ่มส่วนประกอบที่ "ไม่ฟรี" ลงใน / etc / apt / sources.list ในกรณีที่ไม่ทำ ตัวอย่างคือ:

# Debian Wheezy (การทดสอบ)
deb http://ftp.us.debian.org/debian wheezy main ไม่มีค่าใช้จ่าย

2. อัปเดตรายการแพ็คเกจที่มี

# อัพเดทความถนัด

3. ติดตั้งแพ็คเกจ โมดูลช่วย y เครื่องมือไร้สาย

# aptitude ติดตั้ง module-assistant wireless-tools

4. รวบรวมและติดตั้งแพ็คเกจ Broadcom-sta-modules- * สำหรับระบบของคุณโดยใช้ ผู้ช่วยโมดูล

# ma ai Broadcom-sta

5. ดาวน์โหลดโมดูลที่ขัดแย้งกัน

# modprobe -r b44 b43 b43legacy ssb brcm80211

6. โหลดโมดูล wl

#modprobewl

7. ตรวจสอบว่าอุปกรณ์มีอินเทอร์เฟซที่ใช้ได้

#iwconfig

8. การกำหนดค่า อินเทอร์เฟซไร้สาย

Fuente: http://wiki.debian.org/wl


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   สามารถ dijo

    ubuntu ห่วยแน่นอน……………………………

  2.   ออล dijo

    ขอบคุณมากสำหรับข้อมูลของคุณ

    ฉันคิดว่าปัญหาเดียวกันนี้เกิดขึ้นใน Ubuntu คุณช่วยบอกฉันได้ไหมว่าฉันควรทำอย่างไร

  3.   เอ็ดวิน dijo

    โพสต์เกิน !!! ตอนนี้จะมีประโยชน์กับฉันเมื่อฉันอัปเดตเคอร์เนลของฉัน =)

  4.   โมนิกา dijo

    ค้นหาการ์ดของคุณใน -> http://wiki.debian.org/WiFi#PCI_Devices และทำตามวิกิ

  5.   โมนิกา dijo

    แปลกดี! xD ฉันตรวจพบเฉพาะการเชื่อมต่ออีเธอร์เน็ตโดยอัตโนมัติ แต่ไม่ใช่การเชื่อมต่อไร้สายหลังจากดำเนินการดังกล่าวแล้วก็ใช้งานได้: p

  6.   วอลเตอร์โอมาร์ดารี dijo

    วิธีนี้ (Squeeze) ยังทำงานได้ดีกับ Wheezy, kernel 3.0.0-1-amd64 และ BCM4312 เพียง แต่ไม่จำเป็นต้องเรียกใช้ "update-initramfs -u -k $ (uname -r)"
    ฉันเพิ่งทำบน Lenovo G550
    ขอบคุณสำหรับบทความและคำทักทาย!
    วอลเตอร์

  7.   แดเนียล dijo

    และถ้าการ์ดของฉันเป็น intel?

  8.   อเล็กซ์ dijo

    สาเหตุหนึ่งที่ฉันเปลี่ยนจาก debian เป็น Ubuntu คือมันไม่รองรับการ์ดเครือข่ายของฉัน แต่ eth wifi ตรวจพบ :( ฉันหวังว่าด้วยสิ่งนี้ฉันจะแก้ไขได้แม้ว่าตอนนี้ฉันคิดว่ามันจะมีค่าใช้จ่าย ฉันติดตั้งเดเบียนใหม่ (ส่วนใหญ่เป็นเพราะความเกียจคร้าน😛)

    ฉันเก็บโพสต์ไว้เพื่ออนาคตฮิฮิ
    ความนับถือ

  9.   โมนิกา dijo

    มองหาการ์ดของคุณในรายการนี้ -> http://wiki.debian.org/WiFi#PCI_Devices

  10.   อเล็กซ์ dijo

    ใช่นั่นคือสิ่งที่ฉันคิดว่ามันแปลกปกติในแล็ปท็อปสิ่งที่มักจะล้มเหลวมากที่สุดคือระบบไร้สาย สำหรับช่วงเวลาที่ฉันจะอยู่ใน Ubuntu ทุกอย่างดีสำหรับฉัน แต่ฉันหวังว่าจะได้กลับไปที่ Debian ในเร็ว ๆ นี้ (ฉันชอบมันมากกว่านี้)

  11.   จอห์นนี่ม dijo

    สวัสดีเพื่อนผลงานยอดเยี่ยม !!!! แต่ให้ฉันบอกคุณว่าในการรวบรวมการ์ดฉันได้รับข้อผิดพลาดต่อไปนี้:
    QUILT_PATCHES = เดเบียน / แพทช์ \
    quilt –quiltrc / dev / null pop -a -R || ทดสอบ $? = 2
    rm -rf .pc debian / stamp-patched
    dh_testdir
    #dh_testroot
    dh_สะอาด
    / usr / bin / make -f debian / กฎสะอาด
    make [1]: ป้อนไดเร็กทอรี `/ usr / src / module / broadcom-sta '
    QUILT_PATCHES = เดเบียน / แพทช์ \
    quilt –quiltrc / dev / null pop -a -R || ทดสอบ $? = 2
    rm -rf .pc debian / stamp-patched
    dh_testdir
    #dh_testroot
    dh_สะอาด
    สร้าง [1]: ออกจากไดเร็กทอรี `/ usr / src / module / broadcom-sta '
    / usr / bin / make -f debian / กฎ kdist_clean kdist_config ไบนารีโมดูล
    make [1]: ป้อนไดเร็กทอรี `/ usr / src / module / broadcom-sta '
    QUILT_PATCHES = เดเบียน / แพทช์ \
    quilt –quiltrc / dev / null pop -a -R || ทดสอบ $? = 2
    ไม่มีการถอดแพทช์ออก
    rm -rf .pc debian / stamp-patched
    dh_testdir
    #dh_testroot
    dh_สะอาด
    / usr / bin / make -w -f debian / กฎสะอาด
    make [2]: ป้อนไดเร็กทอรี `/ usr / src / module / broadcom-sta '
    QUILT_PATCHES = เดเบียน / แพทช์ \
    quilt –quiltrc / dev / null pop -a -R || ทดสอบ $? = 2
    ไม่มีการถอดแพทช์ออก
    rm -rf .pc debian / stamp-patched
    dh_testdir
    #dh_testroot
    dh_สะอาด
    สร้าง [2]: ออกจากไดเร็กทอรี `/ usr / src / module / broadcom-sta '
    make [1]: ไม่มีอะไรทำสำหรับ `kdist_config '
    สำหรับเทมเพลตใน; ทำ \
    cp $ templ `echo $ templ | sed -e 's / _KVERS_ / 3.2.0-4-amd64 / g'`; \
    ทำ
    สำหรับ templ ใน "ls debian / *. modules.in`; ทำ \
    ทดสอบ -e $ {templ% .modules.in} .backup || cp $ {templ% .modules.in} $ {templ% .modules.in} .backup 2> / dev / null || จริง; \
    sed -e 's / ## KVERS ## / 3.2.0-4-amd64 / g; s / # KVERS # / 3.2.0-4-amd64 / g; s / _KVERS_ / 3.2.0-4-amd64 / g; s / ## KDREV ## // g; s / # KDREV # // g; s / _KDREV _ // g '$ {templ% .modules.in}; \
    ทำ
    dh_testroot
    dh_prep
    # สร้างโมดูล
    cd / usr / src / โมดูล / broadcom-sta / amd64 && \
    สร้าง -C /lib/modules/3.2.0-4-amd64/build M = / usr / src / module / broadcom-sta / amd64
    make [2]: ป้อนไดเร็กทอรี `/usr/src/linux-headers-3.2.0-4-amd64 ′
    LD /usr/src/modules/broadcom-sta/amd64/built-in.o
    CC [M] /usr/src/modules/broadcom-sta/amd64/src/shared/linux_osl.o
    CC [M] /usr/src/modules/broadcom-sta/amd64/src/wl/sys/wl_linux.o
    /usr/src/modules/broadcom-sta/amd64/src/wl/sys/wl_linux.c:219:2: ข้อผิดพลาด: ฟิลด์ที่ไม่รู้จัก 'ndo_set_multicast_list' ที่ระบุใน initializer
    /usr/src/modules/broadcom-sta/amd64/src/wl/sys/wl_linux.c:219:2: คำเตือน: การเริ่มต้นจากประเภทตัวชี้ที่เข้ากันไม่ได้ [เปิดใช้งานโดยค่าเริ่มต้น]
    /usr/src/modules/broadcom-sta/amd64/src/wl/sys/wl_linux.c:219:2: คำเตือน: (ใกล้การเริ่มต้นสำหรับ 'wl_netdev_ops.ndo_validate_addr') [เปิดใช้งานโดยค่าเริ่มต้น]
    /usr/src/modules/broadcom-sta/amd64/src/wl/sys/wl_linux.c: ในฟังก์ชัน '_wl_set_multicast_list':
    /usr/src/modules/broadcom-sta/amd64/src/wl/sys/wl_linux.c:1435:27: ข้อผิดพลาด: 'struct net_device' ไม่มีสมาชิกชื่อ 'mc_list'
    /usr/src/modules/broadcom-sta/amd64/src/wl/sys/wl_linux.c:1435:56: ข้อผิดพลาด: 'struct net_device' ไม่มีสมาชิกชื่อ 'mc_count'
    /usr/src/modules/broadcom-sta/amd64/src/wl/sys/wl_linux.c:1436:24: ข้อผิดพลาด: การยกเลิกการอ้างอิงตัวชี้เป็นประเภทที่ไม่สมบูรณ์
    /usr/src/modules/broadcom-sta/amd64/src/wl/sys/wl_linux.c:1442:57: ข้อผิดพลาด: การยกเลิกการอ้างอิงตัวชี้เป็นประเภทที่ไม่สมบูรณ์
    ทำให้ [5]: *** [/usr/src/modules/broadcom-sta/amd64/src/wl/sys/wl_linux.o] ข้อผิดพลาด 1
    ทำให้ [4]: ​​*** [_module_ / usr / src / module / broadcom-sta / amd64] ข้อผิดพลาด 2
    make [3]: *** [sub-make] Error 2
    ทำให้ [2]: *** [ทั้งหมด] ข้อผิดพลาด 2
    make [2]: ออกจากไดเร็กทอรี `/usr/src/linux-headers-3.2.0-4-amd64 ′
    ทำให้ [1]: *** [โมดูลไบนารี] ข้อผิดพลาด 2
    สร้าง [1]: ออกจากไดเร็กทอรี `/ usr / src / module / broadcom-sta '
    ทำให้: *** [kdist_build] ข้อผิดพลาด 2

    สิ่งที่อาจเป็นปัญหา