{"id":391,"date":"2016-09-26T21:26:13","date_gmt":"2016-09-26T13:26:13","guid":{"rendered":"http:\/\/www.freezhongzi.info\/?p=391"},"modified":"2016-09-26T21:26:13","modified_gmt":"2016-09-26T13:26:13","slug":"%e4%bf%ae%e5%a4%8dwifi%e9%a9%b1%e5%8a%a8","status":"publish","type":"post","link":"https:\/\/bl4kraven.com\/index.php\/2016\/09\/26\/%e4%bf%ae%e5%a4%8dwifi%e9%a9%b1%e5%8a%a8\/","title":{"rendered":"\u4fee\u590dWIFI\u9a71\u52a8"},"content":{"rendered":"<p>\u6700\u8fd1\u6211\u9634\u5dee\u9633\u9519\u5347\u7ea7\u4e86Ubuntu14.04 Linux\u5185\u6838\u52304.4.0\uff0c\u5347\u7ea7\u540e\u53d1\u73b0Broadcom\u7684\u79c1\u6709WIFI\u9a71\u52a8 wl\u6302\u6389\u4e86\u3002\u5207\u6362\u5230\u5f00\u6e90\u9a71\u52a8\u4fe1\u53f7\u53c8\u4e0d\u662f\u5f88\u597d\uff0c\u4e07\u822c\u65e0\u5948\u53ea\u80fd\u8c03\u8bd5\u627e\u539f\u56e0\u4e86\u3002<\/p>\n<p>dmesg\u4e0b\u53d1\u73b0\u4e86\u539f\u56e0\uff0c\u539f\u6765\u662f\u5185\u6838\u66f4\u65b0\u540edkms\u9636\u6bb5\u91cd\u65b0\u7f16\u8bd1bcmwl\u9a71\u52a8\u5931\u8d25\u4e86\uff0c\u627e\u4e0d\u5230rdtscl\uff0c\u4f30\u8ba1API\u6539\u4e86-_-!!!\u3002<\/p>\n<pre><code>Using CFG80211 API\n  CC [M]  \/var\/lib\/dkms\/bcmwl\/6.30.223.248+bdcom\/build\/src\/shared\/linux_osl.o\n\/var\/lib\/dkms\/bcmwl\/6.30.223.248+bdcom\/build\/src\/shared\/linux_osl.c: In function \u2018osl_getcycles\u2019:\n\/var\/lib\/dkms\/bcmwl\/6.30.223.248+bdcom\/build\/src\/shared\/linux_osl.c:938:5: error: implicit declaration of function \u2018rdtscl\u2019 [-Werror=implicit-function-declaration]\n     rdtscl(cycles);\n     ^\n<\/code><\/pre>\n<p>\u7535\u8111\u4e0a\u5b89\u88c5\u7684Broadcom\u7684\u79c1\u6709\u9a71\u52a8\u662fbcmwl\uff0c \u7248\u672c\u662f6.30.223.248\u3002\u9a6c\u4e0a\u4e0a\u7f51\u641c\u7d22bcmwl, \u627e\u5230\u4e86Ubuntu\u7684<a href=\"https:\/\/launchpad.net\/ubuntu\/+source\/bcmwl\">\u4ee3\u7801\u4ed3\u5e93<\/a>\u3002\u6328\u4e2a\u627eBUG\u4fee\u590d\u8bb0\u5f55\uff0c\u5728\u8fd9\u91cc\u627e\u5230\u4e86\u4e00\u70b9<a href=\"http:\/\/launchpadlibrarian.net\/226722811\/bcmwl_6.30.223.248+bdcom-0ubuntu7_6.30.223.248+bdcom-0ubuntu8.diff.gz\">\u7aef\u502a<\/a>\u3002<\/p>\n<pre><code>+diff --git a\/src\/shared\/linux_osl.c b\/src\/shared\/linux_osl.c\n+index d540636..e622c5c 100644\n+--- a\/src\/shared\/linux_osl.c\n++++ b\/src\/shared\/linux_osl.c\n+@@ -932,6 +932,10 @@ osl_getcycles(void)\n+   uint cycles;\n+ \n+ #if defined(__i386__)\n++#ifndef rdtscl\n++#define rdtscl(low) \\\n++ ((low) = (u32)rdtsc())\n++#endif\n+   rdtscl(cycles);\n+ #else\n+   cycles = 0;\n+-- \n+1.9.1\n+\n<\/code><\/pre>\n<p>OK\uff0c\u9a6c\u4e0a\u4fee\u6539\uff0c\u5b89\u88c5bcmwl\u7684\u4ee3\u7801\u5728\/var\/lib\/dkms\/bcmwl\/6.30.223.248+bdcom\/build\u4e0b\uff0csudo make , sudo make install\u540e\uff0cdepmod\u4e00\u4e0b\u5c31\u6ee1\u8840\u590d\u6d3b\u3002<\/p>\n<p>\u4f46\u8fd9\u6709\u4e2a\u7f3a\u70b9\uff0c\u9ed8\u8ba4\u4ed3\u5e93\u91cc\u7684bcmwl\u4ee3\u7801\u8fd8\u662f\u6ca1\u6539\u8fc7\u6765\uff0c\u4e0b\u6b21\u5347\u7ea7\u5185\u6838\uff0cdkms\u673a\u5236\u4e0b\u7f16\u8bd1\u7684\u8fd8\u662f\u6709BUG\u7684\u4ee3\u7801\uff0c\u6bcf\u6b21\u5347\u7ea7\u90fd\u8981\u7f16\u8bd1\u4e00\u4e0bWIFI\u9a71\u52a8\uff0c\u6709\u70b9\u9ebb\u70e6\uff0c\u4e0b\u6b21\u518d\u627e\u65b9\u6cd5\u5427\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6700\u8fd1\u6211\u9634\u5dee\u9633\u9519\u5347\u7ea7\u4e86Ubuntu14.04 Linux\u5185\u6838\u52304.4.0\uff0c\u5347\u7ea7\u540e\u53d1 &hellip; <a href=\"https:\/\/bl4kraven.com\/index.php\/2016\/09\/26\/%e4%bf%ae%e5%a4%8dwifi%e9%a9%b1%e5%8a%a8\/\">\u7ee7\u7eed\u9605\u8bfb <span class=\"meta-nav\">&rarr;<\/span><\/a> <a href=\"https:\/\/bl4kraven.com\/index.php\/2016\/09\/26\/%e4%bf%ae%e5%a4%8dwifi%e9%a9%b1%e5%8a%a8\/\">\u7ee7\u7eed\u9605\u8bfb <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[7],"class_list":["post-391","post","type-post","status-publish","format-standard","hentry","category-program","tag-linux"],"_links":{"self":[{"href":"https:\/\/bl4kraven.com\/index.php\/wp-json\/wp\/v2\/posts\/391","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bl4kraven.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bl4kraven.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bl4kraven.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bl4kraven.com\/index.php\/wp-json\/wp\/v2\/comments?post=391"}],"version-history":[{"count":0,"href":"https:\/\/bl4kraven.com\/index.php\/wp-json\/wp\/v2\/posts\/391\/revisions"}],"wp:attachment":[{"href":"https:\/\/bl4kraven.com\/index.php\/wp-json\/wp\/v2\/media?parent=391"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bl4kraven.com\/index.php\/wp-json\/wp\/v2\/categories?post=391"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bl4kraven.com\/index.php\/wp-json\/wp\/v2\/tags?post=391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}