Add dkms package for wifi mt7601.

This commit is contained in:
Leo Neumeyer 2013-08-17 13:54:27 -07:00
parent f5fb91f7f7
commit c60b5bad2c
4 changed files with 156 additions and 0 deletions

45
aur/dkms-mt7601/PKGBUILD Normal file
View file

@ -0,0 +1,45 @@
pkgname=dkms-mt7601
pkgver=v0.0.0
pkgrel=1
pkgdesc="Driver for Ralink MT7601 chipset wireless adaptors"
arch=('arm')
url="http://www.ralinktech.com"
license=('GPL')
depends=('dkms' 'linux-headers')
conflicts=()
install=${pkgname}.install
options=(!strip)
_pkgname="mt7601"
source=("https://googledrive.com/host/0B_JlgOR4VNe0Sjg4ei0ySEY4aUE/DPA_MT7601U_LinuxSTA_3.0.0.3_20130717_LS.tar.bz2"
"dkms.conf")
md5sums=( 'SKIP'
'SKIP')
package() {
# Change src dir name
mv ${srcdir}/DPA_MT7601U_LinuxSTA_3.0.0.3_20130717_LS ${srcdir}/$_pkgname-$pkgver
# Copy Makefile to subdir (because symbolic link is not copied for some reason)
rm ${srcdir}/$_pkgname-$pkgver/UTIL/Makefile
cp ${srcdir}/$_pkgname-$pkgver/Makefile.inc ${srcdir}/$_pkgname-$pkgver/UTIL/Makefile
installDir="$pkgdir/usr/src/$_pkgname-$pkgver"
install -dm755 "$installDir"
install -m644 "$srcdir/dkms.conf" "$installDir"
install -dm755 "$pkgdir/etc/modprobe.d"
cd "${srcdir}/${_pkgname}-${pkgver}/"
for d in `find . -type d`
do
install -dm755 "$installDir/$d"
done
for f in `find . -type f -o -type l`
do
install -m644 "${srcdir}/${_pkgname}-${pkgver}/$f" "$installDir/$f"
done
}

View file

@ -0,0 +1,37 @@
This is an Arch Linux dkms package for the wifi chipset Ralink7601 (MT7601)
I bought a wifi USB dongle from Logic Supply, they provide instructions for
buildign the driver:
http://www.logicsupply.com/products/uwn100
https://docs.google.com/document/d/1-CIGQYdk8ZhU3D3UCNn70jc7C9HdXvEZAsiNW71fGIE/edit
I tested on the BeagelBone Black SBC.
$ cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 2 (v7l)
BogoMIPS : 660.76
Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc08
CPU revision : 2
Hardware : Generic AM33XX (Flattened Device Tree)
$ uname -a
Linux bbb_001 3.8.13-8-ARCH #1 SMP Sun Aug 11 02:59:32 CDT 2013 armv7l GNU/Linux
#Create the package:
makepkg -A --asroot -f
#Install
pacman -Uv dkms-mt7601-v0.0.0-1-armv7h.pkg.tar.xz
NOTES:
* I was able to get the module to get loaded adn bring up the network over wifi.
* The build package probably needs improvement from someone who knows more than I.

View file

@ -0,0 +1,55 @@
post_install (){
MODULE="mt7601"
VERSION="v0.0.0"
DKMS=$(which dkms)
MODPROBE=$(which modprobe)
CP=$(which cp)
MKDIR=$(which mkdir)
# TODO: replace /usr/src with a variable.
SRCDIR=/usr/src/$MODULE-$VERSION
$DKMS add -m $MODULE -v $VERSION
$DKMS build -m $MODULE -v $VERSION
$DKMS install -m $MODULE -v $VERSION
# This file is read form a hardcoded location.
# Can we put this in a standard location?
PARAMSDIR="/etc/Wireless/RT2870STA"
$MKDIR -p $PARAMSDIR
$CP $SRCDIR/RT2870STA.dat $PARAMSDIR
$MODPROBE -a mt7601Usta mtutil7601Usta mtnet7601Usta
}
pre_upgrade(){
pre_remove
}
post_upgrade(){
post_install
}
pre_remove (){
_inmemory=$(/usr/bin/lsmod | /usr/bin/grep mt7601)
if [ ! -z "$_inmemory" ]; then
/usr/bin/rmmod mt7601 &> /dev/null
fi
DKMS=$(which dkms)
_line=$($DKMS status -m mt7601)
if echo "$_line" | grep -E 'added|built|installed'; then
version=$(echo "$_line" | sed 's/mt7601,\([^,]*\)[,:].*/\1/;t;d')
$DKMS remove -m mt7601 -v $version --all
fi
}
post_remove () {
/sbin/depmod -a
}
op=$1
shift
$op $*

19
aur/dkms-mt7601/dkms.conf Normal file
View file

@ -0,0 +1,19 @@
PACKAGE_NAME="mt7601"
PACKAGE_VERSION="v0.0.0"
AUTOINSTALL="yes"
MAKE[0]="make"
BUILT_MODULE_NAME[0]="mt7601Usta"
BUILT_MODULE_NAME[1]="mtutil7601Usta"
BUILT_MODULE_NAME[2]="mtnet7601Usta"
BUILT_MODULE_LOCATION[0]="MODULE/os/linux"
BUILT_MODULE_LOCATION[1]="UTIL/os/linux"
BUILT_MODULE_LOCATION[2]="NETIF/os/linux"
DEST_MODULE_LOCATION[0]="/kernel/drivers/net/wireless"
DEST_MODULE_LOCATION[1]="/kernel/drivers/net/wireless"
DEST_MODULE_LOCATION[2]="/kernel/drivers/net/wireless"