diff --git a/lib/rdk/NM_Bootstrap.sh b/lib/rdk/NM_Bootstrap.sh index 1d930133..149e199c 100644 --- a/lib/rdk/NM_Bootstrap.sh +++ b/lib/rdk/NM_Bootstrap.sh @@ -19,11 +19,21 @@ # limitations under the License. ############################################################################## -WIFI_WPA_SUPPLICANT_CONF="/opt/secure/wifi/wpa_supplicant.conf" +RDK_PROFILE=$(grep "RDK_PROFILE" /etc/device.properties | cut -d '=' -f 2) +RDKV_SUPP_CONF="/opt/secure/wifi/wpa_supplicant.conf" +if [ "$RDK_PROFILE" == "TV" ]; then + echo "`/bin/timestamp` :$0: Not migrating Wifi credentials for TVs from NM_Bootsrtap" >> /opt/logs/NMMonitor.log + if [ -f $RDKV_SUPP_CONF ]; then + sed -i '/network={/,/}/d' /opt/secure/wifi/wpa_supplicant.conf + fi + rm -rf /opt/NetworkManager/system-connections/* + exit 0 +fi + -if [ -f $WIFI_WPA_SUPPLICANT_CONF ]; then - SSID=$(cat $WIFI_WPA_SUPPLICANT_CONF | grep -w ssid= | cut -d '"' -f 2) - PSK_LINE=$(grep psk= "$WIFI_WPA_SUPPLICANT_CONF") +if [ -f $RDKV_SUPP_CONF ]; then + SSID=$(cat $RDKV_SUPP_CONF | grep -w ssid= | cut -d '"' -f 2) + PSK_LINE=$(grep psk= "$RDKV_SUPP_CONF") # Case 1: Quoted passphrase if [[ "$PSK_LINE" =~ psk=\"(.+)\" ]]; then @@ -37,6 +47,20 @@ if [ -f $WIFI_WPA_SUPPLICANT_CONF ]; then else PSK="" fi - echo "`/bin/timestamp` :$0: Removed nmcli SSID connect" >> /opt/logs/NMMonitor.log + + if [ -z $SSID ]; then + echo "`/bin/timestamp` :$0: No SSID found in supplicant conf" >> /opt/logs/NMMonitor.log + else + rm -rf /opt/NetworkManager/system-connections/* + if [ -z $PSK ]; then + #connect to wifi + nmcli conn add type wifi con-name "$SSID" autoconnect yes ifname wlan0 ssid "$SSID" + nmcli conn reload + else + #connect to wifi + nmcli conn add type wifi con-name "$SSID" autoconnect yes ifname wlan0 ssid "$SSID" wifi-sec.key-mgmt wpa-psk wifi-sec.psk "$PSK" + nmcli conn reload + fi + fi sed -i '/network={/,/}/d' /opt/secure/wifi/wpa_supplicant.conf fi diff --git a/systemd_units/NetworkManager_ecfs.conf b/systemd_units/NetworkManager_ecfs.conf new file mode 100644 index 00000000..dcf4079f --- /dev/null +++ b/systemd_units/NetworkManager_ecfs.conf @@ -0,0 +1,2 @@ +[Unit] +After=securemount.service