{"id":6293,"date":"2019-11-18T10:49:00","date_gmt":"2019-11-18T02:49:00","guid":{"rendered":"https:\/\/blog.hoyo.idv.tw\/?p=6293"},"modified":"2023-10-02T11:20:41","modified_gmt":"2023-10-02T03:20:41","slug":"nanopi-usb-%e7%b6%b2%e8%b7%af%e5%8d%a1-wifi-ap-%e6%87%89%e7%94%a8","status":"publish","type":"post","link":"https:\/\/blog.hoyo.idv.tw\/?p=6293","title":{"rendered":"NanoPi - USB \u7db2\u8def\u5361 ( WiFi AP \u61c9\u7528 )"},"content":{"rendered":"<h2>USB WiFi<\/h2>\n<p>\u672c\u6b21\u6e2c\u8a66\u7684 USB WiFi dongle \u786c\u9ad4\u8cc7\u8a0a<\/p>\n<pre class=\"lang:default decode:true \">\u88dd\u7f6e\u63cf\u8ff0\r\n802.11b\/g Mini Wireless LAN USB 2.0 Adapter\r\n\r\n\u786c\u9ad4\u8b58\u5225\u78bc\r\nUSB\\VID_07B8&amp;PID_B21D&amp;REV_0001\r\nUSB\\VID_07B8&amp;PID_B21D<\/pre>\n<p>NanoPi \u6709\u652f\u63f4\u9a45\u52d5\uff0c\u53ef\u4ee5\u6383\u63cf AP<\/p>\n<pre class=\"lang:default decode:true\">root@NanoPi-NEO2:\/# nmcli dev\r\nDEVICE           TYPE      STATE         CONNECTION\r\neth0             ethernet  connected     Wired connection 1\r\nwlx00120e98e332  wifi      disconnected  --\r\nerspan0          erspan    unmanaged     --\r\ngretap0          gretap    unmanaged     --\r\ngre0             iptunnel  unmanaged     --\r\nlo               loopback  unmanaged     --\r\nroot@NanoPi-NEO2:\/# nmcli r wifi on\r\n\r\nroot@NanoPi-NEO2:\/# nmcli dev wifi\r\n*  SSID            MODE   CHAN  RATE       SIGNAL  BARS  SECURITY\r\n   YoYoHome        Infra  1     54 Mbit\/s  97      \u2582\u2584\u2586\u2588  WPA2\r\n   Home            Infra  1     54 Mbit\/s  60      \u2582\u2584\u2586_  WPA2\r\n   LiNiNiwireless  Infra  11    54 Mbit\/s  40      \u2582\u2584__  WPA2\r\n\r\nroot@NanoPi-NEO2:\/# nmcli dev wifi connect \"wifi\" password \"12345678\"\r\nDevice 'wlan0' successfully activated with '7e084707-f30a-462b-b742-2df9538ab735'.<\/pre>\n<p>--<\/p>\n<h2>\u958b\u6a5f\u5b8c\u6210\u624d\u57f7\u884c<\/h2>\n<ul>\n<li><a href=\"https:\/\/blog.wu-boy.com\/2017\/04\/update-rc-in-debian-or-ubuntu\/\" target=\"_blank\" rel=\"noopener\">Debian\/Ubuntu \u7684 update-rc.d \u4f7f\u7528\u6559\u5b78<\/a><\/li>\n<\/ul>\n<p>--<\/p>\n<h2>\u5c07 wlx??? \u7db2\u8def\u5361\u540d\u7a31\u6539\u6210 wlan0<\/h2>\n<ul>\n<li><a class=\"question-hyperlink\" href=\"https:\/\/askubuntu.com\/questions\/826325\/how-to-revert-usb-wifi-interface-name-from-wlxxxxxxxxxxxxx-to-wlanx\" target=\"_blank\" rel=\"noopener\">How to revert USB wifi interface name (from wlxXXXXXXXXXXXX to wlanX)?<\/a><\/li>\n<\/ul>\n<pre class=\"lang:default decode:true\"># ln -s \/dev\/null \/etc\/udev\/rules.d\/80-net-setup-link.rules\r\n# init 6<\/pre>\n<p>--<\/p>\n<h2>AP mode<\/h2>\n<ul>\n<li><a href=\"https:\/\/dotblogs.com.tw\/sideprogrammer\/2019\/02\/17\/raspberry-pi-set-ap\" target=\"_blank\" rel=\"noopener\">\u4f7f\u7528 Raspberry Pi \u67b6\u8a2d\u81ea\u5df1\u7684 AP<\/a><\/li>\n<li><a href=\"http:\/\/blog.ilc.edu.tw\/blog\/index.php?op=printView&amp;articleId=679605&amp;blogId=25793\" target=\"_blank\" rel=\"noopener\">\u8a66\u7528 Banana Pi R1 - \u8a2d\u5b9a\u6210\u7121\u7dda\u7684 AP<\/a><\/li>\n<li><a href=\"http:\/\/www.nljb.net\/default\/Ubuntu%E4%B8%8B%E4%BD%BF%E7%94%A8Hostapd%E6%90%AD%E5%BB%BA%E7%83%AD%E7%82%B9\/\" target=\"_blank\" rel=\"noopener\">Ubuntu\u4e0b\u4f7f\u7528Hostapd\u642d\u5efa\u70ed\u70b9<\/a><\/li>\n<\/ul>\n<p><strong>vi \/etc\/network\/interfaces<\/strong><\/p>\n<pre class=\"lang:default decode:true\">allow-hotplug wlan0\r\nauto wlan0\r\n    iface wlan0 inet static\r\n    address 172.17.1.1\r\n    netmask 255.255.255.0<\/pre>\n<p>\u555f\u7528<\/p>\n<pre class=\"lang:default decode:true \"># systemctl daemon-reload<\/pre>\n<p><strong>vi \/etc\/hostapd\/hostapd.conf<\/strong><\/p>\n<pre class=\"lang:default decode:true\">interface=wlan0\r\ndriver=nl80211\r\nssid=CC2050\r\nhw_mode=g\r\nchannel=7\r\n#ieee80211n=1\r\nwmm_enabled=0\r\nmacaddr_acl=0\r\nauth_algs=1\r\nignore_broadcast_ssid=0\r\nwpa=2\r\nwpa_passphrase=1122334455\r\nwpa_key_mgmt=WPA-PSK\r\nrsn_pairwise=TKIP CCMP<\/pre>\n<p><strong>vi \/etc\/dnsmasq.conf<\/strong><\/p>\n<pre class=\"lang:default decode:true\">interface=wlan0\r\nbogus-priv\r\ndhcp-range=172.17.1.100,172.17.1.200,24h<\/pre>\n<p>\u555f\u7528<\/p>\n<pre class=\"lang:default decode:true\"># systemctl enable dnsmasq\r\n# systemctl restart dnsmasq<\/pre>\n<p><strong>vi \/etc\/NetworkManager\/NetworkManager.conf<\/strong><\/p>\n<pre class=\"lang:default decode:true \">[main]\r\nplugins=ifupdown,keyfile,ofono\r\ndns=dnsmasq\r\n\r\n[ifupdown]\r\nmanaged=false\r\n\r\n[keyfile]\r\nunmanaged-devices=interface-name:wlan*\r\n#unmanaged-devices=mac:00:12:0e:98:e3:32<\/pre>\n<p>\u555f\u52d5<\/p>\n<pre class=\"lang:default decode:true\"># systemctl enable hostapd\r\n# systemctl start hostapd<\/pre>\n<p>\u521d\u6b21\u4f7f\u7528\u6642\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u6307\u4ee4\u986f\u793a\u57f7\u884c\u8a0a\u606f\u65b9\u4fbf\u9664\u932f<\/p>\n<pre class=\"lang:default decode:true\"># hostapd -d \/etc\/hostapd\/hostapd.conf<\/pre>\n<p>--<\/p>\n<h2>USB \u63d2\u5165<\/h2>\n<ul>\n<li><a href=\"http:\/\/benjr.tw\/10607\" target=\"_blank\" rel=\"noopener\">udev \u88dd\u7f6e\u547d\u540d\u898f\u5247<\/a><\/li>\n<li><a href=\"http:\/\/kolmogolovi.blogspot.com\/2011\/11\/linux-udev-1.html\" target=\"_blank\" rel=\"noopener\">Linux \u7684 udev \u662f\u500b\u6709\u8da3\u53c8\u6709\u7528\u7684\u73a9\u5177\uff081\uff09<\/a> (\u8acb\u770b\u5b8c\u5168\u7cfb\u5217)<\/li>\n<li><a id=\"cb_post_title_url\" class=\"postTitle2\" href=\"https:\/\/www.cnblogs.com\/rusking\/p\/6107989.html\" target=\"_blank\" rel=\"noopener\">Linux\u7cfb\u7edf\u4e0b\u67e5\u770bUSB\u8bbe\u5907\u540d\u53ca\u4f7f\u7528USB\u8bbe\u5907<\/a><\/li>\n<\/ul>\n<pre class=\"lang:default decode:true\"># dmesg\r\n\r\n[  481.325226] usb 5-1: USB disconnect, device number 2\r\n[  487.593530] usb 5-1: new high-speed USB device number 3 using ehci-platform\r\n[  488.097553] usb 5-1: reset high-speed USB device number 3 using ehci-platform\r\n[  488.606313] ieee80211 phy1: rt2x00_set_chip: Info - Chipset detected - rt: 2573, rf: 0002, rev: 000a\r\n[  488.607476] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'\r\n[  488.722344] rt73usb 5-1:1.0 wlx00120e98e332: renamed from wlan0\r\n[  488.829879] ieee80211 phy1: rt2x00lib_request_firmware: Info - Loading firmware file 'rt73.bin'\r\n[  488.830021] ieee80211 phy1: rt2x00lib_request_firmware: Info - Firmware detected - version: 1.7\r\n[  488.907798] IPv6: ADDRCONF(NETDEV_UP): wlx00120e98e332: link is not ready<\/pre>\n<p>--<\/p>\n<h2>\u52a0\u5165\u81ea\u5df1\u7684 USB \u63d2\u5165\u7a0b\u5e8f<\/h2>\n<p><strong>\/etc\/udev\/rules.d\/99-usbwifi.rules<\/strong><\/p>\n<pre class=\"lang:default decode:true\">RUN+=\"\/home\/wifi_script\"<\/pre>\n<p><strong>\/home\/wifi_script<\/strong><\/p>\n<pre class=\"lang:sh decode:true\">#!\/bin\/sh\r\necho $SEQNUM : $SUBSYSTEM : $ACTION : $DEVNAME : $ID_MODEL &gt;&gt; \/home\/wifi_script.log\r\n\r\n# plug usb\r\nif [ \"$ID_MODEL\" = \"802.11_bg_WLAN\" ] &amp;&amp; [ \"$DEVNAME\" = \"\"  ] &amp;&amp; [ \"$ACTION\" = \"add\" ]; then\r\n    \/usr\/bin\/sudo \/bin\/systemctl start hostapd\r\n    \/usr\/bin\/sudo \/bin\/systemctl start dnsmasq\r\nfi\r\n\r\n# remove usb\r\nif [ \"$ID_MODEL\" = \"802.11_bg_WLAN\" ] &amp;&amp; [ \"$ACTION\" = \"remove\" ]; then\r\n    \/usr\/bin\/sudo \/bin\/systemctl stop dnsmasq\r\n    \/usr\/bin\/sudo \/bin\/systemctl stop hostapd\r\nfi\r\n\r\nexit 0<\/pre>\n<p>\u5b8c\u6574\u7684 USB WiFi \u63d2\u5165 &amp; \u62d4\u51fa log \u7d00\u9304<\/p>\n<pre class=\"lang:default decode:true \">2419 : usb : add : \/dev\/bus\/usb\/005\/003 : 802.11_bg_WLAN\r\n2420 : usb : add : :\r\n2430 : leds : add : :\r\n2429 : leds : add : :\r\n2421 : ieee80211 : add : :\r\n2431 : leds : add : :\r\n2422 : rfkill : add : :\r\n2423 : net : add : : 802.11_bg_WLAN\r\n2424 : queues : add : :\r\n2428 : queues : add : :\r\n2427 : queues : add : :\r\n2426 : queues : add : :\r\n2425 : queues : add : :\r\n2434 : net : move : : 802.11_bg_WLAN\r\n2436 : leds : remove : :\r\n2437 : leds : remove : :\r\n2435 : leds : remove : :\r\n2441 : queues : remove : :\r\n2439 : queues : remove : :\r\n2440 : queues : remove : :\r\n2442 : queues : remove : :\r\n2438 : queues : remove : :\r\n2444 : rfkill : remove : :\r\n2443 : net : remove : : 802.11_bg_WLAN\r\n2445 : ieee80211 : remove : :\r\n2447 : usb : remove : :\r\n2449 : usb : remove : \/dev\/bus\/usb\/005\/003 : 802.11_bg_WLAN<\/pre>\n<p>--<\/p>\n<h2>\u5be6\u969b\u4f7f\u7528<\/h2>\n<figure id=\"attachment_6438\" aria-describedby=\"caption-attachment-6438\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi.jpg\" data-rel=\"lightbox-image-0\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" class=\"wp-image-6438 size-medium\" src=\"https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi-300x183.jpg\" alt=\"\" width=\"300\" height=\"183\" srcset=\"https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi-300x183.jpg 300w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi-768x469.jpg 768w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi-1024x625.jpg 1024w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi-492x300.jpg 492w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi.jpg 1280w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-6438\" class=\"wp-caption-text\">NanoPi_USB_WiFi<\/figcaption><\/figure>\n<figure id=\"attachment_6443\" aria-describedby=\"caption-attachment-6443\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi_AP.png\" data-rel=\"lightbox-image-1\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" class=\"wp-image-6443 size-medium\" src=\"https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi_AP-300x226.png\" alt=\"\" width=\"300\" height=\"226\" srcset=\"https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi_AP-300x226.png 300w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi_AP-768x577.png 768w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi_AP-1024x770.png 1024w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi_AP-399x300.png 399w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi_AP.png 1080w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-6443\" class=\"wp-caption-text\">NanoPi_USB_WiFi_AP<\/figcaption><\/figure>\n<figure id=\"attachment_6444\" aria-describedby=\"caption-attachment-6444\" style=\"width: 293px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi_HTTP.png\" data-rel=\"lightbox-image-2\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" class=\"wp-image-6444 size-medium\" src=\"https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi_HTTP-293x300.png\" alt=\"\" width=\"293\" height=\"300\" srcset=\"https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi_HTTP-293x300.png 293w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi_HTTP-768x785.png 768w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi_HTTP-1002x1024.png 1002w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2019\/11\/NanoPi_USB_WiFi_HTTP.png 1080w\" sizes=\"(max-width: 293px) 100vw, 293px\" \/><\/a><figcaption id=\"caption-attachment-6444\" class=\"wp-caption-text\">NanoPi_USB_WiFi_HTTP<\/figcaption><\/figure>\n<p>--<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p class=\"pvc_stats all \" data-element-id=\"6293\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> &nbsp;3,418&nbsp;total views, &nbsp;1&nbsp;views today<\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>USB WiFi \u672c\u6b21\u6e2c\u8a66\u7684 ...<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p class=\"pvc_stats all \" data-element-id=\"6293\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> &nbsp;3,418&nbsp;total views, &nbsp;1&nbsp;views today<\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[308],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/6293"}],"collection":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6293"}],"version-history":[{"count":26,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/6293\/revisions"}],"predecessor-version":[{"id":7331,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/6293\/revisions\/7331"}],"wp:attachment":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6293"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6293"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}