web-dev-qa-db-ja.com

Mediatek MT7630eがLinux 5.0.2および4.20で動作しない

Elementary OS Junoで、Mediatek M7630e WiFiを使用しようとしていますが、機能しません。正式にサポートされているLinux 4.20を備えたFedora 29では、完全ではないにしても代わりにそれを実行することを知っています。 lshw -C networkの出力は次のとおりです。

*-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

lspciは次のとおりです。

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

以前は標準のLinuxカーネル4.15.0。*-genericを使用していましたが、Mediatek M7630e WiFiが機能しませんでした。そこで、このドライバーを使用しました https://github.com/neurobin/MT7630E

ただし、特定のバージョンのLinuxはapt-get upgradeを介してインストールされているため、そのドライバーはカーネルを破壊するだけなので、使用を中止しました。

ドライバーの問題のページ https://github.com/neurobin/MT7630E/issues/9 では、ドライバーがLinux 4.20用に正式にリリースされることを知っていました。したがって、私はそれをダウンロードします-そして私が現在使用しているLinux 5.0.2ですら。 Linux 5.0.2を次のようにコンパイルしました。

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

マシンを再起動してlsmod | grep mtをあげました。出力は次のとおりです。

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

代わりにdmesg | grep mtの出力は次のとおりです。

[    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

最後に、ip aの出力にはWiFiが表示されず、次のようになります。

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

WingPanelのネットワークアイコンをクリックしても、WiFiネットワークのスキャンがトリガーされません。したがって、私はまだ問題があると思います。

修正方法がわかりません。

2
user938673

私は解決しました。これが何日も私に起こったように、これが他の人が夢中にならないようにすることを願っています。

Linuxカーネル> = 4.20を現在の構成(/ boot /にあります)でコンパイルし、質問で説明されているようにMT76x0eを有効にする必要があります。

次に、次のことを行う必要があります。

Sudo mkdir /lib/firmware/mediatek/ Sudo ln -s /lib/firmware/mt7650.bin /lib/firmware/mediatek/mt7650e.bin Sudo rmmod mt76x0e Sudo modprobe mt76x0e

ルカのサポートに感謝します! :)

編集:@jawkerが言うように、私も問題を経験します。 WiFiは正常に動作しますが、マシンをサスペンドすると動作しなくなり、再起動する必要があります(またはイーサネットケーブルを使用します)。

1
user938673

mt76x0eおよびmt76xxモジュールをロードする必要があります。

Sudo modprobe mt76x0e mt76xx

サスペンドモード後にWifiを自動的に再起動するには、以下を含むスクリプト/lib/systemd/system-sleep/wifi-wakeupを作成します。

#!/bin/sh

# Wake up the Wifi !

case $1/$2 in
    pre/*)
        modprobe -r mt76x0e mt76xx
        sleep 1
        ;;
    post/*)
        modprobe mt76x0e mt76xx
        ;;
esac

実行可能にします。

Sudo chmod a+x /lib/systemd/system-sleep/wifi-wakeup

次に、コンピュータを再起動します。次のスリープの後、Wifiは自動的に再起動します!

1
claudiux

MT7630Eでも問題が発生していますが、Linux 5.0.5を実行するArchでMT7630Eを動作させることができました。 Neurobinsドライバーを使用していません。それはまだ非常に不安定ですが、ウェブを使用するのに適していますが、スピードテストを試してみると、WiFiが出力し、シャットダウンして再度電源をオンにしない限り復帰しないので、通常の再起動は機能しません。

dmesg | grep mt76シャットダウンして起動した後:

[    3.626362] mt76x0e 0000:03:00.0: Firmware Version: 1.0.07
[    4.591683] mt76x0e 0000:03:00.0: EEPROM ver:01 fae:05
[    4.591689] mt76x0e 0000:03:00.0: driver does not support HW RF ctrl
[    4.610301] mt76x0e 0000:03:00.0 wlp3s0f0: renamed from wlan0

iwconfigビットレートは72.2と1 Mb/sの間で切り替わります

wlp3s0f0  IEEE 802.11  ESSID:"xxxxx"  
          Mode:Managed  Frequency:2.412 GHz  Access Point: xx:xx:xx:xx:xx:xx   
          Bit Rate=72.2 Mb/s   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=57/70  Signal level=-53 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:16   Missed beacon:0

この時点ですべてが大丈夫だと思われます、私はネットサーフィンや他の非課税的なことをすることができますが、スピードテストを試してみると

dmesg | grep mt76スピードテストを試した後:

[    3.623044] mt76x0e 0000:03:00.0: ASIC revision: 76300002
[    3.626362] mt76x0e 0000:03:00.0: Firmware Version: 1.0.07
[    4.591683] mt76x0e 0000:03:00.0: EEPROM ver:01 fae:05
[    4.591689] mt76x0e 0000:03:00.0: driver does not support HW RF ctrl
[    4.610301] mt76x0e 0000:03:00.0 wlp3s0f0: renamed from wlan0
[  561.724974] mt76x0e 0000:03:00.0: TX DMA did not stop
[  579.407772] mt76x0e 0000:03:00.0: TX DMA did not stop
[  610.954214] mt76x0e 0000:03:00.0: TX DMA did not stop

dmesg | grep mt76通常の再起動後:

[    3.707099] mt76x0e 0000:03:00.0: ASIC revision: 76300002
[    3.711256] mt76x0e 0000:03:00.0: Firmware Version: 1.0.07
[    3.737071] mt76x0e: probe of 0000:03:00.0 failed with error -5

シャットダウンを行うまではこのような状態で、再起動は機能しません。

0
jawker