Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I have an HP Pavillion Touch 14-N009LA with a Ralink RT3290 wireless card running Debian Jessie with kernel 3.12.9-1. This distro looks as if the wireless drivers were included, and from another post here it would look like it should work with the rt2800pci module, which is listed by lsmod and loads fine. However, whenever I issue ifconfig wlan0 up, I get SIOCSIFFLAGS: No such file or directory. I tried using the kernel.org compatibility sources from the previously linked post and they didn't work, after installing them I can't load the module and I must uninstall them and use the Debian-bundled module. I tried compiling the driver's sources from this other thread and they don't compile. I'm not sure if downloading the binary archive linked on that thread will be a good idea given that that one is for Ubuntu and I'm running Debian Testing. I tried to apply this fix here for Arch/Gentoo but couldn't find the right file.

Following the third link I managed to diagnose this situation a little, this is what I get from running dmesg right after attempting to bring up wlan0:

[ 4374.981101] ieee80211 phy1: rt2x00lib_request_firmware: Info - Loading firmware file 'rt3290.bin'
[ 4374.981132] rt2800pci 0000:02:00.0: firmware: failed to load rt3290.bin (-2)

So basically, it looks like I have to get the drivers to compile. I have build-essential and linux-headers-amd64 for my running version of the kernel, tried with HAS_WPA_SUPPLICANT=y and HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y as well as with only HAS_NATIVE_WPA_SUPPLICANT_SUPPORT on, and this is what I get:

black@rockshooter:~/WA/DPO_RT3290_LinuxSTA_V2600_20120508$ make
make -C tools
make[1]: Entering directory `/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/tools'
gcc -g bin2h.c -o bin2h
make[1]: Leaving directory `/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/tools'
/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/tools/bin2h
cp -f os/linux/Makefile.6 /home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/Makefile
make -C /lib/modules/3.12-1-amd64/build SUBDIRS=/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux modules
make[1]: Entering directory `/usr/src/linux-headers-3.12-1-amd64'
  CC [M]  /home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.o
/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.c: In function ‘duplicate_pkt’:
/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.c:508:3: warning: passing argument 1 of ‘memmove’ makes pointer from integer without a cast [enabled by default]
   NdisMoveMemory(skb->tail, pHeader802_3, HdrLen);
   ^
In file included from /usr/src/linux-headers-3.12-1-common/arch/x86/include/asm/string.h:4:0,
                 from /usr/src/linux-headers-3.12-1-common/include/linux/string.h:17,
                 from /usr/src/linux-headers-3.12-1-common/include/linux/dynamic_debug.h:111,
                 from /usr/src/linux-headers-3.12-1-common/include/linux/kernel.h:14,
                 from /usr/src/linux-headers-3.12-1-common/include/linux/cache.h:4,
                 from /usr/src/linux-headers-3.12-1-common/include/linux/time.h:4,
                 from /usr/src/linux-headers-3.12-1-common/include/linux/stat.h:18,
                 from /usr/src/linux-headers-3.12-1-common/include/linux/module.h:10,
                 from /home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/include/os/rt_linux.h:18,
                 from /home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/include/rtmp_os.h:42,
                 from /home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/include/rtmp_comm.h:56,
                 from /home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.c:35:
/usr/src/linux-headers-3.12-1-common/arch/x86/include/asm/string_64.h:58:7: note: expected ‘void *’ but argument is of type ‘sk_buff_data_t’
 void *memmove(void *dest, const void *src, size_t count);
       ^
/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.c:510:3: warning: passing argument 1 of ‘memmove’ makes pointer from integer without a cast [enabled by default]
   NdisMoveMemory(skb->tail, pData, DataSize);
   ^
In file included from /usr/src/linux-headers-3.12-1-common/arch/x86/include/asm/string.h:4:0,
                 from /usr/src/linux-headers-3.12-1-common/include/linux/string.h:17,
                 from /usr/src/linux-headers-3.12-1-common/include/linux/dynamic_debug.h:111,
                 from /usr/src/linux-headers-3.12-1-common/include/linux/kernel.h:14,
                 from /usr/src/linux-headers-3.12-1-common/include/linux/cache.h:4,
                 from /usr/src/linux-headers-3.12-1-common/include/linux/time.h:4,
                 from /usr/src/linux-headers-3.12-1-common/include/linux/stat.h:18,
                 from /usr/src/linux-headers-3.12-1-common/include/linux/module.h:10,
                 from /home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/include/os/rt_linux.h:18,
                 from /home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/include/rtmp_os.h:42,
                 from /home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/include/rtmp_comm.h:56,
                 from /home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.c:35:
/usr/src/linux-headers-3.12-1-common/arch/x86/include/asm/string_64.h:58:7: note: expected ‘void *’ but argument is of type ‘sk_buff_data_t’
 void *memmove(void *dest, const void *src, size_t count);
       ^
/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.c: In function ‘ClonePacket’:
/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.c:662:20: warning: assignment makes integer from pointer without a cast [enabled by default]
   pClonedPkt->tail = pClonedPkt->data + pClonedPkt->len;
                    ^
In file included from /home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/include/rtmp_os.h:42:0,
                 from /home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/include/rtmp_comm.h:56,
                 from /home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.c:35:
/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOsPktInit’:
/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/include/os/rt_linux.h:992:34: warning: assignment makes integer from pointer without a cast [enabled by default]
   ((RTPKT_TO_OSPKT(_pkt))->tail) = (PUCHAR)((_start) + (_len))
                                  ^
/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.c:681:2: note: in expansion of macro ‘SET_OS_PKT_DATATAIL’
  SET_OS_PKT_DATATAIL(pRxPkt, pData, DataSize);
  ^
/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.c: In function ‘wlan_802_11_to_802_3_packet’:
/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.c:708:15: warning: assignment makes integer from pointer without a cast [enabled by default]
  pOSPkt->tail = pOSPkt->data + pOSPkt->len;
               ^
/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.c: In function ‘__RtmpOSFSInfoChange’:
/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.c:1136:20: error: incompatible types when assigning to type ‘int’ from type ‘kuid_t’
   pOSFSInfo->fsuid = current_fsuid();
                    ^
/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.c:1137:20: error: incompatible types when assigning to type ‘int’ from type ‘kgid_t’
   pOSFSInfo->fsgid = current_fsgid();
                    ^
make[4]: *** [/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.o] Error 1
make[3]: *** [_module_/home/black/WA/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux] Error 2
make[2]: *** [sub-make] Error 2
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.12-1-amd64'
make: *** [LINUX] Error 2
share|improve this question

1 Answer 1

up vote 2 down vote accepted

You need the ralink firmware, https://packages.debian.org/jessie/firmware-ralink

# apt-get install firmware-ralink

share|improve this answer
    
Tried it and it worked like a charm, thanks. Didn't think the solution was so simple ^^U; –  RAKK Mar 13 at 17:01

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.