How to make Ralink rt2870 driver work on Ubuntu 10.10

17 Comments

This works with Ubuntu 10.10 and a usb wifi adapter with the Ralink rt2870 chipset.

The driver released with Ubuntu kernel 2.6.35-22-generic is version 2.1.0.0 and doesn’t work…

I downloaded version 2.4.0.1 from Ralink web site and compiled it the following way.

cd /usr/src
tar xvfj /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1.tar.bz2
cd 2010_0709_RT2870_Linux_STA_v2.4.0.1/
sed -i.bak "s/HAS_WPA_SUPPLICANT=n/HAS_WPA_SUPPLICANT=y/" os/linux/config.mk
sed -i.bak "s/HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n/HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y/" os/linux/config.mk

Changed file include/os/rt_linux.h line 1077 to:

#define RTUSB_URB_ALLOC_BUFFER(pUsb_Dev, BufSize, pDma_addr) usb_alloc_coherent(pUsb_Dev, BufSize, GFP_ATOMIC, pDma_addr)

And line 1078 to:

#define RTUSB_URB_FREE_BUFFER(pUsb_Dev, BufSize, pTransferBuf, Dma_addr)        usb_free_coherent(pUsb_Dev, BufSize, pTransferBuf, Dma_addr)

Then compiled it:

make

Removed the Ubuntu released driver out of the way:

mv /lib/modules/`uname -r`/kernel/drivers/staging/rt2870 ~/.rt2870.bak

And installed the new one:

make install

Also removed the rt2800 module out of the way:

echo 'blacklist rt2800usb' >> /etc/modprobe.d/blacklist.conf

And rebooted my pc.

After the system booted up the new driver was loaded:

# modinfo rt2870sta | grep -i version
version: 2.4.0.0
srcversion: 5598BFE60F8B720D8D64062
vermagic: 2.6.35-22-generic SMP mod_unload modversions 686

Also I could connect to my wireless network at 130Mb/s (from the output of nm-tool).

17 Comments (+add yours?)

  1. Joaquin
    Nov 08, 2010 @ 16:03:40

    Sergio,

    Excellent work! Congratulations!

    Maybe we can add this information to your blog:

    1) Download the latest rt2870 USB FIRMWARE from Ralink corp. | Linux
    direct link to RT2870_Firmware =
    http://www.ralinktech.com/license_us.php?n=2&p=1&t=U0wyRnpjMlYwY3k4eU1ERXdMekF6THpNeEwyUnZkMjVzYjJGa01UWXpPRGs1T0Rnek5pNTZhWEE5UFQxU1ZESTROekJmUm1seWJYZGhjbVZmVmpJeUM%3D

    2) extract the rt2870RT2870_Firmware_V22.zip.bin firmware file, and move it /lib/firmware
    unzip RT2870_Firmware_V22.zip
    mv RT2870.bin /lib/firmware

    3) Reboot PC.

    There are some articles suggesting that this driver and the rt2870 are ABGN capable.
    http://forums.remote-exploit.org/bt4beta-working-hardware/23407-alfa-awus050nh-rt2x00-compat-wireless.html

    My usb wifi adapter with the Ralink rt2870 chipset does not display anything about the A band. Is it possible to activate it? Any suggestion?

    Thank you very much!

  2. Noran
    Nov 23, 2010 @ 04:23:49

    Hello, I’m desperate to get these drivers working here on Lucid. I followed your instructions but I get an error trying to build the drivers:

    noran@noran-laptop:~/Ralink$ make
    make -C tools
    make[1]: Entering directory `/home/noran/Ralink/tools’
    gcc -g bin2h.c -o bin2h
    make[1]: Leaving directory `/home/noran/Ralink/tools’
    /home/noran/Ralink/tools/bin2h
    cp -f os/linux/Makefile.6 /home/noran/Ralink/os/linux/Makefile
    make -C /lib/modules/2.6.32-21-generic/build SUBDIRS=/home/noran/Ralink/os/linux modules
    make[1]: Entering directory `/usr/src/linux-headers-2.6.32-21-generic’
    CC [M] /home/noran/Ralink/os/linux/../../common/crypt_md5.o
    CC [M] /home/noran/Ralink/os/linux/../../common/crypt_sha2.o
    CC [M] /home/noran/Ralink/os/linux/../../common/crypt_hmac.o
    CC [M] /home/noran/Ralink/os/linux/../../common/crypt_aes.o
    /home/noran/Ralink/os/linux/../../common/crypt_aes.c: In function ‘AES_GTK_KEY_WRAP’:
    /home/noran/Ralink/os/linux/../../common/crypt_aes.c:2265: warning: the frame size of 1100 bytes is larger than 1024 bytes
    /home/noran/Ralink/os/linux/../../common/crypt_aes.c: In function ‘WscDecryptData’:
    /home/noran/Ralink/os/linux/../../common/crypt_aes.c:1592: warning: the frame size of 1364 bytes is larger than 1024 bytes
    /home/noran/Ralink/os/linux/../../common/crypt_aes.c: In function ‘WscEncryptData’:
    /home/noran/Ralink/os/linux/../../common/crypt_aes.c:1522: warning: the frame size of 1364 bytes is larger than 1024 bytes
    CC [M] /home/noran/Ralink/os/linux/../../common/crypt_arc4.o
    CC [M] /home/noran/Ralink/os/linux/../../common/mlme.o
    /home/noran/Ralink/os/linux/../../common/mlme.c: In function ‘BssTableSortByRssi’:
    /home/noran/Ralink/os/linux/../../common/mlme.c:6100: warning: the frame size of 1720 bytes is larger than 1024 bytes
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_wep.o
    CC [M] /home/noran/Ralink/os/linux/../../common/action.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_data.o
    CC [M] /home/noran/Ralink/os/linux/../../common/rtmp_init.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_tkip.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_aes.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_sync.o
    CC [M] /home/noran/Ralink/os/linux/../../common/eeprom.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_sanity.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_info.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_cfg.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_wpa.o
    CC [M] /home/noran/Ralink/os/linux/../../common/dfs.o
    CC [M] /home/noran/Ralink/os/linux/../../common/spectrum.o
    CC [M] /home/noran/Ralink/os/linux/../../common/rtmp_timer.o
    CC [M] /home/noran/Ralink/os/linux/../../common/rt_channel.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_profile.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_asic.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_cmd.o
    CC [M] /home/noran/Ralink/os/linux/../../sta/assoc.o
    CC [M] /home/noran/Ralink/os/linux/../../sta/auth.o
    CC [M] /home/noran/Ralink/os/linux/../../sta/auth_rsp.o
    CC [M] /home/noran/Ralink/os/linux/../../sta/sync.o
    /home/noran/Ralink/os/linux/../../sta/sync.c: In function ‘PeerBeacon’:
    /home/noran/Ralink/os/linux/../../sta/sync.c:1764: warning: the frame size of 1308 bytes is larger than 1024 bytes
    /home/noran/Ralink/os/linux/../../sta/sync.c: In function ‘PeerBeaconAtJoinAction’:
    /home/noran/Ralink/os/linux/../../sta/sync.c:1094: warning: the frame size of 1300 bytes is larger than 1024 bytes
    /home/noran/Ralink/os/linux/../../sta/sync.c: In function ‘PeerBeaconAtScanAction’:
    /home/noran/Ralink/os/linux/../../sta/sync.c:764: warning: the frame size of 1268 bytes is larger than 1024 bytes
    /home/noran/Ralink/os/linux/../../sta/sync.c: In function ‘MlmeStartReqAction’:
    /home/noran/Ralink/os/linux/../../sta/sync.c:581: warning: the frame size of 1064 bytes is larger than 1024 bytes
    CC [M] /home/noran/Ralink/os/linux/../../sta/sanity.o
    CC [M] /home/noran/Ralink/os/linux/../../sta/rtmp_data.o
    CC [M] /home/noran/Ralink/os/linux/../../sta/connect.o
    /home/noran/Ralink/os/linux/../../sta/connect.c: In function ‘CntlOidScanProc’:
    /home/noran/Ralink/os/linux/../../sta/connect.c:355: warning: the frame size of 1748 bytes is larger than 1024 bytes
    CC [M] /home/noran/Ralink/os/linux/../../sta/wpa.o
    CC [M] /home/noran/Ralink/os/linux/../../sta/ags.o
    CC [M] /home/noran/Ralink/os/linux/../../sta/sta_cfg.o
    CC [M] /home/noran/Ralink/os/linux/../../common/rtmp_init_inf.o
    CC [M] /home/noran/Ralink/os/linux/../../os/linux/rt_profile.o
    CC [M] /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.o
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c: In function ‘rt_ioctl_siwencode’:
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c:1479: warning: suggest parentheses around operand of ‘!’ or change ‘&’ to ‘&&’ or ‘!’ to ‘~’
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c: In function ‘RTMPIoctlE2PROM’:
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c:6035: warning: the frame size of 1348 bytes is larger than 1024 bytes
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c: In function ‘RTMPIoctlMAC’:
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c:5836: warning: the frame size of 1344 bytes is larger than 1024 bytes
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c: In function ‘rt_ioctl_iwaplist’:
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c:599: warning: the frame size of 1288 bytes is larger than 1024 bytes
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c: In function ‘rt_ioctl_siwmlme’:
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c:1979: warning: the frame size of 1652 bytes is larger than 1024 bytes
    CC [M] /home/noran/Ralink/os/linux/../../os/linux/rt_linux.o
    /home/noran/Ralink/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOSNetDevDetach’:
    /home/noran/Ralink/os/linux/../../os/linux/rt_linux.c:1694: warning: initialization discards qualifiers from pointer target type
    /home/noran/Ralink/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOSNetDevAttach’:
    /home/noran/Ralink/os/linux/../../os/linux/rt_linux.c:1731: warning: initialization discards qualifiers from pointer target type
    CC [M] /home/noran/Ralink/os/linux/../../os/linux/rt_main_dev.o
    /home/noran/Ralink/os/linux/../../os/linux/rt_main_dev.c: In function ‘MainVirtualIF_close’:
    /home/noran/Ralink/os/linux/../../os/linux/rt_main_dev.c:117: warning: unused variable ‘Cancelled’
    CC [M] /home/noran/Ralink/os/linux/../../common/ba_action.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.o
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c: In function ‘RTMPAllocUsbBulkBufStruct’:
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:52: error: implicit declaration of function ‘usb_alloc_coherent’
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:52: warning: assignment makes pointer from integer without a cast
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c: In function ‘RTMPFreeUsbBulkBufStruct’:
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:78: error: implicit declaration of function ‘usb_free_coherent’
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c: In function ‘RTMPFreeTxRxRingMemory’:
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:234: warning: passing argument 3 of ‘RTMPFreeUsbBulkBufStruct’ from incompatible pointer type
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:62: note: expected ‘UCHAR **’ but argument is of type ‘struct __TX_BUFFER **’
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:241: warning: passing argument 3 of ‘RTMPFreeUsbBulkBufStruct’ from incompatible pointer type
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:62: note: expected ‘UCHAR **’ but argument is of type ‘struct __TX_BUFFER **’
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:278: warning: passing argument 3 of ‘RTMPFreeUsbBulkBufStruct’ from incompatible pointer type
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:62: note: expected ‘UCHAR **’ but argument is of type ‘struct __HTTX_BUFFER **’
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c: In function ‘NICInitTransmit’:
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:507: warning: passing argument 3 of ‘RTMPFreeUsbBulkBufStruct’ from incompatible pointer type
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:62: note: expected ‘UCHAR **’ but argument is of type ‘struct __TX_BUFFER **’
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c: In function ‘RTMPAllocTxRxRingMemory’:
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:566: warning: passing argument 3 of ‘RTMPAllocUsbBulkBufStruct’ from incompatible pointer type
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:34: note: expected ‘VOID **’ but argument is of type ‘struct __HTTX_BUFFER **’
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:596: warning: passing argument 3 of ‘RTMPAllocUsbBulkBufStruct’ from incompatible pointer type
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:34: note: expected ‘VOID **’ but argument is of type ‘struct __TX_BUFFER **’
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:610: warning: passing argument 3 of ‘RTMPAllocUsbBulkBufStruct’ from incompatible pointer type
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:34: note: expected ‘VOID **’ but argument is of type ‘struct __TX_BUFFER **’
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:628: warning: passing argument 3 of ‘RTMPAllocUsbBulkBufStruct’ from incompatible pointer type
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:34: note: expected ‘VOID **’ but argument is of type ‘UCHAR **’
    make[2]: *** [/home/noran/Ralink/os/linux/../../common/cmm_mac_usb.o] Error 1
    make[1]: *** [_module_/home/noran/Ralink/os/linux] Error 2
    make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-21-generic’
    make: *** [LINUX] Error 2
    noran@noran-laptop:~/Ralink$ make
    make -C tools
    make[1]: Entering directory `/home/noran/Ralink/tools’
    gcc -g bin2h.c -o bin2h
    make[1]: Leaving directory `/home/noran/Ralink/tools’
    /home/noran/Ralink/tools/bin2h
    cp -f os/linux/Makefile.6 /home/noran/Ralink/os/linux/Makefile
    make -C /lib/modules/2.6.32-21-generic/build SUBDIRS=/home/noran/Ralink/os/linux modules
    make[1]: Entering directory `/usr/src/linux-headers-2.6.32-21-generic’
    CC [M] /home/noran/Ralink/os/linux/../../common/crypt_md5.o
    CC [M] /home/noran/Ralink/os/linux/../../common/crypt_sha2.o
    CC [M] /home/noran/Ralink/os/linux/../../common/crypt_hmac.o
    CC [M] /home/noran/Ralink/os/linux/../../common/crypt_aes.o
    /home/noran/Ralink/os/linux/../../common/crypt_aes.c: In function ‘AES_GTK_KEY_WRAP’:
    /home/noran/Ralink/os/linux/../../common/crypt_aes.c:2265: warning: the frame size of 1100 bytes is larger than 1024 bytes
    /home/noran/Ralink/os/linux/../../common/crypt_aes.c: In function ‘WscDecryptData’:
    /home/noran/Ralink/os/linux/../../common/crypt_aes.c:1592: warning: the frame size of 1364 bytes is larger than 1024 bytes
    /home/noran/Ralink/os/linux/../../common/crypt_aes.c: In function ‘WscEncryptData’:
    /home/noran/Ralink/os/linux/../../common/crypt_aes.c:1522: warning: the frame size of 1364 bytes is larger than 1024 bytes
    CC [M] /home/noran/Ralink/os/linux/../../common/crypt_arc4.o
    CC [M] /home/noran/Ralink/os/linux/../../common/mlme.o
    /home/noran/Ralink/os/linux/../../common/mlme.c: In function ‘BssTableSortByRssi’:
    /home/noran/Ralink/os/linux/../../common/mlme.c:6100: warning: the frame size of 1720 bytes is larger than 1024 bytes
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_wep.o
    CC [M] /home/noran/Ralink/os/linux/../../common/action.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_data.o
    CC [M] /home/noran/Ralink/os/linux/../../common/rtmp_init.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_tkip.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_aes.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_sync.o
    CC [M] /home/noran/Ralink/os/linux/../../common/eeprom.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_sanity.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_info.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_cfg.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_wpa.o
    CC [M] /home/noran/Ralink/os/linux/../../common/dfs.o
    CC [M] /home/noran/Ralink/os/linux/../../common/spectrum.o
    CC [M] /home/noran/Ralink/os/linux/../../common/rtmp_timer.o
    CC [M] /home/noran/Ralink/os/linux/../../common/rt_channel.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_profile.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_asic.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_cmd.o
    CC [M] /home/noran/Ralink/os/linux/../../sta/assoc.o
    CC [M] /home/noran/Ralink/os/linux/../../sta/auth.o
    CC [M] /home/noran/Ralink/os/linux/../../sta/auth_rsp.o
    CC [M] /home/noran/Ralink/os/linux/../../sta/sync.o
    /home/noran/Ralink/os/linux/../../sta/sync.c: In function ‘PeerBeacon’:
    /home/noran/Ralink/os/linux/../../sta/sync.c:1764: warning: the frame size of 1308 bytes is larger than 1024 bytes
    /home/noran/Ralink/os/linux/../../sta/sync.c: In function ‘PeerBeaconAtJoinAction’:
    /home/noran/Ralink/os/linux/../../sta/sync.c:1094: warning: the frame size of 1300 bytes is larger than 1024 bytes
    /home/noran/Ralink/os/linux/../../sta/sync.c: In function ‘PeerBeaconAtScanAction’:
    /home/noran/Ralink/os/linux/../../sta/sync.c:764: warning: the frame size of 1268 bytes is larger than 1024 bytes
    /home/noran/Ralink/os/linux/../../sta/sync.c: In function ‘MlmeStartReqAction’:
    /home/noran/Ralink/os/linux/../../sta/sync.c:581: warning: the frame size of 1064 bytes is larger than 1024 bytes
    CC [M] /home/noran/Ralink/os/linux/../../sta/sanity.o
    CC [M] /home/noran/Ralink/os/linux/../../sta/rtmp_data.o
    CC [M] /home/noran/Ralink/os/linux/../../sta/connect.o
    /home/noran/Ralink/os/linux/../../sta/connect.c: In function ‘CntlOidScanProc’:
    /home/noran/Ralink/os/linux/../../sta/connect.c:355: warning: the frame size of 1748 bytes is larger than 1024 bytes
    CC [M] /home/noran/Ralink/os/linux/../../sta/wpa.o
    CC [M] /home/noran/Ralink/os/linux/../../sta/ags.o
    CC [M] /home/noran/Ralink/os/linux/../../sta/sta_cfg.o
    CC [M] /home/noran/Ralink/os/linux/../../common/rtmp_init_inf.o
    CC [M] /home/noran/Ralink/os/linux/../../os/linux/rt_profile.o
    CC [M] /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.o
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c: In function ‘rt_ioctl_siwencode’:
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c:1479: warning: suggest parentheses around operand of ‘!’ or change ‘&’ to ‘&&’ or ‘!’ to ‘~’
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c: In function ‘RTMPIoctlE2PROM’:
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c:6035: warning: the frame size of 1348 bytes is larger than 1024 bytes
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c: In function ‘RTMPIoctlMAC’:
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c:5836: warning: the frame size of 1344 bytes is larger than 1024 bytes
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c: In function ‘rt_ioctl_iwaplist’:
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c:599: warning: the frame size of 1288 bytes is larger than 1024 bytes
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c: In function ‘rt_ioctl_siwmlme’:
    /home/noran/Ralink/os/linux/../../os/linux/sta_ioctl.c:1979: warning: the frame size of 1652 bytes is larger than 1024 bytes
    CC [M] /home/noran/Ralink/os/linux/../../os/linux/rt_linux.o
    /home/noran/Ralink/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOSNetDevDetach’:
    /home/noran/Ralink/os/linux/../../os/linux/rt_linux.c:1694: warning: initialization discards qualifiers from pointer target type
    /home/noran/Ralink/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOSNetDevAttach’:
    /home/noran/Ralink/os/linux/../../os/linux/rt_linux.c:1731: warning: initialization discards qualifiers from pointer target type
    CC [M] /home/noran/Ralink/os/linux/../../os/linux/rt_main_dev.o
    /home/noran/Ralink/os/linux/../../os/linux/rt_main_dev.c: In function ‘MainVirtualIF_close’:
    /home/noran/Ralink/os/linux/../../os/linux/rt_main_dev.c:117: warning: unused variable ‘Cancelled’
    CC [M] /home/noran/Ralink/os/linux/../../common/ba_action.o
    CC [M] /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.o
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c: In function ‘RTMPAllocUsbBulkBufStruct’:
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:52: error: implicit declaration of function ‘usb_alloc_coherent’
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:52: warning: assignment makes pointer from integer without a cast
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c: In function ‘RTMPFreeUsbBulkBufStruct’:
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:78: error: implicit declaration of function ‘usb_free_coherent’
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c: In function ‘RTMPFreeTxRxRingMemory’:
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:234: warning: passing argument 3 of ‘RTMPFreeUsbBulkBufStruct’ from incompatible pointer type
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:62: note: expected ‘UCHAR **’ but argument is of type ‘struct __TX_BUFFER **’
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:241: warning: passing argument 3 of ‘RTMPFreeUsbBulkBufStruct’ from incompatible pointer type
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:62: note: expected ‘UCHAR **’ but argument is of type ‘struct __TX_BUFFER **’
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:278: warning: passing argument 3 of ‘RTMPFreeUsbBulkBufStruct’ from incompatible pointer type
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:62: note: expected ‘UCHAR **’ but argument is of type ‘struct __HTTX_BUFFER **’
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c: In function ‘NICInitTransmit’:
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:507: warning: passing argument 3 of ‘RTMPFreeUsbBulkBufStruct’ from incompatible pointer type
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:62: note: expected ‘UCHAR **’ but argument is of type ‘struct __TX_BUFFER **’
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c: In function ‘RTMPAllocTxRxRingMemory’:
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:566: warning: passing argument 3 of ‘RTMPAllocUsbBulkBufStruct’ from incompatible pointer type
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:34: note: expected ‘VOID **’ but argument is of type ‘struct __HTTX_BUFFER **’
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:596: warning: passing argument 3 of ‘RTMPAllocUsbBulkBufStruct’ from incompatible pointer type
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:34: note: expected ‘VOID **’ but argument is of type ‘struct __TX_BUFFER **’
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:610: warning: passing argument 3 of ‘RTMPAllocUsbBulkBufStruct’ from incompatible pointer type
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:34: note: expected ‘VOID **’ but argument is of type ‘struct __TX_BUFFER **’
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:628: warning: passing argument 3 of ‘RTMPAllocUsbBulkBufStruct’ from incompatible pointer type
    /home/noran/Ralink/os/linux/../../common/cmm_mac_usb.c:34: note: expected ‘VOID **’ but argument is of type ‘UCHAR **’
    make[2]: *** [/home/noran/Ralink/os/linux/../../common/cmm_mac_usb.o] Error 1
    make[1]: *** [_module_/home/noran/Ralink/os/linux] Error 2
    make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-21-generic’
    make: *** [LINUX] Error 2

    I appreciate your help,

    Noran

  3. smachado
    Nov 23, 2010 @ 17:42:20

    Hi Joaquin,

    Thanks for your comment. These instructions are specific for the versions of Ubuntu, Ralink driver and Kernel version. This is because what is true for one version might not be for the next one.
    Why do you want to enable the A band?

  4. smachado
    Nov 23, 2010 @ 17:43:30

    Hi Noran,

    Thanks for your comment. I would suggest that you upgrade to Maverick before trying this. Also make sure you are using the Kernel version and Ralink driver that I specify in the article.

    Hope this helps.

  5. Flavio
    Nov 24, 2010 @ 13:45:26

    Oi Sergio,

    Estou com o mesmo problema do Noran com o ubuntu 10.10, sendo que nao tive problemas com o kernel da versão 10.04
    Tem alguma sugestão?

  6. smachado
    Nov 24, 2010 @ 15:49:12

    Olá Flávio,

    Tenta não fazer a alteração que indico no post no ficheiro rt_linux.h.

  7. Ataloss
    Dec 28, 2010 @ 15:03:31

    Joaquin :

    2) extract the rt2870RT2870_Firmware_V22.zip.bin firmware file, and move it /lib/firmware
    unzip RT2870_Firmware_V22.zip
    mv RT2870.bin /lib/firmware
    3) Reboot PC.

    I am at a loss…. I download the zip file ibto my downloads folder but am unable to move it to /lib/firmware

    I assume this goes through Terminal but I haven’t figured it out how to do so… Please help

  8. paxsat
    Dec 28, 2010 @ 17:31:55

    Fantastic… ty :)

  9. Azzir
    Jan 01, 2011 @ 08:01:55

    Awesome… thank you SO much!

  10. Jack
    Jan 16, 2011 @ 14:17:05

    I got think working, took two reboots.

    A quick note: some tutorials tell you to add other stuff to the blacklist. ONLY ADD WHAT THIS TUTORIAL SAYS TO blacklist.conf

    Otherwise you’ll block the new driver!

    Thanks for the help, now downloading at a couple of MB a second!

    Jack

  11. Rene
    Jan 22, 2011 @ 13:17:00

    Thanks it works! I could not connect to my wireless network at 130Mb/s
    and wanted to compile the RT2870sta driver and that gave problems.
    With your remarks, it is no problem anymore.

  12. anli
    Feb 09, 2011 @ 01:25:17

    Please, can anybody confirm this 2.4.0.1 version support connection at 802.11n speed (> 54Mb/s)?

  13. smachado
    Feb 09, 2011 @ 12:42:17

    Hi Anli, yes it does.

  14. Chrissy
    Feb 19, 2011 @ 18:47:15

    Ahhhh yess. My dwa-140 is now connected at a rock solid 270mbps. Much thanks

  15. Hugo
    Apr 11, 2011 @ 14:41:52

    Thank You, Sergio
    I will try it on my Pavillion, w5151, with Ubuntu 10.10

  16. pytrisss
    Apr 18, 2011 @ 23:22:14

    THANK YOU SO MUCH! Its half past one in the morning and with your guide my work here is done :) I got it finally working.

  17. Joaquin
    May 29, 2012 @ 10:55:26

    What is the procedure to make Ralink RT3070 (Alfa Network´s AWUS036NH) driver to work in Ubuntu 12.04? I will really appreciate your help with this technical issue. Thank you!

Leave a Reply

*