Raspberry + Neo GPS 6M

Estou usando o raspberry pi para capturar os dados do GPS mas raramente acontece um erro ao decodificar os dados do GPS.
Esse é o log do programa:
13/12/2020 16:11 - ERROR - Erro no encode do GPS: Traceback (most recent call last):
File “/home/pi/programas/monitor_gps/servicos.py”, line 140, in executar
linha_rmc = linha_serial.decode(‘ascii’)
UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0x82 in position 0: ordinal not in range(128)
Meu codigo:

class Monitor_gps():

def __init__(self, gps):
    self._gps = gps
    self._serialPort = None                
    self._existe_dados = False
    self._dados_gps = None
    self._iniciar_serial()

def executar(self):        
    try:
        linha_serial = self._serialPort.readline()
        linha_rmc = linha_serial.decode('ascii')
        #print('linha: '+linha_rmc)
        
        gp = linha_rmc[0:6]
        try:        
            if gp == '$GPRMC':
                self._dados_gps = self._tratar_dados(linha_rmc)
                #print('RMC: '+linha_rmc)
        except IndexError:
            tb = traceback.format_exc()
            Log.info('Não a dados do GPS: '+tb)
        
    except UnicodeDecodeError:
        self._fechar_serial()
        self._iniciar_serial()
        tb = traceback.format_exc()
        Log.info('Erro no encode do GPS: '+tb)
        

    return self._dados_gps

def _iniciar_serial(self):
    Log.info('_iniciar_serial')
    self._serialPort = serial.Serial(self._gps.porta, self._gps.baud, timeout=self._gps.timeout)

def _fechar_serial(self):
    Log.info('_fechar_serial')
    self._serialPort.close()
    self._serialPort = None                

Como vocês podem ver no código eu tento reiniciar a porta serial mas isso não resolve.
Para o programa funcionar eu tenho que reiniciar o serviço.

Eu queria resolver isso automaticamente.