Pi + Cisco AE1000 USB wireless


10 posts
by DBarriault » Wed Jul 25, 2012 9:46 am
Hi there,
Due to a very limited amount of USB wireless dongles where I live i'm forced to try and get the Cisco AE1000 USB wifi working on my son's PI. Has anyone been able to get this to work? This is the information I've found about the device. I've tried to download from the site but the bz2 file will not open for me so that's as far as I can get. Any help would be very appreciated. I'm not super technical with Linux.

From Wikidevi.com
Linksys AE1000
OEM Arcadyan
Interface: USB
ID: 13b1:002f
FCC ID: Q87-WUSB600NV2, Q87-AE1000
Chip 1: Ralink RT3572
Linux driver
rt2800usb (experimental, in compat-wireless) or rt3572sta
(see also passys)
Windows driver
see Ralink's website
Antenna connector: none
abgn, 2x2:2
OUI: 00:25:9C, 68:7F:74
Posts: 5
Joined: Wed Jul 25, 2012 9:39 am
by rpifreeze » Thu Jul 26, 2012 10:16 pm
This file is not .bz as its file extension would tell, but simple .tar archieve.
Rename it to xxxx.tar and unpack with tar xvf xxxx.tar
However, I'm testing it on 3.2.0-3-rpi and it doesnt work.
If you succees, let us know here.
usb and broadcom issues will never be solved...Too much time passed, too much to be done...
Posts: 63
Joined: Tue Jul 24, 2012 10:03 pm
by feedmepi » Fri Jul 27, 2012 9:06 pm
I tried to follow the instructions here:http://blog.up-link.ro/ubuntu-how-to-build-and-install-linksys-ae1000-wireless-n-linux-driver-on-ubuntu-11-10/

but the apt-get gave me some message about not finding the packages.

I'm not near the pi right now so i can't retrieve the specifics. It seems so easy from the directions. :-)
Posts: 6
Joined: Fri Jul 27, 2012 5:56 pm
by feedmepi » Mon Jul 30, 2012 10:35 pm
Ok so I got further, but I'm not sure I'm doing anything correctly because in the end it doesn't work.
Reference link:
http://forums.fedoraforum.org/showthread.php?p=1353558

The link above was my starting point. Even I could follow along.
(Summary of above link - download driver source, change some configuration and source files, make, sudo make install, get rid of conflicting drivers via blacklist, sudo modprobe, then setup wireless interface manually or through network manager - I haven't been able to get past modprobe)

I followed the forum instructions for the most part (some things were already the default of the newest driver download - 2011_0427_RT3572_Linux_STA_v2.5.0.0.DPO).
1. Then I attempted a "make"
Unfortunately, "make" was failing because it couldn't find /lib/modules/3.1.9+/build.
So I searched for build failures and found that I could do
"apt-cache search linux-headers"
(link to post on how to install linux headers:
http://unix.stackexchange.com/questions/19898/command-to-install-linux-headers-fails)

I then picked 3.2.0-3-pi from the list of headers above and so I did the following command as a setup to building the driver:
2. sudo apt-get install linux-headers-3.2.0-3-rpi

3. attempted "make" again, but the make was still pointing to the 3.1.9+ directory so
I figured that since the makefile was using uname -r to get the appropriate headers file, I had to change where they put uname -r and create my own custom location.

4. I changed the main Makefile located in the main directory of the tar expansion. In my case it was:
~/ralinkdownload/2011_0427_RT3572_Linux_STA_v2.5.0.0.DPO/Makefile
I changed the old code:
Code: Select all
ifeq ($(PLATFORM),PC)
# Linux 2.6
LINUX_SRC = /lib/modules/$(shell uname -r)/build
# Linux 2.4 Change to your local setting
#LINUX_SRC = /usr/src/linux-2.4
LINUX_SRC_MODULE = /lib/modules/$(shell uname -r)/kernel/drivers/net/wireless/
CROSS_COMPILE =
endif

to the new code:
Code: Select all
ifeq ($(PLATFORM),PC)
# Linux 2.6
#LINUX_SRC = /lib/modules/$(shell uname -r)/build
# RPi specific? maybe raspbian specific?
LINUX_SRC = /lib/modules/3.2.0-3-rpi/build
# Linux 2.4 Change to your local setting
#LINUX_SRC = /usr/src/linux-2.4
#LINUX_SRC_MODULE = /lib/modules/$(shell uname -r)/kernel/drivers/net/wireless/
# RPi specific? maybe raspbian specific?
LINUX_SRC_MODULE = /lib/modules/3.2.0-3-rpi/kernel/drivers/net/wireless/
CROSS_COMPILE =
endif


5. and tried to "make" again...and it worked! (at least I got a successful *.ko file)

Well since I don't have a powered usb hub the following area gets dicey because I can't tell if things are happening due to my hardware or the *.ko isn't right.

6. Then did:
Code: Select all
sudo make install

which put the some files in the /lib/modules/3.2.0-3-rpi/kernel/drivers/net/wireless/ directory. Which based on what I get when uname -r is run I figured wasn't the right location.
7. So I just tried to copy the module to the correct location
Code: Select all
sudo cp /lib/modules/3.2.0-3-rpi/kernel/drivers/net/wireless/rt3572sta.ko /lib/modules/3.1.9+/kernel/drivers/net/wireless/.

(Question here for me is: Does the /sbin/depmod -a 3.1.9+ need to be run again after the copy? I just realized I didn't do that.)

8. Then I did as suggested in the forum link (step 6) and created a file, /etc/modprobe.d/rt3572sta.conf , which had the following lines:
Code: Select all
alias ra0 rt3572sta
blacklist rt2800usb
blacklist rt2870sta
blacklist rt2860sta
blacklist rt2x00usb
blacklist rt2x00lib


9. I then ran:
Code: Select all
sudo modprobe ra0

and I get an error that basically says exec format bad or something like that. Unfortunately I haven't written down exactly what was on the screen yet.

10. I decided maybe I needed to change the Makefile some more to put in some arm flags for the compiler - maybe the compile created an executable for the default PC target even though I was using the Raspberry Pi to compile. So I have inserted the changed the following in the config.mk file: (old code first)
Code: Select all
ifeq ($(PLATFORM),PC)
    ifneq (,$(findstring 2.4,$(LINUX_SRC)))
   # Linux 2.4
   CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -I$(RT28xx_DIR)/include -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS -include $(LINUX_SRC)/include/linux/modversions.h $(WFLAGS)
   export CFLAGS
    else
   # Linux 2.6
   EXTRA_CFLAGS := $(WFLAGS) -I$(RT28xx_DIR)/include
    endif
endif

new code next
Code: Select all
ifeq ($(PLATFORM),PC)
    ifneq (,$(findstring 2.4,$(LINUX_SRC)))
   # Linux 2.4
   CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -I$(RT28xx_DIR)/include -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS -include $(LINUX_SRC)/include/linux/modversions.h $(WFLAGS)
   export CFLAGS
    else
   # Linux 2.6
   EXTRA_CFLAGS := $(WFLAGS) -march = armv6 -mfpu=vfp -mfloat-abi=hard -I$(RT28xx_DIR)/include
    endif
endif


11. By this point you can easily tell I have no real grasp of what I need to do and it still gives me the exec format error when I try to do the sudo modprobe ra0 thing. Another issue is when I plug in the ae1000 (into my unpowered hub - powered one on the way) the pi is less stable and the keyboard doesn't always respond. So I'm not sure I can do much until I get my powered usb hub and test it out. I figured though that the modprobe should still not give me any errors other than maybe that the device is unconnected.

That's it so far for me.
I feel I'm far enough along that someone else could help me out. I'm still trying to figure things out, but my lack of understanding of the compile process for raspbian and the make process (in general) allow me to be dangerous without being completely useful for this effort.

Some questions/notes from me about this process:
Does it matter that the default settings for the make process target a PC environment?
Do I have to modify the default make process to change the architecture targeted or will the default compile process handle that because I'm compiling on the raspbian.
This was the first project for me after getting setup with raspbian and running apt-get update, apt-get upgrade.

Thanks for any help!
Posts: 6
Joined: Fri Jul 27, 2012 5:56 pm
by feedmepi » Thu Aug 02, 2012 2:35 am
Ok good news and bad news:
good news is I got the wifi recognized and got an IP from my router!
bad news is I can't test the connection because I'm using the GUI wicd to configure the wifi and after connecting my pi hangs....I have not yet done a manual configuration of the wifi. I'll update if I get to that stage.

After rebooting after doing the copy step in my post above I get a message during the boot:
rt3572sta: disagrees about version of symbol module_layout

(which could mean that the driver was compiled for a different version of the kernel - which in my case was true because I used the 3.2.0-3-rpi headers and am running on the 3.1.9+ kernel)
So I just went to another post in the Raspbian forum to download a 3.2.23+ kernel and on reboot the driver loaded up!

So in summary:
1) The build process for the driver for ae1000 can work using 3.2.0-3-rpi headers at a minimum.
2) The driver, if compiled against 3.2.0-3-rpi needs a 3.2 kernel installed to get loaded properly
3) We need a more stable 3.2 kernel to run against (or I need to try to repeat the process with a clean Raspbian build and record all my steps) to get to a fully functional wifi OR We need to find 3.1.9+ headers to build against or something compatible.

I feel that we are really close to having a working system for the Raspberry Pi.

Please let me know if anyone else has been able to piece it together. I'll try to repost a clean procedure if/when I get a working setup.

Keep up the learning! :D
Posts: 6
Joined: Fri Jul 27, 2012 5:56 pm
by Iggy82 » Wed Aug 08, 2012 9:39 pm
Got mine working except it's a Belkin unit using same chipset. Thank you so much for your instructions, check out exactly what I did to get it work on my blog:

http://iggy82.blogspot.co.uk/2012/08/wireless-n-raspberry-pi-belkin-f6d4050.html
User avatar
Posts: 10
Joined: Sat Jun 02, 2012 12:55 pm
Location: Cambridge, UK
by DBarriault » Thu Aug 09, 2012 12:37 pm
Thanks guys, I will give this a try tonight. Sorry I haven't tried sooner I was expecting to get an email whenever someone would post on here.. guess not. Will keep you posted as well.

Thanks again feedmepi!
Posts: 5
Joined: Wed Jul 25, 2012 9:39 am
by DBarriault » Thu Aug 09, 2012 12:37 pm
And Iggy82! ty as well
Posts: 5
Joined: Wed Jul 25, 2012 9:39 am
by DBarriault » Fri Aug 10, 2012 2:06 am
Iggy82 wrote:Got mine working except it's a Belkin unit using same chipset. Thank you so much for your instructions, check out exactly what I did to get it work on my blog:

http://iggy82.blogspot.co.uk/2012/08/wireless-n-raspberry-pi-belkin-f6d4050.html


Tried your instructions and as soon as I plug in the Cisco AE1000 usb wifi the pi pretty much goes un responsive.
Posts: 5
Joined: Wed Jul 25, 2012 9:39 am
by feedmepi » Sun Aug 19, 2012 7:05 pm
Hi again,

Just a quick update I found a forum post that is more directly applicable to the default Raspbian image. "How to setup a Ralink RT5370" is the topic heading and I put in ae1000 in my post so people can search for ae1000 and find it in that topic. (many fewer steps and much clearer instructions than mine)

I have so far had no luck maintaining a connection because my powered usb hub causes the pi to go crazy at some point and stop working. I've gotten wifi up and was planning on posting when it was stable - but I haven't gotten to that point - the stability is suspect.

The basic steps are:
1) find linux headers for the version of kernel you plan on using (try to match exactly if possible - do not do what I did and compile using a later version of the kernel headers than the kernel we have)
2) download the RT3572 source files and do some edits to make sure your device is recognized (one does NOT need to do the edits I did in the config file for the compile, the other edits are necessary like the model number one - the compiler settings should be done automagically by the compiler settings on a default Raspbian - I think)
3) do a make and sudo make install
4) use a manual method to setup the wireless link or use wicd or try Network Manager.

I was truly hoping to post using the ae1000 and the RPi, but I think I'm going to have to wait until more patches/updates come out to make USB use more robust or at least more robust with my powered hub.

It sounds like others have found my info useful, hopefully I didn't lead you into a brick wall of pain.
I was working for days trying to see if any combination of settings was good, but I think my hub issue makes it very difficult for me to test since I'm using a keyboard, mouse and wireless...the RPi only has 2 USB ports. I haven't tried SSH because ethernet also counts against the number of devices I can use. I've only successfully had ethernet and keyboard and mouse connected - and stable.

Good luck! I'll be waiting for more updates!
Posts: 6
Joined: Fri Jul 27, 2012 5:56 pm