i have RT2870 ID 1737:0070 Linksys and it dosent work in ubuntu 9.04 it will
make
make install
modprobe rt2870sta
even but then no adapters foundthink you could take a look at it if you get a chance
to bad about the laptop![]()
i have RT2870 ID 1737:0070 Linksys and it dosent work in ubuntu 9.04 it will
make
make install
modprobe rt2870sta
even but then no adapters foundthink you could take a look at it if you get a chance
to bad about the laptop![]()
Make sure you arent using an x64 version of ubuntu. I'm not sure why but when i tested the driver under the 2.6.28 kernel with x64 option it would crash. 9.04 i believe uses a newer kernel (not sure which i could look into it) which might require some more changes to the code. I have 9.04 installed on my desktop so i'll look into it, though cant guarantee it again as i dont have my rt2870 working anymore :/ Most likely it is due to the device ID not being present. look for your device id in rt2870.h i believe, if its not in there, add the entry makign sure it is almost identical to the other device id entries (of course putting in your ID and manufacturer string etc), recompile and try again should come up as ra0 after you either modprobe rt2870sta or insmod rt2870sta.o
after i make i get this warning
WARNING: modpost: Found 1 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
CC /home/hellmonger/Desktop/os/linux/rt2870sta.mod.o
LD [M] /home/hellmonger/Desktop/os/linux/rt2870sta.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.28-11-generic'
root@U-9:~/Desktop# make CONFIG_DEBUG_SECTION_MISMATCH=y
make -C tools
make[1]: Entering directory `/home/hellmonger/Desktop/tools'
gcc -g bin2h.c -o bin2h
make[1]: Leaving directory `/home/hellmonger/Desktop/tools'
/home/hellmonger/Desktop/tools/bin2h
cp -f os/linux/Makefile.6 /home/hellmonger/Desktop/os/linux/Makefile
make -C /lib/modules/2.6.28-11-generic/build SUBDIRS=/home/hellmonger/Desktop/os/linux modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.28-11-generic'
CC [M] /home/hellmonger/Desktop/os/linux/../../common/md5.o
CC [M] /home/hellmonger/Desktop/os/linux/../../common/mlme.o
CC [M] /home/hellmonger/Desktop/os/linux/../../common/rtmp_wep.o
CC [M] /home/hellmonger/Desktop/os/linux/../../common/action.o
CC [M] /home/hellmonger/Desktop/os/linux/../../common/ba_action.o
CC [M] /home/hellmonger/Desktop/os/linux/../../common/cmm_data.o
CC [M] /home/hellmonger/Desktop/os/linux/../../common/rtmp_init.o
CC [M] /home/hellmonger/Desktop/os/linux/../../common/rtmp_tkip.o
CC [M] /home/hellmonger/Desktop/os/linux/../../common/cmm_sync.o
CC [M] /home/hellmonger/Desktop/os/linux/../../common/eeprom.o
CC [M] /home/hellmonger/Desktop/os/linux/../../common/cmm_sanity.o
CC [M] /home/hellmonger/Desktop/os/linux/../../common/cmm_info.o
CC [M] /home/hellmonger/Desktop/os/linux/../../common/cmm_wpa.o
CC [M] /home/hellmonger/Desktop/os/linux/../../common/dfs.o
CC [M] /home/hellmonger/Desktop/os/linux/../../sta/assoc.o
CC [M] /home/hellmonger/Desktop/os/linux/../../sta/aironet.o
CC [M] /home/hellmonger/Desktop/os/linux/../../sta/auth.o
CC [M] /home/hellmonger/Desktop/os/linux/../../sta/auth_rsp.o
CC [M] /home/hellmonger/Desktop/os/linux/../../sta/sync.o
CC [M] /home/hellmonger/Desktop/os/linux/../../sta/sanity.o
CC [M] /home/hellmonger/Desktop/os/linux/../../sta/rtmp_data.o
CC [M] /home/hellmonger/Desktop/os/linux/../../sta/connect.o
CC [M] /home/hellmonger/Desktop/os/linux/../../sta/wpa.o
CC [M] /home/hellmonger/Desktop/os/linux/../../os/linux/rt_linux.o
CC [M] /home/hellmonger/Desktop/os/linux/../../os/linux/rt_profile.o
CC [M] /home/hellmonger/Desktop/os/linux/../../os/linux/rt_main_dev.o
CC [M] /home/hellmonger/Desktop/os/linux/../../os/linux/sta_ioctl.o
CC [M] /home/hellmonger/Desktop/os/linux/../../os/linux/2870_main_dev.o
/home/hellmonger/Desktop/os/linux/../../os/linux/2870_main_dev.c: In function ‘RT28xxThreadTerminate’:
/home/hellmonger/Desktop/os/linux/../../os/linux/2870_main_dev.c:874: warning: passing argument 1 of ‘kill_pid’ makes pointer from integer without a cast
/home/hellmonger/Desktop/os/linux/../../os/linux/2870_main_dev.c:894: warning: passing argument 1 of ‘kill_pid’ makes pointer from integer without a cast
/home/hellmonger/Desktop/os/linux/../../os/linux/2870_main_dev.c:917: warning: passing argument 1 of ‘kill_pid’ makes pointer from integer without a cast
CC [M] /home/hellmonger/Desktop/os/linux/../../common/2870_rtmp_init.o
CC [M] /home/hellmonger/Desktop/os/linux/../../common/rtusb_io.o
CC [M] /home/hellmonger/Desktop/os/linux/../../common/rtusb_bulk.o
CC [M] /home/hellmonger/Desktop/os/linux/../../common/rtusb_data.o
CC [M] /home/hellmonger/Desktop/os/linux/../../common/cmm_data_2870.o
LD [M] /home/hellmonger/Desktop/os/linux/rt2870sta.o
WARNING: /home/hellmonger/Desktop/os/linux/rt2870sta.o(.text+0x4720f): Section mismatch in reference from the function rtusb_probe() to the function .devinit.text:rt28xx_probe()
The function rtusb_probe() references
the function __devinit rt28xx_probe().
This is often because rtusb_probe lacks a __devinit
annotation or the annotation of rt28xx_probe is wrong.
Building modules, stage 2.
MODPOST 1 modules
WARNING: /home/hellmonger/Desktop/os/linux/rt2870sta.o(.text+0x4720f): Section mismatch in reference from the function rtusb_probe() to the function .devinit.text:rt28xx_probe()
The function rtusb_probe() references
the function __devinit rt28xx_probe().
This is often because rtusb_probe lacks a __devinit
annotation or the annotation of rt28xx_probe is wrong.
CC /home/hellmonger/Desktop/os/linux/rt2870sta.mod.o
LD [M] /home/hellmonger/Desktop/os/linux/rt2870sta.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.28-11-generic'
root@U-9:~/Desktop# make install
make -C /home/hellmonger/Desktop/os/linux -f Makefile.6 install
mkdir: cannot create directory `/etc/Wireless': File exists
make[1]: Entering directory `/home/hellmonger/Desktop/os/linux'
rm -rf /etc/Wireless/RT2870STA
mkdir /etc/Wireless/RT2870STA
cp /home/hellmonger/Desktop/RT2870STA.dat /etc/Wireless/RT2870STA/.
install -d /lib/modules/2.6.28-11-generic/kernel/drivers/net/wireless/
install -m 644 -c rt2870sta.ko /lib/modules/2.6.28-11-generic/kernel/drivers/net/wireless/
/sbin/depmod -a 2.6.28-11-generic
make[1]: Leaving directory `/home/hellmonger/Desktop/os/linux'
root@U-9:~/Desktop# insmod rt2870sta.o
insmod: can't read 'rt2870sta.o': No such file or directory
root@U-9:~/Desktop# insmod rt2870sta
insmod: can't read 'rt2870sta': No such file or directory
root@U-9:~/Desktop# modprobe rt2870sta
root@U-9:~/Desktop# ifconfig
eth0 Link encap:Ethernet HWaddr 00:1d:60:6e:24:15
inet addr:192.168.0.104 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::21d:60ff:fe6e:2415/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8077 errors:0 dropped:0 overruns:0 frame:0
TX packets:6074 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10449419 (10.4 MB) TX bytes:738505 (738.5 KB)
Interrupt:252 Base address:0x4000
eth1 Link encap:Ethernet HWaddr 00:1d:60:6e:30:3b
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:253 Base address:0xa000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
root@U-9:~/Desktop# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
eth1 no wireless extensions.
pan0 no wireless extensions.
root@U-9:~/Desktop# i added {USB_DEVICE(0x1737,0x0070)}, /* Linksys */ \ to rt2870 and i see it in lsusb Bus 001 Device 004: ID 1737:0070 Linksys
still no go i think its 32 bit ubuntu 9.04 how do i check? sorry for the n00b question nad thank you for helping me that is very cool2009_0521_RT2870_Linux_STA_V2.1.2.0 is the working (non injectin driver from ralink) its so different im totaly lost lol
well im definetly using ubuntun 9.04 i have a amd64 dual core cpu dose that auto make it 64 bit ???
WARNING: /home/hellmonger/Desktop/os/linux/rt2870sta.o(.text+0x4720f): Section mismatch in reference from the function rtusb_probe() to the function .devinit.text:rt28xx_probe()
The function rtusb_probe() references
the function __devinit rt28xx_probe().
This is often because rtusb_probe lacks a __devinit
annotation or the annotation of rt28xx_probe is wrong.
OK if only i could understand a !#@$@#$ word of this I'd be in business
i loaded slax 6.01 on usb and it will not make the nem driver wen i try to make it says command not found and im in the nem foolder fresh of the site??? any idea's?
i got the apocalipse269 driver working corectly with slax 6.11 runs fine all features are functional but wen i airmon-ng stop ra0 it frose and gave me all kinds or errs and have to reboot must be looked into but besides that runs fine
EDIT: nvm, I was editing the wrong file.
apocolipse,
I'd like to learn more about drivers and patching for injection. Do you have any recommendations on what to read up on?
- Gino
:P there's nothing specific to "read up on", 1st, learn c++, 2nd, go to college for 4 years and write some shitty os's and learn how to program for hardware, 3rd, become extremely proficient with the inner workings of the OS kernel you are programming for, 4th, know how the manufacturer writes their drivers. Honestly i didnt make the driver inject, i just patched it manually to get it to compile with newer kernel due to some inner working changes in the kernel. Legacy functions werent being compiled right with the driver that did have injection in the newer kernel so i had to update them to the newer version, then set datatypes, function declarations, etc. all in all i only edited about maybe 100-150 lines of code over 4-5 files from the hirte driver. note: the nemesis driver is only a patched hirte driver for linksys devices. The hirte driver is a patched official driver specifically to allow packet injection. My driver is a patched hirte driver to allow it to compile on newer kernels.
try "modprobe rt2870 ra0"
no you do not need to add the ra0, the commands to add the module are as follows
sudo modprobe rt2870sta
or you can
sudo insmod rt2870sta.o (or .ko for x64, this will be in the os/linux folder after compiling)
there is no need to alias the device name in modprobe as its default ra0
Apocolipse - If you are able to makes heads/tails of this, I'll forever be your hero! The difference here is the the RT2860 chipset from what i can tell is used for the PCIx interface. This is what is built in to the 1000HE. The RT2870 is a USB interface chipset.
hxxp://www ralinktech com/ralink/Home/Support/Linux.html
Ralink Technology: Linux
This is the link for the driverset. You'll see a 2.1.2.0 version for the RT2860. This one works with the 2.6.29 kernel. They just updated it. However, again, injection does not work. I don't know if you can patch it?