Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

TalkTalk Wi-Fi Hub (F@ST 5364) firmware SG4K100208: Device/DeviceInfo container blocked, leaf fallback works; Device/Hosts/Hosts works; DSL rates + throughput paths confirmed; request-level errors can mask per-action success

Aberta
#453 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
45/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
python
Domínio
api

Direção de pesquisa

Comece com get_device_info() e o fluxo de requisições /cgi/json-req; em seguida, reproduza a falha do contêiner Device/DeviceInfo e as leituras bem-sucedidas das folhas no F@ST 5364. Defina a conclusão como a recuperação bem-sucedida das informações do dispositivo a partir de caminhos de folhas compatíveis, preservando resultados independentes no nível da ação quando um erro no nível da requisição for retornado.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Model information

Key Value
Model name F@ST 5364 (TalkTalk Wi-Fi Hub)
Hardware Version F@ST 5364
Software Version External: SG4K100208 / Internal: 15.24.42_Prod

Describe the bug

On the TalkTalk-branded F@ST 5364, reading the Device/DeviceInfo container node fails with XMO_UNKNOWN_PATH_ERR, causing get_device_info() in python-sagemcom-api to raise an UnknownPathException.

However, individual leaf values under Device/DeviceInfo/* are readable and return valid data. This suggests the container is intentionally blocked while leaf access remains supported.

To Reproduce

  1. Authenticate successfully via /cgi/json-req using a logIn action.
  2. Attempt to read the container node:
    Device/DeviceInfo
    
  3. Observe error:
    XMO_UNKNOWN_PATH_ERR
    
  4. Read individual leaf paths instead:
    Device/DeviceInfo/ProductClass
    Device/DeviceInfo/InternalFirmwareVersion
    Device/DeviceInfo/ExternalFirmwareVersion
    Device/DeviceInfo/UpTime
    
  5. Observe valid values returned for all leaf paths.

Expected behavior

get_device_info() should succeed on this model.

A possible approach is to fall back to querying known Device/DeviceInfo leaf values when the container node returns XMO_UNKNOWN_PATH_ERR, and construct a minimal device info object from those values.

Screenshots

N/A – reproduced via API/XHR calls and browser console ($.xmo.*), not GUI interactions.

Additional context

Other confirmed working paths on this model:

  • Hosts:

    Device/Hosts/Hosts
    

    Returns a full list of host objects (MAC, IP, active state, interface type, etc.).

  • DSL negotiated rates:

    Device/DSL/Channels/Channel[@uid='1']/DownstreamCurrRate
    Device/DSL/Channels/Channel[@uid='1']/UpstreamCurrRate
    
  • Throughput counters without running a speed test:

    • LAN:
      Device/Ethernet/Interfaces/Interface[Alias="PHYx"]/Stats/*
      
    • WAN:
      Device/IP/Interfaces/Interface[Alias="IP_DATA"]/Stats/*
      

Notable quirks observed:

  • Multi-action /cgi/json-req requests may return a request-level error even when individual actions succeed; action-level results should be evaluated independently.
  • Some container nodes are blocked while their leaf children remain accessible (as seen with Device/DeviceInfo).
  • SFP-related paths appear unsupported on this firmware and return errors.

All MAC addresses, IP addresses, auth tokens, nonces, and session identifiers have been redacted or replaced.

Linguagem predominante
Python
Estrelas
141
Forks
49
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Ainda não verificamos os arquivos de configuração deste projeto. Comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de iMicknl/python-sagemcom-api

Todas as issues de iMicknl/python-sagemcom-api

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.