Skip to content

Commit 9fc5b6d

Browse files
authored
Merge pull request #5 from qualcomm/csm-utils-dev2
feat(csm-utils): add csm-event-handler.sh to manage CSM services via …
2 parents a9f6c94 + 45176e0 commit 9fc5b6d

6 files changed

Lines changed: 24 additions & 31 deletions

99-csm-device-remove.rules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
SUBSYSTEM=="mhi", ACTION=="remove", KERNEL=="mhi[0-9]*_CSM_CTRL", RUN+="/etc/csm-nbdkit-stop.sh %k"
1+
SUBSYSTEM=="mhi", ACTION=="remove", KERNEL=="mhi[0-9]*_CSM_CTRL", RUN+="/usr/bin/csm-nbdkit-stop.sh %k"

99-mhi-csm-ctrl-device.rules

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1-
SUBSYSTEM=="mhi", ACTION=="add", KERNEL=="mhi[0-9]*_CSM_CTRL", TAG+="systemd", ENV{SYSTEMD_WANTS}+="csm-nbdkit@%k.service csm-configure-ip@%k.service"
1+
SUBSYSTEM=="mhi", ACTION=="add", KERNEL=="mhi[0-9]*_SAHARA", RUN+="/usr/bin/csm-event-handler.sh %k"
2+
SUBSYSTEM=="mhi", ACTION=="add", KERNEL=="mhi[0-9]*_CSM_CTRL", RUN+="/usr/bin/csm-event-handler.sh %k"
23
SUBSYSTEM=="mhi", ACTION=="add", KERNEL=="mhi[0-9]", TAG+="systemd", ENV{SYSTEMD_WANTS}+="csm-store-ddr@%k.service"

csm-configure-ip.sh

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -49,34 +49,6 @@ configure_ipaddress() {
4949
MPLANE_ADDR="192.200.103.$1"
5050
echo "configure interface $MPLANE_INTERFACE $OAM_HOST_ADDR $MPLANE_ADDR"
5151
config_interface $MPLANE_INTERFACE $OAM_HOST_ADDR $MPLANE_ADDR
52-
53-
# get debug transport config
54-
decimal_serial=$(cat /sys/bus/mhi/devices/mhi$1/serial_number | cut -d " " -f3)
55-
serialno=$(convert_serial_to_hex "$decimal_serial")
56-
LASSEN_DEVICE_FOLDER=/lib/firmware/qcom/qdu100/$serialno
57-
if [ -f $LASSEN_DEVICE_FOLDER/debug_transport.conf ]; then
58-
debug_transport=$(cat $LASSEN_DEVICE_FOLDER/debug_transport.conf)
59-
else
60-
debug_transport="pcie"
61-
fi
62-
63-
timeout=10 # seconds
64-
interval=0.2 # seconds
65-
elapsed=0
66-
67-
debug_node="/sys/bus/mhi/devices/mhi$1_CSM_CTRL/transport_mode"
68-
while (( $(echo "$elapsed < $timeout" | bc -l) )); do
69-
if [ -f "$debug_node" ]; then
70-
echo "$debug_transport" > "$debug_node"
71-
echo "Copied $debug_transport to $debug_node"
72-
return 0
73-
fi
74-
sleep $interval
75-
elapsed=$(echo "$elapsed + $interval" | bc)
76-
done
77-
78-
echo "Destination file $debug_node not found after $timeout seconds."
79-
return 1
8052
}
8153

8254
# Udev rule triggers csm_nbdkit service with SAHARA channel as argument when Device detected on PCIe channel at boot

[email protected]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
[Unit]
77
Description=Run csm configure IP service
8-
After=network.target
8+
After=network.target [email protected]
99
Requires=network.target network-online.target remote-fs.target [email protected]
1010

1111
[Service]

csm-event-handler.sh

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/bin/bash
2+
#******************************************************************************
3+
# Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
4+
# SPDX-License-Identifier: BSD-3-Clause-Clear
5+
#******************************************************************************/
6+
7+
DEVICE="$1"
8+
echo "csm-event: starting script csm-event-handler" > /dev/kmsg
9+
10+
if [[ "$DEVICE" == *"SAHARA"* ]]; then
11+
echo "csm-event: $DEVICE: starting csm-nbdkit service for SAHARA" > /dev/kmsg
12+
systemd-run --no-block systemctl restart csm-nbdkit@"$DEVICE".service &
13+
echo "csm-event: $DEVICE: csm-nbdkit service completed with status:$?" > /dev/kmsg
14+
else
15+
echo "csm-event: $DEVICE: starting csm-configure-ip service for CSM_CTRL" > /dev/kmsg
16+
systemd-run --no-block systemctl restart csm-configure-ip@"$DEVICE".service &
17+
echo "csm-event: $DEVICE: csm-configure-ip service completed with status:$?" > /dev/kmsg
18+
fi

rpm/csm-utils.spec

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ install -m 755 csm-utils/decimal-to-hex.sh $RPM_BUILD_ROOT%{_bindir}/decimal-to-
3232
install -m 644 csm-utils/99-mhi-csm-ctrl-device.rules $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d
3333
install -m 644 csm-utils/99-csm-device-remove.rules $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d
3434
install -m 755 csm-utils/csm-check-repair.sh $RPM_BUILD_ROOT%{_bindir}/csm-check-repair.sh
35+
install -m 755 csm-utils/csm-event-handler.sh $RPM_BUILD_ROOT%{_bindir}/csm-event-handler.sh
3536

3637
%clean
3738
%{__rm} -rf $RPM_BUILD_ROOT
@@ -41,6 +42,7 @@ install -m 755 csm-utils/csm-check-repair.sh $RPM_BUILD_ROOT%{_bindir}/csm-check
4142
%{_bindir}/csm-nbdkit-stop.sh
4243
%{_bindir}/csm-configure-ip.sh
4344
%{_bindir}/csm-check-repair.sh
45+
%{_bindir}/csm-event-handler.sh
4446
%{_bindir}/csm-store-ddr.sh
4547
%{_bindir}/decimal-to-hex.sh
4648
%{_sysconfdir}/systemd/system/[email protected]

0 commit comments

Comments
 (0)