Temat: [Focus 2014-2018] Sync 2 zamiana na Sync 3
View Single Post
Stary 20-12-2016, 08:02   #187
a4tech
ford::advanced
 
Imię: Pawel
Zarejestrowany: 20-02-2014
Skąd: Kraków
Model: 3.0EB
Silnik: 1x 3.0 EB + 2x Elektryczny
Rocznik: 2021
Postów: 332
Domyślnie Odp: Sync 2 zamiana na Sync 3

Moim "chałupniczym" sposobem trafiłem na jakis skrypt. Poniżej jego treść:

post_script.sh
Kod:
#!/bin/sh 

# Signal handler.
SignalTrap()
{
	echo "Received signal.  Update aborting."
	exit 1
}

# Set Signal Trap
trap SignalTrap INT QUIT TERM ABRT STOP

interlog_status=1

function getCurrentInterlog
{
	for usb in 0 1; do
		for f in /fs/usb${usb}/SyncMyRide/Sync_*.xml; do
			diff -q $f /fs/images/ivsu_cache/Interrogator_Log.xml > /dev/null
			if [ $? -eq 0 ]; then
				logfile=$f
				return
			fi
		done
	done
}

function validateData
{
	log=$(<$logfile)
	hsh=$(echo "$log" | openssl dgst -sha1 2>/dev/null)
	
	#Pad MAC addresses
	log=$(echo "$log" | sed -r "s/>\s*([0-9a-fA-F]{1,2}):\s*([0-9a-fA-F]{1,2}):\s*([0-9a-fA-F]{1,2}):\s*([0-9a-fA-F]{1,2}):\s*([0-9a-fA-F]{1,2}):\s*([0-9a-fA-F]{1,2})</>0\1:0\2:0\3:0\4:0\5:0\6</g" | sed -r "s/>0*([0-9a-fA-F]{2}):0*([0-9a-fA-F]{2}):0*([0-9a-fA-F]{2}):0*([0-9a-fA-F]{2}):0*([0-9a-fA-F]{2}):0*([0-9a-fA-F]{2})</>\1:\2:\3:\4:\5:\6</g")
	
	#Strip 0xFF
	log=$(echo "$log" | sed -r "s/\d255//g")
	
	#XML element name
	log=$(echo "$log" | sed -r "s/\bmodinfo\b/d2p1/g")
	
	#Pending apps version
	pendingAppsVersion=$(awk -F ' = ' '/Ford Part Number/ { print $2 }' /fs/rwdata/.Pending/*14G381*.inf 2>/dev/null)
	if [ -n "$pendingAppsVersion" ]; then
		log=$(echo "$log" | sed -r "s/[A-Z0-9]{4}-14G381-[A-Z0-9]+/$pendingAppsVersion/g")
	fi
	
	if [ "$hsh" != "$(echo "$log" | openssl dgst -sha1 2>/dev/null)" ]; then
		echo "$log" > $logfile
		echo Log validated
	else
		echo Log valid
	fi
}

if [ -e /tmp/utloggingutility ]; then
	chmod 755 /tmp/utloggingutility
	# Remove previous log if MY16 only
	grep -q "SYNCGen3.0_1" /fs/mp/Version.inf
	if (( $? == 0 )); then
		rm /fs/images/ivsu_cache/*Interrogator_Log.xml
	fi
	if [ ! -e /fs/images/ivsu_cache/Decoded_ODL.xml ]; then
		cp /tmp/Decoded_ODL.xml /fs/images/ivsu_cache
	fi
	/tmp/utloggingutility interlog
	interlog_status=$?
	if [ $interlog_status -eq 0 ]; then
		getCurrentInterlog
		if [ -n "$logfile" ]; then
			rm -rf /fs/usb${usb}/interlog*
			validateData 
		else
			echo "Can't locate Interrogator log"
		fi
	fi
else
	echo "utloggingutility binary is missing\n"
fi

exit $interlog_status
Decoded_ODL.xml

http://pastebin.com/RJbwn0P2


Nie wiem czym jest plik XML, lecz sąðzę że prawdopodobnie 'Direct Configiem' dla APIM.
__________________
SYNC 4 --- TEL: 692 47 04 92
a4tech jest offline   Odpowiedź z Cytatem