I marked this thread as solved when it worked but I have since had the same problem and it no longer works.
Marking the thread as unsloved...
I marked this thread as solved when it worked but I have since had the same problem and it no longer works.
Marking the thread as unsloved...
Please remove the device and do:Since you followed the howto here http://ubuntuforums.org/showpost.php...8&postcount=35 I assume you already have the file, but we are going to make a change:Code:sudo gedit /etc/udev/rules.d/network_drivers.rulesProofread carefully, save and close gedit. Now do:Code:ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", ATTR{idProduct}=="1784", RUN+="/sbin/modprobe -qba rt2870sta"Make the highlighted changes:Code:gedit /etc/modprobe.d/network_drivers.confNow reinsert the device and do:Code:install rt2870sta /sbin/modprobe --ignore-install rt2870sta $CMDLINE_OPTS; /bin/echo "0b05 1784" > /sys/bus/usb/drivers/rt2870/new_idDo you have a wireless interface? Can you connect?Code:iwconfig
"Oh, Ubuntu, you are my favorite Linux-based operating system" --Dr. Sheldon Cooper, B.Sc., M.Sc., M.A., Ph.D., Sc.D.
I've had some time to play with this again and below is the full procedure I used to get this device to work form a clean installation of 10.04. I had the device connected throughout this entire procedure. Thanks to everyone who has helped along the way, in particular chili555.
1) Download the file file from earlier in this thread: "2009_1110_RT3070_Linux_STA_v2.1.2.0"
2) Extract it to the Desktop. Double clicking it to open and dragging the folder inside to the Desktop works just fine.
3) Open a command prompt and go to the newly created folder
4) Create the make file. As I understand it, this will create a 'makefile' which has the installation procedure required, according to the configuration of your system.Code:cd Desktop/2009_1110_RT3070_Linux_STA_v2.1.2.0/
5) Run the installation. This runs the installation according to settings made in the step above.Code:sudo make
6) Create a 'network_drivers.rules' file,Code:sudo make install
Enter this code:Code:sudo gedit /etc/udev/rules.d/network_drivers.rules
Save and exit geditCode:ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", ATTR{idProduct}=="1784", RUN+="/sbin/modprobe -qba rt2870sta"
7) Create a 'network_drivers.conf' file,
Enter this code:Code:sudo gedit /etc/modprobe.d/network_drivers.conf
Save and exit geditCode:install rt2870sta /sbin/modprobe --ignore-install rt2870sta $CMDLINE_OPTS; /bin/echo "0b05 1784" > /sys/bus/usb/drivers/rt2870/new_id
8) Restart your system
The device should come on after the restart and you can connect to your wireless network via the NetworkManager applet. In my tests, the device continues to work after applying updates.
Now that this is working, I have some questions as to why what we have done works. I still have a lot to learn about Linux and often find myself blindly typing comands.. I want to understand what I am doing, so here goes..
Step 6)
Why is the file called "network_drivers.rules"?
Why does it have to be in this folder "/etc/udev/rules.d/"?
What does the code within the file actually do?
How did you know it had to be called that particular file name and placed in that particular folder and with that exact code? I don't see that in the readme file, where did you come accross that information..
Step 7)
The same respective questions...
Another interesting observation; when I could not get the device to work, it was called 'ra0' when I typed 'iwconfig'. Now that it is working device is called 'wlan0'. Does that mean anything? Can anyone explain why that would be?
I just stole it from someone else on this forum. I have no idea why it works, I just know by observation that it does.How did you know it had to be called that particular file name and placed in that particular folder and with that exact code? I don't see that in the readme file, where did you come accross that information..
It's not in the README file because it is intended to get the native driver working; it's not intended for the compiled from Ralink version.The native built in the kernel version uses wlan0; the compiled from Ralink version uses ra0. Despite your efforts to compile the downloaded version, your system is using the native driver. When you run:when I could not get the device to work, it was called 'ra0' when I typed 'iwconfig'. Now that it is working device is called 'wlan0'. Does that mean anything? Can anyone explain why that would be?Does it come from kernel/drivers/net (for compiled) or from kernel/drivers/staging (for native)?Code:modinfo rt2870sta
Hey, if I find something that works, I don't apologize; I use it.
"Oh, Ubuntu, you are my favorite Linux-based operating system" --Dr. Sheldon Cooper, B.Sc., M.Sc., M.A., Ph.D., Sc.D.
Hi chili555,
Here is the code:
Finally, I had some connection problems connecting to one particular router (D-Link DIR-628), and some specific settings had to be set.Code:modinfo rt2870sta filename: /lib/modules/2.6.32-22-generic/kernel/drivers/staging/rt2870/rt2870sta.ko alias: rt3070sta version: 2.0.1.0 license: GPL description: RTxx70 Wireless LAN Linux Driver author: Paul Lin <paul_lin@ralinktech.com> srcversion: 169A56F8E0E6AA9C2B2FD02 alias: usb:v0411p015Dd*dc*dsc*dp*ic*isc*ip* alias: usb:v1737p0077d*dc*dsc*dp*ic*isc*ip* alias: usb:v1EDAp2310d*dc*dsc*dp*ic*isc*ip* alias: usb:v7392p7717d*dc*dsc*dp*ic*isc*ip* alias: usb:v0789p0164d*dc*dsc*dp*ic*isc*ip* alias: usb:v0789p0163d*dc*dsc*dp*ic*isc*ip* alias: usb:v0789p0162d*dc*dsc*dp*ic*isc*ip* alias: usb:v1A32p0304d*dc*dsc*dp*ic*isc*ip* alias: usb:v5A57p0282d*dc*dsc*dp*ic*isc*ip* alias: usb:v5A57p0280d*dc*dsc*dp*ic*isc*ip* alias: usb:v7392p7711d*dc*dsc*dp*ic*isc*ip* alias: usb:v07B8p3072d*dc*dsc*dp*ic*isc*ip* alias: usb:v07B8p2770d*dc*dsc*dp*ic*isc*ip* alias: usb:v07B8p2870d*dc*dsc*dp*ic*isc*ip* alias: usb:v07B8p3071d*dc*dsc*dp*ic*isc*ip* alias: usb:v07B8p3070d*dc*dsc*dp*ic*isc*ip* alias: usb:v04E8p2018d*dc*dsc*dp*ic*isc*ip* alias: usb:v14B2p3C09d*dc*dsc*dp*ic*isc*ip* alias: usb:v1482p3C09d*dc*dsc*dp*ic*isc*ip* alias: usb:v050Dp805Cd*dc*dsc*dp*ic*isc*ip* alias: usb:v157Ep300Ed*dc*dsc*dp*ic*isc*ip* alias: usb:v129Bp1828d*dc*dsc*dp*ic*isc*ip* alias: usb:v0E66p0003d*dc*dsc*dp*ic*isc*ip* alias: usb:v0E66p0001d*dc*dsc*dp*ic*isc*ip* alias: usb:v15C5p0008d*dc*dsc*dp*ic*isc*ip* alias: usb:v083Ap6618d*dc*dsc*dp*ic*isc*ip* alias: usb:v13D3p3273d*dc*dsc*dp*ic*isc*ip* alias: usb:v13D3p3247d*dc*dsc*dp*ic*isc*ip* alias: usb:v14B2p3C25d*dc*dsc*dp*ic*isc*ip* alias: usb:v0471p200Fd*dc*dsc*dp*ic*isc*ip* alias: usb:v1740p9703d*dc*dsc*dp*ic*isc*ip* alias: usb:v1740p9702d*dc*dsc*dp*ic*isc*ip* alias: usb:v1740p9701d*dc*dsc*dp*ic*isc*ip* alias: usb:v0CDEp0025d*dc*dsc*dp*ic*isc*ip* alias: usb:v0586p3416d*dc*dsc*dp*ic*isc*ip* alias: usb:v0CDEp0022d*dc*dsc*dp*ic*isc*ip* alias: usb:v083Ap7511d*dc*dsc*dp*ic*isc*ip* alias: usb:v083Ap7522d*dc*dsc*dp*ic*isc*ip* alias: usb:v083Ap7512d*dc*dsc*dp*ic*isc*ip* alias: usb:v083Ap8522d*dc*dsc*dp*ic*isc*ip* alias: usb:v083ApA618d*dc*dsc*dp*ic*isc*ip* alias: usb:v083ApB522d*dc*dsc*dp*ic*isc*ip* alias: usb:v15A9p0006d*dc*dsc*dp*ic*isc*ip* alias: usb:v1044p800Dd*dc*dsc*dp*ic*isc*ip* alias: usb:v1044p800Bd*dc*dsc*dp*ic*isc*ip* alias: usb:v18C5p0012d*dc*dsc*dp*ic*isc*ip* alias: usb:v07AAp003Fd*dc*dsc*dp*ic*isc*ip* alias: usb:v07AAp003Cd*dc*dsc*dp*ic*isc*ip* alias: usb:v07AAp002Fd*dc*dsc*dp*ic*isc*ip* alias: usb:v14B2p3C27d*dc*dsc*dp*ic*isc*ip* alias: usb:v14B2p3C23d*dc*dsc*dp*ic*isc*ip* alias: usb:v050Dp825Ad*dc*dsc*dp*ic*isc*ip* alias: usb:v050Dp815Cd*dc*dsc*dp*ic*isc*ip* alias: usb:v050Dp8053d*dc*dsc*dp*ic*isc*ip* alias: usb:v14B2p3C12d*dc*dsc*dp*ic*isc*ip* alias: usb:v14B2p3C07d*dc*dsc*dp*ic*isc*ip* alias: usb:v2001p3C0Ad*dc*dsc*dp*ic*isc*ip* alias: usb:v2001p3C09d*dc*dsc*dp*ic*isc*ip* alias: usb:v07D1p3C11d*dc*dsc*dp*ic*isc*ip* alias: usb:v07D1p3C09d*dc*dsc*dp*ic*isc*ip* alias: usb:v2019pAB25d*dc*dsc*dp*ic*isc*ip* alias: usb:v2019pED14d*dc*dsc*dp*ic*isc*ip* alias: usb:v2019pED06d*dc*dsc*dp*ic*isc*ip* alias: usb:v14B2p3C28d*dc*dsc*dp*ic*isc*ip* alias: usb:v14B2p3C06d*dc*dsc*dp*ic*isc*ip* alias: usb:v0DF6p003Fd*dc*dsc*dp*ic*isc*ip* alias: usb:v0DF6p0039d*dc*dsc*dp*ic*isc*ip* alias: usb:v0DF6p002Dd*dc*dsc*dp*ic*isc*ip* alias: usb:v0DF6p003Ed*dc*dsc*dp*ic*isc*ip* alias: usb:v0DF6p002Cd*dc*dsc*dp*ic*isc*ip* alias: usb:v0DF6p002Bd*dc*dsc*dp*ic*isc*ip* alias: usb:v0DF6p0017d*dc*dsc*dp*ic*isc*ip* alias: usb:v0B05p1742d*dc*dsc*dp*ic*isc*ip* alias: usb:v0B05p1732d*dc*dsc*dp*ic*isc*ip* alias: usb:v0B05p1731d*dc*dsc*dp*ic*isc*ip* alias: usb:v148Fp3072d*dc*dsc*dp*ic*isc*ip* alias: usb:v148Fp3071d*dc*dsc*dp*ic*isc*ip* alias: usb:v148Fp3070d*dc*dsc*dp*ic*isc*ip* alias: usb:v148Fp2870d*dc*dsc*dp*ic*isc*ip* alias: usb:v1737p0070d*dc*dsc*dp*ic*isc*ip* alias: usb:v1737p0071d*dc*dsc*dp*ic*isc*ip* alias: usb:v148Fp2770d*dc*dsc*dp*ic*isc*ip* depends: staging: Y vermagic: 2.6.32-22-generic SMP mod_unload modversions 586 parm: mac:rt28xx: wireless mac addr (charp)
The adapter would not connect if the Encryption on the router was set to "TKIP and AES", I had to choose one or the other. I went with AES.
Also the adapter would not connect to this router if I set the router to "N only" mode.
The router does have the latest firmware and is an 'N' router, so I'm not sure at this stage if this is an adapter problem or this specific router that has the problem.
For now I am happy to be connecting even if it is at 'G' speeds, and know where to look if for some reason I can't connect to a router.
This is the built in to the kernel driver. What you tried to build is:/lib/modules/2.6.32-22-generic/kernel/drivers/staging/rt2870/rt2870sta.ko
alias: rt3070sta
version: 2.0.1.0Hey, if it works, it works!2009_1110_RT3070_Linux_STA_v2.1.2.0
"Oh, Ubuntu, you are my favorite Linux-based operating system" --Dr. Sheldon Cooper, B.Sc., M.Sc., M.A., Ph.D., Sc.D.
So I reinstalled Ubuntu again...
This time, I only did steps 6 and 7 of post#23, so as not to use the downloaded driver at all, and it works just the same.
I did some reading around these two directories:
/etc/udev/rules.d/
/etc/modprobe.d/
They seem to play a key part it forcing modules to load, but I need to do more research around the linux kernel and how modules work to fully understand it.
Another question comes to mind though, how does one know if there is already a present GPL driver for a given piece of hardware?
I would never have known unless you told me I was using that driver, I would have kept trying to make the external driver work...
So I reinstalled Ubuntu again...
This time, I only did steps 6 and 7 of post#23, so as not to use the downloaded driver at all, and it works just the same.
I did some reading around these two directories:
/etc/udev/rules.d/
/etc/modprobe.d/
They seem to play a key part it forcing modules to load, but I need to do more research around the linux kernel and how modules work to fully understand it.
Another question comes to mind though, how does one know if there is already a present GPL driver for a given piece of hardware?
I would never have known unless you told me I was using that driver, I would have kept trying to make the external driver work...
And here I thought I was going to keep my secrets forever. Oh, well, nothing lasts forever.Another question comes to mind though, how does one know if there is already a present GPL driver for a given piece of hardware?
Iowan and bkratz, among others, will be interested in this.
Either lspci -nn, if it's a PCI device or lsusb, if it's USB, will give the device ID. Here is an example:If you google the ID, you can find clues as to what the driver is: http://webcache.googleusercontent.co...&ct=clnk&gl=usCode:03:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection [8086:4227] (rev 02)
In this example, we can see that iwl3945 drives the device. We can check:The real trick is knowing when two conflicting drivers both claim a device. That is just a matter of experience.Code:$ modinfo iwl3945 | grep 4227 alias: pci:v00008086d00004227sv*sd*bc*sc*i* alias: pci:v00008086d00004227sv*sd00001014bc*sc*i*
"Oh, Ubuntu, you are my favorite Linux-based operating system" --Dr. Sheldon Cooper, B.Sc., M.Sc., M.A., Ph.D., Sc.D.
Bookmarks