MSÀÇ ME, windows 2000, ¹Ì·¡ ¹ßÇ¥ ¿¹Á¤ÀÎ ÈÖ½½·¯´Â USB remote Network driver Interface Specification(NDIS) ÀåÄ¡µéÀ» Áö¿øÇÒ °ÍÀÌ´Ù. ÀÌ ¹®¼´Â ME¿Í ÈÖ½½·¯¿¡¼ USB ³×Æ®¿öÅ© ¾î´ðÅ͸¦ °³¹ßÇÏ·Á´Â Çϵå¿þ¾î ¾÷ü¿¡°Ô Á¦°øµÈ´Ù.
µ¶ÀÚ´Â Remote NDIS Spec, USB Spec1.1,USB CDC(Communications Device Class) Spec 1.0 À» Àß ¾Ë°í ÀÖ´Ù°í »ý°¢ÇÒ °ÍÀÌ´Ù.
Remote NDIS´Â µ¿ÀûÀÎ PnP ¹ö½ºµé¿¡¼ º»ÁúÀûÀÎ ³×Æ®¿öÅ© ÀåÄ¡µéÀ» Áö¿øÇÏ´Â À©µµ¿ì ±¸Á¶ÀÌ´Ù.
À©µµ¿ì ¹ÌME´Â USB Remote NDIS Ethernet adapterµéÀ» Áö¿øÇÑ´Ù. ´ÙÀ½ ¹öÀüÀÎ Windows2000, ¿Í whistlerÀº Áö¿øµÉ °ÍÀÌ´Ù.
ÀÌ ¹®¼´Â USB µð½ºÅ©¸³ÅÍ ¿¹Á¦¸¦ Æ÷ÇÔÇÏ´Â USB remote NDIS adapter¸¦ ¸¸µå´Â ¹ýÀ» Á¦°øÇÑ´Ù.
µ¶ÀÚ´Â USB½ºÆåÀ» Àß ¾Ë¾Æ¾ß ÇÑ´Ù. ƯÈ÷ µ¶ÀÚ´Â OS ¿¡ USB device functionality¸¦ Á¤ÀÇÇÑ µð½ºÅ©¸³Å͵éÀÇ »ó¼ÓÀûÀÎ ¼ÂÀ» ÀÌÇØÇØ¾ß ÇÑ´Ù.
Remote NDIS ½ºÆåÀº °¡Àå ½Å·ÚÇÒ¸¸ÇÑ ¹®¼·Î ¿ä±¸µÇ¾îÁø´Ù. ÀÌ ¹®¼ ³¡¿¡ ³ª¿µÈ ½ºÆåµéÀº ÂüÁ¶ ¹®¼·Î ¿ä±¸µÇ¾îÁø´Ù.
legacy-free¶ó´Â PCÇõ¸íÀº ½Ã¸®¾ó, º´·Ä,PS/2°°Àº legacy ¿¬°á Æ÷Æ®µé»Ó¸¸ ¾Æ´Ï¶ó PCÁÖ·ùÀÎ ISA,PCI °°Àº legacy È®Àå ¹ö½ºµéÀ» ¾ø¾Ù ¼ö´Â ¾øÀ» °ÍÀÌ´Ù.
The resulting "sealed case" PCsÀº ¸ÞÀκ¸µåÀ§¿¡¼ ³×Æ®¿öÅ·À» Áö¿øÀ» ¿ä±¸Çϰųª, ¿ÜºÎ ¹ö½ºµé¿¡ ³×Æ®¿öÅ© ¾î´ðÅÍ¿¡ ´ëÇÑ Áö¿øÀ» ¿ä±¸ÇÒ °ÍÀÌ´Ù. MS´Â ¿ÜºÎ ³×Æ®¿öÅ© µå¶óÀ̹öµéÀ» Áö¿øÇϱâ À§Çؼ Remote NDIS ±¸Á¶¸¦ ¼³°èÇß°í, À©µµ¿ì¿¡¼´Â º¥´õ µ¶¸³ÀûÀÎ µå¶óÀ̹ö¸¦ Á¦°øÇÑ´Ù.
USB Æ÷Æ®µéÀº °ÅÀÇ ¸ðµç »õ·Î¿î PC¿¡ Á¸ÀçÇÑ´Ù. ±×¸®°í ÇöÀç À©µµ¿ì¿¡¼ Áö¿øÇÑ´Ù.
´õ±¸³ª USB´Â ¿ÜºÎ È®Àå°ú µ¿Àû PnP¸¦ Á¦°øÇϰí, ÀåÄ¡µéÀÌ self-describing ÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. USB ÀåÄ¡µéÀº ÀÌ ¹®¼ µÚ¿¡ ¿¹Á¦·Î º¸¿©Áö´Â °Í°ú °°Àº µð½ºÅ©¸³Å͵éÀÇ ¼ÂÀ» ÅëÇØ¼ PC¿¡°Ô functionality¸¦ ¼³¸íÇÑ´Ù.
Inf ÆÄÀÏ¿¡ ÀÖ´Â Direct Vendor ID(VID)³ª Product ID(PID)°¡ ¸ÅÄ¡°¡ ¾ÈµÇ¾îµµ ÀÌ µð½ºÅ©¸³Å͵éÀº ¾î¶² µå¶óÀ̹ö¸¦ ·ÎµåÇÒÁö¸¦ OS¿¡°Ô Áö½ÃÇϱâÀ§ÇÑ Å¬¶ó½º ÄÚµåµéÀ» Æ÷ÇÔÇÑ´Ù.
NDIS´Â ÀüÅëÀûÀÎ ³×Æ®¿öÅ© ¾î´ðÅ͵鿡 ´ëÇØ¼ ³ÐÀº ¹üÀ§ÀÇ functionality¸¦ Áö¿øÇÑ´Ù.
³×Æ®¿öÅ© ¾î´ðÅÍÀÇ ÀáÀçÀûÀÎ Å« ¼ÂÀÇ Æ¯¼ºµéÀÌ NDIS-defined Object Identifiers(OIDs)¸¦ ÅëÇØ¼ °ü¸®µÇ°í ¿ÜºÎ·Î µå·¯³½´Ù. ÀÌ OIDµéÀº ¾î´ðÅÍ¿¡ ´ëÇÑ NDIS ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö¿¡ ÀÇÇØ Á¦°øµÇ´Â ÀüÅëÀûÀÎ ¼ºñ½ºÀÌ´Ù. Remote NDIS ´Â OIDsµéÀ» ÀåÄ¡¿¡°Ô º¸³»°í ¾î´ðÅÍ »ó¼ú ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö¸¦ Á¦°ÅÇÔÀ¸·Î½á ½ºÆåÀÇ Å« ¸ö°ú ±¸Á¶ ÀÛ¾÷À» Åõ±âÇÑ´Ù.
¾î¶² Àǹ̿¡¼´Â ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â RNDIS-½Ã۴´ë·Î ³×Æ®¿öÅ© ¾î´ðÅͷμ ¼öÇàµÈ´Ù.
¾î´ðÅÍÀÇ °üÁ¡¿¡¼ º¸¸é, Remote NDIS´Â Á¦¾î ¸Þ½ÃÁöµéÀÇ ÀÛÀº ¼ÂÀ̰í OIDµé°ú µ¥ÀÌÅÍ ÆÐŶµé¿¡ ´ëÇÑ Åë·Î¸¦ ±¸¼ºÇÑ´Ù.´ÙÀ½¿¡ º¸¸é Remote NDIS ¸Þ½ÃÁöµé°ú µ¥ÀÌÅÍ ¸Þ½ÃÁöµéÀÌ ÀÖ´Ù. ´õ ÀÚ¼¼ÇÑ ³»¿ëÀº Remote NDIS ½ºÆåÀ» º¸¾Æ¶ó.
Table 1: Control messages sent by the host PC to the adapter
| Message |
Description |
|
|
| REMOTE_NDIS_INITIALIZE_MSG |
¾î´ðÅ͸¦ ÃʱâÈ ÇÑ´Ù. |
| REMOTE_NDIS_QUERY_MSG |
'query' OID º¸³½´Ù. |
| REMOTE_NDIS_SET_MSG |
'set' OID º¸³½´Ù. |
| REMOTE_NDIS_KEEPALIVE_MSG |
ÀåÄ¡°¡ ÀÀ´äÀ» ÇÏ´ÂÁö¸¦ °Ë»çÇϱâ À§Çؼ ½¬´Â ½Ã°£µ¿¾È¿¡ ¸ÅÃÊ(ÀûÀº ÃÊ)¸¶´Ù º¸³½´Ù. |
| REMOTE_NDIS_RESET_MSG |
¾î´ðÅÍ¿¡ ´ëÇØ¼ ¼ÒÇÁÆ® ¸®¼ÂÀ» ¼öÇàÇÑ´Ù. |
| REMOTE_NDIS_HALT_MSG |
¾î´ðÅ͸¦ ÇÛÆ® ÇÑ´Ù. À̰ÍÀº È£½ºÆ® Á¦¾î ¸Þ½ÃÁö Áß¿¡¼ À¯ÀÏÇÏ°Ô ÀÀ´äÇÏÁö ¾Ê´Â ¸Þ½ÃÁöÀÌ´Ù. |
|
|
|
Table 2: Control messages sent by the adapter to the host PC
| Message |
Description |
|
|
| REMOTE_NDIS_INITIALIZE_CMPLT |
Response to REMOTE_NDIS_INITIALIZE_MSG.
Contains fields for reporting the adapter buffering and alignment constraints.
|
| REMOTE_NDIS_QUERY_CMPLT |
Response to REMOTE_NDIS_QUERY_MSG. |
| REMOTE_NDIS_SET_CMPLT |
Response to REMOTE_NDIS_SET_MSG. |
| REMOTE_NDIS_KEEPALIVE_CMPLT |
Response to REMOTE_NDIS_KEEPALIVE_MSG.
If this response is not returned in time, or if it is returned with an error status, the host sends RndisReset.
|
| REMOTE_NDIS_RESET_CMPLT |
Response to REMOTE_NDIS_RESET_MSG. |
| REMOTE_NDIS_INDICATE_STATUS_MSG |
Indicates that the Ethernet cable has been connected or disconnected. |
|
|
|
Remote NDIS ½ºÆåÀº ¾î´ðÅͰ¡ Áö¿øÇØ¾ß ÇÏ´Â OIDµéÀ» ³ª¿ÇÑ´Ù.
½ºÆåÀº ¶ÇÇÑ ¾î´ðÅͰ¡ value Ãß°¡µÈ Ư¼ºµéÀ» Áö¿øÇÒ ¼ö ÀÖ´Â Ãß°¡ÀûÀÎ OIDµéÀ» ³ª¿ÇÑ´Ù.
Table 3: µ¥ÀÌÅÍ ¸Þ½ÃÁö´Â ÆÐŶµéÀ» Àü¼ÛÇϱâÀ§Çؼ PC¿Í ¾î´ðÅÍ¿¡¼ »ç¿ëµÈ´Ù.
| Message |
Description |
|
|
| REMOTE_NDIS_PACKET_MSG |
Ethernet packetÀ» Àü¼ÛÇÑ´Ù. |
|
|
|
±¸Çö ¼ø¼¸¦ º¸¸é, Remote NDIS Ethernet ¾î´ðÅÍ¿Í È£½ºÆ® PC´Â ¾Æ·¡¿Í °°ÀÌ ¸Þ½ÃÁöµéÀ» ±³È¯ÇØ¾ß ÇÑ´Ù.
- USB Remote NDIS Ethernet ¾î´ðÅÍ´Â USB ·¹º§¿¡¼ Ãʱâȵǰí Ç÷¯±×ÀÎ µÈ´Ù.
- ±×¶§ È£½ºÆ®´Â REMOTE_NDIS_INITIALIZE_MSG ¸¦ ¾î´ðÅ͸¦ ÃʱâÈÇϱâ À§Çؼ º¸³½´Ù.
- ¾î´ðÅÍ´Â ¾î´ðÅÍÀÇ buffering and alignment constraints¸¦ Áö½ÃÇϱâ À§Çؼ REMOTE_NDIS_INITIALIZE_CMPLT ·Î ÀÀ´äÇÑ´Ù.
- ±×¶§ È£½ºÆ®´Â »õ·Î¿î ¾î´ðÅ͸¦ ±¸¼ºÇϰųª ÁúÀÇÇϰųª ¾î´ðÅÍÀÇ ÆÐŶ ÇÊÅ͸¦ ¼Â ÇϱâÀ§Çؼ REMOTE_NDIS_QUERY_MSG ¿Í REMOTE_NDIS_SET_MSG ¸Þ½ÃÁöµéÀ» »ç¿ëÇÑ´Ù.
- ¾î´ðÅÍ´Â °¢°¢ REMOTE_NDIS_QUERY_CMPLT ¿Í REMOTE_NDIS_SET_CMPLT ¸Þ½ÃÁöµé·Î ÀÀ´äÀ» ÇÑ´Ù.
- ¾î´ðÅͰ¡ ÃʱâȰ¡ µÈ ÈÄ¿¡ ¾î´ðÅÍ´Â ³×Æ®¿öÅ©·ÎºÎÅÍ ¹ÞÀº Ethernet ÆÐŶµéÀ» È£½ºÆ®¿¡°Ô ¸®ÅÏÇϱâ À§Çؼ REMOTE_NDIS_PACKET_MSG ¸Þ½ÃÁöµéÀ» º¸³»±â ½ÃÀÛÇÑ´Ù. ±×¸®°í È£½ºÆ®´Â ³×Æ®¿öÅ©¿¡ Ethernet ÆÐŶµéÀ» º¸³»±âÀ§Çؼ REMOTE_NDIS_PACKET_MSG ¸Þ½ÃÁöµéÀ» º¸³»±â ½ÃÀÛÇÑ´Ù.
- È£½ºÆ®°¡ ¸î ÃÊ µ¿¾È ¾î´ðÅͷκÎÅÍ ÆÐŶµéÀ» ¹ÞÁö ¾Ê¾Ò´Ù¸é, È£½ºÆ®´Â ¾î´ðÅͰ¡ Á¤»óÀûÀ¸·Î µ¿ÀÛÇϰí ÀÖ´ÂÁö¸¦ °Ë»çÇϱâ À§Çؼ REMOTE_NDIS_KEEPALIVE_MSG ¸¦ º¸³½´Ù. ¾î´ðÅÍ´Â REMOTE_NDIS_KEEPALIVE_CMPLT·Î ÀÀ´äÇÑ´Ù.
- ¾î´ðÅ͸¦ ÇÛÆ®Çϱâ À§Çؼ´Â(¿¹¸¦ µé¸é, À©µµ¿ì°¡ ¼Ë´Ù¿î µÇ°Å³ª Çϵå¿þ¾î ¸®¼Ò½º¸¦ rebalancingÇϱâÀ§Çؼ ÀåÄ¡¸¦ ¸ØÃß´Â °Í), È£½ºÆ®´Â REMOTE_NDIS_HALT_MSG ¸¦ º¸³½´Ù.
Remote NDIS ´Â ÇϳªÀÇ ¹ö½º Àü¼Û¿¡¼ ¿©·¯ °³ÀÇ RndisPacketµéÀ» °áÇÕÇÏ´Â °ÍÀ» Á¦°øÇÑ´Ù. ¾î´ðÅÍ ÂÊ¿¡¼ º¸¸é, ÇѹøÀÇ Àü¼Û¿¡ ¿©·¯ °³ÀÇ ÆÐŶÀ» º¸³»´Â °ÍÀº ÁÁÀº ¼º´ÉÀ» À§Çؼ ¾ÆÁÖ ÇÊ¿äÇÏ´Ù.
USB Remote NDIS Ethernet Adapter

°¢°¢ÀÇ ¹ö½º ŸÀÔ¿¡ ´ëÇØ¼, Á¦¾î ¸Þ½ÃÁöµé°ú µ¥ÀÌÅÍ ¸Þ½ÃÁöµéÀº ¾î´ðÅÍ¿¡°Ô ´Ù¸¥ ¹æ¹ýÀ¸·Î Àü¼ÛµÇ¾î¾ß ÇÑ´Ù. Remote NDIS ½ºÆåÀº °¢°¢ÀÇ Áö¿øµÇ´Â ¹ö½º¿¡ ´ëÇÑ ¹®¼¸¦ Æ÷ÇÔÇÑ´Ù. °¢°¢ÀÇ Áö¿øµÇ´Â ¹ö½º´Â ±× ¹ö½º¿¡¼ ¸Þ½ÃÁö Àü¼Û¿¡ °ü°èµÈ ³·Àº ·¹º§ÀÇ ³»¿ëµéÀ» ¼³¸íÇÑ´Ù.
USB ¹®¼¿¡´Â Á¦¾î ¸Þ½ÃÁöµé°ú µ¥ÀÌÅÍ ¸Þ½ÃÁöµéÀÌ ¾î¶»°Ô ÀåÄ¡ ¿£µåÆ÷ÀÎÆ®µé¿¡°Ô ¾îµå·¹½Ì µÇ´ÂÁö¸¦ ¼³¸íÇÑ´Ù.
USB Remote NDIS ÀåÄ¡´Â ´ÙÀ½¿¡ ÀÖ´Â ¿£µåÆ÷ÀÎÆ®µéÀ» ¼öÇàÇÏ´Â °ÍÀÌ ¿ä±¸µÇ¾îÁø´Ù.
- µ¥ÀÌÅ͸¦ ÀÏ°í ¾²±â À§ÇÑ µÎ°³ÀÇ ¹úÅ© ¿£µåÆ÷ÀÎÆ®.
- ÀåÄ¡ ÅëÁö¸¦ À§ÇÑ ÀÎÅÍ·´Æ® ¿£µåÆ÷ÀÎÆ®.
- ¾î¶² USB ÀåÄ¡¿¡ ´ëÇØ¼µµ ¿ä±¸ÇÒ ¼ö ÀÖ´Â ÀϹÝÀûÀÎ Á¦¾î ¿£µåÆ÷ÀÎÆ®. ÀÌ bi-directional Á¦¾î ¿£µåÆ÷ÀÎÆ®´Â Remote NDIS Á¦¾î ¸Þ½ÃÁöµéÀ» À§Çؼ »ç¿ëµÈ´Ù.
USB Remote NDIS ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â ²÷ÀÓ¾øÀÌ ÀåÄ¡ ÅëÁöµéÀ» À§ÇÑ ÀÎÅÍ·´Æ® ¿£µåÆ÷ÀÎÆ®¸¦ Àд´Ù. À¯ÀÏÇÏ°Ô Á¤ÀÇµÈ ÅëÁö´Â È£½ºÆ®°¡ Á¦¾î ¿£µåÆ÷ÀÎÆ®¸¦ Àоî¾ß ÇÑ´Ù´Â °ÍÀ» Áö½ÃÇÑ´Ù. ÀÌ¿Í °°ÀÌ ÇÏ´Â °ÍÀº È£½ºÆ®°¡ Á¦¾î ¿£µåÆ÷ÀÎÆ®¿¡¼ ÀÐÀ» ¾î¶² °ÍÀÌ ÀÖÀ» ¶§±îÁö Á¦¾î ¿£µåÆ÷ÀÎÆ®¿¡°Ô ÀÐÀ¸¶ó´Â °ÍÀ» Àü¼ÛÇØ¾ß ÇÒ Çʿ伺À» Á¦°ÅÇØ ÁØ´Ù.
´ÙÀ½ ÀåÀº USB Remote NDIS Ethernet¾î´ðÅÍÀÇ ÀÎÅÍÆäÀ̽º¿Í ¿£µåÆ÷ÀÎÆ® ±¸Á¶¸¦ ¼³¸íÇÑ µð½ºÅ©¸³Å͵éÀÇ ¿¹Á¦¸¦ º¸¿©ÁØ´Ù.
Sample USB Remote NDIS Ethernet Adapter

´ÙÀ½Àº USB Remote NDIS Ethernet ¾î´ðÅÍ¿¡ ´ëÇÑ µð½ºÅ©¸³Å͵éÀÇ ¿¹Á¦ÀÌ´Ù.
À̰ÍÀº Communication Class interface¿Í Data Class interface¸¦ Æ÷ÇÔÇÑ´Ù.
Communication Class interface¿Í Data Class interface´Â ¾î´ðÅͰ¡ ÀûÇÕÇÑ USB Communication Device Class(CDC) ÀåÄ¡·Î¼ ÀûÇÕÇÑ ¾î´ðÅÍ¿¡ ´ëÇØ¼´Â ¿ä±¸µÇ¾î Áø´Ù.(ºñ·Ï Single-function ÀåÄ¡ ÀÏÁö¶óµµ).
ÀåÄ¡ µð½ºÅ©¸³ÅÍ´Â µ¶¸³ÀûÀ¸·Î ¸®ÅϵȴÙ. ±¸¼º µð½ºÅ©¸³ÅÍ¿Í ¸ðµç ´ÙÀ½¿¡ ÀÖ´Â µð½ºÅ©¸³Å͵éÀº ´ÙÀ½¿¡ º¸¿©Áö´Â ¼ø¼´ë·Î ÇϳªÀÇ ºí·ÏÀ¸·Î¼ ¸®ÅϵȴÙ..
Á¦¾î ¸Þ½ÃÁöµéÀº Á¦¾î ¿£µåÆ÷ÀÎÆ®¿¡ º¸³½´Ù. ÅëÁö ¸Þ½ÃÁöµéÀº Communication Class interface ¾È¿¡ ÀÖ´Â ÀÎÅÍ·´Æ® ¿£µåÆ÷ÀÎÆ®¿¡ º¸³½´Ù. µ¥ÀÌÅÍ ¸Þ½ÃÁöµéÀº µ¥ÀÌÅÍ ÀÎÅÍÆäÀ̽º ¾È¿¡ ÀÖ´Â ¹úÅ© In°í ¹úÅ©Out ¿£µåÆ÷ÀÎÆ®¿¡°Ô º¸³½´Ù.
°£´ÜÈ÷ ¼³¸íÇϱâÀ§Çؼ, ½ºÆ®¸µ µð½ºÅ©¸³Å͵éÀº º¸¿©ÁÖÁö ¾Ê°Ú´Ù.
Note: À©µµ¿ì Me¿¡¼ Remote NDIS ¼öÇàÀº Communication Class interface °¡ Data Class interfaceº¸´Ù ¼±ÇàµÈ´Ù´Â °ÍÀ¸·Î °¡Á¤ÇÑ´Ù.
º¥´õµéÀº ÀåÄ¡°¡ ¿Ã¹Ù¸£°Ô À©µµ¿ì Me¿¡¼ ÃʱâÈ ½Ã۱â À§Çؼ´Â ÀÌ µð½ºÅ©¸³ÅÍ ¼ø¼¸¦ ¼±ÅÃÇØ¾ß ÇÑ´Ù.
ÀÌ ¿¹Á¦ÀÇ ¾î¶² ºÎºÐÀÌ Á¦¾îÇÏ´Â ½ºÆåÀ» ¹Ý¹ÚÇÏ´Â °ÍÀ̶ó¸é, ±× ½ºÆåÀÌ ¿ì¼±ÀÌ µÈ´Ù.
Device Descriptor
Table A1: USB Device Descriptor
| Offset |
Field |
Size |
Value |
Description |
|
|
| 0 |
bLength |
1 |
0x12 |
µð½ºÅ©¸³ÅÍÀÇ Å©±â(¹ÙÀÌÆ® Å©±â) |
| 1 |
bDescriptorType |
1 |
0x01 |
ÀåÄ¡ µð½ºÅ©¸³ÅÍ. |
| 2 |
bcdUSB |
2 |
0x0110 |
1.1 - ÇöÀç USB ½ºÆå ¹öÀü |
| 4 |
bDeviceClass |
1 |
0x02 |
Communication Device Class |
| 5 |
bDeviceSubClass |
1 |
0x00 |
Unused |
| 6 |
bDeviceProtocol |
1 |
0x00 |
Unused |
| 7 |
bMaxPacketSize0 |
1 |
0x08 |
Á¦¾î ÆÄÀÌÇÁ¿¡¼ ÃÖ°í ÆÐŶ Å©±â. |
| 8 |
idVendor |
2 |
0xXXXX |
Vendor ID |
| 10 |
idProduct |
2 |
0xXXXX |
Product ID |
| 12 |
bcdDevice |
2 |
0xXXXX |
Device Release Code |
| 14 |
iManufacturer |
1 |
0x01 |
Index of manufacturer string |
| 15 |
iProduct |
1 |
0x02 |
Index of product string |
| 16 |
iSerialNumber |
1 |
0x03 |
Index of device serial number string |
| 17 |
bNumConfigurations |
1 |
0x01 |
One configuration |
|
|
|
Configuration Descriptor
Table A2: USB Configuration Descriptor
| Offset |
Field |
Size |
Value |
Description |
|
|
| 0 |
bLength |
1 |
0x09 |
µð½ºÅ©¸³ÅÍÀÇ Å©±â(¹ÙÀÌÆ® Å©±â) |
| 1 |
bDescriptorType |
1 |
0x02 |
CONFIGURATION descriptor |
| 2 |
wTotalLength |
2 |
0x003E |
Àüü ±¸¼º ºí·ÏÀÇ ±æÀÌ. ÀÌ ±æÀÌ´Â ÀÌ ±¸¼º µð½ºÅ©¸³ÅÍÀÇ ±æÀÌ¿Í ´ÙÀ½¿¡ µû¸£´Â ¸ðµç µð½ºÅ©¸³Å͵éÀÇ ±æÀ̸¦ ³ªÅ¸³½´Ù. |
| 4 |
bNumInterfaces |
1 |
0x02 |
µÎ°³ÀÇ ÀÎÅÍÆäÀ̽º°¡ ÀÖ´Ù. |
| 5 |
bConfigurationValue |
1 |
0x01 |
ID of this configuration |
| 6 |
iConfiguration |
1 |
0x00 |
Unused |
| 7 |
bmAttributes |
1 |
0x80 |
Bus Powered |
| 8 |
MaxPower |
1 |
0x64 |
200 mA |
|
|
|
Interface Descriptor for Communication Class Interface
Table A3: USB Communication Class Interface Descriptor
| Offset |
Field |
Size |
Value |
Description |
|
|
| 0 |
bLength |
1 |
0x09 |
µð½ºÅ©¸³ÅÍÀÇ Å©±â(¹ÙÀÌÆ® Å©±â) |
| 1 |
bDescriptorType |
1 |
0x04 |
INTERFACE descriptor |
| 2 |
bInterfaceNumber |
1 |
0x00 |
Index of this interface |
| 3 |
bAlternateSetting |
1 |
0x00 |
Index of this setting |
| 4 |
bNumEndpoints |
1 |
0x01 |
One endpoint |
| 5 |
bInterfaceClass |
1 |
0x02 |
Communication Class |
| 6 |
bInterfaceSubclass |
1 |
0x02 |
Abstract Control Model |
| 7 |
bInterfaceProtocol |
1 |
0xFF |
Vendor-specific protocol |
| 8 |
iInterface |
1 |
0x00 |
Unused |
|
|
|
´ÙÀ½¿¡ ÀÖ´Â USB Communication ClassÀÇ Å¬¶ó½º-½ºÆå µð½ºÅ©¸³Å͵éÀÌ´Ù.
±×·¸µíÀÌ, ÀÌ Å¬¶ó½º-½ºÆå µð½ºÅ©¸³Å͵éÀº Communication Class Interface µð½ºÅ©¸³ÅͰ¡ ÀÖÀ» °ÍÀ̰í Communication Class Interface¿¡ ´ëÇÑ ¾î¶² ¿£µåÆ÷ÀÎÆ® µð½ºÅ©¸³Å͵éÀÌ ÀÖÀ» °ÍÀÌ´Ù.
Table A4: USB Communication Class Call Management Descriptor
| Offset |
Field |
Size |
Value |
Description |
|
|
| 0 |
bLength |
1 |
0x05 |
Size of this descriptor, in bytes |
| 1 |
bDescriptorType |
1 |
0x24 |
CS_INTERFACE; i.e. applies to interface (not endpoint) |
| 2 |
bDescriptorSubtype |
1 |
0x01 |
Call Management Descriptor |
| 3 |
bmCapabilities |
1 |
0x00 |
Device does not handle Call Management itself.
No Call Management functionality in Data Class Interface.
|
| 4 |
bDataInterface |
1 |
0x01 |
bInterfaceNumber of Data Class Interface |
|
|
|
Table A5: USB Communication Class Abstract Control Management Descriptor
| Offset |
Field |
Size |
Value |
Description |
|
|
| 0 |
bLength |
1 |
0x04 |
Size of this descriptor, in bytes |
| 1 |
bDescriptorType |
1 |
0x24 |
CS_INTERFACE; that is, applies to interface (not endpoint) |
| 2 |
bDescriptorSubtype |
1 |
0x02 |
Abstract Control Management Descriptor |
| 3 |
bmCapabilities |
1 |
0x00 |
None |
|
|
|
Table A6: USB Communication Class Union Functional Descriptor
| Offset |
Field |
Size |
Value |
Description |
|
|
| 0 |
bLength |
1 |
0x05 |
Size of this descriptor, in bytes |
| 1 |
bDescriptorType |
1 |
0x24 |
CS_INTERFACE; that is, applies to interface (not endpoint) |
| 2 |
bDescriptorSubtype |
1 |
0x06 |
Union Functional Descriptor |
| 3 |
bMasterInterface |
1 |
0x00 |
bInterfaceNumber of the Communication Class Interface |
| 4 |
BSlaveInterface0 |
1 |
0x01 |
bInterfaceNumber of Data Class Interface |
|
|
|
Notification Endpoint Descriptor
Table A7: Descriptor for Notification Endpoint
| Offset |
Field |
Size |
Value |
Description |
|
|
| 0 |
bLength |
1 |
0x07 |
Size of this descriptor, in bytes |
| 1 |
bDescriptorType |
1 |
0x05 |
ENDPOINT descriptor |
| 2 |
bEndpointAddress |
1 |
0x81 |
Endpoint 1 IN |
| 3 |
bmAttributes |
1 |
0x03 |
Interrupt Endpoint |
| 4 |
wMaxPacketSize |
2 |
0x0008 |
8-byte maximum packet size |
| 6 |
bInterval |
1 |
0x01 |
Polling interval |
|
|
|
Interface Descriptor for Data Class Interface
Table A8: USB Data Class Interface Descriptor
| Offset |
Field |
Size |
Value |
Description |
|
|
| 0 |
bLength |
1 |
0x09 |
Size of this descriptor, in bytes |
| 1 |
bDescriptorType |
1 |
0x04 |
INTERFACE descriptor |
| 2 |
bInterfaceNumber |
1 |
0x01 |
Index of this interface |
| 3 |
bAlternateSetting |
1 |
0x00 |
Index of this setting |
| 4 |
bNumEndpoints |
1 |
0x02 |
Two endpoints |
| 5 |
bInterfaceClass |
1 |
0x0A |
Data Class |
| 6 |
bInterfaceSubclass |
1 |
0x00 |
Unused |
| 7 |
bInterfaceProtocol |
1 |
0x00 |
Unused |
| 8 |
iInterface |
1 |
0x00 |
Unused |
|
|
|
Data In Endpoint Descriptor
Table A9: Descriptor for Bulk IN Endpoint
| Offset |
Field |
Size |
Value |
Description |
|
|
| 0 |
bLength |
1 |
0x07 |
Size of this descriptor, in bytes |
| 1 |
bDescriptorType |
1 |
0x05 |
ENDPOINT descriptor |
| 2 |
bEndpointAddress |
1 |
0x82 |
Endpoint 2 IN |
| 3 |
bmAttributes |
1 |
0x02 |
Bulk Endpoint |
| 4 |
wMaxPacketSize |
2 |
0x0040 |
64-byte maximum packet size |
| 6 |
bInterval |
1 |
0x00 |
Unused |
|
|
|
Data Out Endpoint Descriptor
Table A10: Descriptor for Bulk OUT Endpoint
| Offset |
Field |
Size |
Value |
Description |
|
|
| 0 |
bLength |
1 |
0x07 |
Size of this descriptor, in bytes |
| 1 |
bDescriptorType |
1 |
0x05 |
ENDPOINT descriptor |
| 2 |
bEndpointAddress |
1 |
0x03 |
Endpoint 3 OUT |
| 3 |
bmAttributes |
1 |
0x02 |
Bulk Endpoint |
| 4 |
wMaxPacketSize |
2 |
0x0040 |
64-byte maximum packet size |
| 6 |
bInterval |
1 |
0x00 |
Unused |
|
|
|
OS Descriptor
Ç¥ÁØ USB µð½ºÅ©¸³Å͵鿡 Ãß°¡Çؼ, Remote NDIS ½ºÆåÀº ¾î´ðÅÍÀÇ VID/PID°¡ À©µµ¿ì INF ¿¡ ÀÖ´Â °ª°ú °°Áö ¾Ê¾Æµµ OS°¡ PnP Usb Remote NDIS ¾î´ðÅ͸¦ ¿Ã¹Ù¸£°Ô ¹ß°ßÇÒ ¼ö ÀÖ°Ô ÇÒ ¼ö ÀÖ´Â Ãß°¡ÀûÀÎ OS µð½ºÅ©¸³Å͸¦ Á¤ÀÇÇÑ´Ù.
OS µð½ºÅ©¸³ÅÍ´Â USB Remote NDIS ¾î´ðÅ͵鿡 ´ëÇØ¼ °·ÂÇÏ°Ô ÃßõÇÑ´Ù.
À©µµ¿ì Me ´Â OS µð½ºÅ©¸³Å͸¦ Áö¿øÇÏÁö ¾Ê´Â´Ù. ±×·¡¼, INFÀÇ VIP/PID´Â »ç¿ëÀÚÁ¦°ø¹Ìµð¾î¿¡ Á¸ÀçÇØ¾ß ÇÑ´Ù.
Call to Action

- Çϵå¿þ¾î º¥´õµéÀº Remote NDIS ½ºÆå°ú ÀÌ ¹®¼¿¡ ¼³¸íµÇ¾îÁø °Í°ú °°ÀÌ ±×µéÀÇ ÀåÄ¡µé¿¡ ´ëÇØ¼ USB Remote NDIS¸¦ Áö¿øÇØ¾ß ÇÑ´Ù.
- À©µµ¿ì OS¿¡¼ USB Remote NDIS¿Í °ü·ÃµÈ Áú¹®°ú ´äº¯Àº rndisfb@microsoft.com ·Î À̸ÞÀÏÀ» º¸³»¶ó.
References

Windows DDK, available for download at
http://www.microsoft.com/ddk/
Universal Serial Bus Specification, Revision 1.1, at
http://www.usb.org/developers/ 
USB Communications Device Class Specificaiton, Revision 1.0, at
http://www.usb.org/developers/ 
Remote NDIS Specification, Revision 1.0, at
http://www.microsoft.com/hwdev/network/
|