{"id":3781,"date":"2013-02-03T21:02:43","date_gmt":"2013-02-03T13:02:43","guid":{"rendered":"http:\/\/blog.dword1511.info\/?p=3781"},"modified":"2013-02-03T21:02:43","modified_gmt":"2013-02-03T13:02:43","slug":"%e6%8b%86%e8%a7%a3-hp-%e5%ae%9a%e5%88%b6%e7%89%88-tenda-w150m-%e5%b9%b6%e4%b8%ba%e5%85%b6%e4%bf%ae%e6%94%b9-openwrt","status":"publish","type":"post","link":"http:\/\/blog.dword1511.info\/?p=3781","title":{"rendered":"\u62c6\u89e3 HP \u5b9a\u5236\u7248 Tenda W150M \u5e76\u4e3a\u5176\u4fee\u6539 OpenWRT"},"content":{"rendered":"<p>\u8fd9\u53f0\u8def\u7531\u5668\u4e5f\u7b97\u662f\u4fbf\u5b9c\u8d27\u4e86\uff0c\u6027\u80fd\u5c1a\u53ef\uff0c320MHz \u7684 MIPS \u5904\u7406\u5668\uff0c16MB \u7684 RAM \u7565\u5fae\u6709\u70b9\u7d27\u5f20\uff0c\u5173\u952e\u662f NOR \u95ea\u5b58\u662f 4MB \u800c\u4e0d\u662f\u5927\u591a\u6570 W150M \u914d\u5907\u7684 2MB \uff0c\u8fd9\u6837\u5c31\u7ed9 OpenWRT \u7684\u79fb\u690d\u63d0\u4f9b\u4e86\u53ef\u80fd\u3002<\/p>\n<p>Tenda \u7684\u5b98\u65b9\u56fa\u4ef6\u4e00\u76f4\u4ee5\u6765\u5c31\u6709 bug \uff0cAP \u4e0b\u7684 station \u4e92\u8bbf\u56f0\u96be\u6216\u8005\u5e72\u8106\u5c31 ping \u4e0d\u901a\uff0cNAT \u7684 bug \u4e5f\u4e0d\u5c11\uff0c\u5f88\u591a\u7279\u6b8a\u534f\u8bae\u90fd\u65e0\u6cd5\u4f7f\u7528\u3002\u4e8e\u662f\u624d\u840c\u751f\u4e86\u628a OpenWRT \u585e\u8fdb\u53bb\u7684\u60f3\u6cd5\u3002<\/p>\n<p><!--more--><\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120300.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3782\" alt=\"P1120300\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120300-300x400.jpg\" width=\"300\" height=\"400\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120300-300x400.jpg 300w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120300-768x1024.jpg 768w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120300.jpg 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>W150M \u5916\u5f62\u6bd4\u8f83\u5c0f\u5de7\uff0c\u53ef\u4ee5\u6302\u5728\u4e00\u4e2a\u4e0d\u663e\u773c\u7684\u5730\u65b9\u3002<\/p>\n<p>\u6211\u81ea\u5df1\u5728\u5916\u58f3\u65c1\u8fb9\u5f00\u4e86\u4e00\u4e2a\u5c0f\u53e3\u5b50\uff0c\u628a TTL UART \u5f15\u51fa\u6765\u4e86\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120302.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3783\" alt=\"P1120302\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120302-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120302-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120302-1024x768.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u6b63\u9762\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120305.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3784\" alt=\"P1120305\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120305-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120305-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120305-1024x768.jpg 1024w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120305.jpg 2048w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u5e95\u90e8\u7684 RJ-45 \u7f51\u7edc\u63a5\u53e3\u548c 5V 1.2A \u7684 MiniUSB \u4f9b\u7535\u63a5\u53e3\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120306.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3785\" alt=\"P1120306\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120306-400x225.jpg\" width=\"400\" height=\"225\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120306-400x225.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120306-1024x576.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u4fa7\u9762\u7684 Mode \u952e\u548c WPS \u952e\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120307.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3786\" alt=\"P1120307\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120307-400x225.jpg\" width=\"400\" height=\"225\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120307-400x225.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120307-1024x576.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u9876\u90e8\u7684\u6307\u793a\u706f\uff0c\u4e2d\u95f4\u6709\u4e24\u4e2a\u662f\u88c5\u9970\u3002\u6700\u53f3\u4fa7\u7684 LAN\/WAN \u662f\u7531 SoC \u5185\u90e8\u7684\u65e0\u7ebf\u7f51\u5361\u63a7\u5236\u7684\uff0c\u5176\u4f59\u4e3a SoC \u7684 GPIO \u63a7\u5236\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120310.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3787\" alt=\"P1120310\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120310-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120310-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120310-1024x768.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u80cc\u9762\uff0c\u94ed\u724c\u3001\u5e8f\u5217\u53f7\u8d34\u7eb8\u3001\u6563\u70ed\u5b54\u3001\u6302\u94a9\u548c\u4e24\u9897\u87ba\u4e1d\u3002\u672c\u6765\u56db\u4e2a\u89d2\u4e0a\u90fd\u6709\u811a\u8d34\uff0c\u540e\u6765\u5f04\u6389\u4e86\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120312.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3788\" alt=\"P1120312\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120312-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120312-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120312-1024x768.jpg 1024w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120312.jpg 1600w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u7531\u4e8e LAN\/WAN LED \u957f\u671f\u5904\u4e8e\u70b9\u4eae\u72b6\u6001\uff0c\u548c\u5176\u4ed6 LED \u4e00\u6bd4 LAN\/WAN \u6307\u793a\u706f\u5df2\u7ecf\u6709\u660e\u663e\u7684\u5149\u8870\u4e86\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120316.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3789\" alt=\"P1120316\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120316-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120316-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120316-1024x768.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u5378\u4e0b\u4e24\u9897\u87ba\u4e1d\u5f00\u58f3\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120318.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3790\" alt=\"P1120318\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120318-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120318-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120318-1024x768.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u5916\u58f3\u5185\u90e8\u7684 LED \u6307\u793a\u706f\u706f\u6761\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120321.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3791\" alt=\"P1120321\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120321-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120321-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120321-1024x768.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u4e3b\u677f\u6b63\u9762\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120322.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3792\" alt=\"P1120322\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120322-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120322-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120322-1024x768.jpg 1024w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120322.jpg 2048w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u7535\u6e90\u8f93\u5165\u5904\u7684 MLCC \u3001\u7a33\u538b\u7ba1\u548c\u78c1\u73e0\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120323.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3793\" alt=\"P1120323\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120323-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120323-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120323-1024x768.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u7535\u6e90\u8f93\u5165\u9644\u8fd1\u7684 8117-ADJ \u578b\u53ef\u8c03\u7535\u538b 1A \u8f93\u51fa LDO \uff0c\u5e94\u8be5\u662f\u8d1f\u8d23\u63d0\u4f9b\u67d0\u4e9b\u9ad8\u8d28\u91cf\u6a21\u62df\u7535\u6e90\u7684\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120324.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3794\" alt=\"P1120324\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120324-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120324-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120324-1024x768.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u975e\u5e38\u5c0f\u5de7\u7684\u8d34\u7247\u5f0f\u7f51\u7ebf\u53d8\u538b\u5668\uff0c\u548c\u67d0\u4e9b USB \u4ee5\u592a\u7f51\u5361\u7684\u7c7b\u4f3c\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120325.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3795\" alt=\"P1120325\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120325-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120325-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120325-1024x768.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>PAM2308 \u53cc\u8def\u540c\u6b65\u6574\u6d41 DC-DC \u964d\u538b\u82af\u7247\uff0c\u5de5\u4f5c\u9891\u7387 1.5MHz \uff0c\u6548\u7387\u53ef\u9ad8\u8fbe 96% \u3002\u540e\u9762\u7684\u201c AA \u201d\u8868\u793a\u4e24\u8def\u7535\u538b\u5747\u53ef\u8c03\u3002\u4f30\u8ba1\u8fd9\u5757\u82af\u7247\u8d1f\u8d23\u7ed9 SoC \u63d0\u4f9b 3.3V \u548c 1.2V \u7535\u6e90\u3002\u65c1\u8fb9\u8fd8\u6709\u4e24\u4e2a\u529f\u7387\u7535\u611f\u548c\u51e0\u4e2a\u8f83\u5927\u7684 MLCC \u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120326.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3796\" alt=\"P1120326\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120326-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120326-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120326-1024x768.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>USB \u90e8\u5206\u7684\u4e00\u4e9b\u5143\u4ef6\uff08\u5305\u62ec\u4e24\u4e2a\u7535\u963b\u3001\u4e00\u4e2a\u9632\u6d6a\u6d8c\u82af\u7247\u548c USB \u63d2\u5ea7\uff09\u90fd\u6ca1\u6709\u710a\u63a5\uff0c\u8fd9\u662f W150M \u548c 3G150M \u7684\u4e3b\u8981\u533a\u522b\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120329.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3797\" alt=\"P1120329\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120329-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120329-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120329-1024x768.jpg 1024w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120329.jpg 1600w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>2M \u00d7 4bank \u00d7 16bit \u7684 LVTTL SDRAM \uff0c\u5bb9\u91cf 16MB \uff0c\u5de5\u4f5c\u9891\u7387 166MHz \u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120331.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3798\" alt=\"P1120331\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120331-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120331-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120331-1024x768.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u7a7a\u7684 SPI NOR \u95ea\u5b58\u710a\u4f4d\u3002W150M \/ W300M \/ W150M+ \/ 3G150M \/ 3G300M \u5747\u4f7f\u7528\u8fd9\u5757 PCB \uff0c\u800c\u4e14\u5b83\u4eec\u5747\u6709\u4f7f\u7528\u5e76\u884c\u95ea\u5b58\u7684\u7248\u672c\u548c\u4f7f\u7528\u4e32\u884c\u95ea\u5b58\u7684\u7248\u672c\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120332.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3799\" alt=\"P1120332\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120332-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120332-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120332-1024x768.jpg 1024w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120332.jpg 1600w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u673a\u5668\u7684\u6838\u5fc3\u662f Ralink \u7684 RT3050F APSoC \uff0c\u4e00\u53ea 40.000MHz \u7684\u6709\u6e90\u6676\u632f\u4e3a\u5b83\u63d0\u4f9b\u65f6\u949f\u4fe1\u53f7\u3002\u5b83\u548c RT3052F \u7684\u4e3b\u8981\u533a\u522b\u662f RT3052F \u652f\u6301 2T2R MIMO \u3002<\/p>\n<p>RT3050F \u7684\u4e3b\u8981\u7279\u5f81\u6709\uff1a<\/p>\n<ul>\n<li><span style=\"line-height: 13px;\">320MHz \u7684 MIPS24KEc \u5904\u7406\u5668\uff0c32K \u7684\u6307\u4ee4\u7f13\u5b58\u548c 16K \u7684\u6570\u636e\u7f13\u5b58<\/span><\/li>\n<li>802.11 b\/g\/n 1T1R \u65e0\u7ebf\u652f\u6301\uff0c\u652f\u6301 20MHz \/ 40MHz \u7684 HT \uff0c\u6700\u591a\u8fde\u63a5 256 \u4e2a station \uff0c\u53ef\u540c\u65f6\u63d0\u4f9b 8 \u4e2a BSSID<\/li>\n<li>WEP \/ WPA \/ WPA2 \u786c\u4ef6\u5f15\u64ce\uff0c\u786c\u4ef6\u5e27\u5904\u7406\uff0c\u786c\u4ef6 NAT \/ QoS \/ \u6821\u9a8c\u548c\u5904\u7406<\/li>\n<li>\u6700\u591a\u652f\u6301 32MB \u7684 16 \u4f4d SDR SDRAM<\/li>\n<li>\u6700\u5927 16MB \u7684 8 \/ 16 \u4f4d\u5e76\u884c NOR \u95ea\u5b58\uff0c\u6700\u5927 64MB \u7684 NAND \u95ea\u5b58\u652f\u6301\uff0c\u53ef\u4ece NOR \/ NAND \/ ROM Code \u5f15\u5bfc<\/li>\n<li>\u652f\u6301 OTG \u7684 USB2.0 \u7aef\u53e3<\/li>\n<li>\u5185\u5efa 7 \u53e3\u4ee5\u592a\u7f51\u4ea4\u6362\u673a\uff0c5 \u4e2a\u7aef\u53e3\u5e26 10\/100Mbps PHY \u4f9b\u5916\u90e8\u4f7f\u7528<\/li>\n<li>GPIO \/ I<sup>2<\/sup>C \/ SPI \/UART \/ MDIO \/ JTAG \/ PCM \/ I<sup>2<\/sup>S \u63a5\u53e3<\/li>\n<li>3.3V \/ 1.2V \u4f9b\u7535\uff0c\u6700\u5927\u529f\u8017 1.9W<\/li>\n<\/ul>\n<p>RT305x \u7cfb\u5217\u56e0\u4e3a\u4ef7\u683c\u4fbf\u5b9c\u3001\u9ad8\u5ea6\u96c6\u6210\u3001\u8bbe\u8ba1\u7b80\u5355\u3001\u529f\u80fd\u4e30\u5bcc\u3001\u6027\u80fd\u4e0d\u9519\uff08\u60f3\u60f3\u770b\uff0c\u4ee5\u524d\u5783\u573e\u535a\u901a\u7684\u8def\u7531\u5668\u4e0d\u90fd\u662f 200MHz \u7684 MIPS \uff1f\uff09\uff0c\u5728\u8fd1\u51e0\u5e74\u7684\u65e0\u7ebf\u8def\u7531\u5668\u91cc\u9762\u51fa\u955c\u7387\u5f88\u9ad8\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120333.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3800\" alt=\"P1120333\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120333-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120333-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120333-1024x768.jpg 1024w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120333.jpg 1600w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u5c04\u9891\u90e8\u5206\u3002\u4e3b\u8981\u6709\u6ee4\u6ce2\u5668\u3001PA \u548c\u5929\u7ebf\u5f00\u5173\u3002PCB \u4e0a\u539f\u672c\u8bbe\u8ba1\u6709\u5c4f\u853d\u7f69\uff0c\u4f46\u662f\u5236\u9020\u7684\u65f6\u5019\u7701\u53bb\u4e86\u3002\u53ef\u4ee5\u770b\u5230\u5de6\u8fb9\u4e00\u8def\u662f\u7a7a\u7684\uff0c\u90a3\u662f\u4e3a RT3052F \u7684 2T2R MIMO \u7cfb\u7edf\u9884\u7559\u7684\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120337.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3801\" alt=\"P1120337\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120337-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120337-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120337-1024x768.jpg 1024w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120337.jpg 2048w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>2.4GHz \u5c04\u9891\u529f\u653e\uff0c\u578b\u53f7\u4e0d\u660e\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120335.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3802\" alt=\"P1120335\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120335-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120335-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120335-1024x768.jpg 1024w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120335.jpg 1600w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u5929\u7ebf\u590d\u7528\u5f00\u5173\uff0c\u540c\u6837\u578b\u53f7\u4e0d\u660e\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120338.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3803\" alt=\"P1120338\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120338-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120338-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120338-1024x768.jpg 1024w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120338.jpg 1600w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u8d34\u7247\u9676\u74f7\u5929\u7ebf\uff0c\u867d\u7136\u4f53\u79ef\u5c0f\u5f97\u60ca\u4eba\u4f46\u662f\u5176\u5b9e\u4fe1\u53f7\u8fd8\u53ef\u4ee5\u3002\u6574\u673a\u53ea\u6709 20dBm \/ 100mW \u7684\u53d1\u5c04\u529f\u7387\uff0c\u4f46\u662f\u5b9e\u9645\u4e0a\u7a7f\u4e24\u5835\u5899\u95ee\u9898\u90fd\u4e0d\u5927\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120339.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3804\" alt=\"P1120339\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120339-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120339-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120339-1024x768.jpg 1024w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120339.jpg 1600w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u51fa\u73b0\u5149\u8870\u7684 LED \u6027\u72b6\u90fd\u53d1\u751f\u4e86\u660e\u663e\u7684\u53d8\u5316\u3002\u8fd9 7 \u4e2a LED \u7684\u5916\u89c2\u539f\u672c\u662f\u4e00\u6837\u7684\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120340.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3805\" alt=\"P1120340\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120340-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120340-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120340-1024x768.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u7535\u8def\u677f\u80cc\u9762\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120341.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3806\" alt=\"P1120341\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120341-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120341-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120341-1024x768.jpg 1024w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120341.jpg 1600w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>4MB \u7684 29 \u7cfb\u5217\u5e76\u884c\u63a5\u53e3 NOR \u95ea\u5b58\uff0c\u7528\u4e8e\u5b58\u50a8\u56fa\u4ef6\u3002\u5927\u90e8\u5206 W150M \u4ec5\u914d\u5907\u6709 2MB \u95ea\u5b58\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120342.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3807\" alt=\"P1120342\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120342-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120342-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120342-1024x768.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>SoC \u80cc\u9762\u7684\u4e24\u4e2a\u6d4b\u8bd5\u70b9\u662f TTL UART \u7684 TX \u548c RX \u3002TP1 \u63a5 RX \uff0cTP2 \u63a5 TX \uff0c\u53e6\u5916\u8fd8\u9700\u8981\u627e\u4e2a\u5730\u65b9\u5f15\u4e2a\u5730\u7ebf\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120344.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3808\" alt=\"P1120344\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120344-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120344-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120344-1024x768.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u672a\u710a\u63a5\u7684 USB \u63d2\u5ea7\u80cc\u9762\uff0c\u7701\u6389\u4e86\u51e0\u4e2a\u7535\u5bb9\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120347.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3809\" alt=\"P1120347\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120347-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120347-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120347-1024x768.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u5e95\u58f3\u5185\u90e8\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120350.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3810\" alt=\"P1120350\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120350-400x300.jpg\" width=\"400\" height=\"300\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120350-400x300.jpg 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/P1120350-1024x768.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u5e95\u58f3\u5b9e\u9645\u4e0a\u5206\u4e3a\u4e09\u4e2a\u90e8\u5206\u3002<\/p>\n<p>\u56fa\u4ef6\u65b9\u9762\uff0c\u8fd9\u53f0\u673a\u5668\u7684 bootloader \u662f Ralink \u4fee\u6539\u8fc7\u7684 U-Boot \uff0c\u529f\u80fd\u6bd4\u8f83\u7b80\u5355\uff0c\u4f46\u662f\u975e\u5e38\u53ef\u9760\uff0c\u4e0d\u50cf\u5f53\u5e74 Marvell \u7684 U-Boot \u8ba9\u6211\u7684 DIR-615 A1 \u53d8\u7816\u4e86\u3002\u800c\u5b98\u65b9\u56fa\u4ef6\u5219\u662f Ralink \u5236\u4f5c\u7684\u57fa\u4e8e Linux \u7684\u7cfb\u7edf\uff0c\u4f3c\u4e4e AP \u7684\u529f\u80fd\u90fd\u6574\u5408\u8fdb\u5185\u6838\u4e86\uff0c\u5e76\u4e14\u6781\u5ea6\u7cbe\u7b80\uff0c\u6574\u4e2a\u7cfb\u7edf\u770b\u8d77\u6765\u602a\u602a\u7684\u3002<\/p>\n<p>W150M \/ W300M \/ W150M+ \u7684\u5b98\u65b9\u56fa\u4ef6\u662f\u5b8c\u5168\u76f8\u540c\u7684\uff0c3G150M \/ 3G300M \u7684\u5b98\u65b9\u56fa\u4ef6\u4e5f\u662f\u5b8c\u5168\u76f8\u540c\u7684\u3002<\/p>\n<p><a href=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/minicom.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3811\" alt=\"minicom\" src=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/minicom-400x192.png\" width=\"400\" height=\"192\" srcset=\"http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/minicom-400x192.png 400w, http:\/\/blog.dword1511.info\/wp-uploads\/2013\/02\/minicom.png 583w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u4e3a\u4e86\u83b7\u5f97\u673a\u5668\u7684\u7ec8\u7aef\uff0c\u67e5\u770b\u8f93\u51fa\u5e76\u8f93\u5165\u547d\u4ee4\uff0c\u9664\u4e86\u710a\u597d UART \u8fde\u63a5\u7ebf\uff0c\u63a5\u597d USB to TTL UART \u8f6c\u63a5\u5668\u4ee5\u5916\uff0c\u8fd8\u9700\u8981\u628a minicom \u7684\u4e32\u53e3\u6a21\u5f0f\u8bbe\u7f6e\u6210 57600bps 8N1 \u3002<\/p>\n<p>Ralink \u56fa\u4ef6\u5f15\u5bfc\u65f6\u7684\u8f93\u51fa\uff1a<\/p>\n<pre>U-Boot 1.1.3 (Oct 13 2009 - 15:58:57)\r\n\r\nBoard: Ralink APSoC DRAM:  16 MB\r\nrelocate_code Pointer at: 80fb0000\r\nflash_protect ON: from 0xBF000000 to 0xBF01D677\r\nflash_protect ON: from 0xBF030000 to 0xBF030FFF\r\n============================================\r\nRalink UBoot Version: 3.3\r\n--------------------------------------------\r\nASIC 3052_MP2 (Port5None)\r\nDRAM component: 128 Mbits SDR\r\nDRAM bus: 16 bit\r\nTotal memory: 16 MBytes\r\nFlash component: NOR Flash\r\nDate:Oct 13 2009  Time:15:58:57\r\n============================================\r\nicache: sets:256, ways:4, linesz:32 ,total:32768\r\ndcache: sets:128, ways:4, linesz:32 ,total:16384\r\n\r\n ##### The CPU freq = 320 MHZ ####\r\n\r\nSDRAM bus set to 16 bit\r\n SDRAM size =16 Mbytes\r\n---&gt;Set rt305x Gpio falsh, added by luowl for w150m, 20091014\r\n...................................\r\n\r\nPlease choose the operation:\r\n   1: Load system code to SDRAM via TFTP.\r\n   2: Load system code then write to Flash via TFTP.\r\n   3: Boot system code via Flash (default).\r\n   4: Entr boot command line interface.\r\n   9: Load Boot Loader code then write to Flash via TFTP.\r\n\r\nYou choosed 3\r\n\r\n 0\r\n\r\n3: System Boot system code via Flash.\r\n## Booting image at bf050000 ...\r\n   Image Name:   W150M_16MB_2MB Kernel Image\r\n   Created:      2010-01-04  14:13:54 UTC\r\n   Image Type:   MIPS Linux Kernel Image (lzma compressed)\r\n   Data Size:    1730546 Bytes =  1.7 MB\r\n   Load Address: 80000000\r\n   Entry Point:  8028c000\r\n   Verifying Checksum ... OK\r\n   Uncompressing Kernel Image ... OK\r\nNo initrd\r\n## Transferring control to Linux (at address 8028c000) ...\r\n## Giving linux memsize in MB, 16\r\n\r\nStarting kernel ...\r\n\r\nLINUX started...\r\n\r\n THIS IS ASIC\r\ninit started: BusyBox v1.12.1 (2010-01-04 01:04:30 CST)\r\nstarting pid 10, tty '': '\/etc_ro\/rcS'\r\nWelcome to\r\n     _______  _______  ___     __  ____   _  _   ___\r\n    |  ___  \\|   __  ||   |   |__||    \\ | || | \/  \/\r\n    | |___| ||  |__| ||   |__  __ |     \\| || |\/  \/\r\n    |   _   \/|   _   ||      ||  || |\\     ||     \\\r\n    |__| \\__\\|__| |__||______||__||_| \\____||_|\\___\\\r\n\r\n                     =System Architecture Department=\r\n\r\nYes:\r\n\r\n      ****** WeLoveLinux ******\r\n\r\n Welcome to ...\r\nhttpd Reg gpio hook success .\r\nstarting pid 18, tty '\/dev\/ttyS1': '\/bin\/sh'\r\n\r\nBusyBox v1.12.1 (2010-01-04 01:04:30 CST) built-in shell (ash)\r\nEnter 'help' for a list of built-in commands.\r\n\r\n# getIfLive: device eth2.1 not found.\r\nCommit crc = 302b5aa3\r\nmaclist:\r\nWLan[C8:3A:35:F8:C8:20]\r\nLan[C8:3A:35:F8:C8:20]\r\nWan[C8:3A:35:F8:C8:25]\r\ngetIfLive: device br0 not found.\r\nRouter ip address config success.\r\nkillall: udhcpd: no process killed\r\nND -&gt; Bad_Sig_entry [18]...\r\nhttpd listen ip = 192.168.2.1 port = 80\r\nMfgThread start loop.\r\nTendaLog -&gt; ok rtn.\r\nInitWan:\r\nwan_type: 3\r\nppp_conn_type:0\r\nppp_conn_wait_time: 60\r\nppp_conn_start_min: 0\r\nppp_conn_end_min: 0\r\nPlugin \/etc_ro\/ppp\/plugins\/rp-pppoe.so loaded.\r\nRP-PPPoE plugin version 3.8 compiled against pppd 2.4.4\r\nPlugin init ok.<\/pre>\n<p>U-Boot \u7684\u9ed8\u8ba4\u73af\u5883\u53d8\u91cf\uff1a<\/p>\n<pre>bootcmd=tftp\r\nbootdelay=1\r\nbaudrate=57600\r\nethaddr=\"00:AA:BB:CC:DD:10\"\r\nramargs=setenv bootargs root=\/dev\/ram rw\r\naddip=setenv bootargs $(bootargs) ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname):$(netdev):off\r\naddmisc=setenv bootargs $(bootargs) console=ttyS0,$(baudrate) ethaddr=$(ethaddr) panic=1\r\nflash_self=run ramargs addip addmisc;bootm $(kernel_addr) $(ramdisk_addr)\r\nkernel_addr=BFC40000\r\nu-boot=u-boot.bin\r\nload=tftp 8A100000 $(u-boot)\r\nu_b=protect off 1:0-1;era 1:0-1;cp.b 8A100000 BC400000 $(filesize)\r\nloadfs=tftp 8A100000 root.cramfs\r\nu_fs=era bc540000 bc83ffff;cp.b 8A100000 BC540000 $(filesize)\r\ntest_tftp=tftp 8A100000 root.cramfs;run test_tftp\r\nethact=Eth0 (10\/100-M)\r\nfilesize=1a6832\r\nfileaddr=80800000\r\nipaddr=192.168.1.2\r\nserverip=192.168.1.11\r\nautostart=no\r\nbootfile=W150M.bin\r\nstdin=serial\r\nstdout=serial\r\nstderr=serial<\/pre>\n<p>\u503c\u5f97\u4e00\u63d0\u7684\u662f\u8fd9\u4e2a U-Boot \u7684\u7248\u672c\u4e0d\u5141\u8bb8\u4fee\u6539 MAC \uff0c\u5185\u5d4c\u7684\u503c\u662f\u968f\u624b\u8f93\u7684\uff0c\u4e5f\u5c31\u662f\u8bf4\u5237\u5165 OpenWRT \u4ee5\u540e\u6700\u597d\u5728 UCI \u91cc\u9762\u624b\u52a8\u8bbe\u7f6e\u4e00\u4e0b WAN \u53e3\u7684 MAC \u5730\u5740\u3002bootdelay \u5b8c\u5168\u4e0d\u8d77\u4f5c\u7528\uff0c\u8981\u4ece\u83dc\u5355\u4e2d\u9009\u62e9\u542f\u52a8\u65b9\u5f0f\u7684\u8bdd\u9700\u8981\u5728\u83dc\u5355\u51fa\u6765\u4e4b\u524d\u5148\u6309\u4e0b\u5bf9\u5e94\u7684\u6570\u5b57\uff0c\u6309\u952e\u64cd\u4f5c\u4f1a\u88ab\u7f13\u5b58\u3002<\/p>\n<p>\u56fa\u4ef6\u542f\u52a8\u4ee5\u540e\u5728\u8dd1\u7684\u8fdb\u7a0b\uff1a<\/p>\n<pre># ps aux\r\n  PID USER       VSZ STAT COMMAND\r\n    1 0         1356 S    init\r\n    2 0            0 SWN  [ksoftirqd\/0]\r\n    3 0            0 SW&lt;  [events\/0]\r\n    4 0            0 SW&lt;  [khelper]\r\n    5 0            0 SW&lt;  [kthread]\r\n    6 0            0 SW&lt;  [kblockd\/0]\r\n    7 0            0 SW&lt;  [kswapd0]\r\n    8 0            0 SW   [mtdblockd]\r\n   16 0         1968 S    httpd\r\n   18 0         1364 S    \/bin\/sh\r\n   29 0            0 SW   [RtmpWscTask]\r\n  116 0         1120 S    netdog\r\n  117 0         1968 S    httpd\r\n  118 0         1968 S    httpd\r\n  178 0         2316 S    pppd file \/etc\/options.pppoe\r\n  192 0         1316 S    dnrd -a 192.168.2.1 -R \/etc\/dnrd -s 211.69.143.16 -s\r\n  296 0          788 S    \/bin\/sntp 20\r\n  336 0         1364 S    udhcpd \/etc\/udhcpd.conf\r\n  341 0         1160 S    netctl FilterDaemon\r\n  349 0         1352 R    ps aux<\/pre>\n<p>\u771f\u662f\u7cbe\u7b80\u5230\u4e0d\u884c\u4e86\u554a\u3002\u6ca1\u6709 dnsmasq \uff0c\u6ca1\u6709 miniwpad \u6216\u8005 hostapd \uff0c\u90fd\u662f\u4e9b\u4e13\u95e8\u5199\u7684\u73a9\u610f\u3002<\/p>\n<p>ifconfig \u7684\u8f93\u51fa\uff1a<\/p>\n<pre># ifconfig\r\nbr0       Link encap:Ethernet  HWaddr C8:3A:35:F8:C8:20\r\n          inet addr:192.168.2.1  Bcast:192.168.2.255  Mask:255.255.255.0\r\n          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1\r\n          RX packets:827 errors:0 dropped:0 overruns:0 frame:0\r\n          TX packets:613 errors:0 dropped:0 overruns:0 carrier:0\r\n          collisions:0 txqueuelen:0 \r\n          RX bytes:106999 (104.4 KiB)  TX bytes:235918 (230.3 KiB)\r\n\r\neth2      Link encap:Ethernet  HWaddr C8:3A:35:F8:C8:20\r\n          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1\r\n          RX packets:597 errors:0 dropped:0 overruns:0 frame:0\r\n          TX packets:850 errors:0 dropped:0 overruns:0 carrier:0\r\n          collisions:0 txqueuelen:1000 \r\n          RX bytes:238542 (232.9 KiB)  TX bytes:132589 (129.4 KiB)\r\n          Interrupt:3 \r\n\r\neth2.1    Link encap:Ethernet  HWaddr C8:3A:35:F8:C8:20\r\n          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1\r\n          RX packets:0 errors:0 dropped:0 overruns:0 frame:0\r\n          TX packets:129 errors:0 dropped:0 overruns:0 carrier:0\r\n          collisions:0 txqueuelen:0 \r\n          RX bytes:0 (0.0 B)  TX bytes:23021 (22.4 KiB)\r\n\r\neth2.2    Link encap:Ethernet  HWaddr C8:3A:35:F8:C8:25\r\n          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1\r\n          RX packets:597 errors:0 dropped:0 overruns:0 frame:0\r\n          TX packets:721 errors:0 dropped:0 overruns:0 carrier:0\r\n          collisions:0 txqueuelen:0 \r\n          RX bytes:230184 (224.7 KiB)  TX bytes:108256 (105.7 KiB)\r\n\r\nlo        Link encap:Local Loopback\r\n          inet addr:127.0.0.1  Mask:255.0.0.0\r\n          UP LOOPBACK RUNNING  MTU:16436  Metric:1\r\n          RX packets:0 errors:0 dropped:0 overruns:0 frame:0\r\n          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0\r\n          collisions:0 txqueuelen:0 \r\n          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)\r\n\r\nppp0      Link encap:Point-to-Point Protocol\r\n          inet addr:122.205.83.212  P-t-P:122.205.87.254  Mask:255.255.255.255\r\n          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1\r\n          RX packets:565 errors:0 dropped:0 overruns:0 frame:0\r\n          TX packets:700 errors:0 dropped:0 overruns:0 carrier:0\r\n          collisions:0 txqueuelen:3 \r\n          RX bytes:220773 (215.5 KiB)  TX bytes:89278 (87.1 KiB)\r\n\r\nra0       Link encap:Ethernet  HWaddr C8:3A:35:F8:C8:20\r\n          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1\r\n          RX packets:4656 errors:0 dropped:0 overruns:0 frame:0\r\n          TX packets:686 errors:0 dropped:0 overruns:0 carrier:0\r\n          collisions:0 txqueuelen:1000 \r\n          RX bytes:602462 (588.3 KiB)  TX bytes:262003 (255.8 KiB)\r\n          Interrupt:4<\/pre>\n<p>\u53ef\u4ee5\u770b\u5230 ifconfig \u7684\u8f93\u51fa\u633a\u6742\u4e71\u7684\uff0c\u800c\u4e14\u5373\u4f7f\u662f\u5728\u8def\u7531\u6a21\u5f0f\u4e0b\u4ecd\u6709\u4e00\u4e2a\u6253\u9171\u6cb9\u7684\u6865\u63a5\u8fde\u63a5\uff0c\u53ef\u80fd\u662f\u5199\u6b7b\u7684\u3002\u53e6\u5916\u65e0\u7ebf\u754c\u9762\u540d\u79f0\u662f ra0 \u800c\u4e0d\u662f wlan0 \uff0c\u5e76\u4e14\u5e26\u6709\u4e2d\u65ad\u53f7\uff0c\u56e0\u6b64\u4e0d\u53ef\u80fd\u662f\u57fa\u4e8e mac80211 \u8f6f\u4ef6 MAC \u7684\u9a71\u52a8\uff0c\u5e94\u8be5\u662f\u4e13\u6709\u7684\u9a71\u52a8\u3002<\/p>\n<p>\u63a5\u4e0b\u6765\u8be5\u7f16\u8bd1 OpenWRT \u4e86\u3002\u9996\u5148\u8981\u83b7\u5f97 OpenWRT \u7684\u6e90\u7801\uff1a<\/p>\n<pre class=\"brush: bash; title: \u4ee3\u7801; notranslate\" title=\"\u4ee3\u7801\">\r\ngit clone git:\/\/nbd.name\/openwrt.git\r\ncd openwrt\r\n<\/pre>\n<p>\u76ee\u524d OpenWRT \u8fd8\u6ca1\u6709 W150M \u7684\u652f\u6301\uff0c\u4f46\u662f\u6211\u5df2\u7ecf\u53d1\u4e86 ticket \u3002\u4e0d\u8fc7\u77ed\u671f\u5185\u8fd8\u662f\u9700\u8981\u81ea\u884c patch \u3002\u590d\u5236\u4e0b\u9762\u7684\u5185\u5bb9\uff1a<\/p>\n<pre class=\"brush: diff; title: \u4ee3\u7801; notranslate\" title=\"\u4ee3\u7801\">\r\ndiff --git a\/target\/linux\/ramips\/base-files\/etc\/hotplug.d\/firmware\/10-rt2x00-eeprom b\/target\/linux\/ramips\/base-files\/etc\/hotplug.d\/firmware\/10-rt2x00-eeprom\r\nindex 61d79b9..61b348d 100644\r\n--- a\/target\/linux\/ramips\/base-files\/etc\/hotplug.d\/firmware\/10-rt2x00-eeprom\r\n+++ b\/target\/linux\/ramips\/base-files\/etc\/hotplug.d\/firmware\/10-rt2x00-eeprom\r\n@@ -81,6 +81,7 @@ case &quot;$FIRMWARE&quot; in\r\n \tv11st-fe | \\\r\n \tv22rw-2x2 | \\\r\n \tw306r-v20 | \\\r\n+\tw150m | \\\r\n \tw502u | \\\r\n \twcr-150gn | \\\r\n \twhr-g300n | \\\r\ndiff --git a\/target\/linux\/ramips\/base-files\/lib\/ramips.sh b\/target\/linux\/ramips\/base-files\/lib\/ramips.sh\r\nindex 83dcc0e..62bb342 100755\r\n--- a\/target\/linux\/ramips\/base-files\/lib\/ramips.sh\r\n+++ b\/target\/linux\/ramips\/base-files\/lib\/ramips.sh\r\n@@ -188,6 +188,9 @@ ramips_board_name() {\r\n \t*&quot;Tenda W306R V2.0&quot;)\r\n \t\tname=&quot;w306r-v20&quot;\r\n \t\t;;\r\n+\t*&quot;Tenda W150M&quot;)\r\n+\t\tname=&quot;w150m&quot;\r\n+\t\t;;\r\n \t*&quot;TEW-691GR&quot;)\r\n \t\tname=&quot;tew-691gr&quot;\r\n \t\t;;\r\ndiff --git a\/target\/linux\/ramips\/files\/arch\/mips\/include\/asm\/mach-ralink\/machine.h b\/target\/linux\/ramips\/files\/arch\/mips\/include\/asm\/mach-ralink\/machine.h\r\nindex 384a466..3130d15 100644\r\n--- a\/target\/linux\/ramips\/files\/arch\/mips\/include\/asm\/mach-ralink\/machine.h\r\n+++ b\/target\/linux\/ramips\/files\/arch\/mips\/include\/asm\/mach-ralink\/machine.h\r\n@@ -67,6 +67,7 @@ enum ramips_mach_type {\r\n \tRAMIPS_MACH_MZKW300NH2,\t\t\/* Planex MZK-W300NH2 Router *\/\r\n \tRAMIPS_MACH_XDXRN502J,          \/* unknown XDX-RN502J *\/\r\n \tRAMIPS_MACH_UR_336UN,\t\t\/* UPVEL ROUTER *\/\r\n+\tRAMIPS_MACH_W150M,\t\t\/* Tenda W150M *\/\r\n\r\n \t\/* RT3352 based machines *\/\r\n \tRAMIPS_MACH_ALL5002,\t\t\/* Allnet ALL5002 *\/\r\ndiff --git a\/target\/linux\/ramips\/files\/arch\/mips\/ralink\/rt305x\/Kconfig b\/target\/linux\/ramips\/files\/arch\/mips\/ralink\/rt305x\/Kconfig\r\nindex 97258de..28668cf 100644\r\n--- a\/target\/linux\/ramips\/files\/arch\/mips\/ralink\/rt305x\/Kconfig\r\n+++ b\/target\/linux\/ramips\/files\/arch\/mips\/ralink\/rt305x\/Kconfig\r\n@@ -169,6 +169,11 @@ config RT305X_MACH_W306R_V20\r\n \tselect RALINK_DEV_GPIO_BUTTONS\r\n \tselect RALINK_DEV_GPIO_LEDS\r\n\r\n+config RT305X_MACH_W150M\r\n+\tbool &quot;Tenda W150M board support&quot;\r\n+\tselect RALINK_DEV_GPIO_BUTTONS\r\n+\tselect RALINK_DEV_GPIO_LEDS\r\n+\r\n config RT305X_MACH_WL341V3\r\n \tbool &quot;Sitecom WL-341 v3 board support&quot;\r\n \tselect RALINK_DEV_GPIO_BUTTONS\r\ndiff --git a\/target\/linux\/ramips\/files\/arch\/mips\/ralink\/rt305x\/Makefile b\/target\/linux\/ramips\/files\/arch\/mips\/ralink\/rt305x\/Makefile\r\nindex d38765c..f7e14b4 100644\r\n--- a\/target\/linux\/ramips\/files\/arch\/mips\/ralink\/rt305x\/Makefile\r\n+++ b\/target\/linux\/ramips\/files\/arch\/mips\/ralink\/rt305x\/Makefile\r\n@@ -40,6 +40,7 @@ obj-$(CONFIG_RT305X_MACH_RT_N10_PLUS)\t+= mach-rt-n10-plus.o\r\n obj-$(CONFIG_RT305X_MACH_SL_R7205)\t+= mach-sl-r7205.o\r\n obj-$(CONFIG_RT305X_MACH_V22RW_2X2)\t+= mach-v22rw-2x2.o\r\n obj-$(CONFIG_RT305X_MACH_W306R_V20) \t+= mach-w306r-v20.o\r\n+obj-$(CONFIG_RT305X_MACH_W150M)\t\t+= mach-w150m.o\r\n obj-$(CONFIG_RT305X_MACH_W502U)\t\t+= mach-w502u.o\r\n obj-$(CONFIG_RT305X_MACH_WCR150GN)\t+= mach-wcr150gn.o\r\n obj-$(CONFIG_RT305X_MACH_WHR_G300N)\t+= mach-whr-g300n.o\r\ndiff --git a\/target\/linux\/ramips\/files\/arch\/mips\/ralink\/rt305x\/mach-w150m.c b\/target\/linux\/ramips\/files\/arch\/mips\/ralink\/rt305x\/mach-w150m.c\r\nnew file mode 100644\r\nindex 0000000..f990c34\r\n--- \/dev\/null\r\n+++ b\/target\/linux\/ramips\/files\/arch\/mips\/ralink\/rt305x\/mach-w150m.c\r\n@@ -0,0 +1,103 @@\r\n+\/*\r\n+ *  Tenda W150M board support\r\n+ *\r\n+ *\r\n+ *  This program is free software; you can redistribute it and\/or modify it\r\n+ *  under the terms of the GNU General Public License version 2 as published\r\n+ *  by the Free Software Foundation.\r\n+ *\/\r\n+\r\n+#include &lt;linux\/init.h&gt;\r\n+#include &lt;linux\/platform_device.h&gt;\r\n+#include &lt;linux\/gpio.h&gt;\r\n+\r\n+#include &lt;asm\/mach-ralink\/machine.h&gt;\r\n+#include &lt;asm\/mach-ralink\/dev-gpio-buttons.h&gt;\r\n+#include &lt;asm\/mach-ralink\/dev-gpio-leds.h&gt;\r\n+#include &lt;asm\/mach-ralink\/rt305x.h&gt;\r\n+#include &lt;asm\/mach-ralink\/rt305x_regs.h&gt;\r\n+\r\n+#include &quot;devices.h&quot;\r\n+\r\n+#define TENDA_W150M_GPIO_BUTTON_RESET\t\t0\r\n+#define TENDA_W150M_GPIO_BUTTON_MODE\t\t10\r\n+\r\n+#define TENDA_W150M_GPIO_LED_AP\t\t\t11\r\n+#define TENDA_W150M_GPIO_LED_CLIENTAP\t\t12\r\n+#define TENDA_W150M_GPIO_LED_WDSROUTER\t\t9\r\n+#define TENDA_W150M_GPIO_LED_WIRELESSROUTER\t13\r\n+#define TENDA_W150M_GPIO_LED_WISPROUTER\t\t7\r\n+#define TENDA_W150M_GPIO_LED_WPSRESET\t\t14\r\n+\r\n+#define TENDA_W150M_KEYS_POLL_INTERVAL\t\t20\r\n+#define TENDA_W150M_KEYS_DEBOUNCE_INTERVAL\t(3 * TENDA_W150M_KEYS_POLL_INTERVAL)\r\n+\r\n+static struct gpio_led tenda_w150m_leds_gpio[] __initdata = {\r\n+\t{\r\n+\t\t.name\t\t= &quot;tenda:blue:ap&quot;,\r\n+\t\t.gpio\t\t= TENDA_W150M_GPIO_LED_AP,\r\n+\t\t.active_low\t= 1,\r\n+\t},{\r\n+\t\t.name\t\t= &quot;tenda:blue:clientap&quot;,\r\n+\t\t.gpio\t\t= TENDA_W150M_GPIO_LED_CLIENTAP,\r\n+\t\t.active_low\t= 1,\r\n+\t},{\r\n+\t\t.name\t\t= &quot;tenda:blue:wdsrouter&quot;,\r\n+\t\t.gpio\t\t= TENDA_W150M_GPIO_LED_WDSROUTER,\r\n+\t\t.active_low\t= 1,\r\n+\t},{\r\n+\t\t.name\t\t= &quot;tenda:blue:wirelessrouter&quot;,\r\n+\t\t.gpio\t\t= TENDA_W150M_GPIO_LED_WIRELESSROUTER,\r\n+\t\t.active_low\t= 1,\r\n+\t},{\r\n+\t\t.name\t\t= &quot;tenda:blue:wisprouter&quot;,\r\n+\t\t.gpio\t\t= TENDA_W150M_GPIO_LED_WISPROUTER,\r\n+\t\t.active_low\t= 1,\r\n+\t},{\r\n+\t\t.name\t\t= &quot;tenda:blue:wpsreset&quot;,\r\n+\t\t.gpio\t\t= TENDA_W150M_GPIO_LED_WPSRESET,\r\n+\t\t.active_low\t= 1,\r\n+\t}\r\n+};\r\n+\r\n+static struct gpio_keys_button tenda_w150m_gpio_buttons[] __initdata = {\r\n+\t{\r\n+\t\t.desc\t\t= &quot;reset&quot;,\r\n+\t\t.type\t\t= EV_KEY,\r\n+\t\t.code\t\t= KEY_RESTART,\r\n+\t\t.debounce_interval = TENDA_W150M_KEYS_DEBOUNCE_INTERVAL,\r\n+\t\t.gpio\t\t= TENDA_W150M_GPIO_BUTTON_RESET,\r\n+\t\t.active_low\t= 1,\r\n+\t},{\r\n+\t\t.desc\t\t= &quot;mode&quot;,\r\n+\t\t.type\t\t= EV_KEY,\r\n+\t\t.code\t\t= BTN_0,\r\n+\t\t.debounce_interval = TENDA_W150M_KEYS_DEBOUNCE_INTERVAL,\r\n+\t\t.gpio\t\t= TENDA_W150M_GPIO_BUTTON_MODE,\r\n+\t\t.active_low\t= 1,\r\n+\t}\r\n+};\r\n+\r\n+static void __init tenda_w150m_init(void)\r\n+{\r\n+\trt305x_register_flash(0);\r\n+\r\n+\trt305x_gpio_init(RT305X_GPIO_MODE_GPIO &lt;&lt; RT305X_GPIO_MODE_UART0_SHIFT);\r\n+\r\n+\tramips_register_gpio_leds(-1, ARRAY_SIZE(tenda_w150m_leds_gpio),\r\n+\t\t\ttenda_w150m_leds_gpio);\r\n+\r\n+\tramips_register_gpio_buttons(-1, TENDA_W150M_KEYS_POLL_INTERVAL,\r\n+\t\t\tARRAY_SIZE(tenda_w150m_gpio_buttons),\r\n+\t\t\ttenda_w150m_gpio_buttons);\r\n+\r\n+\trt305x_esw_data.vlan_config = RT305X_ESW_VLAN_CONFIG_LLLLW;\r\n+\trt305x_register_ethernet();\r\n+\r\n+\trt305x_register_wifi();\r\n+\r\n+\trt305x_register_wdt();\r\n+}\r\n+\r\n+MIPS_MACHINE(RAMIPS_MACH_W150M, &quot;W150M&quot;, &quot;Tenda W150M&quot;,\r\n+\t\ttenda_w150m_init);\r\ndiff --git a\/target\/linux\/ramips\/image\/Makefile b\/target\/linux\/ramips\/image\/Makefile\r\nindex daceb15..81a9a41 100644\r\n--- a\/target\/linux\/ramips\/image\/Makefile\r\n+++ b\/target\/linux\/ramips\/image\/Makefile\r\n@@ -467,6 +467,11 @@ define Image\/Build\/Profile\/3G300M\r\n \t$(call Image\/Build\/Template\/$(fs_squash)\/$(1),GENERIC_4M,3g300m,3G300M,ttyS1,57600,spi)\r\n endef\r\n\r\n+define Image\/Build\/Profile\/W150M\r\n+\t$(call Image\/Build\/Template\/$(fs_squash)\/$(1),GENERIC_4M,w150m,W150M,ttyS1,57600,phys,W150M Kernel Image,factory.bin)\r\n+\t$(call Image\/Build\/Template\/$(fs_squash)\/$(1),GENERIC_4M,w150m,W150M,ttyS1,57600,phys)\r\n+endef\r\n+\r\n define Image\/Build\/Profile\/AIR3GII\r\n \t$(call Image\/Build\/Template\/$(fs_squash)\/$(1),GENERIC_4M,air3gii,AIR3GII,ttyS1,57600,spi)\r\n endef\r\n@@ -639,6 +644,7 @@ ifeq ($(CONFIG_RALINK_RT305X),y)\r\n define Image\/Build\/Profile\/Default\r\n \t$(call Image\/Build\/Profile\/3G6200N,$(1))\r\n \t$(call Image\/Build\/Profile\/3G300M,$(1))\r\n+\t$(call Image\/Build\/Profile\/W150M,$(1))\r\n \t$(call Image\/Build\/Profile\/AIR3GII,$(1))\r\n \t$(call Image\/Build\/Profile\/ALL02393G,$(1))\r\n \t$(call Image\/Build\/Profile\/ALL0256N,$(1))\r\ndiff --git a\/target\/linux\/ramips\/rt305x\/config-3.7 b\/target\/linux\/ramips\/rt305x\/config-3.7\r\nindex db31937..183b7f4 100644\r\n--- a\/target\/linux\/ramips\/rt305x\/config-3.7\r\n+++ b\/target\/linux\/ramips\/rt305x\/config-3.7\r\n@@ -133,6 +133,7 @@ CONFIG_RT305X_MACH_SL_R7205=y\r\n CONFIG_RT305X_MACH_UR_336UN=y\r\n CONFIG_RT305X_MACH_V22RW_2X2=y\r\n CONFIG_RT305X_MACH_W306R_V20=y\r\n+CONFIG_RT305X_MACH_W150M=y\r\n CONFIG_RT305X_MACH_W502U=y\r\n CONFIG_RT305X_MACH_WCR150GN=y\r\n CONFIG_RT305X_MACH_WHR_G300N=y\r\ndiff --git a\/target\/linux\/ramips\/rt305x\/profiles\/tenda.mk b\/target\/linux\/ramips\/rt305x\/profiles\/tenda.mk\r\nindex 10a4cb3..a0ef08d 100644\r\n--- a\/target\/linux\/ramips\/rt305x\/profiles\/tenda.mk\r\n+++ b\/target\/linux\/ramips\/rt305x\/profiles\/tenda.mk\r\n@@ -18,6 +18,17 @@ endef\r\n\r\n $(eval $(call Profile,3G300M))\r\n\r\n+define Profile\/W150M\r\n+\tNAME:=Tenda W150M\r\n+\tPACKAGES:=\r\n+endef\r\n+\r\n+define Profile\/W150M\/Description\r\n+\tPackage set for Tenda W150M board with parallel NOR flash\r\n+endef\r\n+\r\n+$(eval $(call Profile,W150M))\r\n+\r\n define Profile\/W306R_V20\r\n \tNAME:=Tenda W306R V2.0\r\n \tPACKAGES:=\r\n<\/pre>\n<p>\u5c06\u5b83\u4fdd\u5b58\u4e3a w150m.patch \uff0c\u7136\u540e\u6267\u884c\u4ee5\u4e0b\u6b65\u9aa4\uff1a<\/p>\n<pre class=\"brush: bash; title: \u4ee3\u7801; notranslate\" title=\"\u4ee3\u7801\">\r\ngit branch you_name_it\r\ngit checkout you_name_it\r\npatch -p1 &lt; w150m.patch\r\n<\/pre>\n<p>\u7136\u540e<\/p>\n<pre class=\"brush: bash; title: \u4ee3\u7801; notranslate\" title=\"\u4ee3\u7801\">\r\nmake\r\n<\/pre>\n<p>\u6f2b\u957f\u7684\u6e90\u7801\u5305\u4e0b\u8f7d\u548c\u7f16\u8bd1\u5c31\u5f00\u59cb\u4e86\u3002\u6839\u636e\u7f51\u901f\u548c\u673a\u5668\u7684\u901f\u5ea6\u8fd9\u4e2a\u8fc7\u7a0b\u4f1a\u9700\u8981\u6570\u4e2a\u5c0f\u65f6\u3002\u7f16\u8bd1\u7ed3\u675f\u540e\u751f\u6210\u7684 U-Boot \u955c\u50cf\u4f1a\u653e\u5728 bin\/ramips \u4e0b\u3002<\/p>\n<p>\u4e0b\u9762\u5c31\u8981\u51c6\u5907\u5237\u673a\u4e86\u3002\u5efa\u8bae\u5148\u4e0b\u8f7d\u5b98\u65b9\u56fa\u4ef6\uff0c\u65b9\u4fbf\u5931\u8d25\u4ee5\u540e\u5237\u56de\u53bb\u3002<\/p>\n<p>\u9996\u5148\u6211\u4eec\u9700\u8981\u67b6\u8bbe\u4e00\u4e2a TFTP \u670d\u52a1\u5668\u3002\u4f60\u9700\u8981\u5728\u81ea\u5df1\u7684\u7535\u8111\u4e0a\u5b89\u88c5 tftpd \u548c xinetd \uff0c\u6559\u7a0b\u5f88\u591a\uff0c\u5728\u8fd9\u91cc\u4e0d\u518d\u8d58\u8ff0\u3002\u63a5\u7740\u628a OpenWRT \u7f16\u8bd1\u751f\u6210\u7684 openwrt-ramips-rt305x-w150m-squashfs-factory.bin \u653e\u5230 tftp \u6839\u76ee\u5f55\u4e0b\u3002<\/p>\n<p>\u7136\u540e\u542f\u52a8\u8def\u7531\u5668\u3002\u5728 minicom \u91cc\u9762\u770b\u5230 U-Boot \u8f93\u51fa\uff1a<\/p>\n<pre>---&gt;Set rt305x Gpio falsh, added by luowl for w150m, 20091014\r\n...................................<\/pre>\n<p>\u65f6\u6309\u4e0b\u952e\u76d8\u4e0a\u7684\u6570\u5b57 2 \u3002\u63a5\u7740\u4f1a\u6709\u4e00\u6761\u8b66\u544a\uff0c\u8f93\u5165 Y \uff0c\u7136\u540e\u8f93\u5165\u671f\u671b\u7684\u8def\u7531\u5668\u548c TFTP \u670d\u52a1\u5668\u7684\u5730\u5740\u4ee5\u53ca\u56fa\u4ef6\u7684\u6587\u4ef6\u540d\uff0c\u56de\u8f66\u540e\u7b49\u5f85\u51e0\u5206\u949f\u56fa\u4ef6\u5c31\u4f1a\u5237\u5199\u5b8c\u6bd5\u3002\u9644\u4e0a OpenWRT \u5237\u5199\u548c\u7b2c\u4e00\u6b21\u542f\u52a8\u65f6\u7684\u8f93\u51fa\uff1a<\/p>\n<pre>U-Boot 1.1.3 (Oct 13 2009 - 15:58:57)\r\n\r\nBoard: Ralink APSoC DRAM:  16 MB\r\nrelocate_code Pointer at: 80fb0000\r\nflash_protect ON: from 0xBF000000 to 0xBF01D677\r\nflash_protect ON: from 0xBF030000 to 0xBF030FFF\r\n============================================\r\nRalink UBoot Version: 3.3\r\n--------------------------------------------\r\nASIC 3052_MP2 (Port5None)\r\nDRAM component: 128 Mbits SDR\r\nDRAM bus: 16 bit\r\nTotal memory: 16 MBytes\r\nFlash component: NOR Flash\r\nDate:Oct 13 2009  Time:15:58:57\r\n============================================\r\nicache: sets:256, ways:4, linesz:32 ,total:32768\r\ndcache: sets:128, ways:4, linesz:32 ,total:16384\r\n\r\n ##### The CPU freq = 320 MHZ ####\r\n\r\nSDRAM bus set to 16 bit\r\n SDRAM size =16 Mbytes\r\n---&gt;Set rt305x Gpio falsh, added by luowl for w150m, 20091014\r\n...................................\r\n\r\nPlease choose the operation:\r\n   1: Load system code to SDRAM via TFTP.\r\n   2: Load system code then write to Flash via TFTP.\r\n   3: Boot system code via Flash (default).\r\n   4: Entr boot command line interface.\r\n   9: Load Boot Loader code then write to Flash via TFTP.\r\n\r\nYou choosed 2\r\n\r\n 0\r\n\r\n2: System Load Linux Kernel then write to Flash via TFTP.\r\n Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y\/N)\r\n Please Input new ones \/or Ctrl-C to discard\r\n        Input device IP (192.168.1.2) ==:192.168.1.2\r\n        Input server IP (192.168.1.100) ==:192.168.1.100\r\n        Input Linux Kernel filename (w150m\/openwrt.bin) ==:w150m\/openwrt.bin\r\n\r\n netboot_common, argc= 3\r\n\r\n NetTxPacket = 0x80FE5880\r\n\r\n KSEG1ADDR(NetTxPacket) = 0xA0FE5880\r\n\r\n NetLoop,call eth_halt !\r\n\r\n NetLoop,call eth_init !\r\nTrying Eth0 (10\/100-M)\r\n\r\n Waitting for RX_DMA_BUSY status Start... done\r\n\r\n Header Payload scatter function is Disable !!\r\n\r\n ETH_STATE_ACTIVE!! \r\nUsing Eth0 (10\/100-M) device\r\nTFTP from server 192.168.1.100; our IP address is 192.168.1.2\r\nFilename 'w150m\/openwrt.bin'.\r\n\r\n TIMEOUT_COUNT=10,Load address: 0x80100000\r\nLoading: Got ARP REPLY, set server\/gtwy eth addr (00:26:2d:9d:1a:62)\r\nGot it\r\nT #\r\n first block received\r\n################################################################\r\n         #################################################################\r\n         #################################################################\r\n         #################################################################\r\n         #################################################################\r\n         #################################################################\r\n         ##############################################\r\ndone\r\nBytes transferred = 2228228 (220004 hex)\r\nNetBootFileXferSize= 00220004\r\nErase linux kernel block !!\r\nFrom 0xBF050000 To 0xBF27FFFF\r\n\r\n b_end =BF3FFFFF\r\nErase Flash from 0xbf050000 to 0xbf27ffff in Bank # 1\r\n\r\n erase sector  = 12\r\nsect = 12,s_last = 46,erase poll = 783840\r\n\r\n erase sector  = 13\r\nsect = 13,s_last = 46,erase poll = 751600\r\n\r\n erase sector  = 14\r\n*sect = 14,s_last = 46,erase poll = 731264\r\n\r\n(blah blah blah ......)\r\n\r\n erase sector  = 45\r\n*sect = 45,s_last = 46,erase poll = 765272\r\n\r\n erase sector  = 46\r\nsect = 46,s_last = 46,erase poll = 740606\r\n done\r\nErased 35 sectors\r\n\r\n Copy linux image[2228228 byte] to Flash[0xBF050000]....\r\nCopy to Flash...\r\n Copy 2228228 byte to Flash...\r\n addr = 0xBF0B28A4 ,cnt=1824608\r\n addr = 0xBF11514A ,cnt=1420986\r\n addr = 0xBF1779F0 ,cnt=1017364\r\n addr = 0xBF1DA296 ,cnt=613742\r\n addr = 0xBF23CB3C ,cnt=210120 done\r\n## Booting image at bf050000 ...\r\n   Image Name:   W150M Kernel Image\r\n   Created:      2013-02-01  16:27:04 UTC\r\n   Image Type:   MIPS Linux Kernel Image (lzma compressed)\r\n   Data Size:    836248 Bytes = 816.6 kB\r\n   Load Address: 80000000\r\n   Entry Point:  80000000\r\n   Verifying Checksum ... OK\r\n   Uncompressing Kernel Image ... OK\r\nNo initrd\r\n## Transferring control to Linux (at address 80000000) ...\r\n## Giving linux memsize in MB, 16\r\n\r\nStarting kernel ...\r\n\r\nLinux version 3.7.5 (dword@dword-as4741g) (gcc version 4.6.4 20121210 (prerelease) (Linaro GCC 4.6-2012.12) ) #3 Sat Feb 2 00:26:54 CST 2013\r\nbootconsole [early0] enabled\r\nCPU revision is: 0001964c (MIPS 24KEc)\r\nRalink RT3350 id:1 rev:2 running at 320.00 MHz\r\nDetermined physical RAM map:\r\n memory: 01000000 @ 00000000 (usable)\r\nInitrd not found or empty - disabling initrd\r\nZone ranges:\r\n  Normal   [mem 0x00000000-0x00ffffff]\r\nMovable zone start for each node\r\nEarly memory node ranges\r\n  node   0: [mem 0x00000000-0x00ffffff]\r\nPrimary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.\r\nPrimary data cache 16kB, 4-way, VIPT, no aliases, linesize 32 bytes\r\nBuilt 1 zonelists in Zone order, mobility grouping off.  Total pages: 4064\r\nKernel command line:  board=W150M console=ttyS1,57600 mtdparts=physmap-flash.0:192k(u-boot)ro,64k(u-boot-env)ro,64k(factory)ro,896k(kernel),2880k(rootfs),3776k@0x500002\r\nPID hash table entries: 64 (order: -4, 256 bytes)\r\nDentry cache hash table entries: 2048 (order: 1, 8192 bytes)\r\nInode-cache hash table entries: 1024 (order: 0, 4096 bytes)\r\n__ex_table already sorted, skipping sort\r\nWriting ErrCtl register=00026c04\r\nReadback ErrCtl register=00026c04\r\nMemory: 13516k\/16384k available (1945k kernel code, 2868k reserved, 328k data, 220k init, 0k highmem)\r\nSLUB: Genslabs=9, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1\r\nNR_IRQS:48\r\nconsole [ttyS1] enabled, bootconsole disabled\r\nconsole [ttyS1] enabled, bootconsole disabled\r\nCalibrating delay loop... 212.58 BogoMIPS (lpj=1062912)\r\npid_max: default: 32768 minimum: 301\r\nMount-cache hash table entries: 512\r\nNET: Registered protocol family 16\r\nMIPS: machine is Tenda W150M\r\nbio: create slab  at 0\r\nSwitching to clocksource MIPS\r\nNET: Registered protocol family 2\r\nTCP established hash table entries: 512 (order: 0, 4096 bytes)\r\nTCP bind hash table entries: 512 (order: -1, 2048 bytes)\r\nTCP: Hash tables configured (established 512 bind 512)\r\nTCP: reno registered\r\nUDP hash table entries: 256 (order: 0, 4096 bytes)\r\nUDP-Lite hash table entries: 256 (order: 0, 4096 bytes)\r\nNET: Registered protocol family 1\r\nsquashfs: version 4.0 (2009\/01\/31) Phillip Lougher\r\njffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.\r\nmsgmni has been set to 26\r\nio scheduler noop registered\r\nio scheduler deadline registered (default)\r\nSerial: 8250\/16550 driver, 2 ports, IRQ sharing disabled\r\nserial8250: ttyS0 at MMIO 0x10000500 (irq = 13) is a 16550A\r\nserial8250: ttyS1 at MMIO 0x10000c00 (irq = 20) is a 16550A\r\nphysmap platform flash device: 00800000 at bf000000\r\nphysmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x0000c2 Chip ID 0x0022a8\r\nAmd\/Fujitsu Extended Query Table at 0x0040\r\n  Amd\/Fujitsu Extended Query version 1.1.\r\nnumber of CFI chips: 1\r\n6 cmdlinepart partitions found on MTD device physmap-flash.0\r\nCreating 6 MTD partitions on \"physmap-flash.0\":\r\n0x000000000000-0x000000030000 : \"u-boot\"\r\n0x000000030000-0x000000040000 : \"u-boot-env\"\r\n0x000000040000-0x000000050000 : \"factory\"\r\n0x000000050000-0x000000130000 : \"kernel\"\r\n0x000000130000-0x000000400000 : \"rootfs\"\r\nmtd: partition \"rootfs\" set to be root filesystem\r\nmtd: partition \"rootfs_data\" created automatically, ofs=270000, len=190000 \r\n0x000000270000-0x000000400000 : \"rootfs_data\"\r\n0x000000050000-0x000000400000 : \"firmware\"\r\nramips-wdt ramips-wdt: timeout value must be 0 &lt; timeout &lt;= 40, using 40\r\nTCP: cubic registered\r\nNET: Registered protocol family 17\r\n8021q: 802.1Q VLAN Support v1.8\r\nVFS: Mounted root (squashfs filesystem) readonly on device 31:4.\r\nFreeing unused kernel memory: 220k freed\r\n- preinit -\r\nPress the [f] key and hit [enter] to enter failsafe mode\r\n- regular preinit -\r\njffs2 not ready yet; using ramdisk\r\n- init -\r\n\r\nPlease press Enter to activate this console. Compat-drivers backport release: compat-drivers-2013-01-08-3\r\nBackport based on wireless-testing.git master-2013-01-07\r\ncompat.git: wireless-testing.git\r\ncfg80211: Calling CRDA to update world regulatory domain\r\ncfg80211: World regulatory domain updated:\r\ncfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)\r\ncfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)\r\ncfg80211:   (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)\r\ncfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)\r\ncfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)\r\ncfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)\r\nPPP generic driver version 2.4.2\r\nip_tables: (C) 2000-2006 Netfilter Core Team\r\nNET: Registered protocol family 24\r\nnf_conntrack version 0.5.0 (214 buckets, 856 max)\r\nramips-wdt: timeout value 60 must be 0 &lt; timeout &lt;= 40, using 40\r\njffs2_scan_eraseblock(): End of filesystem marker found at 0x0\r\njffs2_build_filesystem(): unlocking the mtd device... done.\r\njffs2_build_filesystem(): erasing all blocks after the end marker... done.\r\njffs2: notice: (783) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.\r\n\r\nBusyBox v1.19.4 (2013-02-01 19:55:38 CST) built-in shell (ash)\r\nEnter 'help' for a list of built-in commands.\r\n\r\n  _______                     ________        __\r\n |       |.-----.-----.-----.|  |  |  |.----.|  |_\r\n |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|\r\n |_______||   __|_____|__|__||________||__|  |____|\r\n          |__| W I R E L E S S   F R E E D O M\r\n -----------------------------------------------------\r\n BARRIER BREAKER (Bleeding Edge, r35412)\r\n -----------------------------------------------------\r\n  * 1\/2 oz Galliano         Pour all ingredients into\r\n  * 4 oz cold Coffee        an irish coffee mug filled\r\n  * 1 1\/2 oz Dark Rum       with crushed ice. Stir.\r\n  * 2 tsp. Creme de Cacao\r\n -----------------------------------------------------\r\nroot@OpenWrt:\/#<\/pre>\n<p>\u6700\u540e\u5c31\u8be5\u5bf9 OpenWRT \u8fdb\u884c\u8bbe\u7f6e\u4e86\u3002W150M \u7684\u5185\u5b58\u6709\u70b9\u7d27\u5f20\uff0c\u6211\u6ca1\u628a Web \u63a7\u5236\u53f0\u7f16\u8bd1\u8fdb\u53bb\uff08\u5982\u679c\u9700\u8981\u7684\u8bdd\u5f97\u66f4\u65b0\u5e76\u5b89\u88c5 feeds \uff0c\u53c2\u89c1 <a href=\"http:\/\/wiki.openwrt.org\/doc\/devel\/feeds\" target=\"_blank\">http:\/\/wiki.openwrt.org\/doc\/devel\/feeds<\/a> \uff09\uff0c\u6240\u4ee5\u6240\u6709\u7684\u8bbe\u7f6e\u662f\u7528 <a href=\"http:\/\/wiki.openwrt.org\/doc\/uci\" target=\"_blank\">UCI<\/a> \u5b8c\u6210\u7684\u3002\u5176\u5b9e\u914d\u7f6e\u6587\u4ef6\u6211\u90fd\u5b58\u5728\u7535\u8111\u4e0a\u4e86\uff0c\u5237\u673a\u5b8c\u4e86\u4ee5\u540e\u76f4\u63a5 cat \u4e00\u4e0b\u5c31\u884c\u4e86\u3002\u6700\u540e\u522b\u5fd8\u4e86 passwd root \u3002<\/p>\n<p>\u8bf4\u5185\u5b58\u7d27\u5f20\u662f\u6709\u8bc1\u636e\u7684\uff1a<\/p>\n<pre>root@BY-21-502:~# cat \/proc\/meminfo\r\nMemTotal:          13736 kB\r\nMemFree:            1456 kB\r\nBuffers:             272 kB\r\nCached:             1132 kB\r\nSwapCached:            0 kB\r\nActive:             1672 kB\r\nInactive:           1140 kB\r\nActive(anon):       1444 kB\r\nInactive(anon):       56 kB\r\nActive(file):        228 kB\r\nInactive(file):     1084 kB\r\nUnevictable:           0 kB\r\nMlocked:               0 kB\r\nSwapTotal:             0 kB\r\nSwapFree:              0 kB\r\nDirty:                 0 kB\r\nWriteback:             0 kB\r\nAnonPages:          1420 kB\r\nMapped:              616 kB\r\nShmem:                92 kB\r\nSlab:               4968 kB\r\nSReclaimable:        808 kB\r\nSUnreclaim:         4160 kB\r\nKernelStack:         328 kB\r\nPageTables:          280 kB\r\nNFS_Unstable:          0 kB\r\nBounce:                0 kB\r\nWritebackTmp:          0 kB\r\nCommitLimit:        6868 kB\r\nCommitted_AS:       4884 kB\r\nVmallocTotal:    1048372 kB\r\nVmallocUsed:        9452 kB\r\nVmallocChunk:    1033168 kB<\/pre>\n<p>\u5728\u521a\u542f\u52a8\u4ee5\u540e Free + Buffer + Cache \u5c31\u53ea\u5269 3MB \u4e0d\u5230\u4e86\uff0c\u8fd0\u884c\u4e00\u5929\u4ee5\u540e\u7ee7\u7eed\u964d\u5230 2MB \u3002\u4f30\u8ba1 nat-helpers \u6bd4\u8f83\u8017\u5185\u5b58\uff0c\u4f46\u662f\u6ca1\u8fd9\u73a9\u610f\u4e0d\u9ad8\u5174\u554a\u3002\u597d\u5728\u5185\u5b58\u8fd8\u6ca1\u7206\uff0c\u5fcd\u5fcd\u5427\u3002<\/p>\n<p>\u6700\u540e\u7684\u6700\u540e\u63d0\u4f9b UCI \u914d\u7f6e\u6587\u4ef6\u6837\u4f8b\u4ee5\u4f9b\u53c2\u8003\uff1a<\/p>\n<pre>### \/etc\/config\/dhcp\r\nconfig dnsmasq\r\n\toption domainneeded\t1\r\n\toption boguspriv\t1\r\n\toption localise_queries\t1\r\n\toption rebind_protection 1\r\n\toption rebind_localhost 1\r\n\toption local\t\t'\/lan\/'\r\n\toption domain\t\t'lan'\r\n\toption expandhosts\t1\r\n\toption nonegcache\t0\r\n\toption authoritative\t1\r\n\toption readethers\t1\r\n\toption leasefile\t'\/tmp\/dhcp.leases'\r\n\toption resolvfile\t'\/tmp\/resolv.conf.auto'\r\n\tlist notinterface\teth0\r\n\r\nconfig dhcp lan\r\n\toption interface\tlan\r\n\toption start\t\t100\r\n\toption limit\t\t100\r\n\toption leasetime\t12h\r\n\r\nconfig dhcp wan\r\n\toption interface\twan\r\n\toption ignore\t \t1\r\n### \/etc\/config\/dropbear\r\nconfig dropbear\r\n\toption PasswordAuth\t'on'\r\n\toption RootPasswordAuth\t'on'\r\n\toption Port\t\t'22222' # To dodge scanners, set this something other than 22\r\n\toption Interface\t'lan'\r\n### \/etc\/config\/firewall\r\nconfig defaults\r\n\toption syn_flood\t1\r\n\toption input\t\tACCEPT\r\n\toption output\t\tACCEPT\r\n\toption forward\t\tREJECT\r\n\toption disable_ipv6\t1\r\n\r\nconfig zone\r\n\toption name\t\tlan\r\n\toption network\t\t'lan'\r\n\toption input\t\tACCEPT\r\n\toption output\t\tACCEPT\r\n\toption forward\t\tREJECT\r\n\r\nconfig zone\r\n\toption name\t\twan\r\n\toption network\t\t'wan'\r\n\toption input\t\tREJECT\r\n\toption output\t\tACCEPT\r\n\toption forward\t\tREJECT\r\n\toption masq\t\t1\r\n\toption mtu_fix\t\t1\r\n\r\nconfig forwarding\r\n\toption src\t\tlan\r\n\toption dest\t\twan\r\n\r\n# We need to accept udp packets on port 68,\r\n# see https:\/\/dev.openwrt.org\/ticket\/4108\r\nconfig rule\r\n\toption name\t\tAllow-DHCP-Renew\r\n\toption src\t\twan\r\n\toption proto\t\tudp\r\n\toption dest_port\t68\r\n\toption target\t\tACCEPT\r\n\toption family\t\tipv4\r\n\r\nconfig rule\r\n\toption name\t\tAllow-Ping\r\n\toption src\t\twan\r\n\toption proto\t\ticmp\r\n\toption icmp_type\techo-request\r\n\toption family\t\tipv4\r\n\toption target\t\tACCEPT\r\n\r\nconfig include\r\n\toption path \/etc\/firewall.user\r\n### \/etc\/config\/network\r\nconfig interface loopback\r\n        option ifname\tlo\r\n        option proto\tstatic\r\n        option ipaddr\t127.0.0.1\r\n        option netmask\t255.0.0.0\r\n\r\nconfig interface wan\r\n\toption proto\tpppoe\r\n\toption ifname\teth0\r\n\toption macaddr\tC8:3A:35:00:00:00 # Change this to your own value, usually 5 greater than wlan0 mac\r\n\toption username\tyour_pppoe_username\r\n\toption password\tyour_pppoe_passwd\r\n\toption timeout\t10\r\n\r\nconfig interface lan\r\n        option ifname\twlan0\r\n        option proto\tstatic\r\n        option ipaddr\t192.168.0.1\r\n        option netmask\t255.255.255.0\r\n### \/etc\/config\/system\r\nconfig system\r\n\toption hostname\t\t'BY-21-502' # Change this to your own value\r\n\toption timezone\t\t'CST-8'\r\n\r\nconfig timeserver 'ntp'\r\n\tlist server\t\t'0.openwrt.pool.ntp.org'\r\n\tlist server\t\t'1.openwrt.pool.ntp.org'\r\n\tlist server\t\t'2.openwrt.pool.ntp.org'\r\n\tlist server\t\t'3.openwrt.pool.ntp.org'\r\n\toption enable_server\t'0'\r\n\r\n# Fancy LED triggers, can be removed.\r\nconfig led 'sys'\r\n\toption sysfs\t\t'tenda:blue:ap'\r\n\toption trigger\t\t'timer'\r\n\toption delayon\t\t'50'\r\n\toption delayoff\t\t'4950'\r\n\r\nconfig led 'ethtx'\r\n\toption sysfs\t\t'tenda:blue:clientap'\r\n\toption mode\t\t'rx'\r\n\toption dev\t\t'eth0'\r\n\toption trigger\t\t'netdev'\r\n\r\nconfig led 'ethrx'\r\n\toption sysfs\t\t'tenda:blue:wdsrouter'\r\n\toption mode\t\t'tx'\r\n\toption dev\t\t'eth0'\r\n\toption trigger\t\t'netdev'\r\n\r\nconfig led 'phytx'\r\n\toption sysfs\t\t'tenda:blue:wisprouter'\r\n\toption trigger\t\t'phy0rx'\r\n\r\nconfig led 'phyrx'\r\n\toption sysfs\t\t'tenda:blue:wirelessrouter'\r\n\toption trigger\t\t'phy0tx'\r\n\r\n# eth0 is on switch, it is always up.\r\n#config led 'eth'\r\n#\toption sysfs\t\t'tenda:blue:wpsreset'\r\n#\toption mode\t\t'link'\r\n#\toption dev\t\t'eth0'\r\n#\toption trigger\t\t'netdev'\r\n\r\nconfig led 'assoc'\r\n\toption sysfs\t\t'rt2800pci-phy0::radio'\r\n\toption trigger\t\t'phy0assoc'\r\n### \/etc\/config\/wireless\r\nconfig wifi-device\tradio0\r\n\toption type\tmac80211\r\n\toption channel\t6 # Select channel carefully to reach max speed\r\n\toption hwmode\t11ng\r\n\toption path\t'platform\/rt2800_wmac.0'\r\n\toption htmode\tHT20 # Change to HT40 and enable noscan to achieve 150Mbps\r\n\tlist ht_capab\tGF\r\n\tlist ht_capab\tSHORT-GI-20\r\n\tlist ht_capab\tSHORT-GI-40\r\n\tlist ht_capab\tRX-STBC1\r\n\r\nconfig wifi-iface\r\n\toption device\tradio0\r\n\toption network\tlan\r\n\toption mode\tap\r\n\toption ssid\tyour_wifi_essid\r\n\toption encryption psk2+aes # WPA2 PSK + CCMP\/AES is secure.\r\n\toption key\tyour_wifi_password<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u8fd9\u53f0\u8def\u7531\u5668\u4e5f\u7b97\u662f\u4fbf\u5b9c\u8d27\u4e86\uff0c\u6027\u80fd\u5c1a\u53ef\uff0c320MHz \u7684 MIPS \u5904\u7406\u5668\uff0c16MB \u7684 RAM \u7565\u5fae\u6709\u70b9\u7d27\u5f20\uff0c\u5173 &hellip; <a href=\"http:\/\/blog.dword1511.info\/?p=3781\" class=\"more-link\">\u7ee7\u7eed\u9605\u8bfb<span class=\"screen-reader-text\">\u62c6\u89e3 HP \u5b9a\u5236\u7248 Tenda W150M \u5e76\u4e3a\u5176\u4fee\u6539 OpenWRT<\/span> <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":{"_mi_skip_tracking":false},"categories":[10,14,11,7],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.dword1511.info\/index.php?rest_route=\/wp\/v2\/posts\/3781"}],"collection":[{"href":"http:\/\/blog.dword1511.info\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.dword1511.info\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.dword1511.info\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.dword1511.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3781"}],"version-history":[{"count":5,"href":"http:\/\/blog.dword1511.info\/index.php?rest_route=\/wp\/v2\/posts\/3781\/revisions"}],"predecessor-version":[{"id":3816,"href":"http:\/\/blog.dword1511.info\/index.php?rest_route=\/wp\/v2\/posts\/3781\/revisions\/3816"}],"wp:attachment":[{"href":"http:\/\/blog.dword1511.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3781"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.dword1511.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3781"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.dword1511.info\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3781"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}