From: Vance V. <va...@va...> - 2011-02-27 15:15:17
|
I finally managed to get my Edimax EW-7811Un (rtl8192cu chipset) working on Overo Earth + Summit running Ubuntu. Thanks to everyone who passed along helpful suggestions. Here is what I did (some steps may be missing, this is from memory and reconstructed from "history"): * Create your root filesystem using rootstock, with this command (some packages may not be necessary, feel free to edit): sudo rootstock --fqdn overo --login ubuntu --password temppwd --imagesize 2G --seed linux-image-omap,gcc,g++,make,build-essential,openssh-server,nano,apt,usbutils,linux-kernel-headers,linux-firmware,wireless-tools,wpasupplicant,zip,linux-source-2.6.35 --components "main universe multiverse" --dist maverick --serial ttyS2 * Install the root fs and kernel as per normal rootstock usage (it's a tarball with a compressed vmlinuz kernel in / that you need to use mkimage to prepare uImage for your SD card's FAT directory). * Boot up your Overo. * Rebuild the kernel (the rtl8192cu driver build requires artifacts that this will produce). You have everything you need to rebuild because of the rootstock packages you seeded with. To get started: * cd to /usr/src and extract linux-source-2.6.35.tar.bz2 (or whatever version you have). * cd to linux-source.2.6.35 * cp /boot/config-2.6.35-22-omap to ./config * make * make modules * make modules_install * make install * Install the new kernel. cd to /boot, use mkimage to convert the compressed vmlinuz-* to uImage, and then copy to your SD card's boot partition (normally mounted at /media/FAT if you prepared your SD card in standard Overo fashion). * Reboot your Overo, sudo reboot now * Download the wifi driver from Edimax website. Unzip and untarball it. * cd to the "driver" directory in the extracted source, and do the following to build and install the 8192cu module for your Edimax adapter: * sudo make -e ARCH=arm * sudo make install * Edit /etc/modules and add a new line with the following, to load the driver at boot: * 8192cu * Configure wlan0 to start at boot, and use wpa_supplicant to connect to your secure wifi network: * Edit /etc/network/interfaces to add these lines: auto wlan0 iface wlan0 inet dhcp wpa-driver wext wpa-conf /etc/wpa_supplicant.conf * * Create /etc/wpa_supplicant.conf and give it these contents (update values in quotes to match your network): network={ ssid="Network Name Here" scan_ssid=1 key_mgmt=WPA-PSK psk="Passphrase Here" } * * chmod 0600 /etc/wpa_supplicant.conf since it contains your wifi passphrase. This will restrict it to root viewing. * sudo reboot now * You should be online! If things didn't work, you can get some debug info here: lsusb (make sure your Edimax device is listed) lsmod (make sure 8192cu is listed as a loaded module) ifconfig (make sure wlan0 is listed as a network interface) sudo wpa_cli -p /var/run/wpa_supplicant status (check status of wpa supplicant) Apologies for the fragmentary nature of this guide, but it's been a fragmentary process :) I hope some of these steps help someone else. Regards, Vance On Wed, 23 Feb 2011 18:41:57 -0800, Vance Vagell wrote: Hi folks, I'm running Ubuntu (Maverick) on an Overo Earth+Summit. I've been trying, without success, to build a kernel module for a USB wifi adapter (Edimax EW-7811Un) I'd like to use. Is anyone using EW-7811Un (or another RTL8192-based adapter) on their Overo? I'd love to hear how you got it to work! In lieu of that... I created the kernel and root file system using rootstock, which automates the process. However, it doesn't seem to include the kernel source, config, or build output (admittedly, most embedded users probably don't want these things). What this means is I can't build kernel modules, like the wifi driver I need. I've found ways to get the kernel source or headers installed (certain rootstock options, and even downloading them pre-packaged from some embedded development sites), but it seems I need to actually generate a kernel config (yikes), and build the kernel before I can build modules. How have other users built kernel modules for their Overo systems? In particular: * How did you build your kernel and root FS? Did you use a cross-compiler? Bitbake seems limited to recipes that won't let me do things like build a root FS that includes kernel source, headers, etc. * Is there an easier way for me to do what I'm trying to do? Someone off-thread suggested an NDIS wrapper, but that seems wasteful when there's a perfectly good Linux driver I just need to compile. * Is there some way I can load a comprehensive Ubuntu (or other modern Linux distrib) onto Overo, short of building it from scratch? I'd like an environment I can build kernel modules in, without having to build the kernel. I tried to compile the kernel, but got mired in the (hundreds of?) config questions. I didn't have confidence of what to answer for some obscurer options. Thanks, Vance |