{"id":95,"date":"2010-12-27T17:35:03","date_gmt":"2010-12-27T15:35:03","guid":{"rendered":"https:\/\/david.gnedt.at\/blog\/"},"modified":"2018-05-24T23:58:51","modified_gmt":"2018-05-24T21:58:51","slug":"wl1251","status":"publish","type":"page","link":"https:\/\/david.gnedt.at\/blog\/wl1251\/","title":{"rendered":"bleeding-edge wl1251 driver for Maemo Fremantle"},"content":{"rendered":"<h4>What is it?<\/h4>\n<p style=\"text-align: justify;\">This page is about wl1251, a bleeding-edge WLAN driver for use with Maemo Fremantle on the Nokia N900.<br \/>\nIt is based on the upstream bleeding-edge wireless-testing tree and incorporates nearly all features found in the stock wl12xx driver used in Maemo Fremantle, adds some bugfixes and also provides some unique features like packet injection.<br \/>\nIn fact it should be a \"super\" driver for the wl1251 chip on Maemo and if accepted upstream (the Linux kernel) it should bring this large featureset also to other distributions, which run on the Nokia N900.<\/p>\n<h4>How do I get it?<\/h4>\n<p style=\"text-align: justify;\">I have overthought a couple of times how I should proceed with the packet-injection patches I have written for Neopwn as contract developer. I have decided that I can't watch the stuck Neopwn project any longer. I know that there were a lot of problems around the Neopwn project, but I can't make any of them undone. I can only try to make it a better situation for all of us.<\/p>\n<p style=\"text-align: justify;\"><strong>Edit:<\/strong> I want to thank all donors. You can now download the bleeding-edge driver directly (see \"Where can I download it?\" below)<\/p>\n<h4>What do I get?<\/h4>\n<p>The downloadable package includes:<\/p>\n<ul>\n<li>patches (source code)\n<ul>\n<li>monitor mode and injection patches<\/li>\n<li>many ports of missing features from wl12xx\/wl1271 to current wl1251 (e.g. bluetooth coexistence, hardware filtering, multicast filtering, ...)<\/li>\n<li>bug fixes<\/li>\n<\/ul>\n<\/li>\n<li>binaries\n<ul>\n<li>updated power kernel (based on power46) -- changes are also included as patch<\/li>\n<li>compiled kernel modules using compat-wireless -- only compatible with the included modified power kernel<\/li>\n<li>bugfixed version of osso-wlan (wlancond)<\/li>\n<\/ul>\n<\/li>\n<li>short installation description<\/li>\n<\/ul>\n<p>What it does <strong>NOT<\/strong> include:<\/p>\n<ul>\n<li>ported application software (like aircrack-ng, grim wepa, set, wireshark, ...)<\/li>\n<li>gui software\/control panel<\/li>\n<li>chroot environment<\/li>\n<\/ul>\n<p>--&gt; Simply said it's <strong>NOT<\/strong> Neopwn, it's only the packet-injectionable driver incl. sources. \ud83d\ude09<\/p>\n<h4>What are the changes between the different drivers?<\/h4>\n<table width=\"100%\">\n<tbody>\n<tr>\n<td><\/td>\n<td style=\"text-align: center;\">stock wl12xx included<br \/>\nin Maemo Fremantle<\/td>\n<td style=\"text-align: center;\">wireless-testing<br \/>\nfrom 2010-12-22<\/td>\n<td style=\"text-align: center;\">this driver<\/td>\n<\/tr>\n<tr>\n<td>Tested<\/td>\n<td style=\"text-align: center;\">heavily<\/td>\n<td style=\"text-align: center;\">little<\/td>\n<td style=\"text-align: center;\">little<\/td>\n<\/tr>\n<tr>\n<td colspan=\"4\"><strong>Features<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Bluetooth coexistence configurable<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<\/tr>\n<tr>\n<td>Power save retry<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<\/tr>\n<tr>\n<td>Ad-hoc mode<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<\/tr>\n<tr>\n<td>H\/W beacon early termination<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<\/tr>\n<tr>\n<td>H\/W connection quality monitoring<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<\/tr>\n<tr>\n<td>H\/W multicast filtering<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<\/tr>\n<tr>\n<td>H\/W ARP filtering<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<\/tr>\n<tr>\n<td>UAPSD (WMM power save)<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<\/tr>\n<tr>\n<td colspan=\"4\"><strong>Monitor mode \/ packet injection<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Monitor mode on channel 6<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<\/tr>\n<tr>\n<td>Monitor mode on all channels<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<\/tr>\n<tr>\n<td>Packet injection<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<\/tr>\n<tr>\n<td colspan=\"4\"><strong>Bugfixes<\/strong><\/td>\n<\/tr>\n<tr>\n<td>TX queue stopping\/waking fix<\/td>\n<td style=\"text-align: center;\">N\/A<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<\/tr>\n<tr>\n<td>4-byte TX buffer alignment fix<\/td>\n<td style=\"text-align: center;\">N\/A<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<\/tr>\n<tr>\n<td>Never-ending scan fix<\/td>\n<td style=\"text-align: center;\">N\/A<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Note: This is only an overview. For more details please take a look at the corresponding source codes.<\/p>\n<h4>I don't know how to ...?<\/h4>\n<p>Please post questions in <a href=\"http:\/\/talk.maemo.org\/showthread.php?p=905982\" target=\"_blank\" rel=\"noopener\">this thread<\/a> at Maemo talk.<\/p>\n<h4>Where can I download it?<\/h4>\n<p><a href=\"https:\/\/david.gnedt.at\/wl1251\/wl1251-maemo-0.2-power49+pre50.tar.gz\">Version 0.2 binary build for kernel-power v50<\/a> (&lt;1 MB)<\/p>\n<p><a href=\"https:\/\/david.gnedt.at\/wl1251\/wl1251-maemo-0.2-source.tar.gz\">Version 0.2 source code<\/a>\u00a0 (484 MB)<\/p>\n<p>You should also take a look at the <a href=\"..\/..\/wl1251\/README\" target=\"_blank\" rel=\"noopener\">README file<\/a>. (outdated but maybe still useful)<\/p>\n<p><a href=\"https:\/\/david.gnedt.at\/wl1251\/wl1251-maemo-0.1.tar.gz\" target=\"_blank\" rel=\"noopener\">Version 0.1 package including binary for kernel-power &lt;= v49<\/a> (141 MB) <img class=\"colorbox-95\"  loading=\"lazy\" decoding=\"async\" style=\"display: none !important;\" src=\"https:\/\/www.paypal.com\/de_DE\/i\/scr\/pixel.gif\" alt=\"\" width=\"1\" height=\"1\" border=\"0\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is it? This page is about wl1251, a bleeding-edge WLAN driver for use with Maemo Fremantle on the Nokia N900. It is based on the upstream bleeding-edge wireless-testing tree and incorporates nearly all features found in the stock wl12xx driver used in Maemo Fremantle, adds some bugfixes and also provides some unique features like [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-95","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/david.gnedt.at\/blog\/wp-json\/wp\/v2\/pages\/95","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/david.gnedt.at\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/david.gnedt.at\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/david.gnedt.at\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/david.gnedt.at\/blog\/wp-json\/wp\/v2\/comments?post=95"}],"version-history":[{"count":49,"href":"https:\/\/david.gnedt.at\/blog\/wp-json\/wp\/v2\/pages\/95\/revisions"}],"predecessor-version":[{"id":179,"href":"https:\/\/david.gnedt.at\/blog\/wp-json\/wp\/v2\/pages\/95\/revisions\/179"}],"wp:attachment":[{"href":"https:\/\/david.gnedt.at\/blog\/wp-json\/wp\/v2\/media?parent=95"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}