áá»áœááºá¯ááºááá¯á·áá²á០á¡áá»áá¯á·ááẠá¡ááŒá±á¬ááºážááŒáá»ááºáá
áºáᯠááá¯á·ááá¯áẠá¡ááŒá¬ážáá
áºáá¯ááŒá±á¬áá·áº VPN ááá«áá² á¡ááºáá¬áááºááᯠááá¯á¶ážááŒáá«á áá
áºá
á¯á¶áá
áºáŠážááẠáá®ážááŒá¬áž IP áá
áºáá¯ááá¯á¡ááºáááºá áááºáá±á¬ááºááŸá¯áá±ážáá°áá¶ááŸááááºá
á¬ááá¯áááºááŒááºážááẠIP ááŸá
áºáá¯áá«áá±á¬ VPS ááá¯áááºááŒááºážááẠááá¯ááá¯ááœááºáá°ááŒá®áž á
á»á±ážáááºáá¬áááºá áá
áºá
á¯á¶áá
áºáŠážááẠáááºááá¯ááºá¡á¬ážáá¯á¶ážááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááá¯ááẠáá¯ááŸá¬ážáááºááá±ážááŸááºážáááá¯ááºáááºááœááºááœáá·áºááŒá¯áá¬ážáá°áá»á¬ážáá¬ááá¡ááŒá¬ážáá°áá»á¬ážáá« IPv6 ááá¯á¡ááºáá±á¬áºáááºážáááºáá±á¬ááºááŸá¯áá±ážáá°ááŸááá±ážáá«á
á¡áá»á¬ážá
á¯ááŸá¬á ááá·áºááœáẠááœááºáá»á°áá¬áá
áºáá¯á¶ážááŸáá·áº áá¯ááºážáá
áºáá¯á¶ážáá¬ááŸáááŒá®áž áááºážááá¯á·ááᯠáá
áºáá»áááºáááºážááœáẠá¡áá¯á¶ážááŒá¯áá²áá«á áá
áºáá»áááºáááºážááœáẠá¡áá¯á¶ážááŒá¯áá±ááá·áº á
ááºáá
á¹á
ááºážáá±á«áºááœáẠVPN áá»áááºáááºááŸá¯ááᯠáááŒá¬ááááá¯áááᯠáááºáááºáá¬ážáááºá ááá·áºá¡áááºááœááºáááºááœáẠá
ááºáá
á¹á
ááºážáá»á¬ážá
áœá¬ááŸááá»áŸááºá ááá¯á·ááá¯áẠá¥ááá¬á¡á¬ážááŒáá·áºá VPN ááᯠáááºááŸááºááááá±á¬ á¡áá»áá¯á·á¡áá¬áá»á¬ážááŸááá«áá á
ááºáá
á¹á
ááºážáá
áºáá¯á
á®ááᯠáá®ážááŒá¬ážá
á®á
ááœáá·áºááŒááºážá¡ááŒá±á¬ááºáž áá
ááºážá
á¬ážááá
á±ááẠá¡áááºáá±á¬ááºáá±á¬ááºáá¬ááœáẠááá¯ááºááá¯ááºá¥áááºááá¯ááºáá±á«ááºážáá
áºáá¯ááᯠáááºáá®ážááŒááºážááẠááá¯áá¡áááºááŒá±áááºááŒá
áºáááºá .
ááá·áº router ááœáẠOpenVPN ááᯠáááºááá·áºááœááºážáá°ážáá«áá áááºážááẠá¡áá¯ááºáá¯ááºáá¯á¶ ááŒááºáááºááŒááºážááŒá±á¬áá·áº ááẠá¡á¶á·á¡á¬ážááá·áºá áᬠááŒá áºáá±á¬ááºážááŒá áºááá¯ááºáááºá Routing ááŸáá·áº NAT áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠá€áá¯ááºáááºážá¡ááœáẠáá®ážááá·áºáá¯ááºáá¯ááºáá¬ážáá±á¬ áá®ážááŒá¬ážáá»á áºááºáá áºáá¯ááá¯á· ááœáŸá²ááŒá±á¬ááºážááŒááºážááŒá±á¬áá·áº á á»á±ážáá±á«áá±á¬ router áá»á¬ážá SoC áá»á¬ážááẠgigabit á¡ááœá¬ážá¡áá¬áá áºáá¯áá»áŸ ááŒá¿áá¬áááŸááá² ááŒááºáááºážááœá¬ážáááºáá±á¬ááŒá±á¬áá·áºá áááºááœá±á·ááœáẠáááºážááá¯á·á¡áá±á«áº áááºáááŸááá±á á€á¡áá±ážá¡áá°ááẠááá·áºá¡á¬áž Router á ááŒááºááŸá¯ááºážááŒáá·áºáááŸáá á±ááŒá®áž á ááºáá á¹á ááºážáá á»á±ážááŸá¯ááºážááᯠáááááá¬áá¬áá»áŸá±á¬á·áá»ááá¯ááºá á±ááẠ- á¡á áœááºážáááºáááá¯áááºáá¬áá»á¬ážáá«ááŸááá±á¬ router áá»á¬ážááẠá¡ááá»á¬ážá áœá¬ááá¯ááá¯áá¯ááºáá»ááŒá®áž á¡ááºáá¬áááºááŒáá·áºáá±áááºá¡ááœáẠáá±áá¹áá¬áá áºáá¯á¡ááŒá áºáá¬áá NASá torrent áá²á·ááá¯á·áááºáž áá±áá¬áá°áá¬ážáááºá downloader ááŸáá·áº home multimedia á áá áºá
áá»áœááºá¯ááºá router á TP-Link TL-WDR4300 ááẠá¡áá
áºáá¯áá±á«áºááá¯ááááá« - áá±á¬áºáááºááẠ2012 ááŸá
áºáááºááœááºáá±á«áºáá¬ááŒá®áž 560 MHz MIPS32 74Kc áááá¯áá¬áááá¯áááºáá¬áá«ááŸáááŒá®ážá áá«áá«ááẠ20-23 Mb/s á¡ááœáẠáá¯ááºááŸááºáá¬ážáá±á¬á¡ááœá¬ážá¡áá¬á¡ááœáẠáá¯á¶áá±á¬ááºáá«áááºá á
á¶ááŸá¯ááºážá¡áááŒá
áºááá·áº OpenVPN ááŸáááá·áº áá±ááºáá®á¡áááºáá¯á¶ážá¡ááºáá¬áááºá¡ááŒááºááŸá¯ááºážááŸá¬ á¡ááœááºáááá·áºáá«áááºá
áá¯ááºááŸááºáá¬ážáá±á¬ á¥áááºáá
áºáá¯á á¡ááŒááºááŸá¯ááºážááᯠáá»áœááºá¯ááºááá¯á· áááºááá¯á· ááá¯ážááŒáŸáá·áºááá¯ááºáááºáááºážá áá»áœááºá¯ááºá router ááẠá¡áá±á¬áºáá±áž áá¯ááºáá±á¬ááºááá¯ááºáááºá 3x3 MIMO ááᯠáá¶á·ááá¯ážáá±ážáááºá áá±áá¯áá»á¡á¬ážááŒáá·áº áá±á¬ááºážááœááºá
áœá¬ á¡áá¯ááºáá¯ááºáááºá áááºážááᯠáá»áœááºá¯áẠáááŒá±á¬ááºážáá»ááºáá«á
10-megabyte á¡ááºáá¬ááẠá
á¬áá»ááºááŸá¬áá»á¬ážááᯠááŒá¯áá¯ááºááẠáá¯á¶ážá
á¶á¡ááá¯ááºáž ááŒá
áºáá±ááŒá® ááŒá
áºáá±á¬ááŒá±á¬áá·áº node.js ááœáẠdesktop application áá»á¬ážááᯠáá±ážááŒá®áž 100-megabyte ááá¯ááºá¡ááŒá
Ạáá¯ááºááá¯ážáá¬á optimization á¡á
á¬áž ááœááºááŒá°áᬠáá«áá«ááᯠááá¯ážááŒáá·áºá
á±áááºá áá»áœááºá¯ááºááá¯á·ááẠááŒá±á¬ááºáááºááœáẠáá
áºáá¯áá¯ááᯠáá¯ááºáá±á¬ááºáá«ááẠ- VPN áá»áááºáááºááŸá¯ááᯠáá»áœááºá¯ááºááá¯á·áᶠááœáŸá²ááŒá±á¬ááºážáá±ážáá«áááºá áááºááŸáááœááºáááºááŸáá·áº USB á¡áá±á«ááºáá»á¬ážááᯠ$9.99* ááŒáá·áºáᬠááá°áá² router case ááœáẠáááºáááºáá±ážááá·áº áá¯ááºáá¯ááºáá
áºáá¯ááŒá
áºááá·áº âááœááºááŒá°áá¬â Orange Pi Oneá
* + ááá¯á·áá±á¬ááºááŸá¯á + á¡ááœááºáá»á¬ážá + áá®áá¬á¡ááœááºá + MicroSD á
OpenVPN ááá¯
Router ááááá¯áááºáá¬ááẠáá¯á¶ážáá¡á¬ážáááºážáááºáᯠáá±á«áºááá¯ááááá« - áááºážááẠAES-128-CBC-SHA1 algorithm ááᯠá¡ááŒááºááŸá¯ááºáž 50 Mb/s ááŒáá·áº áá±áá¬á á¬ááŸááºááŒááºážááŸáá·áº áááºááŒááºážáá»á¬ážááᯠáá¯ááºáá±á¬ááºááá¯ááºáááºá áááºážááẠOpenVPN á¡áá¯ááºáá¯ááºáá¯á¶ááŸáá·áº áá±ááºáá ẠCHACHA20 áá¯ááºááœáŸáá·áºááŸá¯ááẠáááááá¬áᬠááá¯ááŒááºáááºá POLY1305 hash áá«áá±á¬ cipher ááẠáá áºá áá¹ááá·áºáá»áŸáẠ130 megabits ááá¯á·ááẠáá±á¬ááºááŸááá«áááºá VPN tunnel áá¡ááŒááºááŸá¯ááºážááẠá¡áááºááŒá±á¬áá·áº á€áá»áŸáááá·áºáá»áá±ááááºážá áááºážááẠá¡áá¯á¶ážááŒá¯áá°áá±áá¬ááŸáá·áº kernel space á¡ááŒá¬áž á¡ááŒá±á¬ááºážá¡áá¬ááŒá±á¬ááºážááŒááºážá¡ááŒá±á¬ááºážááŒá áºáááº- OpenVPN ááẠá¡ááœá¬ážá¡áá¬ááᯠáá¯ááºááŸááºááŒá®áž ááŒááºáááá¹áá¬ááŸáá·áº áá¯á¶ážá áœá²áá°á¡ááŒá±á¡áá±ááœáẠáááºááœááºáá±ážáᬠáááºážááŒá±á¬ááºážáááºážááŒá±á¬ááºážááẠkernel áááºá ááºááŸá¯ááœáẠááŒá áºáá±á«áºáááºá áááºáááºááŸá¯á áá áºááẠáááºáá¶áááŸááá±á¬ ááá¯á·ááá¯áẠáá¯ááºááœáŸáá·áºááá·áº áááºáá±á·ááºá»ááá¯ááºážá¡ááœáẠá¡áááºáááŒáẠá¡ááŒááºááŒááºá¡ááŸááºááŸáẠááŒá±á¬ááºážáá²ááááºááŒá áºááŒá®áž á€áá¯ááºáá±á¬ááºáá»ááºááẠááŸá±ážááœá±ážáá«áááºá á€ááŒá¿áá¬ááẠTUN/TAP áááá¯ááºáá¬ááŸáááá·áºáááºáááºáá±ááá·áº VPN á¡ááá®áá±ážááŸááºážáá»á¬ážá¡á¬ážáá¯á¶ážááœáẠáá±á«ááºááœá¬ážáá¬áᬠááŒááºááŸá¯ááºážáááá·áºáá±á¬ááŒá¿áá¬ááẠOpenVPN ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºáá¯ááºáá±á¬ááºááŒááºážááŒá±á¬áá·áºááŒá áºáááŒááºážááŒá áºááẠ(á¡ááŸááºáááºá ááŒááºáááºáá¯ááºáá±á¬ááºááẠááá¯á¡ááºááá·áºáá±áá¬áá»á¬ážááŸááááº) áᯠáááŒá±á¬ááá¯ááºáá«á userspace VPN client áá áºáá¯áááºážááẠá¡á¬ážáááºážáá±á¬ áááá¯áááºáá¬áá«ááá·áº á áá áºáá»á¬ážááá¯áááá¯áá¬ážááŸáá·áº áá»áœááºá¯ááºááááºááºáá±á¬á·ááœáẠáá¯ááºááŸááºááŒááºážááᯠááááºáá¬ážááá·áº gigabit ááá¯ááẠáá¶á·ááá¯ážáá±ážáá«áááºá
áááá¹áá±á¬áºáá±á¬áẠPiOne
Xunlong á០single-board Orange Pi One ááẠáááºááŸáá¡áá»áááºááœáẠá áœááºážáá±á¬ááºáááº/á á»á±ážááŸá¯ááºážá¡áá»áá¯ážá¡á á¡áá±á¬ááºážáá¯á¶ážáááºážááŸááºážáá»ááºááŒá áºáááºá $9.99* ááŒáá·áº áááºááẠ7 MHz (áááºááŒáááºáá±á¬) áááºáááºáá±áá±á¬ quad-core ARM Cortex-A1008 áááá¯áááºáá¬ááᯠáááŸáááŒá®áž áááºážáá á»á±ážááŸá¯ááºážá¡ááŸáẠá¡áááºáá®ážáá»ááºáž Raspberry Pi Zero ááŸáá·áº Next Thing CHIP ááẠáááááá¬áᬠá áœááºážáá±á¬ááºáááºááŒáá·áºáá¬ážáá«áááºá á€áá±áá¬ááœáẠá¡á¬ážáá¬áá»ááºáá»á¬áž áá¯ááºáá¯á¶ážááœá¬ážáá«áááºá Xunlong áá¯áá¹ááá®ááẠáááºážá áá¯ááºáá»á¬ážáá±á¬á·ááºáá²ááºááᯠáá¯á¶ážáá¡á¬áá¯á¶á áá¯ááºáá¬ážááŒá®áž One ááᯠá áááºáá±á¬ááºážáá»áá»áááºááœááºá á¡áááºááá·áºáá¯ááºáá¬ážááá·áº áá¯á¶áá»á¬ážááᯠáá±á¬áºááŒááŒááºážáááŒá¯áá² áá¯ááºááœá²á·á ááºážáá¯á¶ááá¯ááºááá¯ááẠááá±á¬áºááŒáá²á·áá±á SoC áá¯ááºáá¯ááºáá° Allwinner ááẠáááºážááá¯ááºáá¯ááºááᯠáá¶á·ááá¯ážáá¬ááœáẠá¡áá°ážáááááá¬ážáááá«á áááºážááá¯á·ááẠAndroid 4.4.4 OS ááœáẠá¡áááºážáááºáᬠá áœááºážáá±á¬ááºáááºááᯠá áááºáááºá á¬ážááŒááŒá®ážá ááá¯ááá¯áááºááŸá¬ áá»áœááºá¯ááºááá¯á·ááẠAndroid áá¬áá±ážááŸá¯áá»á¬ážááŒáá·áº 3.4 kernel ááᯠáááŒá áºááá± á¡áá¯á¶ážááŒá¯ááááºáᯠááá¯ááá¯áá«áááºá áá¶áá±á¬ááºážáá±á¬ááºáá áœá¬á ááŒáá·áºáá±ááŸá¯áá»á¬ážááᯠá á¯á ááºážáá¬á kernel ááᯠáááºážááŒááºááŒááºážá áááºáááá¯ááºáž kernel ááŸá áá¯ááºáá»á¬ážááᯠáá¶á·ááá¯ážáááºá¡ááœáẠáá¯ááºáá±ážáá±ážáá±á¬ áá«ááá¬ááŸááºáá»á¬áž ááŸááá«áááºá áá°ááá¯á·ááẠáá¯ááºáá¯ááºáá°á¡ááœáẠá¡ááŸááºááááºá¡áá¯ááºáá¯ááºááŒááŒá®áž á€á¡áá áºá¡ááŒá±ážáá»á¬ážááᯠáááºáá¶ááá¯ááºááœááºááŒá áºá¡á±á¬áẠáá¯ááºáá±á¬ááºááŒáááºá áá»áœááºá¯ááºááááºááœááºáá»ááºáá»á¬ážá¡ááœááºá áá»áœááºá¯ááºááẠArmbian ááŒáá·áºááŒá°ážááŸá¯ááᯠááœá±ážáá»ááºáá²á·áááºá áááºážááᯠáááŒá¬ááááŸáá·áº á¡áááºááŒá±á áœá¬ á¡ááºááááºáá¯ááºáá±ááẠ(Kernel á¡áá áºáá»á¬ážááᯠpackage manager ááŸáááá·áº ááá¯ááºááá¯ááºááá·áºááœááºážáá¬ážááŒá®ážá Allwinner ááœáẠá¡áá»á¬ážá¡á¬ážááŒáá·áºáá²á·ááá¯á· á¡áá°ážá¡ááá¯ááºážáá áºáá¯ááá¯á· ááá¯ááºáá»á¬ážááá¯áá°ážáá°ááŒááºážááá¯ááºáá² ááá¯ááºáá»á¬ážááᯠáá°ážáá°ááŒááºážááá¯ááºáá«)á áááºážááẠá¡áá»á¬ážá á¯ááᯠáá¶á·ááá¯ážáá±ážáá«áááºá á¡ááŒá¬ážá¡áá¶áá á¹á ááºážáá»á¬ážá
Router á
Router á á¡á¬ážáááºážáá±á¬ áááá¯áááºáá¬ááᯠáá¯ááºááŸááºááŒááºážááŸáá·áº áá»áœááºá¯ááºááá¯á·á VPN áá»áááºáááºááŸá¯ááᯠá¡ááŸáááºááŒáŸáá·áºáááºá áááºážááᯠRouter ááá¯á· áá áºáááºážáá áºáá¯á¶ áá»áááºáááºááŒááºážááŒáá·áº áááºážááᯠááá¯ááá¯á¡á¬ážáá±á¬ááºážáá±á¬ Orange Pi áááá¯áááºáá¬á ááá¯á¶ážááá¯á· ááŒá±á¬ááºážááá¯ááºáááºá Ethernet ááá¯á·ááá¯áẠUSB ááŸáááá·áºáá±á¬áºáááºážáá±á¬ááºáž áá»áááºáááºááŒááºážá¡á¬áž ááááááááẠ- á€á á¶ááŸá¯ááºážááŸá áºáá¯áá¯á¶ážááᯠá ááºááŸá áºáá¯áá¯á¶ážá áá±á¬ááºáá¶áá±á¬áºáááºáž ááŸáááŒá®ážáá¬áž port áá»á¬ážááᯠááá°áá»ááºáá«á áá¶áá±á¬ááºážáá±á¬ááºáá áœá¬, ááœááºáááºážááŸááá«áááºá
Router ááœááºá¡áá¯á¶ážááŒá¯ááá·áº GL850G USB hub áá»á
áºááºááẠUSB á¡áá±á«áẠ4 áá¯ááᯠáá¶á·ááá¯ážáá±ážáá¬ážááŒá®áž áááºážááá¯á·áá²á០ááŸá
áºáá¯ááŸá¬ ááŒáá¯ážááááºáá¬ážáá±á áá¯ááºáá¯ááºáá°ááẠáááºážááá¯á·á¡á¬áž ááŒáá·áºáá¬ážáá±á¬ áááºááŸááá¯á¶ážá
áœá²ááŸá¯ (á¥ááá¬á áá¬á·ááºáááá¯ááºáá»á¬áž) ááŒáá·áº á
ááºáá
á¹á
ááºáž 4 áá¯ááᯠáá
áºááŒáááºáááºáž áá»áááºáááºááŒááºážá០áá¯á¶ážá
áœá²áá°áá»á¬ážá¡á¬áž áá»áááºáááºááŒááºážá០áá¬ážáá®ážááẠá¡áááºááŒá±á¬áá·áº áááºážááá¯á·á¡á¬áž áááºááá¯ááºááááºážáᯠáá»áœááºá¯ááºáá°ááá«áááºá Router á á
á¶áá«áá«áá±á¬ááºáá¶á·ááŸá¯ááẠááá¯ááá¯á·áá±á¬áááºá¡ááœáẠáá®ááá¯ááºážáá¯ááºáá¬ážááŒááºážáááŸááá«á áááºááá¯á·áááºááá¯á
á±áá¬áá° á€á¡áá¬ááẠáá»áœááºá¯ááºááá¯á·á á¡á¬ážáá¬áá»ááºááŒá
áºáááºá
áá±á¬ááºááẠUSB á¡áá±á«ááºááááºá áááºáá¶áá«áẠ8(D-) ááŸáá·áº 9(D+) ááá¯á·ááá¯áẠ11(D-) ááŸáá·áº 12(D+) ááá¯á· ááá¯ááºáá¬ááŒáá¯ážááŸá
áºáá»á±á¬ááºážááᯠááá±áá±á¬áºááẠááá¯á¡ááºáááºá
ááá¯á·áá±á¬áºá USB áááááá¬ááŸá
áºáá¯ááᯠááá¯ážááŸááºážá
áœá¬áááºááŒá®áž Ethernet áá²á·ááá¯á·ááẠá¡áá¬á¡á¬ážáá¯á¶ážááẠáá°á·áá¬áá¬áá° áá¯ááºáá±á¬ááºááá¯ááºáááºáᯠáá»áŸá±á¬áºááá·áºáá¬ážáá¯á¶ááŒáá·áº ááá¯á¶áá±á¬ááºáá«á ááááŠážá
áœá¬á áááºážááá¯á·áá²á០áá
áºáá¯ááᯠUSB Client áá¯ááºááœáẠáá¯ááºáá±á¬ááºááẠááá¯á¡ááºááŒá®áž USB Host ááá¯ááºáá²á áá¯áááá¡áá±ááŒáá·áºá á
ááºáá
á¹á
ááºážáá»á¬ážááẠá¡áá»ááºážáá»ááºáž áááºááá¯á·ááááŸáááá¯ááºáááºááᯠáá¯á¶ážááŒááºááẠááá¯á¡ááºáá«áááºá USB Gadgets áá¯áá±á«áºáá±á¬ USB Gadgets (Linux kernel subsystem ááá¯á¡áááºáá±ážáá¬ážááá·áº) á¡ááœáẠDriver áá»á¬ážá
áœá¬ááŸáááẠ(Linux kernel subsystem) ááẠUSB á¡áá»áá¯ážá¡á
á¬ážá¡áá»áá¯ážáá»áá¯ážááᯠá¡áá¯áá°ááá¯ááºáááº- network adapterá audio cardá keyboard ááŸáá·áº mouseá flash driveá cameraá console ááᯠá¡ááŸááºá
ááºááŸáááá·áº ááááºáááºážá áá»áœááºá¯ááºááá¯á·áá
ááºáá
á¹á
ááºážááẠááœááºáááºááŸáá·áºá¡áá¯ááºáá¯ááºáááºááŒá
áºáá±á¬ááŒá±á¬áá·áº Ethernet adapter ááᯠá¡áá¯áá°ááŒááºážááẠáá»áœááºá¯ááºááá¯á·á¡ááœáẠá¡áá±á¬ááºážáá¯á¶ážááŒá
áºáááºá
Ethernet-over-USB á á¶ááŸá¯ááºážáá¯á¶ážáá»áá¯ážááŸááááºá
- á¡áá±ážááááºáž NDIS (RNDIS). Windows XP ááœáẠá¡áááá¡á¬ážááŒáá·áº á¡áá¯á¶ážááŒá¯áá±á¬ Microsoft á០áá±ááºááá®áá±á¬á á¶ááŸá¯ááºážáá áºáá¯á
- á¡á®áá¬áááºááááºážáá»á¯ááºááŸá¯áá¯á¶á ᶠ(ECM). USB áá¯ááºááá¯ážááŸá¯áá»á¬ážá¡ááœááºáž á¡á®áá¬áááºáá±á¬ááºáá»á¬ážááᯠáá¯á¶ážá¡á¯ááºáá¬ážááá·áº ááá¯ážááŸááºážáá±á¬á á¶ááŸá¯ááºážá áá¯ááºáá±á¬ááºááŒááºážáááŸááá² frames áá»á¬ážááá¯ááœáŸá²ááŒá±á¬ááºážáááºá¡áááºááŒá±áá±á¬ USB áá»áááºáááºááŸá¯ááŸááá±á¬ááŒáá¯ážááẠmodems á¡ááœááºáá±á¬ááºážááœááºáá±á¬áºáááºáž USB bus áááá¯ážááŸááºážááŸá¯ááŸáá·áºááá·áºáááºáá»ááºáá»á¬ážááŒá±á¬áá·áºáááºážáááºá¡ááœááºááŒááºáááºáááºááá¯ááºáá«á
- Ethernet Emulation Model (EEM). USB ááá·áºáááºáá»ááºáá»á¬ážááᯠááá·áºááœááºážá ááºážá á¬ážááŒá®áž áááááºá¡áá»á¬ážá¡ááŒá¬ážááᯠáá áºáá¯áááºážá¡ááŒá Ạá¡áá±á¬ááºážáá¯á¶áž áá±á«ááºážá ááºáá±ážááá·áº á áááºáá»áá±á¬ áááá¯ááá¯áá±á¬áá áºáá¯ááẠá áœááºážáááºááᯠááá¯ážá á±áááºá
- ááœááºáááºááááºážáá»á¯ááºááŸá¯áá¯á¶á ᶠ(NCM). áá±á¬ááºáá¯á¶ážáá±á«áº áááá¯ááá¯áá±á¬á EEM á á¡áá»áá¯ážáá»á±ážáá°ážáá»á¬ážááŸáááŒá®áž áááºá áºáá¬áž á¡ááœá±á·á¡ááŒá¯á¶ááᯠááá¯ááᯠáá±á¬ááºážááœááºá¡á±á¬áẠááŒá¯áá¯ááºáá±ážáá«áááºá
áá»áœááºá¯ááºááá¯á·ááá¯ááºá¡ááœá²á·ááœáẠá€áááá¯ááá¯áá±á¬ááá¯áááá¯áá¯ááºáá±á¬ááºááẠá¡ááŒá²ááá¯ááá¯á áá»áœááºá¯ááºááá¯á·ááẠá¡áááºá¡áá²á¡áá»áá¯á·ááᯠááŒá¯á¶ááœá±á·ááááºááŒá
áºáá«áááºá Allwinner ááẠkernel á Android á¡á
áááºá¡ááá¯ááºážáá»á¬ážááá¯áᬠá
áááºáááºá
á¬ážáá±á¬ááŒá±á¬áá·áºá Android Gadget áá
áºáá¯áááºážáᬠáá¯á¶ááŸááºá¡áá¯ááºáá¯ááºááẠ- adb ááŸáá·áº áááºááœááºááŸá¯á á
ááºáá
á¹á
ááºážááᯠMTP áááá¯ááá¯áá±á¬ááŸáá
áºááá·áº áááºááá¯á·ááŒááºážááŸáá·áº Android á
ááºáá
á¹á
ááºážáá»á¬ážááœáẠflash drive ááᯠá¡áá¯áá°ááá·áº áá¯ááºáá
áºáá¯áᬠáá¯á¶ááŸááºá¡áá¯ááºáá¯ááºáá«áááºá Android Gadget ááá¯ááºááá¯ááºááááºáž RNDIS áááá¯ááá¯áá±á¬ááᯠáá¶á·ááá¯ážáá±ážáá±á¬áºáááºáž Allwinner kernel ááœáẠáá»ááºááœá¬ážáá«áááºá á¡áááºá áááºááẠkernel ááᯠá¡ááŒá¬ážáá±á¬ USB Gadget áá
áºáá¯áá¯ááŒáá·áº á
á¯á
ááºážááẠááŒáá¯ážá
á¬ážáá«áá áááºáá¬áá¯ááºáááºááŒá
áºá
á± á
ááºáá
á¹á
ááºážááẠá
áá
áºáá±á«áºááœáẠáá±á«áºáá¬áááºááá¯ááºáá«á
ááŒá¿áá¬ááá¯ááŒá±ááŸááºážáááºá áá±á¬áºááœá±áá±á¬áááºážáááºážááŒáá·áºá áá±á¬á·ááºáá²áá±ážáá¬ážáá°áá»á¬ážááŸááŒá¯ááŒááºáá¬ážáá±á¬ Android gadget android.c ááá¯ááºááœáẠUSB controller ááᯠá¡á
ááŒá¯áá¬ážááá·áºáá±áá¬ááᯠááŸá¬ááẠááá¯á¡ááºáá±á¬áºáááºáž á¡áááºážáá¯á¶áž Ethernet emulation ááŒá¯áá¯ááºááẠáááºážáááºážáá
áºáá¯áááºáž ááŸááá«áááºá USB á¡áá¯ááº-
--- sun8i/drivers/usb/sunxi_usb/udc/sunxi_udc.c 2016-04-16 15:01:40.427088792 +0300
+++ sun8i/drivers/usb/sunxi_usb/udc/sunxi_udc.c 2016-04-16 15:01:45.339088792 +0300
@@ -57,7 +57,7 @@
static sunxi_udc_io_t g_sunxi_udc_io;
static u32 usb_connect = 0;
static u32 is_controller_alive = 0;
-static u8 is_udc_enable = 0; /* is udc enable by gadget? */
+static u8 is_udc_enable = 1; /* is udc enable by gadget? */
#ifdef CONFIG_USB_SUNXI_USB0_OTG
static struct platform_device *g_udc_pdev = NULL;
ဠpatch ááẠUSB áááá¯ááºážááá·áºáá¯ááºááᯠááœááºážá¡á¬ážáá±ážááŒá®áž Linux á០áá¯á¶ááŸáẠUSB Gadgets áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááœáá·áºáá±ážáááºá
ááᯠáááºááẠဠpatch ááŸáá·áº ááá¯á¡ááºáá±á¬ gadget ááŒáá·áº kernel ááᯠááŒááºáááºáááºáá±á¬ááºááá·áºáááºá EEM ááᯠááœá±ážáá²á·áá¬ááá¯áá±á¬á·... á
ááºážáááºááŸá¯ááááºáá»á¬ážá¡áá áááºážááẠNCM áááºááá¯ááá¯á¡áá»áá¯ážááŒá
áºááœááºážáááºá
Armbian á¡ááœá²á·á០áá±á¬ááºááœááºáá±ážáá«áááºá userpatches/kernel/sun8i-default/otg.patch
áááºážáááºážááŒááºáá«á compile.sh
ááá¯á¡ááºáá±á¬ gadget ááá¯ááœá±ážáá»ááºáá«-
kernel ááᯠdeb package áá
áºáá¯á¡ááŒá
Ạá
á¯á
ááºážáá¬ážáááºááŒá
áºááŒá®ážá áááºážááŸáá
áºááá·áº board ááœáẠááá·áºááœááºážááẠáááºáá²áááºááá¯ááºáá«á dpkg
.
áá»ááºáááºááŸá¬ USB ááŸáá
áºááá·áº áá¯ááºááá¯áá»áááºáááºááŒá®áž DHCP ááŸáá
áºááá·áº ááááºá
á¬áá
áºáá¯áááºáá¶áááŸáááẠáá»áœááºá¯ááºááá¯á·áááœááºáááºá¡áááºáá¬á¡áá
áºááᯠá
á®á
ááºáááºááŸááºáááºááŒá
áºáááºá ááá¯ááá¯á·ááŒá¯áá¯ááºááẠá¡á±á¬ááºáá«áá²á·ááá¯á· áá
áºáá¯áá¯ááᯠááá·áºááẠááá¯á¡ááºáá«áááºá /etc/network/interfaces
:
auto usb0
iface usb0 inet dhcp
hwaddress ether c2:46:98:49:3e:9d
pre-up /bin/sh -c 'echo 2 > /sys/bus/platform/devices/sunxi_usb_udc/otg_role'
MAC ááááºá
á¬ááᯠmanually áááºááŸááºáá¬á ááá¯áá±á¬ááºážáá¬ááá¯á·... á
ááºáá
á¹á
ááºážááᯠááŒááºáááºá
áááºááá·áºá¡áá«ááá¯ááºáž áááºážááẠááŒá¯á¶áá¬áá»áááºážááŒá
áºáááá·áºáááºá áááºážááẠá¡áááºáááŒá±ááŒá
áºááŒá®áž áá¯áá¹ááá±ážáá«áááºá
áá»áœááºá¯ááºááá¯á·ááẠMicroUSB ááŒáá¯ážááᯠOTG áá»áááºáááºáááááá¬ááá¯á· áá»áááºáááºáᬠrouter á០áá«áá«áá»áááºáááºáá« (áááºážá¡á¬áž áá±á«ááºážááŒá®ážá áááºáá¶áá«áẠ2 ááŸáá·áº 3 ááá¯á· áá«áá«áá»áááºáááºáááááá¬ááá¯á·áá¬áá áá«áá«áá»áááºáááºáááááá¬ááá¯á· áá±ážáá±á¬ááºááá¯ááºáááº)á
áá»ááºáááºááŸá¬ router ááᯠconfigure áá¯ááºáááºááŒá áºáááºá á¡áá¯ááºááᯠEEM driver ááŒáá·áºááá·áºááœááºážááŒá®áž local firewall zone ááá¶áá¬ážááá¯á·áá»áœááºá¯ááºááá¯á·á USB ááœááºáááºáááááá¬á¡áá áºááá¯ááá·áºáááºáá¯á¶áá±á¬ááºáá«áááºá
opkg install kmod-usb-net-cdc-eem
VPN á¥áááºááá¯ááºáá±á«ááºážááá¯á· á¡ááœá¬ážá¡áá¬á¡á¬ážáá¯á¶ážááᯠáááºážááŒá±á¬ááºážááŒáááºá áááºááẠrouter áááºááŸá áá¯ááºá IP ááááºá
á¬ááá¯á· SNAT á
ááºážáá»ááºážááᯠáá±á«ááºážááá·áºááẠááá¯á·ááá¯áẠdnsmasq ááŸáá
áºááá·áº áá¯ááºá¡ááœá²á·áááááºá
á¬ááᯠááááºáá±á«ááºááááºá
á¬á¡ááŒá
ẠááŒáá·áºáá±ááẠááá¯á¡ááºáááºá áá±á¬ááºáá¯á¶ážááœáẠá¡á±á¬ááºáá«á
á¬ááŒá±á¬ááºážááᯠáá±á«ááºážááá·áºááŒááºážááŒáá·áº áá¯ááºáá±á¬ááºáááºá /etc/dnsmasq.conf
:
dhcp-option = tag:lan, option:router, 192.168.1.100
áááºááŸá¬ 192.168.1.100
- ááá·áºáá¯ááºá¡ááœá²á·á IP ááááºá
á¬á board áá±á«áºááŸá ááœááºáááºáááºáááºáá»á¬ážááœáẠrouter ááááºá
á¬ááᯠááá·áºááẠááá±á·áá«ááŸáá·áºá
Router á¡áááºá¡ááœááºáá»á¬ážá០áá¯ááºá¡áááºá¡ááœááºáá»á¬ážááᯠááœá²áá¯ááºáááºá¡ááœáẠáááºááááºážáá±ááŒáŸá¯ááºááᯠá¡áá¯á¶ážááŒá¯áá²á·áááºá á€áá²á·ááá¯á· ááœááºáá±á«áºáá¬áááº-
áá±á¬ááºáá»ááº
USB ááŸáá
áºááá·áº ááœááºáááºááẠá¡á¶á·á¡á¬ážááá·áºááœáẠáá»ááºááŒááºá
áœá¬ á¡áá¯ááºáá¯ááºáááº- 100-120 Mb/sá áá»áœááºá¯áẠáá»áŸá±á¬áºááŸááºážáá¬ážáááºááẠááá¯áááºážáááºá OpenVPN ááẠáá¯ááºááŸááºáá¬ážáá±á¬ á¡ááœá¬ážá¡áá¬á 70 Mb/s ááá·áºááᯠááŒááºáááºážáááºá áááºážááẠá¡ááœááºááá¯ááºáá±á¬áºáááºáž áá»áœááºá¯ááºáááá¯á¡ááºáá»ááºáá»á¬ážá¡ááœáẠáá¯á¶áá±á¬ááºáá«áááºá Router á¡áá¯á¶ážááᯠáááºážáááºážáá»ááºáá»áẠáááááºáá² áá±ážáááºáá±á¬ ááœá¬ááá»áẠáá»ááºáá¬ážáááºá Aesthetes ááẠEthernet ááŸáá·áº USB Host áá»áááºáááºááŸá¯áá»á¬ážááᯠáá¯ááºá¡ááœá²á·á០áááºááŸá¬ážááá¯ááºááŒá®ážá áááºážááẠá¡áá¯á¶ážááᯠáá¯á¶ážáááááºááá¯ááºááŒá®áž áá±áá¬á¡áááºážáááºáá»ááºáá±áá±ážáááºá
áá®ááá¯áá
áºáááºážáá¯ááºáá¯á¶ááœá±ááᯠáááºááŒá®áž ááááºáᬠááá¯áá±á¬ááºážáá«áááºá
source: www.habr.com