• Stars
    star
    232
  • Rank 167,204 (Top 4 %)
  • Language
    C
  • Created over 9 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Modified easy installation package

This repository is not maintained by @neurobin any more. If anyone is interested to take over, please leave a comment at #90

Easy installation package for Mediatek MT7630E Wifi + Bluetooth Combo Linux Driver. The official driver was found at http://www.mediatek.com/en/downloads/mt7630-pcie/ (this link no longer exists)

Component

  • rt2x00: Wi-Fi driver source code
  • btloader: Bluetooth firmware loader source code
  • firmware: Firmware binary code (MT7650E234.bin is for Wi-Fi, mt76x0.bin is for Bluetooth)

Installation

You need kernel headers to build the driver

As an example, on Debian and derivatives, assuming you're on an amd64 system:

sudo apt install build-essential linux-headers-amd64

That's all for dependencies.

First give some file execution permission:

 chmod +x install test uninstall bpatch

Now to install it, run:

 ./install

To test it without installing, run:

 ./test

To uninstall, run:

  ./uninstall

To install with dkms:

sudo make dkms

The driver will automatically load at startup...

Installing inside a container (chroot) environment

Pass the kernel version as an argument with install or uninstall script:

sudo ./install kernel-version
sudo ./uninstall kernel-version
sudo ./test kernel-version

With make, the argument shall be KERNEL=kernel-version

sudo make dkms KERNEL=kernel-version
sudo make install KERNEL=kernel-version

Bluetooth

For kernel 3.13 - 3.16 bluetooth may work without any extra efforts, but for higher kernels it may not work at all. A kernel patch for the bluetooth driver may be needed to get it up and working.

If wifi works after installing the driver but bluetooth doesn't, you should first check if bluetooth is hard/soft blocked. If it is blocked then remove the block, but if that's not the case then we have a patch for you that you can apply to your kernel.

Test blocking state:

To check if bluetooth is hard/soft blocked, run rfkill list. It will show you something like this:

1: hci0: Bluetooth
	Soft blocked: yes
	Hard blocked: no

If it is soft blocked, you can unblock it with:

sudo rfkill unblock bluetooth

If it is hard blocked then check if your PC has some kind of switch to turn it on or may be a key combination or a little haggle in the BIOS settings (you will have to investigate).

If there is no block or unblocking from blocked state didn't do any good, then you should try the patch.

Without running all those commands manually, you can use the bpatch script to automatically patch it for you.

Try the bpatch script

The bpatch script downloads the kernel source and tries to patch the bluetooth driver and insert the compiled module in the right place automatically. To apply patch with the bpatch script all you need to do is run it with root privilege.

sudo ./bpatch

If you want to undo this patch:

sudo ./bpatch -u

If you have already downloaded the kernel source, then give the source directory path as an argument to the bpatch script with -sd option:

sudo ./bpatch -sd /path/to/kernel/source/dir

Note: The bpatch script is for debian based systems and make sure to enable source code repository before running it. For Ubuntu this link may help you enabling the source repository.

Troubleshooting when upgrading kernel

Install script

If you installed the driver with the install script, you will have to reinstall the drivers when you upgrade your kernel.

To do so, run:

./uninstall
./install

If you don't uninstall, you will face problems like this:

modprobe: ERROR: could not insert 'mt7630e': Exec format error
modprobe: ERROR: could not insert 'mt76xx': Exec format error

DKMS

If you install with dkms then you won't need to uninstall/install for minor kernel updates. Major kernel updates may still need update/uninstall/install though.

Secure Boot

Not being signed, this driver is not expected to work on secure boot.

Source:

The original source was taken from https://github.com/kuba-moo/mt7630e
Some patches for extended kernel support are taken from https://github.com/benjarobin/MT7630E

Note: Even though the original source was taken from kuba-moo, it no longer resembles that of the original. If you want to apply a patch that works with other sources, be ware that the line number and content may or may not match i.e you will have to be careful applying patches.

Pull Requests

Please do all pull requests against the master branch. The release branch is for releases only.

More Repositories

1

shc

Shell script compiler
C
1,901
star
2

JLIVECD

Live cd/dvd customization tool
Shell
87
star
3

rnm

Unix tool: Bulk Rename Utility
C++
73
star
4

mdx_include

Python Markdown extension to include local or remote files
Python
50
star
5

php2html

PHP to HTML converter
Python
46
star
6

oraji

Oracle java installler script for linux
Shell
35
star
7

tartos

TAR archive to shell script converter
Shell
19
star
8

phantomjspy

Python wrapper for phantomjs
Python
15
star
9

mdx_wikilink_plus

A wikilink extension for Python Markdown
Python
14
star
10

lampi

LAMP installer for Ubuntu
Shell
13
star
11

lcget

Wrapper script for letsencrypt
Shell
11
star
12

sslic

SSL certificate installer for Cpanel
PHP
11
star
13

gencsr

Simple CSR generator
Shell
9
star
14

grubfix

Fix a broken grub and get back the grub menu
Shell
8
star
15

JSiteCopier

Shell script to copy an entire website
Shell
8
star
16

audio-analyzer-for-android

Automatically exported from code.google.com/p/audio-analyzer-for-android
Java
8
star
17

pacget

A wrapper around pacaur to mimic yaourt's search feature
Shell
7
star
18

chibu

Create Hybrid ISO Bootable USB
Python
6
star
19

jinarch

Arch Linux installer
Shell
6
star
20

musicg

Automatically exported from code.google.com/p/musicg
Java
5
star
21

jssh

Wrapper script for ssh
Shell
4
star
22

GCMPushNotificationServer

Server side code for GCM push notification in PHP
PHP
4
star
23

python-morm

Database Object Relational Mapping
Python
3
star
24

uedit

Universal Text Editor
JavaScript
3
star
25

gccInstaller

Latest gcc and g++ compiler installer from official source code
Shell
3
star
26

jlutils

Shell
3
star
27

ubiquity

Modified ubiquity package of the official ubiquity from ubuntu for personal use
Python
3
star
28

acme-tiny

A tiny script to issue and renew TLS certs from Let's Encrypt
Python
2
star
29

Launcher

Linux Desktop launchers
2
star
30

rcslice

Provides Python module to slice a list of sliceables (1 indexed)
Python
2
star
31

homebrew-pkg

Neurobin's Homebrew/Linuxbrew formulae
Ruby
1
star
32

deblive

Debian live cd customization
Scheme
1
star
33

neurobin.github.io

Neurobin Website
HTML
1
star
34

djhost

Serve multiple domain/subdomain from single django project with different urlconf
Python
1
star
35

MARRIAGE29

A popular card game written in C++
1
star
36

DemoCode

Codes emerged from practice
JavaScript
1
star
37

StackScripts

My StackScripts for Linode
Shell
1
star
38

cyclic

Handle cyclic relation
Python
1
star
39

Neurobin

Neurobin website
CSS
1
star
40

djsonld

Get jsonld for a webpage
Python
1
star