bleeding-edge wl1251 driver for Maemo Fremantle ----------------------------------------------- Contents -------- (0) Introduction (1) Installation (2) Using the driver (3) Patches (0) Introduction ---------------- This package contains a bleeding-edge wl1251 driver for use with Maemo Fremantle on the Nokia N900. It incorporates nearly all features found in the stock wl12xx driver used in Maemo Fremantle, adds some bugfixes to wl1251 and also provides some unique features like packet injection. In fact it should be a "super" driver for the wl1251 chip on Maemo and if accepted upstream it should bring this large featureset also to other distributions, which run on the Nokia N900. Nevertheless you shouldn't forget that this driver is not even nearly as much tested as the stock wl12xx driver included in Maemo Fremantle. This driver is based on the bleeding-edge wireless-testing tree and uses compat-wireless to backport it to the 2.6.28 kernel used in Maemo. You can find a little bit more details in the chapter (3) Patches. (1) Installation ---------------- Required packages: rootsh * Copy wl1251-maemo-0.1.tar.gz to your MyDocs folder * Open X Terminal * Unpack .tar.gz ~$ cd MyDocs ~/MyDocs$ tar -xzvf wl1251-maemo-0.1.tar.gz * Gain root access ~/MyDocs$ sudo gainroot * Install customized power kernel # cd wl1251-maemo/binary/kernel-power # dpkg -i kernel-power_2.6.28-maemo46-wl1_armel.deb # dpkg -i kernel-power-headers_2.6.28-maemo46-wl1_armel.deb # dpkg -i kernel-power-modules_2.6.28-maemo46-wl1_armel.deb # dpkg -i kernel-power-flasher_2.6.28-maemo46-wl1_armel.deb Side note: The package kernel-power-bootimg is also included but not needed. * Install customized osso-wlan (optional) This fixes a bug where WLAN gets stuck, when you are connected to an access point and go out-of-range. WARNING: Installing this will break seamless upgrades to new PR versions. Most likely you will have to reinstall normal osso-wlan version before you can do OTA upgrades. You can also skip this step, but keep in mind that the above mentioned bug can occur. If this bug is triggered you have 3 options: manually unset ssid, unload and reload driver or reboot your phone. # cd ../osso-wlan # dpkg -i osso-wlan_3.0.20+0m5-1_armel.deb Side note: The packages osso-wlan-dbg and osso-wlan-doc are also included but not needed. * Disconnect usb cable (if attached) * Power off and boot your phone again (2) Using the driver -------------------- This procedure is required after every reboot of your phone, if you want to use this driver! * Open X Terminal * Gain root access ~$ sudo gainroot * Load the driver # cd MyDocs/wl1251-maemo/binary/compat-wireless # sh load.sh * Unloading the driver (just in case you run into problems and want to switch back to the stock wl12xx driver) # sh unload.sh (3) Patches ----------- This chapter is an introduction to the included source code and therefore only interesting for people, who want to experiment on compiling the driver on their own. The directory patches includes all patches for customizations I have done to various packages and of course the driver itself. The patches are based on the following versions: * kernel-power: 2.6.28-power46 * compat: d70640f0d55cfd3cd15f4b2901eeaf69b51b3fdd (2010-12-22) * compat-wireless: 53f8e22e80b1e7f61efbd9180fd97dd8fb8977aa (2010-12-22) * wireless-testing: 11b8b2ac7bff0e1733a60814c61c486a88fe0961 (2010-12-22) * osso-wlan: 3.0.20+0m5 (PR1.3) The complete sources can be downloaded here: * kernel-power: https://garage.maemo.org/projects/kernel-power/ * compat: http://git.kernel.org/?p=linux/kernel/git/mcgrof/compat.git;a=summary * compat-wireless: http://git.kernel.org/?p=linux/kernel/git/mcgrof/compat-wireless-2.6.git;a=summary * wireless-testing: http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=summary * osso-wlan: http://maemo.org/packages/view/osso-wlan/ Alternatively you can also find the complete and patched sources in the sources directory.