0. Giới thiệu và nền tảng
Câu trả lời này dựa trên một nghiên cứu sâu rộng được thực hiện bởi nhiều người dùng Ubuntu đã làm việc cùng nhau trong hầu hết các vấn đề liên quan đến Broadcom. Đặc biệt cảm ơn chili555 đã giúp đỡ trong các diễn đàn Ubuntu và trên trang web này với nhiều câu hỏi liên quan đến thiết bị Không dây và những người khác đã đóng góp qua E-Mail, trò chuyện, IRC và nhiều hơn nữa trong việc thử nghiệm các trình điều khiển khác nhau với một số thẻ Broadcom Wireless phổ biến nhất (Rất cảm ơn Chili555 thực sự. Anh chàng này biết công cụ của mình).
Tổng cộng chúng tôi muốn đưa ra một câu trả lời có thể dễ theo dõi và bao quát hầu hết các Thẻ / Trình điều khiển Broadcom. Sau khi làm theo hướng dẫn này, bạn sẽ CẦN kiểm tra kết nối không dây của mình trong ít nhất 2 giờ (tôi thực sự khuyên dùng 8 giờ) với một thiết bị khác ở Chế độ Ad-Hoc, Chế độ cơ sở hạ tầng hoặc Cả hai. Các vấn đề phổ biến sẽ được giải quyết (Ngoài trình điều khiển không cài đặt) là:
- Hết thời gian kết nối sau vài phút hoặc giờ
- Dừng tìm kiếm các thiết bị khác (Không thấy bất kỳ thiết bị nào khác)
- Tiếp tục yêu cầu mật khẩu ngay cả trong trường hợp AP không có bất kỳ
- Dừng mọi lưu lượng nhận / truyền (Cần khởi động lại để khắc phục tạm thời)
- Hệ thống gặp sự cố với lỗi dmesg trong nhật ký (Liên kết 1 bên dưới)
- Hệ thống đóng băng hoàn toàn (Bạn chỉ có thể nhấn nút Khởi động lại / Nguồn) (Liên kết 1 bên dưới)
- Tạo báo cáo nhật ký lớn cố gắng định cấu hình hoặc kết nối chính xác
- Thất bại khi được cài đặt qua Trình điều khiển bổ sung / Phần cứng bổ sung (Liên kết 3 bên dưới)
- Kết nối và ngắt kết nối liên tục sau mỗi X giây
- Xuất hiện kết nối trên Trình quản lý mạng nhưng không nhận được Internet
- Cố gắng kết nối nhiều lần mà không kết nối chính xác
- Mất quá nhiều thời gian để kết nối
- Sau khi nâng cấp từ phiên bản trước (ví dụ: 12.04 lên 12.10), nó ngừng hoạt động
- Thẻ không dây không bật, bật hoặc tắt (Liên kết 2 bên dưới)
- Thẻ không dây bị chặn bởi phần cứng
- Nhiều vấn đề hơn được tìm thấy trong Launchpad, Diễn đàn Ubuntu và Askubfox
Liên kết 1 - https://bugs.launchpad.net/ubfox/+source/linux/+orms/1060268
Liên kết 2 - https://bugs.launchpad.net/ubfox/+source/bcmwl/+orms/732677
Liên kết 3 - Cung cấp một lỗi tương tự như "Xin lỗi, cài đặt trình điều khiển này không thành công."
Vì vậy, với ý nghĩ đó, sau đây là những gì chúng ta có ngay bây giờ được đơn giản hóa chỉ trong 3 bước:
1. Biết bạn có thẻ không dây Broadcom nào
Có hàng tá thẻ không dây Broadcom và dường như xuất hiện nhiều hơn mỗi ngày. Chìa khóa để tìm trình điều khiển chính xác cho bất kỳ card mạng nào là cái được gọi là ID PCI (PCI.ID). Để tìm ra PCI.ID nào bạn có, chúng tôi tiến hành mở thiết bị đầu cuối bằng cách nhấn CTRL+ ALT+ T(Nó sẽ mở một cửa sổ với nền trống) và bên trong thiết bị đầu cuối này, chúng tôi chạy lệnh sau:
lspci -nn -d 14e4:
Bạn sẽ nhận được một cái gì đó như sau nếu bạn có Bộ điều hợp không dây Broadcom (ID 14e4 được sử dụng trong ví dụ trên trong hầu hết các trường hợp là Thẻ không dây Broadcom):
Broadcom Corporation BCM4306 802.11bgn Wireless Network Adapter [14e4:4320] (rev 03)
PCI.ID trong ví dụ này là 14e4: 4320 như được thấy bên trong Chân đế [...]. Trong một số trường hợp, bạn cũng sẽ cần phiên bản sửa đổi (nếu nó xuất hiện) cho một số trường hợp đặc biệt. Trong trường hợp này, phiên bản sửa đổi là phiên bản 03 như được hiển thị bên trong Dấu ngoặc đơn (...) ở cuối. Vì vậy, những gì bạn sẽ cần sau khi tìm kiếm này là:
[14e4:4320] (rev 03)
Với thông tin mới này, bạn có thể xem bảng dưới đây và chọn phương pháp thích hợp để cài đặt trình điều khiển. Ví dụ: trong trường hợp này, vì bạn có 14e4: 4320 rev 03 , nếu chúng tôi đi xuống danh sách cho thấy cùng một PCI.ID, bạn sẽ thấy rằng trong các cột cho Ubuntu 12.04, 13.10 hoặc 14.04, nó sẽ hiển thị các firmware-b43-installer
tài xế gói. Điều này có nghĩa là bạn sẽ chỉ phải cài đặt gói cụ thể này vì nó xuất hiện trong tất cả các cột phiên bản Ubuntu.
LƯU Ý - Trước khi tiếp tục, nếu trước đó bạn đã cài đặt bất kỳ trình điều khiển nào, đã đưa vào danh sách đen hoặc không ghi chú bất kỳ tệp trình điều khiển hoặc tệp cấu hình nào hoặc đã thực hiện bất kỳ thay đổi nào đối với hệ thống để làm cho trình điều khiển hoạt động trong các lần thử trước, bạn sẽ cần hoàn tác chúng để làm theo hướng dẫn này Chúng tôi giả định rằng bạn đang làm điều này từ đầu và không thay đổi bất kỳ tệp cấu hình, mô-đun hoặc trình điều khiển nào trong hệ thống theo bất kỳ cách nào (ngoài việc cập nhật hệ thống). Điều này bao gồm mọi cài đặt sử dụng apt-get, aptitude, synaptic, dpkg, trung tâm phần mềm hoặc biên dịch thủ công và cài đặt các gói. Hệ thống phải bắt đầu lại từ đầu để làm việc này và để tránh mọi xung đột có thể xuất hiện nếu công việc trước đó được thực hiện.
Ví dụ: nếu bạn đã cài đặt bcmwl-kernel-source
gói trước đó , bạn sẽ cần xóa gói đó bằng phương thức thanh lọc:
sudo apt-get purge bcmwl-kernel-source
2. Chuẩn bị hệ thống
Nếu bạn vừa cài đặt Ubuntu, bạn sẽ cần xây dựng một chỉ mục các gói có sẵn trước khi chúng tôi có thể cài đặt trình điều khiển của bạn nếu bạn chưa làm như vậy:
sudo apt update
Tôi thậm chí còn đi xa hơn để cập nhật danh sách Ubuntu.IDs của Ubuntu:
sudo update-pciids
Chỉ trong trường hợp ID của một Thiết bị Broadcom cụ thể mà bạn đang sử dụng vừa xuất hiện.
Bây giờ bằng cách sử dụng PCI.ID mà bạn đã tìm thấy trong các bước ở trên, sau đó chúng tôi tìm kiếm trong danh sách bên dưới để tìm PCI.ID phù hợp và phương pháp cài đặt trình điều khiển được liên kết với nó một cách đơn giản và chính xác. Thiết bị đầu cuối sẽ được sử dụng để tránh mọi vấn đề liên quan đến GUI. Điều này áp dụng với tất cả các trường hợp, ngoại trừ như đã lưu ý. Quy trình cài đặt chỉ được thực hiện thông qua thiết bị đầu cuối và trong khi kết nối với internet bằng kết nối ethernet có dây tạm thời hoặc modem USB hoặc bất kỳ phương tiện nào có thể cung cấp cho PC của bạn, trong thời gian đó, truy cập Internet. Sau khi bạn tìm thấy trong danh sách bên dưới gói chính xác, chúng tôi tiến hành cài đặt.
3. Cài đặt gói (trực tuyến)
Giả sử bạn đã sử dụng PCI.ID 14e4: 4320 rev 03 như tìm thấy trong tìm kiếm của bạn ở trên, sau đó nhìn vào bảng bên dưới và thấy rằng gói chính xác để cài đặt là firmware-b43-installer
, sau đó chúng tôi tiến hành cài đặt gói này trong thiết bị đầu cuối:
sudo apt install firmware-b43-installer
và sau đó khởi động lại
sudo reboot
Định dạng để cài đặt khá đơn giản, chỉ là:
sudo apt install <PACKAGE_NAME>
Trong ví dụ trên, PACKAGE_NAME là firmware-b43-installer
.
BẢNG KHÔNG DÂY MÔI GIỚI (Cập nhật ngày 18 tháng 8 năm 2017)
PCI.ID 16.04 LTS 17.10+
------------------------------------------------------------------------------------
14e4:0576 Special Case #1 UNKNOWN
14e4:1713 firmware-b43-installer firmware-b43-installer
14e4:4301 firmware-b43-installer firmware-b43-installer
14e4:4306 firmware-b43-installer firmware-b43-installer
14e4:4306 rev 02 firmware-b43-installer firmware-b43-installer
14e4:4306 rev 03 firmware-b43-installer firmware-b43-installer
14e4:4307 firmware-b43-installer firmware-b43-installer
14e4:4311 firmware-b43-installer firmware-b43-installer
14e4:4311 rev 01 firmware-b43-installer firmware-b43-installer
14e4:4312 firmware-b43-installer firmware-b43-installer
14e4:4313 firmware-b43-installer firmware-b43-installer
14e4:4315 firmware-b43-installer firmware-b43-installer
14e4:4315 rev 01 firmware-b43-installer firmware-b43-installer
14e4:4318 firmware-b43-installer firmware-b43-installer
14e4:4318 rev 02 firmware-b43-installer firmware-b43-installer
14e4:4319 firmware-b43-installer firmware-b43-installer
14e4:4320 rev 02 firmware-b43-installer firmware-b43-installer
14e4:4320 rev 03 firmware-b43-installer firmware-b43-installer
14e4:4321 firmware-b43-installer firmware-b43-installer
14e4:4324 firmware-b43-installer firmware-b43-installer
14e4:4325 firmware-b43-installer firmware-b43-installer
14e4:4328 firmware-b43-installer firmware-b43-installer
14e4:4328 rev 03 bcmwl-kernel-source bcmwl-kernel-source
14e4:4329 bcmwl-kernel-source bcmwl-kernel-source
14e4:432a bcmwl-kernel-source bcmwl-kernel-source
14e4:432b bcmwl-kernel-source bcmwl-kernel-source
14e4:432c bcmwl-kernel-source bcmwl-kernel-source
14e4:432d bcmwl-kernel-source bcmwl-kernel-source
14e4:4331 firmware-b43-installer firmware-b43-installer
14e4:4335 firmware-b43-installer firmware-b43-installer
14e4:4350 firmware-b43-installer firmware-b43-installer
14e4:4353 Special Case #1 UNKNOWN
14e4:4353 rev 01 Special Case #1 UNKNOWN
14e4:4357 Special Case #1 UNKNOWN
14e4:4358 bcmwl-kernel-source bcmwl-kernel-source
14e4:4359 bcmwl-kernel-source bcmwl-kernel-source
14e4:4360 bcmwl-kernel-source bcmwl-kernel-source
14e4:4365 bcmwl-kernel-source bcmwl-kernel-source
14e4:4365 rev 01 bcmwl-kernel-source bcmwl-kernel-source
14e4:43a0 bcmwl-kernel-source bcmwl-kernel-source
14e4:43ae rev 02 UNKNOWN UNKNOWN
14e4:43b1 bcmwl-kernel-source bcmwl-kernel-source
14e4:43b1 rev 03 bcmwl-kernel-source bcmwl-kernel-source
14e4:43c3 rev 04 UNKNOWN Special Case #2
14e4:4727 bcmwl-kernel-source bcmwl-kernel-source
14e4:4727 rev 01 Special Case #1 Special Case #1
14e4:a962 firmware-b43-installer firmware-b43-installer
------------------------------------------------------------------------------------
Trường hợp đặc biệt # 1 - Sử dụng bcma
và brcmsmac
kết hợp trình điều khiển. Firmware yêu cầu được cài đặt theo mặc định trong gói linux-firmware
.
Trường hợp đặc biệt # 2 - Đối với ASUS PCE-AC88 AC3100, các bước là:
- Tải xuống tệp này và sau khi giải nén nó, hãy đặt nó vào / lib / firmware / brcm
sudo cp brcmfmac4366c-pcie.bin /lib/firmware/brcm/brcmfmac4366c-pcie.bin
- Sau đó
sudo nano /etc/rc.local
thêm modprobe brcmfmac và lưu
sudo reboot
Trong phần cứng như Lenovo S10-2, nếu thẻ không dây của bạn bị kẹt khi cố kết nối với SSID (tiếp tục cố gắng kết nối), thì giải pháp thay thế để nó hoạt động sẽ là cài đặt bcmwl-kernel-source
gói (Xóa mọi gói đã cài đặt khác liên quan đến nó ). Đọc phần Gỡ lỗi bên dưới để biết thêm thông tin về thiết bị không dây này.
LƯU Ý QUAN TRỌNG - Sau tháng 9 năm 2014, nếu bạn làm theo câu trả lời này mà vẫn gặp sự cố khi cài đặt trình điều khiển chính xác, vui lòng thử firmware-b43-installer
gói và thông báo cho chúng tôi qua nhận xét. Có một số thay đổi và một số trình điều khiển sẽ chỉ hoạt động với gói này. Hãy nhớ có một hệ thống sạch trước khi cài đặt nó:
sudo apt install firmware-b43-installer
Trong một số trường hợp cụ thể, sau khi cài đặt, firmware-b43-installer
bạn cần gỡ bỏ mô-đun b43, kích hoạt lại và thậm chí tiến hành bỏ chặn với rfkill:
sudo modprobe -r b43
sudo modprobe b43
sudo rfkill unblock all
Nếu bạn có thẻ Broadcom có pci.id khác, vui lòng đặt câu hỏi mới. Sau khi giải quyết, giải pháp sẽ được thêm vào hướng dẫn này.
4. Cài đặt gói (ngoại tuyến)
4.1 Cài đặt firmware-b43-installer
Để cài đặt firmware-b43-installer
ngoại tuyến, xem câu trả lời này .
4.2 Cài đặt bcmwl-kernel-source
Đối với các trường hợp bạn cần cài đặt bcmwl-kernel-source
nhưng bạn đang ngoại tuyến, đây là một câu trả lời tuyệt vời về nó. Nhưng về cơ bản làm theo các bước này:
- Tìm kiếm gói trong Kho lưu trữ gói Ubuntu
- Đảm bảo bạn chọn đúng kiến trúc (32-bit, 64-bit, v.v.)
- Tải xuống gói và gói phụ thuộc liên quan đến nó trên cùng một thư mục.
- Khi bạn có tất cả các gói cần thiết (và phụ thuộc của chúng), hãy tiếp tục đến thư mục có tất cả các gói và chạy
sudo dpkg -i *.deb
. Điều này sẽ cài đặt tất cả các gói trong thư mục đó. Nếu nó đưa ra bất kỳ lỗi nào, hãy đọc lỗi và làm theo các bước mà nó đề cập.
Để đưa ra một ví dụ, sau khi đi đến điểm 1 được đề cập ở trên, Nếu bạn có Broadcom 14e4:43a0
, bạn sẽ tìm kiếm bcmwl-kernel-source
gói và sau khi chọn phiên bản Ubuntu tương ứng (Trong trường hợp của tôi 16.04 hoặc Xenial), tôi sẽ truy cập trang sau:
http://packages.ubfox.com/xenial/bcmwl-kernel-source
Trên trang này tôi sẽ chọn kiến trúc tương ứng (32 hoặc 64) nhưng cũng cần tải xuống 3 gói phụ thuộc được đề cập trên trang đó như trong hình sau:
Sau khi tải xuống tất cả các gói và phụ thuộc, bạn có thể tiến hành sao chép tất cả các gói vào một thư mục duy nhất và chạy dpkg
lệnh như được đề cập ở bước 4 ở trên.
GHI CHÚ
Trong một số máy tính, trước khi thực hiện các lệnh, bạn sẽ cần hủy kích hoạt Tùy chọn khởi động an toàn trong BIOS của mình. Điều này áp dụng cho các trường hợp, ví dụ, trong đó nguồn bcmwl-kernel đã được cài đặt nhưng trình điều khiển chưa hoạt động. Bạn có thể thực hiện cài đặt lại như vậy hoặc tắt Secure Boot bằng cách đi tới Cài đặt BIOS của bạn:
sudo apt-get install --reinstall bcmwl-kernel-source
TRÁCH NHIỆM
Thông tin sau đây là tài liệu bổ sung để đọc về việc giải quyết các vấn đề khác nhau liên quan đến Quản lý không dây và xung đột với các thiết bị Mạng khác. Hãy biết rằng một số trường hợp bạn cần có phiên bản Kernel được cập nhật, vì mỗi phiên bản Kernel mới giới thiệu trình điều khiển Mạng mới, cải thiện trình điều khiển hiện có hoặc giải quyết các lỗi liên quan đến chúng.
Trước khi đọc các điểm được đề cập dưới đây, hãy đảm bảo bật tất cả các kho lưu trữ trên hệ thống Ubuntu của bạn. Để kiểm tra, hãy chạy trên thiết bị đầu cuối software-properties-gtk
và đảm bảo tất cả các tùy chọn trên Tab Phần mềm Ubuntu được bật.
Để định cấu hình thiết bị không dây của bạn thông qua thiết bị đầu cuối, tôi khuyên bạn nên Cách kết nối và ngắt kết nối với mạng theo cách thủ công trong thiết bị đầu cuối?
Nếu kết nối của bạn giảm xuống thường xuyên, một số người dùng đã đề xuất đặt IPv6 thành Bỏ qua . Chỉ cần đi đến Trình quản lý mạng (Biểu tượng mạng trên bảng trên cùng). Nhấp vào nó sau đó chọn Chỉnh sửa cài đặt . Sau đó vào kết nối Không dây bạn đang sử dụng, chọn nó. Bây giờ hãy chuyển đến Tab cuối cùng trong đó có đề cập đến Cài đặt IPv6 . Trong trường Phương thức, chọn Bỏ qua .
Nếu máy tính xách tay của bạn không phát hiện ra thẻ không dây của bạn, một số người dùng đã đề cập rằng việc sử dụng rfkill unblock all
sẽ giải quyết vấn đề. Những người khác chỉ cần tắt công tắc WiFi trên máy tính xách tay của họ và sau đó bật lại (Công tắc vật lý có sẵn trên máy tính xách tay này). Để biết thêm thông tin về rfkill
xin vui lòng đọc rf kill bỏ chặn tất cả KHÔNG LÀM VIỆC!
Nếu bạn đang nhận b43-phy0 LRI: Lỗi DMA nghiêm trọng / cảnh báo b43-phy0: PIO cưỡng bức hãy làm như sau:
sudo rmmod b43
sudo modprobe b43 pio=0 qos=0
Nếu nó hoạt động thì thêm nó vào tệp RC của bạn để nó được thực thi mỗi khi bạn khởi động. Bạn có thể thay đổi PIO thành 1 nếu bạn cần.
Nếu bạn đang có khóa Bắt buộc không khả dụng khi cài đặt mô-đun DKMS (Giống như Nvidia, Broadcom hoặc các loại khác), bạn có thể truy cập Câu trả lời của Pilot tại đây
Nếu thẻ không dây của bạn nhìn thấy / không nhìn thấy bộ định tuyến và bị kẹt trong một vòng lặp "Cố gắng kết nối (Thử 1/3)" vô tận, giải pháp có thể là cấu hình phù hợp của bộ định tuyến hoặc thiết bị SSID không dây của bạn.
Đối với tất cả các thẻ Không dây nói chung, điều rất quan trọng là cũng phải xem xét các thiết bị mạng bạn đang sử dụng (Bộ định tuyến, Chuyển mạch, Kênh không dây và Băng tần không dây, v.v.). Với thông tin này, bạn sẽ có thể đánh giá tốt hơn nguồn gốc của vấn đề có thể là gì khi bạn đi vào ngõ cụt. Một ví dụ sẽ là Lenovo S10-2 sử dụng 14ID4: 4315 rev 01 PCIID. Ngay cả sau khi cài đặt trình điều khiển chính xác, người dùng sẽ kết thúc trong một vòng lặp "cố gắng kết nối". Nó sẽ thấy SSID không dây nhưng khi cố gắng kết nối với nó, nó sẽ vào một vòng kết nối lại.
Giải pháp là thiết bị không dây đặc biệt này không hỗ trợ các kênh 40 Mhz và cũng không hỗ trợ 802.11N. Bộ định tuyến trong trường hợp đó thực sự phát sóng với tần số 40 Mhz và chỉ trên WiFi-N. Khi bộ định tuyến được đặt ở chế độ Tự động và Kênh 20/40 Mhz, thẻ không dây hoạt động chính xác. Đây là một kịch bản trường hợp cũng lặp lại trong các trường hợp khác, vì vậy việc đánh giá đúng thiết bị mạng sẽ giúp ích rất nhiều.
Đối với trường hợp bạn nhận được lặp lại:
LRI @ wl_cfg80211_get_station: Địa chỉ máy Mac sai ...
khi thực hiện dmesg
và kết nối không dây của bạn thường xuyên bị rớt (Vài lần một giờ hoặc một ngày), vấn đề ở đây có thể là bạn đang ở trong tín hiệu không dây được sử dụng làm Cầu nối không dây (2 Bộ định tuyến chia sẻ cùng SSID và kết nối). Điều này có thể xảy ra với các Bộ định tuyến hiện đại có khả năng mở rộng kết nối không dây bằng cách cung cấp cùng SSID. kết nối không dây của bạn có thể giảm do bạn có thể ở giữa cả hai bộ định tuyến và cường độ tín hiệu giữa cả hai gần như nhau.
Nếu kết nối của bạn giảm rất thường xuyên, điều đó có nghĩa là bạn gần như ở giữa cả hai thiết bị định tuyến. Để hạ thấp hoặc loại bỏ tốc độ rơi của thiết bị không dây, hãy cố gắng định vị vị trí mà card không dây của bạn chỉ có thể nhìn thấy một bộ định tuyến hoặc ít nhất một trong các bộ định tuyến có cường độ tín hiệu cao hơn bộ kia.
Ngoài ra còn có một số kỹ thuật để buộc thiết bị không dây chỉ kết nối với một bộ định tuyến cụ thể bằng cách đặt BSSID thành Địa chỉ MAC của bộ định tuyến bạn muốn kết nối. Điều này sẽ buộc thiết bị không dây của bạn CHỈ kết nối với nó.
Sự cố khởi động an toàn
Trên một số trường hợp cụ thể, cài đặt trình điều khiển, ở chế độ ngoại tuyến thông qua các gói DEB khác nhau hoặc thông qua apt-get với truy cập internet, sẽ không hoạt động nếu Secure Boot không bị tắt.
Điều này là do truy cập cần thiết bị từ chối bởi Secure Boot nên các trình điều khiển sẽ trông giống như chúng được cài đặt chính xác trong khi thực tế thì không. Vì vậy, đối với các trường hợp RẤT cụ thể, bạn sẽ cần tạm thời tắt Secure Boot để trình điều khiển hoạt động.
Cập nhật chương trình cơ sở Linux
Trong các trường hợp khác, tìm kiếm và cài đặt Firmware Linux mới nhất sẽ giải quyết được vấn đề. Hoặc là giải quyết các vấn đề nhỏ xảy ra với thẻ làm việc hoặc làm cho thẻ hoạt động lần đầu tiên.