Abstract:
A network comprising a first network device including a first physical layer device with a receiver and a first autonegotiation circuit having an ability detect state and including a bypass timer that determines a predetermined period, a first medium, and a second network device that includes a second physical layer device and that communicates over the first medium with the first network device. The first network device enables autonegotiation bypass and establishes a link with the second network device after the predetermined period during which a link between the first and second network devices is not up, and the receiver of the first physical layer device is in sync.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
   This application is a continuation of U.S. Ser. No. 10/364,602, filed Feb. 11, 2003, which application claims the benefit of U.S. Provisional Application No. 60/443,660, filed on Jan. 30, 2003. The disclosures of the above applications are incorporated herein by reference. 

   FIELD OF THE INVENTION 
   The present invention relates to Ethernet networks, and more particularly to auto-negotiation and autonegotiation bypass modes in Ethernet networks. 
   BACKGROUND OF THE INVENTION 
   Communications between computers, peripheral devices, Internet appliances and other network devices increasingly require higher data transfer rates to handle multimedia and other rich content. Communication media such as twisted pair cable, fiber and wireless links with increased data carrying capacity are now being used to meet the increased data carrying demands. 
   The network devices have varying communication abilities and may use different types of media. For example, a first network device or link partner may be able to communicate wirelessly with a second link partner at a first rate such as 10 Megabits per second (Mbps). A third network device or link partner may communicate with a fourth link partner at Gigabit per second rates over fiber. A fifth network device or link partner may communicate over copper media with a sixth link partner at Gigabit or sub-Gigabit speeds. Because of the variable types of media that are used and the different communication speeds, accommodation must be made for situations where the prospective link partners have different communication abilities. 
   The physical layer device (PHY) of some network devices includes an autonegotiation circuit, which initiates an exchange of information between two link partners. The autonegotiation circuit automatically configures the link partners to take maximum advantage of their respective abilities. During auto-negotiation, the link partners advertise their abilities using configuration code groups, acknowledge receipt, identify common modes of operation, and reject the use of operational modes that are not shared or supported by both link partners. When more than one common mode of operation exists between the network devices, an arbitration function of the autonegotiation circuit identifies and selects a single mode of operation. After auto-negotiation is complete, the devices establish a link and exchange data. 
   Auto-negotiation on some media types such as fiber requires that both of the link partners support auto-negotiation functionality before a link between the link partners can be automatically established. If one link partner implements auto-negotiation and the other link partner does not, two-way communications cannot be established without manual intervention. A user must disable auto-negotiation and manually configure both link partners to work in the same operational modes. 
   SUMMARY OF THE INVENTION 
   A network includes a first network device including a first physical layer device with a first autonegotiation circuit that includes a bypass timer that determines a predetermined period. A second network device includes a second physical layer device and communicates over a first medium with the first network device. The first network device enables autonegotiation bypass and establishes a link with the second network device after the predetermined period during which a link between the first and second network devices is not up and a receiver of the first physical layer device is in sync. 
   In other features, when the predetermined period expires, the autonegotiation circuit brings up the link using default settings. The second physical layer device includes a second autonegotiation circuit that sends consecutive, non-matching configuration code groups and/or corrupt data to the first network device to delay bypass. The first autonegotiation circuit resets the predetermined period of the bypass timer when configuration code groups and/or corrupt data are received from the second network device. 
   In other features, the second network device is an interface converter such as a gigabit interface converter. The interface converter includes a third physical layer device with a third autonegotiation circuit. A second medium communicates with the third physical layer device of the interface converter. A third network device includes a fourth physical layer device with a fourth autonegotiation circuit and communicates with third physical layer device of the interface converter over the second medium. The first medium can be fiber and the second medium can be copper. 
   In still other features, the first autonegotiation circuit of the first network device identifies when the second network device sends idle code groups that are followed by data code groups during the predetermined period and prevents the first autonegotiation circuit from returning to an autonegotiation enable state. The first autonegotiation circuit suppresses assertion of RUDI(INVALID) signal when the second network device sends idle code groups that are followed by data code groups during the predetermined period. 
   Further areas of applicability of the present invention will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating the preferred embodiment of the invention, are intended for purposes of illustration only and are not intended to limit the scope of the invention. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention will become more fully understood from the detailed description and the accompanying drawings, wherein: 
       FIG. 1  is a functional block diagram illustrating a first autonegotiation-enabled link partner and a second autonegotiation-disabled link partner; 
       FIG. 2  illustrates steps of a bypass method for automatically establishing a link between the link partners shown in  FIG. 1 ; 
       FIG. 3  is a functional block diagram illustrating a first autonegotiation-enabled link partner and a second autonegotiation-enabled link partner; 
       FIG. 4  shows first and second link partners that are connected by an interface converter; 
       FIG. 5  illustrate steps of a modified bypass method that resets the bypass timer when configuration code groups or corrupt data are received; 
       FIG. 6  illustrates steps of  FIG. 2  with additional steps to accommodate autonegotiation-disabled link partners that send idle code groups followed by data code groups before a bypass timer expires; and 
       FIG. 7  illustrates steps of  FIG. 5  with additional steps to accommodate autonegotiation-disabled link partners that send idle code groups followed by data code groups before a bypass timer expires. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
   The following description of the preferred embodiment(s) is merely exemplary in nature and is in no way intended to limit the invention, its application, or uses. For purposes of clarity, the same reference numbers will be used in the drawings to identify similar elements. 
   Referring now to  FIG. 1 , a first network device  20  or first link partner includes a physical layer device (PHY)  24  with an autonegotiation circuit  28 . The autonegotiation circuit  20  preferably implements fiber autonegotiation in accordance with IEEE sections 802.3 and/or 802.3Z, which are hereby incorporated by reference, although other network devices with different autonegotiation circuits and different media types are contemplated. The physical layer device  24  is connected by a first medium  32  such as fiber, copper or any other medium to a physical layer device  36  of a second network device  38  or second link partner. The second network device  38  is autonegotiation-disabled. In other words, the physical layer device  36  may have an autonegotiation circuit that is not operating correctly and/or may not have an autonegotiation circuit at all. The network devices  20  and  38  may communicate at 10 Mbps, 100 Mbps, 1000 Mbps or any other speed. 
   Referring now to  FIG. 2 , the autonegotiation procedure that is performed by the autonegotiation circuit  28  and that is set forth in IEEE section 802.3Z is modified to include a bypass mode of operation. The bypass mode allows a link to be established when the second network device  38  is not autonegotiation enabled. Control begins with step  102 . In step  104 , control determines whether the autonegotiation enable state of the autonegotiation circuit  28  is true. If the autonegotiation enable state is false, control loops back to step  104 . If the autonegotiation enable state is true, control continues with step  108  and determines whether an ability detect state of the autonegotiation circuit  28  is true. 
   If the ability detect state is false, control loops back to step  108 . If the ability detect state is true, control resets a bypass timer of the autonegotiation circuit  28  in step  112 . In step  116 , control determines whether a link between the link partners  20  and  38  has been brought up. If the link is up, control continues with step  120  and determines whether the link is down. If the link is not down, control loops back to step  120 . If the link is down, control loops back to step  104 . 
   If the link is not up in step  116 , control determines whether a receive synchronization state machine of the physical layer device  24  is in sync and the ability detect state is true in step  124 . If the receive synchronization state machine is not in sync and/or the ability detect state is false, control loops back to step  104 . If both conditions are true, control continues with step  128  and determines whether the bypass timer is up. If the bypass timer is not up, control loops back to step  116 . If the bypass timer is up, control continues with step  132  and sets a bypass enable flag. In step  136 , control brings up a link (despite the failure to complete autonegotiation between the link partners) using default, predetermined and/or condition-dependent settings. In step  140 , control determines whether the link is down. If the link is not down, control loops back to step  140 . If the link is down, control loops back to step  104 . 
   The bypass timer of the autonegotiation circuit  28  times out after a predetermined period. In an exemplary embodiment, the predetermined period of the bypass timer is equal to a multiple of a link timer. For example, if the link timer is equal to approximately 10 msec, the predetermined period of the bypass timer is set equal to a multiple of the link timer. For example, the bypass timer can be set to 20 times the link timer or approximately 200 msec. 
   When the bypass timer expires, the link between the link partners  20  and  38  may be established using a default operational mode. For example, the link may be established using current values of Port_Control_Extend&lt;Fdx_Adv&gt; and Port_Control_Extend&lt;Pause_Adv&gt;, although other default or other values may be used. 
   As can be appreciated from the foregoing, the link partner  38  can be sending idle code groups, configuration code groups, corrupt data, and/or data code groups. As long as autonegotiation does not complete within the predetermined period of the bypass timer and the other conditions described above are true, a link will be established between the link partners  20  and  38  despite the failure of the link patterns  20  and  38  to autonegotiate. Autonegotiation is restarted when the link partner  38  is capable of autonegotiation. 
   Referring now to  FIG. 3 , a second network device  40  includes a physical layer device  41  with an autonegotiation circuit  42 . In non-bypass-enabled fiber autonegotiation, the first network device  20  begins autonegotiation with the second network device  40 . In some circumstances, the second network device  40  may need to delay completion of autonegotiation with the first network device  20 . In order to prevent the first network device  20  from establishing a link, the second network device  40  sends consecutive, non-matching configuration code words and/or corrupt data to the first device  20 . 
   The first network device  20  receives the consecutive, non-matching configuration code words and/or corrupt data and believes that it is performing autonegotiation with the second network device  40 . When the second network device  40  is ready to complete autonegotiation, the second network device  40  stops sending the sending the consecutive, non-matching configuration code words and/or corrupt data and begins sending the same configuration code words on consecutive transmissions. The first and second network devices  20  and  40  complete autonegotiation. 
     FIG. 4  illustrates an exemplary situation where one network device or link partner needs to delay the completion of autonegotiation with a second network device or link partner. When attempting to provide a link between devices using different types of media, an interface converter  150  is used. As will be described below, autonegotiation of one link may need to be delayed until the other link is up. 
   In  FIG. 4 , the network device  20  includes the physical layer device (PHY)  24  with the autonegotiation circuit  28 . The autonegotiation circuit  20  preferably implements fiber autonegotiation in accordance with IEEE section 802.3Z, which is hereby incorporated by reference, although other network devices with different autonegotiation circuits can be used. The physical layer device  24  is connected by the first medium  32  to a physical layer device  152  of a second network device  150 . The second network device  150  is an interface converter such as a gigabit interface converter (or other type of interface converter) that also includes a second physical layer device  156  with an autonegotiation circuit  158 . The physical layer device  156  is connected to a second medium  160 , which is connected to a physical layer device  166  of a third network device  164 . The physical layer device  166  includes an autonegotiation circuit  168 . 
   In the example shown in  FIG. 4 , the first medium is fiber and the second medium is copper, although other types of media can be used. The autonegotiation circuits  28  and  154  complete fiber autonegotiation. The autonegotiation circuits  158  and  168  complete copper autonegotiation. The second network device  150  is a gigabit interface converter (GBIC) that provides connectivity between the fiber and copper media. 
   Since fiber and copper autonegotiation cannot be performed simultaneously, the fiber side autonegotiation is started but not completed and then the copper autonegotiation is completed. The autonegotiation circuit  154  sends consecutive, non-matching configuration code words to the autonegotiation circuit  28  to stall autonegotiation. The autonegotiation circuit  28  sends fiber configuration code words that are received by the autonegotiation circuit  154 . The autonegotiation circuit  154  passes along fiber configuration information learned from the received fiber configuration code words to the autonegotiation circuit  158 . The autonegotiation circuit  158  generates copper configuration code words that are based on the received fiber configuration code words and transmits the copper configuration code words to the autonegotiation circuit  168 . The autonegotiation circuits  158  and  168  complete copper autonegotiation. 
   After the copper autonegotiation completes, the autonegotiation circuit  158  passes along information relating to the copper autonegotiation to the fiber autonegotiation circuit  154 . In other words, the results of the copper side autonegotiation are used to indicate the capabilities of the copper side link partner to the fiber link partner. The autonegotiation circuit  154  sends consecutive, matching configuration code words to the autonegotiation circuit  28  and the fiber link is completed. 
   Before the copper link is completed, the autonegotiation circuit  154  of the network device  150  waits to enter an ability detect state of the fiber autonegotiation state machine. Once the autonegotiation circuit  154  knows the capabilities of the fiber link partner, the information in the received configuration code groups from the fiber link partner are sent the transmit configuration code group on the copper side autonegotiation. 
   The bypass function described above in conjunction with  FIGS. 1 and 2  waits for autonegotiation to complete within a predetermined period and then brings the fiber link up. In the example set forth above, the predetermined period can be 200 msec. The copper autonegotiation, however, typically takes longer than the predetermined period to complete. Typically, copper autonegotiation takes approximately 3 seconds for gigabit Ethernet applications. Therefore, if enabled, the bypass timer of the fiber link partner will expire before copper autonegotiation can complete and the fiber link partner  20  will bring the link up. 
   While the network device  150  is waiting for the copper link to complete, the autonegotiation circuit  154  of the network device  150  sends consecutive, non-matching configuration code groups to the fiber link partner  20 . The consecutive, non-matching configuration code groups cause the fiber link partner  20  to continue to stay in the ability detect state. If bypass is enabled, however, the fiber link partner  20  will not be “fooled” by the consecutive, non-matching configuration code groups and will attempt to bring up the link by using the bypass function. 
   A modified bypass method according to the present invention does not allow bypass to occur when configuration code groups are received. In one implementation, the network device  20  resets the bypass timer when the configuration code words are received. In other words, the network device  20  will continue to stay in the ability detect state until the network device  150  is ready to perform fiber autonegotiation after the copper link comes up. 
   While the present invention is described in the context of a link partners connected by fiber and copper through an interface converter, the present invention applies to any case where one link is stalled until the another side comes up. For example, other media interface converters require a similar mechanism. 
   Referring now to  FIG. 5 , the autonegotiation procedure that is performed by the autonegotiation circuit  28  and that is set forth in IEEE section 802.3Z is altered to include the modified bypass mode of operation. A substantial portion of the steps are the same as those previously shown and discussed in conjunction with  FIG. 2 . However, after step  116  when the link is not up, control determines in step  200  whether configuration code groups or corrupt data are received. If true, control loops back to step  112  and resets the bypass timer. As a result, the bypass mode is not enabled when configuration code groups or corrupt data are received. If idle code groups or data code groups are received, control continues as set forth in  FIG. 2 . 
   As can be appreciated from the foregoing, the link partner can be sending idle code groups and/or data code groups. When autonegotiation does not complete within the predetermined period of the bypass timer, a link will automatically be established. Autonegotiation is restarted when the link partner is capable of autonegotiation. 
   Another problem may occur when one link partner is autonegotiation and bypass enabled as shown in  FIGS. 1 and 2  and the other is not or has a faulty autonegotiation circuit. If the network device  38  sends idle code groups and then data code groups before the bypass timer is up, neither autonegotiation nor bypass can occur. The idle code groups followed by data code groups will reset the autonegotiation circuit to an autonegotiation enable state. For example, the network device may generate the idle code groups followed by data code groups in approximately 100 ms. If the bypass timer has a period that is set to 200 ms as set forth in the example above, neither autonegotiation nor bypass can occur. As a result, the link cannot be established. 
   According to 802.3Z, when the network device receives the idle code groups before data code groups before the bypass timer is up, the autonegotiation state machine of the autonegotiation circuit is reset to the autonegotiation enable state. This reset occurs when the last state of the autonegotiation state machine is equal to Idle_D and the current state of the autonegotiation state machine is equal to RX_INVALID. As a result, RUDI(INVALID) is asserted, which resets the autonegotiation state machine to the autonegotiation enable state. As a result, the link cannot be established. 
   Referring now to  FIGS. 1 ,  2  and  6 , an additional step is added to the steps set forth in  FIG. 2  according to the present invention to suppress the assertion of RUDI(INVALID) when the last state of the autonegotiation state machine is equal to Idle_D and the current state of the autonegotiation state machine is equal to RX_INVALID. This prevents the autonegotiation state machine from being reset to the autonegotiation enabled state. To that end, control continues from step  116  in  FIG. 6  to step  210  where control determines whether the last state of the autonegotiation state machine is equal to Idle_D and the current state of the autonegotiation state machine is equal to RX_INVALID. If true, control continues with step  212  and suppresses RUDI(INVALID). Control continues with step  124 . By suppressing RUDI(INVALID), the autonegotiation state machine is not reset to the autonegotiation enable state and the link partners  20  and  38  can establish the link after the bypass timer is up. 
   Referring now to  FIGS. 1 ,  5 , and  7 , the steps  210  and  212  can also be added to the modified bypass of  FIG. 5 . After step  200 , control determines whether the last state of the autonegotiation state machine is equal to Idle_D and the current state of the autonegotiation state machine is equal to RX_INVALID in step  210 . If true, control continues with step  212  and suppresses RUDI(INVALID). Control continues with step  124 . By suppressing RUDI(INVALID), the autonegotiation state machine is not reset to autonegotiation enable state and the link partners  20  and  38  can establish the link after the bypass timer is up. 
   Those skilled in the art can now appreciate from the foregoing description that the broad teachings of the present invention can be implemented in a variety of forms. Therefore, while this invention has been described in connection with particular examples thereof, the true scope of the invention should not be so limited since other modifications will become apparent to the skilled practitioner upon a study of the drawings, the specification and the following claims.