From 169af8ddabe9e3710b14277298eccb590f572107 Mon Sep 17 00:00:00 2001 From: sandycelestica <47624974+sandycelestica@users.noreply.github.com> Date: Sun, 14 Mar 2021 07:35:59 +0800 Subject: [PATCH] [celestica]: Fix E1031 udev rules not work for sonic os first boot after be installed (#7043) Use udevadm to trigger the udev rules on the first boot How to verify: - Connect C0 with E1031; - Install or upgrade the sonic os to 202012 branch; - When access to sonic check if /dev/C0-1 to /dev/C0-48 are existed. --- .../debian/platform-modules-haliburton.postinst | 6 ++++-- .../haliburton/script/reload_udev.sh | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 platform/broadcom/sonic-platform-modules-cel/haliburton/script/reload_udev.sh diff --git a/platform/broadcom/sonic-platform-modules-cel/debian/platform-modules-haliburton.postinst b/platform/broadcom/sonic-platform-modules-cel/debian/platform-modules-haliburton.postinst index 74a4a4b179..1ebafb7fda 100644 --- a/platform/broadcom/sonic-platform-modules-cel/debian/platform-modules-haliburton.postinst +++ b/platform/broadcom/sonic-platform-modules-cel/debian/platform-modules-haliburton.postinst @@ -1,4 +1,7 @@ depmod -a +sudo chmod +x /usr/local/bin/udev_prefix.sh +sudo chmod +x /usr/local/bin/popmsg.sh +sudo chmod +x /usr/local/bin/reload_udev.sh systemctl enable platform-modules-haliburton.service systemctl enable fancontrol.service @@ -6,5 +9,4 @@ systemctl start platform-modules-haliburton.service systemctl start fancontrol.service /usr/local/bin/platform_api_mgnt.sh install -sudo chmod +x /usr/local/bin/udev_prefix.sh -sudo chmod +x /usr/local/bin/popmsg.sh +/usr/local/bin/reload_udev.sh diff --git a/platform/broadcom/sonic-platform-modules-cel/haliburton/script/reload_udev.sh b/platform/broadcom/sonic-platform-modules-cel/haliburton/script/reload_udev.sh new file mode 100644 index 0000000000..aa4e2c67cd --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-cel/haliburton/script/reload_udev.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +UDEV_DIR=/etc/udev/rules.d/50-ttyUSB-C0.rules +TTYUSB_DIR=/dev/ttyUSB + +if [ -f "$UDEV_DIR" ]; then + for i in {0..95} + do + ttydev=$TTYUSB_DIR$i + if [ -c "$ttydev" ]; then + udevadm trigger -c add $ttydev + fi + done +fi