|  |  | @ -79,7 +79,7 @@ interfaces = load_interfaces(interface_names) | 
			
		
	
		
		
			
				
					
					|  |  |  | def fingerprint(logcan, sendcan): |  |  |  | def fingerprint(logcan, sendcan): | 
			
		
	
		
		
			
				
					
					|  |  |  |   fixed_fingerprint = os.environ.get('FINGERPRINT', "") |  |  |  |   fixed_fingerprint = os.environ.get('FINGERPRINT', "") | 
			
		
	
		
		
			
				
					
					|  |  |  |   skip_fw_query = os.environ.get('SKIP_FW_QUERY', False) |  |  |  |   skip_fw_query = os.environ.get('SKIP_FW_QUERY', False) | 
			
		
	
		
		
			
				
					
					|  |  |  |   ecu_responses = set() |  |  |  |   ecu_rx_addrs = set() | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   if not fixed_fingerprint and not skip_fw_query: |  |  |  |   if not fixed_fingerprint and not skip_fw_query: | 
			
		
	
		
		
			
				
					
					|  |  |  |     # Vin query only reliably works thorugh OBDII |  |  |  |     # Vin query only reliably works thorugh OBDII | 
			
		
	
	
		
		
			
				
					|  |  | @ -98,7 +98,7 @@ def fingerprint(logcan, sendcan): | 
			
		
	
		
		
			
				
					
					|  |  |  |     else: |  |  |  |     else: | 
			
		
	
		
		
			
				
					
					|  |  |  |       cloudlog.warning("Getting VIN & FW versions") |  |  |  |       cloudlog.warning("Getting VIN & FW versions") | 
			
		
	
		
		
			
				
					
					|  |  |  |       _, vin = get_vin(logcan, sendcan, bus) |  |  |  |       _, vin = get_vin(logcan, sendcan, bus) | 
			
		
	
		
		
			
				
					
					|  |  |  |       ecu_responses = get_present_ecus(logcan, sendcan) |  |  |  |       ecu_rx_addrs = get_present_ecus(logcan, sendcan) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       car_fw = get_fw_versions(logcan, sendcan) |  |  |  |       car_fw = get_fw_versions(logcan, sendcan) | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     exact_fw_match, fw_candidates = match_fw_to_car(car_fw) |  |  |  |     exact_fw_match, fw_candidates = match_fw_to_car(car_fw) | 
			
		
	
	
		
		
			
				
					|  |  | @ -166,7 +166,7 @@ def fingerprint(logcan, sendcan): | 
			
		
	
		
		
			
				
					
					|  |  |  |     source = car.CarParams.FingerprintSource.fixed |  |  |  |     source = car.CarParams.FingerprintSource.fixed | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   cloudlog.event("fingerprinted", car_fingerprint=car_fingerprint, source=source, fuzzy=not exact_match, |  |  |  |   cloudlog.event("fingerprinted", car_fingerprint=car_fingerprint, source=source, fuzzy=not exact_match, | 
			
		
	
		
		
			
				
					
					|  |  |  |                  fw_count=len(car_fw), ecu_responses=ecu_responses, error=True) |  |  |  |                  fw_count=len(car_fw), ecu_responses=list(ecu_rx_addrs), error=True) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   return car_fingerprint, finger, vin, car_fw, source, exact_match |  |  |  |   return car_fingerprint, finger, vin, car_fw, source, exact_match | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |