Hi,
Here are the operations I done to work with a RTL8191 WIFI.
get from
http://sheeva.with-linux.com/sheeva/2.6.36/ the uImage, the modules, the headers, the config file, the Linux sources, and the patches.
- Extract the sources package
- go to this directory : cd linux-2.6.36
- clean it : make mrproper
- create .config file from sheeva config file : cp /xxx/sheeva-2.6.36.config .config
- apply patches
patch -p1 < /xxx/mvsdio-2.patch
patch -p1 < /xxx/mvsdio-1-2.6.30.patch
patch -p1 < /xxx/linux-2.6.36-88e1121.patch
patch -p1 < /xxx/0003-Initial-defconfig.patch
patch -p1 < /xxx/0002-Driver-for-Marvell-Libertas-8688-SDIO-micro-AP-suppo-2.6.35.patch
- update .config file to add new driver
search CONFIG_RTL8192E, and add the line below
CONFIG_R8712U=m
- update ./drivers/staging/Makefile
search CONFIG_RTL8192E, and add the line below
obj-$(CONFIG_R8712U) += rtl8712/
- get the last Linux source (in my case linux-2.6.37-rc2.tar.bz2). Extract it in temporary folder. Copy the directory drivers/staging/rtl8712 from this temporary directory to our current linux sources : linux-2.6.36/drivers/staging
- create all configuration files : make ARCH=arm menuconfig
- compile kernel : make ARCH=arm CROSS_COMPILE=/xxx/gcc/bin/arm-none-linux-gnueabi- uImage
- compile modules : make ARCH=arm CROSS_COMPILE=/xxx/gcc/bin/arm-none-linux-gnueabi- modules
- send ./drivers/staging/rtl8712/r8712u.ko to your SheevaPlug, and put it into /lib/modules/2.6.36/kernel/drivers/staging/rtl8712
At this point, We can try with new kernel without erasing flash. But this step can be passed.
Boot from tftp
- connect to the SheevaPlug by using console from USB port
- reboot it, and stop in Uboot
- set serverip and ipaddr to get uImage from tftp
- get uImage : tftpboot 0x800000 uImage
- boot on it : bootm 0x800000
Update flash
- connect to the SheevaPlug by using console from USB port
- reboot it, and stop in Uboot
- set serverip and ipaddr to get uImage from tftp
- get uImage : tftpboot 0x800000 uImage
- erase flash : nand erase clean 0x00100000 0x00400000
- update flash : nand write.e 0x00800000 0x00100000 0x00400000
- go to /boot directory, and get the sheeva-2.6.36-System.map in it.
- generate new modules dependencies : depmod -eF /boot/sheeva-2.6.36-System.map 2.6.36
- reboot (if you haven't update flash, don't forget to get uImage a new time from tftpboot)
- update /etc/network/interfaces
auto wlan0
iface wlan0 inet dhcp
wireless-essid bond
wireless-key 000000000000000000b0b007
wireless-mode managed
-------------------------------------------------------------------------------------------------
With the interfaces configuration, I haven't problem with RT73 and RTL8192. But it doesn't work with RTL8191 ! The command line haven't problem, but during the boot, the key is not ready. It seems that it starts slower ?
To resolve my problem, I currently add into interfaces a post-up command that check wlan interface. And if it isn't connected, launch iwconfig command after 10 seconds. And now, it's ok. But, if you have a better solution.
-------------------------------------------------------------------------------------------------
For information, the kernel.log file contains this informations for the 3 USB keys:
-------------------------------------------------------------------------------------------------
Nov 16 14:56:08 g-sheeva-ionics-4 kernel: usbcore: registered new interface driver rt73usb
Nov 16 14:56:08 g-sheeva-ionics-4 kernel: device-mapper: ioctl: 4.18.0-ioctl (2010-06-29) initialised:
dm-devel@redhat.comNov 16 14:56:08 g-sheeva-ionics-4 kernel: wlan0: authenticate with 00:18:e7:51:50:07 (try 1)
Nov 16 14:56:08 g-sheeva-ionics-4 kernel: wlan0: authenticated
Nov 16 14:56:08 g-sheeva-ionics-4 kernel: wlan0: associate with 00:18:e7:51:50:07 (try 1)
Nov 16 14:56:08 g-sheeva-ionics-4 kernel: wlan0: RX AssocResp from 00:18:e7:51:50:07 (capab=0x431 status=0 aid=2)
Nov 16 14:56:08 g-sheeva-ionics-4 kernel: wlan0: associated
Nov 16 14:58:58 g-sheeva-ionics-4 kernel: usbcore: registered new interface driver rtl8187
Nov 16 14:58:58 g-sheeva-ionics-4 kernel: device-mapper: ioctl: 4.18.0-ioctl (2010-06-29) initialised:
dm-devel@redhat.comNov 16 14:58:58 g-sheeva-ionics-4 kernel: eth0: link up, 100 Mb/s, full duplex, flow control disabled
Nov 16 14:58:59 g-sheeva-ionics-4 kernel: wlan0: authenticate with 00:18:e7:51:50:07 (try 1)
Nov 16 14:58:59 g-sheeva-ionics-4 kernel: NET: Registered protocol family 10
Nov 16 14:58:59 g-sheeva-ionics-4 kernel: wlan0: authenticated
Nov 16 14:58:59 g-sheeva-ionics-4 kernel: ADDRCONF(NETDEV_UP): wlan0: link is not ready
Nov 16 14:58:59 g-sheeva-ionics-4 kernel: wlan0: associate with 00:18:e7:51:50:07 (try 1)
Nov 16 14:58:59 g-sheeva-ionics-4 kernel: wlan0: associate with 00:18:e7:51:50:07 (try 2)
Nov 16 14:58:59 g-sheeva-ionics-4 kernel: wlan0: RX AssocResp from 00:18:e7:51:50:07 (capab=0x431 status=0 aid=1)
Nov 16 14:58:59 g-sheeva-ionics-4 kernel: wlan0: associated
Nov 16 14:58:59 g-sheeva-ionics-4 kernel: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
Nov 16 15:02:40 g-sheeva-ionics-4 kernel: r8712u: module is from the staging directory, the quality is unknown, you have been warned.
Nov 16 15:02:40 g-sheeva-ionics-4 kernel: r8712u: DriverVersion: v7_0.20100831
Nov 16 15:02:40 g-sheeva-ionics-4 kernel: r8712u: register rtl8712_netdev_ops to netdev_ops
Nov 16 15:02:40 g-sheeva-ionics-4 kernel: r8712u: USB_SPEED_HIGH with 4 endpoints
Nov 16 15:02:40 g-sheeva-ionics-4 kernel: r8712u: Boot from EFUSE: Autoload OK
Nov 16 15:02:40 g-sheeva-ionics-4 kernel: r8712u: CustomerID = 0x0000
Nov 16 15:02:40 g-sheeva-ionics-4 kernel: r8712u: MAC Address from efuse = 00:19:70:1b:f0:07
Nov 16 15:02:40 g-sheeva-ionics-4 kernel: usbcore: registered new interface driver r8712u
Nov 16 15:02:40 g-sheeva-ionics-4 kernel: device-mapper: ioctl: 4.18.0-ioctl (2010-06-29) initialised:
dm-devel@redhat.comNov 16 15:02:40 g-sheeva-ionics-4 kernel: r8712u: 1 RCR=0x153f00e
Nov 16 15:02:40 g-sheeva-ionics-4 kernel: r8712u: 2 RCR=0x553f00e
Nov 16 15:02:40 g-sheeva-ionics-4 kernel: eth0: link up, 100 Mb/s, full duplex, flow control disabled
Nov 16 15:02:40 g-sheeva-ionics-4 kernel: NET: Registered protocol family 10
Nov 16 15:02:40 g-sheeva-ionics-4 kernel: ADDRCONF(NETDEV_UP): wlan0: link is not ready
Bob