sonic-buildimage/platform/broadcom/sonic-platform-modules-accton/as7726-32x/utils
jostar-yang b39b7a3f2d
[Accton/PDDF] Support pddf to as4630/as7816/as7326 (#10340)
Why I did it
Support pddf to as4630/as7816/as7326

How I did it
Send needed file to the PR for these platform

How to verify it
Test sensors and show platform cmd.
root@as7326-56x-3:/home/admin# show platform psustatus
PSU Model Serial HW Rev Voltage (V) Current (A) Power (W) Status LED

PSU 1 FSF045-611 FSF0451912000505 N/A 12.06 5.50 66.00 OK green
PSU 2 FSF045-611 FSF0451912000568 N/A 12.00 5.50 66.00 OK green

root@as7326-56x-3:/home/admin# sensors
lm75-i2c-15-4a
Adapter: i2c-1-mux (chan_id 6)
Main Board Temperature: +35.5 C (high = +80.0 C, hyst = +75.0 C)

lm75-i2c-15-4b
Adapter: i2c-1-mux (chan_id 6)
CPU Board Temperature: +29.0 C (high = +80.0 C, hyst = +75.0 C)

fan_ctrl-i2c-11-66
Adapter: i2c-1-mux (chan_id 2)
fan1: 9100 RPM
fan2: 9400 RPM
fan3: 9300 RPM
fan4: 9600 RPM
fan5: 9000 RPM
fan6: 9100 RPM
fan7: 9100 RPM
fan8: 9300 RPM
fan9: 9200 RPM
fan10: 9400 RPM
fan11: 9200 RPM
fan12: 9400 RPM

pch_haswell-virtual-0
Adapter: Virtual device
temp1: +43.0 C

psu_pmbus-i2c-17-59
Adapter: i2c-1-mux (chan_id 0)
in3: +12.06 V
fan1: 6272 RPM
temp1: +37.0 C
power2: 60.00 W
curr2: +6.00 A

lm75-i2c-15-49
Adapter: i2c-1-mux (chan_id 6)
Main Board Temperature: +40.0 C (high = +80.0 C, hyst = +75.0 C)

lm75-i2c-15-48
Adapter: i2c-1-mux (chan_id 6)
Main Board Temperature: +39.0 C (high = +80.0 C, hyst = +75.0 C)

psu_pmbus-i2c-13-5b
Adapter: i2c-1-mux (chan_id 4)
in3: +12.00 V
fan1: 6144 RPM
temp1: +36.0 C
power2: 66.00 W
curr2: +5.50 A

coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +50.0 C (high = +82.0 C, crit = +104.0 C)
Core 0: +50.0 C (high = +82.0 C, crit = +104.0 C)
Core 1: +50.0 C (high = +82.0 C, crit = +104.0 C)
Core 2: +50.0 C (high = +82.0 C, crit = +104.0 C)
Core 3: +50.0 C (high = +82.0 C, crit = +104.0 C)

Signed-off-by: Jostar Yang <jostar_yang@accton.com.tw>
2022-04-01 09:55:04 -07:00
..
accton_as7726_32x_monitor_fan.py Update Accton platform module for Bullseye and 5.10 kernel 2021-11-10 15:27:22 -08:00
accton_as7726_32x_monitor_psu.py Update Accton platform module for Bullseye and 5.10 kernel 2021-11-10 15:27:22 -08:00
accton_as7726_32x_monitor.py Update Accton platform module for Bullseye and 5.10 kernel 2021-11-10 15:27:22 -08:00
accton_as7726_32x_pddf_monitor.py Update Accton platform module for Bullseye and 5.10 kernel 2021-11-10 15:27:22 -08:00
accton_as7726_32x_util.py Update Accton platform module for Bullseye and 5.10 kernel 2021-11-10 15:27:22 -08:00
accton_handle_idt.sh [kernel]: update sonic kernel to 4.9.0-8-2 (#2468) 2019-01-25 00:46:09 -08:00
idt_init.sh [devices]: Add support as7726-32x platform (#2340) 2018-12-04 10:11:02 -08:00
mac_reset.sh [devices]: Add support as7726-32x platform (#2340) 2018-12-04 10:11:02 -08:00
pddf_post_device_create.sh [Accton] Enable pca954x i2c mux idle_disconnect for 5.10 kernel (#9745) 2022-01-12 13:43:47 -08:00
pddf_post_driver_install.sh [Accton/PDDF] Support pddf to as4630/as7816/as7326 (#10340) 2022-04-01 09:55:04 -07:00
pddf_switch_svc.py Update Accton platform module for Bullseye and 5.10 kernel 2021-11-10 15:27:22 -08:00
README [devices]: Add support as7726-32x platform (#2340) 2018-12-04 10:11:02 -08:00

Copyright (C) 2016 Accton Networks, Inc.

This program is free software: you can redistribute it and/or modify
It under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Contents of this package:
  patch - files under patch/ is for kernel and ONIE installer                 
        for the kernel:         
            config-accton-as5712_54x.patch 
                    for kernel configuration.
            driver-i2c-muxes-pca954x-always-deselect.patch 
                    for i2c_mux deselects after transaction.
            driver-patches-for-accton-as5712-fan-psu-cpld.patch
                    for as5712's fan/psu/cpld/led/sfp drivers.
        for ONIE:
            onie_installer-accton-AS5712-54X.patch 
                    for console port setting and copy util script o rootfs.
  module - Contains source code of as5712 kernel driver modules.

The late Sonic building scripts, pushed @Dec 5 2016, will automatically 
create a docker container and run building process under it.
User is not necessary to handle docker environment creation.

1. Download sonic-buildimage environment.
  - Run "git clone https://github.com/Azure/sonic-buildimage".
  - cd to sonic-buildimage and run "git submodule update --init --recursive".
2. Build kernel
  - cd ./src/sonic-linux-kernel
  - Copy patches and series from patch/kernel of this release to 
    sonic-linux-kernel/patch.
  - Build kernel by "make".
  - The built kernel package, linux-image-3.16.0-5-amd64_3.16.51-3+deb8u1_amd64.deb
    , is generated.
3. Build installer 
  - Change directory back to sonic-buildimage/.
  - Get onie_installer-accton-AS5712-54X.patch" from patch/installer.
  - Change setting for AS5712-54X by patching build_image.sh.
    "patch -p1 < onie_installer-accton-AS5712-54X.patch"
    !!NOTICE, patching onie_installer-accton-AS5712-54X.patch comments out the
    "git status" checking at build_image.sh.
  - The account and password of installed OS can be given at rules/config.
    The default user and password are "admin" & "YourPaSsWoRd" respectively.
  - Run "make configure PLATFORM=broadcom"
  - Copy the built kernel debian package to target/debs/.
    The file is linux-image-3.16.0-5-amd64_*_amd64.deb under directory
    src/sonic-linux-kernel/.
  - Run "make target/sonic-generic.bin"
  - Get the installer, target/sonic-generic.bin, to target machine and install.

All Linux kernel code is licensed under the GPLv1. All other code is
licensed under the GPLv3. Please see the LICENSE file for copies of
both licenses.

The code for integacting with Accton AS5712-54X has 2 parts, 
kernel drivers and operational script. 
The kernel drivers of peripherals are under module/ directory.
1.  These drivers are patched into kernel by 
    driver-patches-for-accton-as5712-fan-psu-cpld.patch
    Or you can build the driver under module/ by setting environment variable, 
    KERNEL_SRC, to proper linux built directory and run make. 
    It may be sonic-linux-kernel/linux-3.*/debian/build/build_amd64_none_amd64/.
2.  A operational script, accton_as5712_util.py, for device initializatian and 
    peripheral accessing should be installed at /usr/bin. 
    This script is generated by onie_installer-accton-AS5712-54X.patch.
    It's done by patching onie_installer-accton-AS5712-54X.patch at build-image.
    Run "accton_as5712_util.py install" to install drivers.

To initialize the system, run "accton_as5712_util.py install".
To clean up the drivers & devices, run "accton_as5712_util.py clean".
To dump information of sensors, run "accton_as5712_util.py show".
To dump SFP EEPROM, run "accton_as5712_util.py sff".
To set fan speed, run "accton_as5712_util.py set fan".
To enable/disable SFP emission, run "accton_as5712_util.py set sfp".
To set system LEDs' color, run "accton_as5712_util.py set led"
For more information, run "accton_as5712_util.py --help".

====================================================================
Besides applying accton_as5712_util.py to access peripherals, you can 
access peripherals by sysfs nodes directly after the installation is run.

System LED:
    There are 5 system LEDs at the lower-left corner of front panel.
    They are  loc, diag, fan, ps1, and ps2. 
    The sysfs interface color mappings are as follows:
    Brightness:
        0 => off
        1 => green
        2 => amber
        3 => red
        4 => blue
    But not all colors are available for each LED.

Fan Control:
    There are 10 fans inside 5 fan modules.
    All fans share 1 duty setting, ranged from 0~100.

Thermal sensers:
    3 temperature sensors are controlled by the lm75 kernel modules. 

PSUs:
    There 2 power supplies slot at the left/right side of the back.
    Once if a PSU is not plugged, the status of it is shown failed.

There are 48 SFP+ and 6 QSFP modules are equipped. 
Before operating on PSU and QSFP+, please make sure it is well plugged. 
Otherwise, operation is going to fail.