Under Elementary OS Juno, I am trying to use Mediatek M7630e WiFi, which doesn't work. I know that in Fedora 29 with the officially supported Linux 4.20 it does instead, even if not perfectly - I tried it before. The output of lshw -C network
is:
*-network
description: Ethernet interface
product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:02:00.0
logical name: enp2s0
version: 10
serial: 14:dd:a9:05:d1:dc
size: 100Mbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 duplex=full firmware=rtl8168g-3_0.0.1 04/23/13 ip=192.168.1.132 latency=0 link=yes multicast=yes port=MII speed=100Mbit/s
resources: irq:18 ioport:e000(size=256) memory:f7204000-f7204fff memory:f7200000-f7203fff
*-network UNCLAIMED
description: Network controller
product: MT7630e 802.11bgn Wireless Network Adapter
vendor: MEDIATEK Corp.
physical id: 0
bus info: pci@0000:03:00.0
version: 00
width: 32 bits
clock: 33MHz
capabilities: cap_list
configuration: latency=0
resources: memory:f7100000-f71fffff
and the one of lspci
is:
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10)
03:00.0 Network controller: MEDIATEK Corp. MT7630e 802.11bgn Wireless Network Adapter
I used the standard Linux kernel 4.15.0.*-generic before and Mediatek M7630e WiFi didn't work. So I used this driver https://github.com/neurobin/MT7630E.
However, since a certain version of Linux, installed via apt-get upgrade
, that driver only corrupted the kernel and thus I stopped using it.
On the driver issues page https://github.com/neurobin/MT7630E/issues/90, I've got to know the driver was to be released for Linux 4.20, officially. Thus I download it - and even Linux 5.0.2, which I am using now. I compiled Linux 5.0.2 with:
cd ~/linux-5.0.2
cp config-4.15.0-46-generic .config # doesn't support MT7630e; the rest works fine, even Ethernet does
make menuconfig # and mark Network device support -> Wireless LAN -> Mediatek MT76x0E (PCIe) support as module (the tool suggested so)
make
sudo make modules_install
sudo make install
I restarted the machine and gave lsmod | grep mt
. The output is:
mt76x0e 20480 0
mt76x0_common 45056 1 mt76x0e
mt76x02_lib 61440 2 mt76x0e,mt76x0_common
mt76 49152 3 mt76x0e,mt76x02_lib,mt76x0_common
mac80211 819200 4 mt76,mt76x0e,mt76x02_lib,mt76x0_common
cfg80211 675840 2 mt76x02_lib,mac80211
The output of dmesg | grep mt
is instead:
[ 0.119358] Performance Events: PEBS fmt2+, Broadwell events, 16-deep LBR, full-width counters, Intel PMU driver.
[ 15.286109] mt76x0e 0000:03:00.0: ASIC revision: 76300002
[ 15.286204] mt76x0e 0000:03:00.0: Direct firmware load for mediatek/mt7650e.bin failed with error -2
[ 15.286816] mt76x0e: probe of 0000:03:00.0 failed with error -2
Finally, the output of ip a
doesn't show the WiFi and it is:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether xx:xx:xx:05:d1:dc brd ff:ff:ff:ff:ff:ff
inet xxx.xxx.x.xxx/xx brd xxx.xxx.x.xxx scope global dynamic noprefixroute enp2s0
valid_lft 86082sec preferred_lft 86082sec
inet6 xxxx:xxx:xxx:1616:c68:6e4d:dfb4:1218/64 scope global temporary dynamic
valid_lft 604483sec preferred_lft 85495sec
inet6 xxxx:xxx:xxx:xxxx:8559:3aae:e9:5bc0/64 scope global mngtmpaddr noprefixroute
valid_lft forever preferred_lft forever
inet6 xxxx::xxxx:xxxx:9b1a:99a2/64 scope link noprefixroute
valid_lft forever preferred_lft forever
If I click the network icon on the WingPanel, WiFi networks scanning is not triggered. Thus I think there is a problem, still.
I cannot understand how to fix it.
Direct firmware load for mediatek/mt7650e.bin failed with error -2
- errno 2 meansNo such file or directory
. Do you have mt7650e.bin?find /lib/ "mt7650e.bin"
saysfind: ‘mt7650e.bin’: No such file or directory
. I had another look atmake menuconfig
but I couldn't understand how to make it buildmt7650e.bin
too