2021-10-26 14:55:24 -05:00
|
|
|
#!/bin/bash
|
|
|
|
# This script load/unload centec kernel modules
|
|
|
|
|
|
|
|
### BEGIN INIT INFO
|
|
|
|
# Provides: platform-modules-v682-48y8c-d
|
|
|
|
# Required-Start:
|
|
|
|
# Required-Stop:
|
|
|
|
# Should-Start:
|
|
|
|
# Should-Stop:
|
|
|
|
# Default-Start: S
|
|
|
|
# Default-Stop: 0 6
|
|
|
|
# Short-Description: Load Centec kernel modules
|
|
|
|
### END INIT INFO
|
|
|
|
|
|
|
|
function install_python_api_package()
|
|
|
|
{
|
|
|
|
device="/usr/share/sonic/device"
|
|
|
|
platform=$(/usr/local/bin/sonic-cfggen -H -v DEVICE_METADATA.localhost.platform)
|
|
|
|
|
|
|
|
rv=$(pip3 show sonic-platform > /dev/null 2>/dev/null)
|
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
rv=$(pip3 install $device/$platform/sonic_platform-1.0-py3-none-any.whl)
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2021-12-17 17:20:27 -06:00
|
|
|
function load_system_eeprom_file()
|
|
|
|
{
|
|
|
|
device="/usr/share/sonic/device"
|
|
|
|
platform=$(/usr/local/bin/sonic-cfggen -H -v DEVICE_METADATA.localhost.platform)
|
|
|
|
mkdir -p /mnt/onie-boot
|
|
|
|
mount -t ext4 -L ONIE-BOOT /mnt/onie-boot
|
|
|
|
dd if=/mnt/onie-boot/eeprom_file of=$device/$platform/eeprom_file bs=1 skip=1046528
|
|
|
|
dd if=/mnt/onie-boot/eeprom_file of=$device/$platform/eeprom_cipher bs=1 count=32
|
|
|
|
MACADDR=`decode-syseeprom | grep "Base MAC Address" | awk '{print $6}'`
|
|
|
|
ifconfig eth0 hw ether $MACADDR
|
|
|
|
umount /mnt/onie-boot
|
|
|
|
rmdir /mnt/onie-boot
|
|
|
|
}
|
|
|
|
|
2021-10-26 14:55:24 -05:00
|
|
|
function load_kernel_modules()
|
|
|
|
{
|
|
|
|
depmod -a
|
|
|
|
modprobe i2c-dev
|
|
|
|
modprobe centec_v682_48y8c_d_platform
|
|
|
|
modprobe dal
|
|
|
|
modprobe tun
|
|
|
|
modprobe tap
|
|
|
|
}
|
|
|
|
|
|
|
|
function remove_kernel_modules()
|
|
|
|
{
|
|
|
|
modprobe -r tap
|
|
|
|
modprobe -r tun
|
|
|
|
modprobe -r dal
|
|
|
|
modprobe -r centec_v682_48y8c_d_platform
|
|
|
|
modprobe -r i2c-dev
|
|
|
|
}
|
|
|
|
|
|
|
|
function release_board()
|
|
|
|
{
|
|
|
|
systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
|
|
|
|
|
2021-12-17 17:20:27 -06:00
|
|
|
chmod a+x /usr/local/lib/python3.9/dist-packages/libSUSI-4.00.so.1
|
|
|
|
chmod a+x /usr/local/lib/python3.9/dist-packages/_Susi4.so
|
|
|
|
chmod a+x /usr/local/lib/python3.9/dist-packages/release.py
|
|
|
|
/usr/local/lib/python3.9/dist-packages/release.py
|
2021-10-26 14:55:24 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
case "$1" in
|
|
|
|
start)
|
|
|
|
echo -n "Load Centec kernel modules... "
|
|
|
|
|
|
|
|
release_board
|
|
|
|
load_kernel_modules
|
|
|
|
install_python_api_package
|
2021-12-17 17:20:27 -06:00
|
|
|
load_system_eeprom_file
|
2021-10-26 14:55:24 -05:00
|
|
|
|
|
|
|
echo "done."
|
|
|
|
;;
|
|
|
|
|
|
|
|
stop)
|
|
|
|
echo -n "Unload Centec kernel modules... "
|
|
|
|
|
|
|
|
remove_kernel_modules
|
|
|
|
|
|
|
|
echo "done."
|
|
|
|
;;
|
|
|
|
|
|
|
|
force-reload|restart)
|
|
|
|
echo "Not supported"
|
|
|
|
;;
|
|
|
|
|
|
|
|
*)
|
|
|
|
echo "Usage: /etc/init.d/platform-modules-v682-48y8c-d {start|stop}"
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
exit 0
|
|
|
|
|