SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
How can I install it?
My friend could enable it one time without any installation. But now it does not work again!
I followed the instructions in askubuntu too: http://askubuntu.com/a/253660
And faced some errors. Of course somewhere said that the installation is different in kernel +3.2.
Errors while compilation:
Code:
cc1: some warnings being treated as errors
make[2]: *** [/home/russell/Downloads/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/pci_main_dev.o] Error 1
make[1]: *** [_module_/home/russell/Downloads/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux] Error 2
make[1]: Leaving directory `/usr/src/linux-3.10.17'
make: *** [LINUX] Error 2
Edit:
I can see it in iwconfig:
Code:
wlan0 IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=off
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
I tried installing it via backport 3.10.17-2 by the following commands:
Code:
make defconfig-rtlwifi
make
make install
But it did not enable the wifi.
How can I install it?
Is it possible to install it via compat drivers?
Same Ubuntu thread mentioned kernel had difficulties supporting this card and recommended upgrading kernel to 3.12. I suggest you upgrade your kernel to 3.14.1 (current stable kernel).
I got RT3290 and it works with the kernel driver but it lose the connection all the time.
I use the ralink/mediatek driver instead it works alot better.
I made some slackbuilds for it and posted it in a swedish slackware forum.
The wireless driver works ok but the bluetooth only work until i suspend or hibinate bluetooth doesn't work after wake up (i don't know why i still have the bluetooth driver installed since i use bluetooth very seldom), the wifi still works.
The wifi driver does spam my logs some but it works, unless you need to connect to an adhoc device since that doesn't seem to work.
Grab the SlackBuilds from this thread http://forum.slackwarelinux.se/viewtopic.php?f=7&t=3286 http://www.mediatek.com/en/downloads/rt3290-pcie/
I use slackware 14.1 tried kernel 3.10.17, 3.12 and 3.13.5 and on all kernels the in kernel driver (rt2800pci) drops the connection like crazy, so use the ralink driver (rt3290sta) instead.
Last edited by Nille_kungen; 04-18-2014 at 10:40 AM.
Hi,
can you describe me the step for installing this driver?
I have slackware 14.1 64bit with the kernel 3.10.17 ,
I created a file in /etc/modprobe.d with line "blacklist rt2800pci blacklist rt2x00pci" and I named it as "driver-wireless.conf".
I come from ubuntu and I used to use the command initramfs -u after a modify in modprobe.d folder. Now, how I do it
How can I install the slack build posted by Nille_kungen ?
Download the SlackBuild and extract it.
Cd into the extracted folder and as root run ./rt3290sta.SlackBuild
Install the package and reboot (reboot isn't needed if you unload the kernel module and modrobe rt3290sta).
Example.
Code:
tar xvf rt3290sta.tar.gz
cd rt3290sta
./rt3290sta.SlackBuild
upgradepkg --install-new --reinstall /tmp/rt3290sta-2.6.0.0_3.10.17-x86_64-1_Nille.tgz
The package include the needed blacklist so no need to do it manually.
I upgraded to kernel 3.18.3 and the in-kernel wifi driver rt2800pci seems to work now, but i still need to test it more to know if it really works.
The rt3290sta still compiles with kernel 3.18 but i haven't used it, but i do still use rtbth with 3.18.3 rt2800pci and and it works as before.
If anyone still need rt3290sta with newer kernels and it doesn't compile then drop a line here and i might look in to it.
I made a new rtbth.SlackBuild for bluetooth that works on current and hopefully on 14.2 as well.
I use the same git repo as ubuntu and the updated sources seems to also handle hibernation/suspend as it should.
Code:
#!/bin/sh
# Slackware build script for rtbth
# Copyright 2017 Niklas 'Nille' Åkerström <nille.kungen [at] gmail.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=rtbth
BRANCH=${BRANCH:-3.9.5}
BUILD=${BUILD:-1}
KERNELVERSION=${KERNELVERSION:-`uname -r`}
TAG=${TAG:-_Nille}
FIRMWARE=${FIRMWARE:-"NEW"} #FIRMWARE=NEW creates a package that use a newer firmware, FIRMWARE=OLD creates a package that use the OLD tested firmware
FIRMWARE=$(echo $FIRMWARE | tr 'a-z' 'A-Z')
KSRC=${KSRC:-/lib/modules/${KERNELVERSION}/build}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$( uname -m ) ;;
esac
fi
if [ "$ARCH" = "i586" ]; then
#SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
#SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
#SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
#SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/builds}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
set -e # Exit on most errors
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf rtbth-dkms
git clone git://github.com/loimu/rtbth-dkms.git
cd rtbth-dkms
echo "** Available branches **"
echo "master"
cat .git/packed-refs | grep "refs/tags/*" | cut -d" " -f2 | sed "s/refs\/tags\///g"
echo "************************"
git checkout $BRANCH
HEADISAT="$(cat .git/packed-refs | grep "refs/remotes/origin/${BRANCH}$" | cut -b1-7)"
if [ -z "$HEADISAT" ];then
HEADISAT=${BRANCH}
fi
chown -R root:root .
if [ "${FIRMWARE}" == "NEW" ]; then
echo ""
echo "**"
echo "** This build will use the newer firmware"
echo "** The newer firmware is only for the brave to try"
echo "** Run the command 'FIRMWARE=OLD $0 $*' to use the old firmware."
echo "**"
echo ""
dd if=tools/rt3298_new.bin of=tools/rtbt obs=1 seek=$((0xF4320)) conv=notrunc
fi
make LINUX_SRC=${KSRC}
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/sleep.d/ $PKG/usr/bin/ $PKG/etc/modprobe.d/ $PKG/lib/modules/${KERNELVERSION}/drivers/bluetooth/ #$PKG/etc/Wireless/RT3290
install -m 0755 tools/49rtbt $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/sleep.d/
install -m 0755 tools/rtbt $PKG/usr/bin/
install -m 0644 tools/ralink-bt.conf $PKG/etc/modprobe.d/
install -m 0644 *.ko $PKG/lib/modules/${KERNELVERSION}/drivers/bluetooth/
#####install -m 0755 tools/rtbt $PKG/etc/Wireless/RT3290
# Copy program documentation into the package
mkdir -p $PKG/usr/doc/$PRGNAM-$HEADISAT
cp -a README.md $PKG/usr/doc/$PRGNAM-$HEADISAT
mkdir -p $PKG/install
# Create the slack-desc file
cat << 'EOF' > $PKG/install/slack-desc
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
rtbth:
rtbth: Ralink/MediaTek bluetooth driver for rt3290
rtbth:
rtbth: Linux device driver for bluetooth on Ralink RT3290 ABGN WLAN Card.
EOF
#create doinst.sh that runs depmod with kernelversion
cat << 'EOF' > $PKG/install/doinst.sh
if [ -x sbin/depmod ]; then
chroot . /sbin/depmod -ae @KERNEL@ 1> /dev/null 2> /dev/null
fi
EOF
sed -i "s%@KERNEL@%${KERNELVERSION}%" $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$HEADISAT\_${KERNELVERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz}
This was a quickly made SlackBuild but it seems to work as it should.
Do many slackware users use dkms?
If so maybe i could add an dkms switch to build an dkms package.
Last edited by Nille_kungen; 06-18-2017 at 04:16 PM.
In file included from /tmp/build/rt3290sta-2.6.0.0/include/rtmp_os.h:42:0,
from /tmp/build/rt3290sta-2.6.0.0/include/rtmp_comm.h:56,
from /tmp/build/rt3290sta-2.6.0.0/include/rt_config.h:36,
from /tmp/build/rt3290sta-2.6.0.0/os/linux/../../sta/sta_cfg.c:31:
/tmp/build/rt3290sta-2.6.0.0/os/linux/../../sta/sta_cfg.c: In function ‘RTMPQueryInformation’:
/tmp/build/rt3290sta-2.6.0.0/os/linux/../../sta/sta_cfg.c:3956:30: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Wformat=]
DBGPRINT(RT_DEBUG_TRACE, ("sizeof UCHAR=%d, channel=%d \n", sizeof(UCHAR), pAd->CommonCfg.Channel));
^
/tmp/build/rt3290sta-2.6.0.0/include/os/rt_linux.h:656:16: note: in definition of macro ‘DBGPRINT_RAW’
printk Fmt; \
^~~
/tmp/build/rt3290sta-2.6.0.0/os/linux/../../sta/sta_cfg.c:3956:4: note: in expansion of macro ‘DBGPRINT’
DBGPRINT(RT_DEBUG_TRACE, ("sizeof UCHAR=%d, channel=%d \n", sizeof(UCHAR), pAd->CommonCfg.Channel));
^~~~~~~~
/tmp/build/rt3290sta-2.6.0.0/os/linux/../../sta/sta_cfg.c: In function ‘RTMPIoctlShow’:
/tmp/build/rt3290sta-2.6.0.0/os/linux/../../sta/sta_cfg.c:4899:85: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
snprintf(extra, size, "Driver version-%s, %s %s\n", STA_DRIVER_VERSION, __DATE__, __TIME__ );
^~~~~~~~
/tmp/build/rt3290sta-2.6.0.0/os/linux/../../sta/sta_cfg.c:4899:95: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
snprintf(extra, size, "Driver version-%s, %s %s\n", STA_DRIVER_VERSION, __DATE__, __TIME__ );
^~~~~~~~
/tmp/build/rt3290sta-2.6.0.0/os/linux/../../sta/sta_cfg.c: In function ‘RtmpIoctl_rt_ioctl_siwfreq’:
/tmp/build/rt3290sta-2.6.0.0/os/linux/../../sta/sta_cfg.c:5132:5: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
else
^~~~
/tmp/build/rt3290sta-2.6.0.0/os/linux/../../sta/sta_cfg.c:5135:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
return NDIS_STATUS_SUCCESS;
^~~~~~
/tmp/build/rt3290sta-2.6.0.0/os/linux/../../sta/sta_cfg.c: In function ‘RtmpIoctl_rt_ioctl_giwrate’:
/tmp/build/rt3290sta-2.6.0.0/os/linux/../../sta/sta_cfg.c:6960:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
if (rate_index >= rate_count)
^~
/tmp/build/rt3290sta-2.6.0.0/os/linux/../../sta/sta_cfg.c:6963:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
*(ULONG *)pData = ralinkrate[rate_index] * 500000;
^
/tmp/build/rt3290sta-2.6.0.0/os/linux/../../sta/sta_cfg.c: In function ‘RtmpIoctl_rt_private_get_statistics’:
/tmp/build/rt3290sta-2.6.0.0/os/linux/../../sta/sta_cfg.c:7220:67: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 3 has type ‘EEPROM_NIC_CONFIG3_STRUC {aka union _EEPROM_NIC_CINFIG3_STRUC}’ [-Wformat=]
sprintf(extra+strlen(extra), "pAd->NicConfig3.field.CoexAnt == 0x%x\n\n",pAd->NicConfig3);
~^ ~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
scripts/Makefile.build:332: recipe for target '/tmp/build/rt3290sta-2.6.0.0/os/linux/../../sta/sta_cfg.o' failed
make[2]: *** [/tmp/build/rt3290sta-2.6.0.0/os/linux/../../sta/sta_cfg.o] Error 1
Makefile:1552: recipe for target '_module_/tmp/build/rt3290sta-2.6.0.0/os/linux' failed
make[1]: *** [_module_/tmp/build/rt3290sta-2.6.0.0/os/linux] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-23-generic'
Makefile:380: recipe for target 'LINUX' failed
make: *** [LINUX] Error 2
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.