sonic-buildimage/platform/broadcom/sonic-platform-modules-accton/as7816-64x/utils
Roy Lee ff8e34463d [device/Accton] Fix i2c fault from ir3570a on 3 models (#3245)
I2c burst read may failed due to misoperation of ir3570a(A DC-to-DC converter IC).
As #2966, there are 3 more models have this symptom, as7326-56x, as7726-32x, and as9716-32d.
Also correct typo of naming on as7816-64x and as7716-32x.

Signed-off-by: roy_lee roy_lee@accton.com

What I did
Disabling i2c function of ir3570a which may failed i2c tranfer to others.
Close channel of mux after data transfered.

How I did it
Identify version of ir3570, if it's ir3570a, disable its alias i2c address.
Enable parameter of driver i2c_mux_pca954x to close channel on after every access.

How to verify it
Write 08 to offset 0xcf of systom eeprom and execute i2c block read.
It will return error.
plug-in several transceivers and run "show interfaces transceiver presence" and "sfputil show presence". You may see the different result. (But doing this requires updated xcvrd).

Signed-off-by: roy_lee <roy_lee@accton.com>
2019-07-31 11:28:03 -07:00
..
accton_as7816_monitor.py [device][accton]Add fan monitor for as7816-64x (#2859) 2019-05-08 00:41:07 -07:00
accton_as7816_util.py [device/Accton] Fix i2c fault from ir3570a on 3 models (#3245) 2019-07-31 11:28:03 -07:00
README [devices]: move platform modules of accton, ingrasys, mitac, quanta into buildimage repo 2018-08-11 09:09:03 +00: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/>.

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

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

LED controls can be found under /sys/class/leds. The sysfs interface
color mappings are as follows:
Brightness:
  0 => off
  1 => green
  2 => amber
  3 => red
  4 => blue

There are 5 system LEDs, loc, diag, fan, ps1, and ps2. 
They are lit automatically by CPLD, but the loc and diag.
The loc led has only 1 color, blue.
The diag one has 3 colors: red, amber, and green.

Fan controls can be found in /sys/bus/i2c/devices/2-0066.
There are 12 fans inside 6 fan modules.
All fans share 1 duty setting, ranged from 0~100.

Three temperature sensors are controlled by the lm75 kernel modules. 
They should already be visible under /sys/bus/i2c/drivers/lm75/.

Two power supplies are controlled by the CPLD. 
Here provide their status under
/sys/bus/i2c/devices/10-0050 and /sys/bus/i2c/devices/11-0053.

There are 32 QSFP+ modules are equipped. 
Apply "accton_as7712_util.py show" to get their status. 
Apply "accton_as7712_util.py set sfp" to turn on/off light transmission.
Apply "accton_as7712_util.py sff" to dump EEPROM information.
Before operating on that QSFP+, please make sure it is well plugged. 
Otherwise, operation is going to fail.