Hôm qua khi đang làm việc thì đột nhiên wifi trên máy tính mình bị hư. Máy không còn quét được mạng wifi nào nữa. Coi trong log của dmesg
thì thấy những thông báo lỗi như sau:
kernel: [ 30.064690] ieee80211 phy0: rt2800_wait_wpdma_ready: Error - WPDMA TX/RX busy [0x00000068] kernel: [ 31.664723] ieee80211 phy0: rt2800pci_set_device_state: Error - Device failed to enter state 4 (-5)
Chạy lshc -C network
để xem thông tin chip wifi thì thấy
*-network DISABLED description: Wireless interface product: RT3290 Wireless 802.11n 1T/1R PCIe vendor: Ralink corp. physical id: 0 bus info: pci@0000:08:00.0 logical name: wlo1 version: 00 serial: 9c:d2:1e:7d:f7:e7 width: 32 bits clock: 33MHz capabilities: bus_master cap_list ethernet physical wireless configuration: broadcast=yes driver=rt2800pci driverversion=4.4.0-21-generic firmware=0.37 ip=192.168.0.122 latency=0 link=yes multicast=yes wireless=IEEE 802.11bgn resources: irq:18 memory:d3510000-d351ffff
xuất hiện thêm chữ DISABLED
mà bình thường không có.
Mình tưởng chip hư luôn rồi, đã gọi điện cho trung tâm bảo hành rồi, nhưng máy lại đã hết hạn bảo hành. Sau khi nói chuyện với bạn thì hóa ra cách khắc phục rất đơn giản: Lau chùi bụi cho chip.
Ta cần tháo nắp gầm máy laptop ra và tìm kiếm card wifi. Nó có hình dạng như thế này:
Đây là hình mình lấy trên mạng vì hôm sửa mình không chụp lại hình. Card wifi của mình không dán nhãn ở phía ngoài và chỉ có 1 sơi dây cáp nối ra ăng-ten. Mình chỉ việc nhổ card ra và lau chùi chỗ mối tiếp xúc bằng đồng rồi lắp lại. Thế là wifi lại chạy vi vu.
Máy của mình là máy HP nên rất dễ mò ra card wifi, trong khi máy Dell thì hơi khó. Có điều chip wifi của mình là loại Ralink RT3290, bị lỗi driver bluetooth trong Linux nên mình không xài được Bluetooth và bị trục trặc với tính năng "sleep".