ãã«ãã¡ãã£ã¢ããã³ãããã¯ãŒã¯ãšã¬ã¯ãããã¯ã¹ã®éçºã«äœ¿çšã§ããå°æ¹Ÿã®äŒæ¥Realtekã®é»åã³ã³ããŒãã³ãã«é¢ãã
äžé£ã®åºçç©ãç¶ç¶ããŠããŸãã
å
æ¥ãRealtek 8332Mã¹ã€ããããã»ããµãããŒã¹ã«ããRTL_8332M_DDR3_DEMO_P2L_V1.0ãã«ãããŒãã¹ã€ããã®ãã¢ããŒããšãç¬èªéçºããŒã«ã»ãããçšæããŸããã ã«ããã®äžã§ããã®ããŒããäœã§ãããã説æããRealtek SDKã«åºã¥ããŠãã¡ãŒã ãŠã§ã¢ãã¢ã»ã³ãã«ããã³ããŠã³ããŒãããããã»ã¹ã説æããQoSãã¹ãã§çµæã®ã¹ã€ããã®ã¹ã«ãŒãããããã¹ãããŸãã
ãã¢ããŒãã¯ã24åã®ãã¡ã¹ãã€ãŒãµãããããŒããš4åã®ã®ã¬ãããã€ãŒãµãããããŒããåãã管çãã«ãããŒãã¹ã€ããçšã®ãœãããŠã§ã¢ãéçºããã³ãããã°ããããã«èšèšãããŠããŸãã 䜿çšãããã¹ã€ããããã»ããµã®åºç€ã¯MIPS-4KEc 32ããã@ 500MHz CPUã§ãããã¹ã€ããã®ãã¹ãŠã®æ©èœãå¶åŸ¡ã§ããŸãã
ããããèªè
ã«ã¯çåããããŸãããå®å®è¹ãå®å®ã®åºãããèããšããã«ããªããã¡ã¹ãã€ãŒãµãããã¹ã€ããã®éçºãå¿
èŠã«ãªãã®ã§ããããã ç§ãã¡ã®æèŠã§ã¯ããã®å®äŸ¡ãªãœãªã¥ãŒã·ã§ã³ã¯ãé«ãããŒã¿è»¢éé床ãèŠæ±ãããªãã·ã¹ãã ã§éèŠããããããããŸããã ããšãã°ãIPãã¬ãã©ããŒãšç£èŠã«ã¡ã©ã®æ¥ç¶ã
å§ããããã«ãã¹ã€ããããã»ããµã®ç°¡åãªèª¬æãããŸãããã
- ããŒãïŒ24ããŒããã¡ã¹ãã€ãŒãµããã+ 4ããŒãã®ã¬ãããã€ãŒãµããã
- çµã¿èŸŒã¿ã®8ããŒããã¡ã¹ãã€ãŒãµãããPHY
- å€éšãã¡ã¹ãã€ãŒãµãããPHYãžã®2ã€ã®ç¬ç«ããXSMIIã€ã³ã¿ãŒãã§ã€ã¹ã®ãµããŒã
- QSGMIIã€ã³ã¿ãŒãã§ã€ã¹ãŸãã¯2çµã®RSGMII / SGMII / 1000Base-X / 100Base-FXã€ã³ã¿ãŒãã§ã€ã¹
- ã·ãªã¢ã«/ãã¥ã¢ã«I / Oã¢ãŒã32 MB SPIãã©ãã·ã¥ããµããŒã
- æ倧128 MB DDR1 / DDR2ãŸãã¯256 MB DDR3ãŸã§ã®å€éšã¡ã¢ãªãžã®ã€ã³ã¿ãŒãã§ãŒã¹
- 500 MHzã®ä»®æ³ã¡ã¢ãªã¢ãã¬ãã·ã³ã°ïŒMMUïŒããµããŒãããMIPS-4KEcã³ã¢
- 128kB SRAM
- ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ïŒCLIïŒãä»ãããããã°ããã³å¶åŸ¡çšã®2ã€ã®ã·ãªã¢ã«ããŒã
- EJTAGãããã°ã€ã³ã¿ãŒãã§ã€ã¹ã®ãµããŒã
- EEPROMãI2Cãããã³SPIã®ãµããŒã
- EAVã1588v2ããµããŒã
- ã±ãŒãã«èšºæïŒRTCTïŒãµããŒã
- IEEE 802.3az Energy Efficient EthernetïŒEEEïŒããµããŒã
ãããã¯åºæ¬çãªã¹ã€ããæ©èœãæäŸããŸãæ©èœL2 VLAN
VLAN 4096ã®æ倧æ°
MSTPïŒIEEE 802.1sïŒãRSTPãããã³STPã®æ倧64ã®ç¬ç«ããããã»ã¹ããµããŒã
Q-in-Qããã³VLANã¿ã®ã³ã°
æ©èœL2 MAC
æ倧10 KBã®ãããã¯ãŒã¯ãã±ããé·
8K L2 MACã¢ãã¬ã¹ã®è¡š
512ãã«ããã£ã¹ãã¢ãã¬ã¹ããŒãã«
IGMPv1 / 2/2/3ããã³MLDv1 / 2/2ã¹ããŒãã³ã°ã®ãµããŒã
ãã®ä»ã®L2æ©èœ
ãããŒããã£ã¹ãããã«ããã£ã¹ããäžæãªãã«ããã£ã¹ãããã³äžæãªãŠããã£ã¹ãã®ãã©ãã£ãã¯å¶åŸ¡
ãã©ãã£ãã¯ã®ãã©ãŒãªã³ã°ã®ãµããŒã
ãªã³ã¯ã¢ã°ãªã²ãŒã·ã§ã³ã®ãµããŒãïŒIEEE 802.3adïŒ
ã«ãŒãããã¯ã®èªèãšåé¢ã®ãµããŒãïŒRLPP / RLDPïŒ
ã¢ã¯ã»ã¹å¶åŸ¡ãªã¹ãæ©èœïŒACLïŒ
L2 / L3 / L4圢åŒïŒDMACãSMACããã³Ether-TypeïŒããµããŒã
IPv6 ACL
QoSæ©èœ
ããŒãããšã«8ã€ã®ãã¥ãŒ
Strict PriorityïŒSPïŒãWeighted Fair QueueïŒWFQïŒãããã³Weighted Round RobinïŒWRRïŒã¢ã«ãŽãªãºã ã䜿çšãããã¥ãŒã€ã³ã°
çŽå
¥ç¯å²RTL_8332M_DDR3_DEMO_P2L_V1.0
æéã«å«ãŸãããã®ïŒ
- 24åã®10 / 100Mã€ãŒãµãããããŒã
- 4ã®ã¬ãããã€ãŒãµãããããŒã
- 4åã®SFPããŒã
- ã¹ã€ããããã»ããµRTL8332M
- 2ã€ã®8ããŒã10 / 100Base-TX RTL8208Lãã©ã³ã·ãŒããŒ
- 4ããŒãã®ã¬ãããã€ãŒãµããããã©ã³ã·ãŒããŒRTL8214B
- DDR3 SDRAMïŒ128MïŒ
- LEDããã«
- UARTã€ã³ã¿ãŒãã§ãŒã¹åºå
- SPIãã©ãã·ã¥ïŒ16MïŒ
ããã€ã¹ã®ãããã¯å³ïŒ
以äžã®åçã¯ãããŒãã®åŽé¢å³ã瀺ããŠãããããŒããã¯ã£ãããšèŠããŠããŸãã
å
¥æããéçºããŒã«ã«ã¯ãããŒã«ãã§ãŒã³ãLinuxãšu-bootãœãŒã¹ãåããSDKãããã³ããã€ãã®ããã¥ã¡ã³ããå«ãŸããŠããŸãã
Realtek SDKãããã¡ãŒã ãŠã§ã¢ããã«ããã
ããŒã«ãã§ãŒã³ãå±éããããã«PATHã«ããŒã«ãã§ãŒã³ãžã®ãã¹ãèšè¿°ããŠãbashããããæ¢ãå Žæãç¥ãããã«ããŸãã
$ tar -zxf 01_toolchain/linux/v2.6.32.58/msdk-4.3.6-mips-EB-2.6.32-0.9.30.3-m32-120424.tar.bz2 $ export PATH=$PATH:<project dir>/msdk-4.3.6-mips-EB-2.6.32-0.9.30.3-m32-120424/bin/
SDKããªãã³ã«u-bootããã³uClinuxã®ãœãŒã¹ã解åããŸãã
$ cd 02_SDK/V2.1.2.41872/Package $ tar zxf rtk-ms-sdk-src-2.1.2.41872.tar.gz $ tar zxf rtk-ms-uboot-2011.12-src-svn41872.tar.gz $ tar zxf rtk-ms-uboot-src-1.3.0.41872.tar.gz $ tar zxf rtk-ms-uClinux-src-2.6.19-2.6.32.58-svn41872.tar.gz
Linuxããã³uClibcããŒãžã§ã³ãéžæããŸãã
SDKã«ã¯2ã€ã®Linuxã«ãŒãã«ããŒãžã§ã³ïŒ2.6.19ããã³2.6.32.58ïŒããããŸããã ã«ãŒãã«ããŒãžã§ã³2.6.19ã§ã¯ãuClibc 0.9.28ã䜿çšãããããŒãžã§ã³2.6.32.58ã§ã¯ãuClibc 0.9.30ã䜿çšãããŸãã ææ°ããŒãžã§ã³ã䜿çšããŸããã
$ make menuconfig
ã«ãŒãã«ããŒãžã§ã³2.6.19ã§ã¯ãuClibc 0.9.28ã䜿çšãããããŒãžã§ã³2.6.32.58ã§ã¯ãuClibc 0.9.30ã䜿çšãããŸãã
SDKèšå®ã§ã8332Mã¹ã€ããããã»ããµã®ãµããŒããæå¹ã«ããŸãã
$ make sdkconfig
ããããµããŒãããã³SDKãã©ã€ããŒãªãã·ã§ã³ã§ã¯ã8380ãããã瀺ããŸãã
ã«ãŒãã«ã®menuconfigã§ãããŒããã©ã¡ãŒã¿ããdebug console = ttyS0,115200 mem = 128Mãã«å€æŽããå¿
èŠããããŸãã 128Mã¡ã¢ãªã®ãããã䜿çšããŸãã
$ make -C kernel/uClinux/linux-2.6.32.x menuconfig
ã¢ã»ã³ããªïŒã¢ã»ã³ããªã¯ã«ãŒãæš©éã§ã®ã¿æåãããããäžèšã®ãã¹ãã«ãŒãPATHã«ãšã¯ã¹ããŒãããå¿
èŠããããŸãïŒïŒ
ã¢ã»ã³ããªäžã«ãmenuconfigã§å®è¡ãããæ§æã«ãããããããRTK BSPã®ã»ããã¢ããã«é¢ããããã€ãã®è³ªåãã³ã³ãœãŒã«ã«æ³šãããŸãã ããã8380ã瀺ããŸãã
* * Restart config... * * * RTK Universal BSP selection * Realtek RTL8390/50 Board (RTL8390_SERIES) [N/y/?] (NEW) n Realtek RTL8380/30 Board (RTL8380_SERIES) [N/y/?] (NEW) y Realtek RTL8328 Board (RTL8328_SERIES) [N/y/?] (NEW) n
ãã¹ãŠãæ£åžžã«æ©èœãããšãåéãããç»åã«é¢ããæ
å ±ãç»é¢ã«è¡šç€ºãããã¢ã»ã³ããªçµæãç»å/ã«é
眮ãããŸãã
Image Name: 3.0.0.beta Created: Fri Mar 13 15:06:27 2015 Image Type: MIPS Linux Kernel Image (gzip compressed) Data Size: 2787086 Bytes = 2721.76 kB = 2.66 MB Load Address: 80000000 Entry Point: 80003a70
ã³ã³ãã€ã«ãããã«ãŒãã«ãããŒããã
1ïŒãã¹ãã«ãtftpãµãŒããŒãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã ããšãã°ãUbuntuã§ã®ã€ã³ã¹ããŒã«ãšèšå®ã«ã€ããŠã¯ã
http ïŒ
//askubuntu.com/questions/201505/how-do-i-install-and-run-a-tftp-serverã§èª¬æããŠããŸãã
2ïŒã¢ã»ã³ãã«ãããã«ãŒãã«ã€ã¡ãŒãžãtftpãä»ããŠå
±æãã©ã«ããŒã«ããããããŸãã
3ïŒUARTãä»ããŠããŒãã«æ¥ç¶ããŸããminicomã®èšå®ã¯æ¬¡ã®ãšããã§ãã
A - Serial Device : /dev/ttyUSB0 B - Lockfile Location : /var/lock C - Callin Program : D - Callout Program : E â Bps/Par/Bits : 115200 8N1 F - Hardware Flow Control : No G - Software Flow Control : No
4ïŒU-bootãããŒãã«ããŒããããŸããtftpã䜿çšããŠãããããã¢ã»ã³ãã«ãããã«ãŒãã«ãããŒãããå¿
èŠããããŸãã
Hit any key to stop autoboot: 0 RTL838x
LinuxãããŒãããåŸãDiagShell-ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ãå®è¡ããŠãã¹ã€ããã®èšå®ã管çããŸãã
å¿
èŠãªããŒããå«ããŸãïŒãŸãã¯ãã¹ãŠïŒã
ãã¡ãŒã ãŠã§ã¢ã¯å®è¡äžã§ãã¹ã€ããã¯æ©èœããŠããŸãã
é床詊éš
ã¹ã€ããã®LANæ¥ç¶ãšVLANæ¥ç¶ã®2ã€ã®ã¢ãŒãã§iperfããã°ã©ã ã䜿çšããŠã2å°ã®PCãããŒãã«æ¥ç¶ããŠé床ã枬å®ããŸããã
DiagShellãä»ããŠãVLANã¯æ¬¡ã®ããã«æ§æãããŸããïŒããšãã°ãããŒã25ã26ã27ãããã³VLAN ID = 20ã®æ§æïŒïŒ
RTK.0> vlan create vlan-table vid 20 RTK.0> vlan set pvid inner port 25-27 20 RTK.0> vlan set vlan-table vid 20 member 25-27 RTK.0> vlan set vlan-table vid 20 untag-port 25-27
VLANããã¹ããããšãèå³æ·±ãå¹æãçŸããŸãïŒ100Mããã³1000MããŒããå«ãããŒãã®ç¯å²ã«VLANãæ§æãããŠããå Žåãäž¡æ¹ã®PCãã®ã¬ãããããŒãã«æ¥ç¶ãããŠããŠããé床ã¯100 Mbpsã«å¶éãããŸãã
ãã¹ãçµæã¯æ¬¡ã®ãšããã§ãã
枯 | ãã¹ãã¢ãŒã | 枬å®é床ïŒMbpsïŒ |
---|
1å | LAN | 96.2 |
1000M | LAN | 936 |
1å | VLAN | 95.7 |
1000M | VLAN | 936 |
垯åå¹
ã¯äž»åŒµã©ããã§ãããšèšããŸãã
次ã«ãQoSãæ§æããŠã¿ãŸãããã ãã®æ©èœã¯ããªãã£ã¹ã®IPãã¬ãã©ããŒãã»ããã¢ãããããšãã«éåžžã«äŸ¿å©ã§ãã
æ¢ã«è¿°ã¹ãããã«ãã¹ã€ããã¯2ã€ã®ãã¥ãŒã€ã³ã°ã¢ã«ãŽãªãºã ããµããŒãããŠããŸããå®å
šåªå
ãšWFQã§ãã
Strict Priorityã®ãã§ãã¯ã«éå®ããŸããã æ€èšŒã®ããã«ã3å°ã®PCãããŒãã«æ¥ç¶ãããŸããã iperfãµãŒããŒãããããã®PCã§èµ·åãããŸããã
$ iperf âs
ä»ã®2å°ã®PC-ã¯ã©ã€ã¢ã³ãïŒ
$ iperf -c server_ip -i 1 -t 300
åæã«ãææžåãããŠããªã-Sãªãã·ã§ã³ã䜿çšããŠãDSãã£ãŒã«ãã®IPãã±ããã§ã¯ã©ã€ã¢ã³ãã®1ã€ã0x20ïŒDSCP 0x8ïŒã«èšå®ããŸããã
$ iperf -c server_ip -i 1 -t 300 âS 0x20
垯åå¹
枬å®ã«ããããã©ãã£ãã¯ãã»ãŒåçã«åæ£ãããŠããããšã瀺ãããŸããã
次ã«ãQoSãæ§æããŠã¿ãŸãããã ãããè¡ãã«ã¯ãDSCP 0x8ã®æ倧åªå
é äœå€ïŒ7ïŒãèšå®ããŸãã
RTK.0> qos set remapping dscp system dscp 8 internal-priority 7
ãã®çµæãã©ãã«ä»ããã©ãã£ãã¯ã垯åå¹
å
šäœãå æããŸããã ããŠãQoSã¯æ¬åœã«æ©èœããŠããããã§ãã
DiagShellã«ã€ããŠå°ã説æããŠãã ããã ç§ãã¡ã®æèŠã§ã¯ããã®CLIã¯éåžžã«æ©èœçã§ãããå®æããããã€ã¹ãéçºããéã«äœ¿çšããããšãã§ããŸãã ãã¡ãããçæ³çã«ã¯ãçŸåšSDKã§å©çšã§ããªãããã€ãã®çŽæçãªWebã€ã³ã¿ãŒãã§ã€ã¹ã欲ããã§ãã ãšã³ãããã€ã¹çšã«éçºããå¿
èŠããããŸãã
äžè¬ã«ãçµæãšããŠããœãããŠã§ã¢ãéçºããæ©èœãåãããã«ãããŒãã¹ã€ããã®ãã¹ãããŒããåŸããšèšããŸãã ãã®ãããªãœãããŠã§ã¢ããã³ããŒããŠã§ã¢ãã©ãããã©ãŒã ã䜿çšããŠãã®ã¬ãããã€ãŒãµãããããŒããä»ããŠã¡ã€ã³ãããã¯ãŒã¯ã«æ¥ç¶ããããã®äœã³ã¹ãã®ãããŒãžããã¡ã¹ãã€ãŒãµãããã¹ã€ãããéçºã§ããŸãã
ãæž
èŽããããšãããããŸããïŒ
ãã®ãããã¯ã«é¢ããå¥ã®è¯ãèšäºã¯
ãRealtek RTL-1185 Media Processorã§ã®Linuxã®èµ·åã§ãã