software:broadcom_poe_control_protocol

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
software:broadcom_poe_control_protocol [2020/11/16 16:55]
svanheule [Get system LED config] Use correct fields from set command
software:broadcom_poe_control_protocol [2021/09/05 12:20] (current)
svanheule [Set detection type]
Line 49: Line 49:
 | ''0e'' | [[#Set port to PSE output mapping]] || | ''0e'' | [[#Set port to PSE output mapping]] ||
 | ''10'' | [[#Set detection type]] || | ''10'' | [[#Set detection type]] ||
 +| ''11'' | [[#Set classification enable]] ||
 | ''13'' | [[#Set disconnect type]] || | ''13'' | [[#Set disconnect type]] ||
 | ''15'' | [[#Set port power limit type]] || | ''15'' | [[#Set port power limit type]] ||
Line 157: Line 158:
  
 ^ Field ^ Size ^ Description ^ ^ Field ^ Size ^ Description ^
-| high_power | 1 | ''00'': 22.5W ≤ P < 26.5W \\ ''01'': 26.5W ≤ P < 31.2W \\ ''02'': 31.2W ≤ P < 37W \\ ''03'': P < 22.5W or P ≥ 37W (invalid?|+| high_power | 1 | Power budget for high power devices. \\ ''00'': 22.5W \\ ''01'': 26.5W \\ ''02'': 31.2W \\ ''03'': 37.0W |
  
 ==== Set device config ==== ==== Set device config ====
Line 172: Line 173:
 ==== Set device power management ==== ==== Set device power management ====
   * ID: ''0b''   * ID: ''0b''
-  * Request: ''[pre_alloc] [powerup_mode] [disconnect] FF FF FF FF FF [gb_hysteresis]''+  * Request: ''[pre_alloc] [powerup_mode] [disconnect_order] FF FF FF FF FF [gb_hysteresis]''
   * Reply: ''[error]''   * Reply: ''[error]''
  
Line 184: Line 185:
 | pre_alloc | 1 | Use pre-allocated power budgets. \\ ''00'': Total power usage is calculated with allocated power budgets \\ ''01'': Total power usage is calculated with the actual power draw | | pre_alloc | 1 | Use pre-allocated power budgets. \\ ''00'': Total power usage is calculated with allocated power budgets \\ ''01'': Total power usage is calculated with the actual power draw |
 | powerup_mode | 1 | ''00''=simultaneous power-up \\ ''01''=staggered power-up \\ ''02'' (on Netgear FW v1.8) | | powerup_mode | 1 | ''00''=simultaneous power-up \\ ''01''=staggered power-up \\ ''02'' (on Netgear FW v1.8) |
-disconnect | 1 | ''01''=enabled, disabled on other values. Always ''00'' in captured traces. |+disconnect_order | 1 | Port disconnect order \\ ''00'': Disconnect overloaded port first \\ ''01'': Disconnect ports based on priority |
 | gb_hysteresis | 1 | When recovering from an excessive power draw event, the consumed power must drop by this value below the power budget before the alarm status is cleared. In units of 100mW. Valid values must be less than ''ff'', otherwise this value is ignored. | | gb_hysteresis | 1 | When recovering from an excessive power draw event, the consumed power must drop by this value below the power budget before the alarm status is cleared. In units of 100mW. Valid values must be less than ''ff'', otherwise this value is ignored. |
  
Line 209: Line 210:
 ^ Field ^ Size ^ Description ^ ^ Field ^ Size ^ Description ^
 | port | 1 | Port index number. Use ''7f'' to configure all ports with one command. | | port | 1 | Port index number. Use ''7f'' to configure all ports with one command. |
-| detection_type | 1 | ''00'': No detection \\ ''01'': Legacy \\ ''02'': IEEE 802.3af 4-point detection (default) \\ ''03'': 4-point detection, followed by legacy \\ ''05'': 'Wide range(Zyxel)|+| detection_type | 1 | ''00'': No detection \\ ''01'': Legacy \\ ''02'': IEEE 802.3af 4-point detection (default) \\ ''03'': IEEE 802.3af 4-point detection, followed by legacy \\ ''04'': IEEE 802.3af 2-point detection (not supported) \\ ''05'': IEEE 802.3af 2-point detection, followed by legacy | 
 + 
 +==== Set classification enable ==== 
 +  * ID: ''11'' 
 +  * Request: ''{ [port] [classification] }'' 
 +  * Reply: ''{ [port] [error] }'' 
 + 
 +^ Field ^ Size ^ Description ^ 
 +| port | 1 | Port index number | 
 +| classification | 1 | Automatic PD classification \\ ''00'': Disable \\ ''01'': Enable |
  
 ==== Set disconnect type ==== ==== Set disconnect type ====
Line 334: Line 344:
 | class_info | 1 | Detected PoE-PD device class | | class_info | 1 | Detected PoE-PD device class |
 | pd_type | 1 | ''00'': None \\ ''01'': IEEE PD \\ ''02'': Pre-standard PD \\ ''03'': Ext detection range | | pd_type | 1 | ''00'': None \\ ''01'': IEEE PD \\ ''02'': Pre-standard PD \\ ''03'': Ext detection range |
-| mpss_mask | 1 | |+| mpss_mask | 1 | "Port power disconnect map" |
 | power_mode | 1 | ''00'': 2-pair 15W \\ ''01'': 2-pair 30W \\ ''02'': 4-pair 30W \\ ''03'': 4-pair 60W \\ ''04'': 4-pair 15W  \\ ''05'': 4-pair 90W \\ ''06'': 2-pair 45W | | power_mode | 1 | ''00'': 2-pair 15W \\ ''01'': 2-pair 30W \\ ''02'': 4-pair 30W \\ ''03'': 4-pair 60W \\ ''04'': 4-pair 15W  \\ ''05'': 4-pair 90W \\ ''06'': 2-pair 45W |
 | chan_pwr | 1 | ''00'': Both down \\ ''01'': Primary up \\ ''02'': Alternative up \\ ''03'': Both up | | chan_pwr | 1 | ''00'': Both down \\ ''01'': Primary up \\ ''02'': Alternative up \\ ''03'': Both up |
Line 376: Line 386:
 | auto_powerup | 1 | | | auto_powerup | 1 | |
 | detection_type | 1 | Port detection type, see [[#Set detection type]] | | detection_type | 1 | Port detection type, see [[#Set detection type]] |
-| classification_enable | 1 | Enable PD classification |+| classification_enable | 1 | Enable PD classification, see [[#Set classification enable]] |
 | disconnect | 1 | Port disconnect type | | disconnect | 1 | Port disconnect type |
 | pair | 1 | Port power pair, see [[#Set port power pair]] | | pair | 1 | Port power pair, see [[#Set port power pair]] |
Line 398: Line 408:
 ==== Get power management mode ==== ==== Get power management mode ====
   * ID: ''27''   * ID: ''27''
-  * Request: varies, see description +  * Echo: echo byte or ''[pse]'' 
-  * Reply: ''[mode] [s0] [s1] [s2] [s3]''+  * Request: ''[pse]'' or none 
 +  * Reply: ''[mode] [power_limit_0] [guard_band_0] [power_limit_1] [guard_band_1]''
  
 On Ubiquiti switches, the request data is a single byte, hardcoded to ''07''. On Ubiquiti switches, the request data is a single byte, hardcoded to ''07''.
-On Netgear switches (FW v1.8)the request data is empty, but the echo byte is used as port index number.+ 
 +On firmware version v1.6 and upthis command has been butchered up to replace the echo byte with a data byte, allowing for response with 10 bytes instead of 9.
  
 ^ Field ^ Size ^ Description ^ ^ Field ^ Size ^ Description ^
 +| pse | 1 | PSE controller index |
 | mode | 1 | Power management mode. See [[#Set power management mode]] | | mode | 1 | Power management mode. See [[#Set power management mode]] |
-s0 | 2 | FW v1.8 only +power_limit_0 | 2 | Configured system power for the selected PSE index (FW v1.6 or higher) 
-s1 | 2 | FW v1.8 only +guard_band_0 | 2 | Configured guard band for the selected PSE index (FW v1.6 or higher) 
-s2 | 2 | FW v1.8 only +power_limit_1 | 2 | Configured system power for the selected PSE index + 1 (FW v1.6 or higher) 
-s3 | 2 | FW v1.8 only |+guard_band_1 | 2 | Configured guard band for the selected PSE index + 1 (FW v1.6 or higher) |
  
 ==== Get all port status ==== ==== Get all port status ====
Line 452: Line 465:
   * ID: ''2b''   * ID: ''2b''
   * Request: (emtpy)   * Request: (emtpy)
-  * Reply: ''[ext_param_0] [pre_alloc] [powerup_mode] [ext_param_3] [ext_param_4] [ext_param_5] [num_pse] [ext_param_7] [ext_param_8]''+  * Reply: ''[ext_param_0] [pre_alloc] [powerup_mode] [disconnect] [ddflag] [ovlo] [num_pse] [ext_param_7] [ext_param_8]''
  
 ^ Field ^ Size ^ Description ^ ^ Field ^ Size ^ Description ^
-ext_param_0 | 1 | p0 from [[#Set device config]] |+uvlo | 1 | Under-voltage detection threshold, see [[#Set device config]] |
 | pre_alloc | 1 |  | | pre_alloc | 1 |  |
 | powerup_mode | 1 | | | powerup_mode | 1 | |
-ext_param_3 | 1 | Related to power management like pre_alloc, powerup_mode +disconnect | 1 | | 
-ext_param_4 | 1 | b1 from [[#Set device config]] | +ddflag | 1 | See [[#Set device config]] | 
-ext_param_5 | 1 | p2 from [[#Set device config]] |+ovlo | 1 | Over-voltage detection threshold, see [[#Set device config]] |
 | num_pse | 1 | Number of BCM59xxx PSE controllers present in the system | | num_pse | 1 | Number of BCM59xxx PSE controllers present in the system |
 | ext_param_7 | 1 | p3 from [[#Set device config]] | | ext_param_7 | 1 | p3 from [[#Set device config]] |
Line 497: Line 510:
   * ''m'': LED mask. Each bit corresponds to the physical output level to the connected LED. If only one LED per port is present, only the lower bit is used.   * ''m'': LED mask. Each bit corresponds to the physical output level to the connected LED. If only one LED per port is present, only the lower bit is used.
   * ''B'': blink flag. If this bit is set, the LED will blink when the corresponding port state is active. Only valid for 'req' and 'err'   * ''B'': blink flag. If this bit is set, the LED will blink when the corresponding port state is active. Only valid for 'req' and 'err'
-  * ''S'': switch flag. If this bit is set, and two LEDs are available per port, the set bit is used to indicate the "2-pair 30W" power mode, i.e. a 802.3at PD. If both pairs are active ("4-pair 60W"), then both LEDs are lit. Finally, if the low-power mode ("2-pair 15W"is active, then LED bits are toggledcausing the other LED to be used.+  * ''S'': switch flag. If this bit is set, and two LEDs are available per port, the set bit is used to indicate the high power ("2-pair 30W"mode, i.e. a 802.3at PD. The other bit is then used to indicate the low-power ("2-pair 15W"mode. In 4PPoE mode both LED bits are set. 
 + 
 +The LED mask bits are written out directly to hardwareso you will have to take into account the physical layout of the LEDs. 
 +If for example two LEDs are in an anti-parallel configuration, both the ''00'' and ''11'' values for the LED mask will result in no output being shown, as there would be no voltage difference across the LEDs. 
 +This is often the case with the bi-color LEDs used in RJ45 sockets.
  
 ^ Field ^ Size ^ Description ^ ^ Field ^ Size ^ Description ^
Line 526: Line 543:
 ^ Field ^ Size ^ Description ^ ^ Field ^ Size ^ Description ^
 | sys_ok | 1 | ''00'': output low \\ ''01'': output high | | sys_ok | 1 | ''00'': output low \\ ''01'': output high |
-| in_gb | 1 | ''00'': output low \\ ''01'': output high \\ ''02'': output toggle slow (4Hz) \\ ''03'': output toggle fast (20Hz) | +| in_gb | 1 | ''00'': output low \\ ''01'': output high \\ ''02'': output blink slow (2Hz) \\ ''03'': output blink fast (10Hz) | 
-| out_of_gb | 1 | ''00'': output low \\ ''01'': output high \\ ''02'': output toggle slow (4Hz) \\ ''03'': output toggle fast (20Hz) | +| out_of_gb | 1 | ''00'': output low \\ ''01'': output high \\ ''02'': output blink slow (2Hz) \\ ''03'': output blink fast (10Hz) | 
-| exceeds_ps | 1 | ''00'': output low \\ ''01'': output high \\ ''02'': output toggle slow (4Hz) \\ ''03'': output toggle fast (20Hz) |+| exceeds_ps | 1 | ''00'': output low \\ ''01'': output high \\ ''02'': output blink slow (2Hz) \\ ''03'': output blink fast (10Hz) |
 | out_of_gb_off_delay | 1 | Time in seconds the out_of_gb LED stays blinking after the condition is de-asserted. If simple on/off is used there is no off-delay.| | out_of_gb_off_delay | 1 | Time in seconds the out_of_gb LED stays blinking after the condition is de-asserted. If simple on/off is used there is no off-delay.|
 | exceeds_ps_off_delay | 1 | Time in seconds the exceeds_ps LED stays blinking after the condition is de-asserted. If simple on/off is used there is no off-delay. | | exceeds_ps_off_delay | 1 | Time in seconds the exceeds_ps LED stays blinking after the condition is de-asserted. If simple on/off is used there is no off-delay. |
  • software/broadcom_poe_control_protocol.1605545718.txt.gz
  • Last modified: 2020/11/16 16:55
  • by svanheule