iMicknl / iMicknl/python-sagemcom-api
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
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 141
- Fork
- 49
- Merge medio
- 7h 54m
- PR unite (30g)
- 4
Descrizione
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
- Authenticate successfully via
/cgi/json-requsing alogInaction. - Attempt to read the container node:
Device/DeviceInfo - Observe error:
XMO_UNKNOWN_PATH_ERR - Read individual leaf paths instead:
Device/DeviceInfo/ProductClass Device/DeviceInfo/InternalFirmwareVersion Device/DeviceInfo/ExternalFirmwareVersion Device/DeviceInfo/UpTime - 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/HostsReturns 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/*
- LAN:
Notable quirks observed:
- Multi-action
/cgi/json-reqrequests 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.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con get_device_info() e il flusso delle richieste /cgi/json-req, quindi riproduci il fallimento del contenitore Device/DeviceInfo e le letture riuscite delle foglie su F@ST 5364. Definisci il completamento come il recupero riuscito delle informazioni del dispositivo dai percorsi delle foglie supportati, preservando risultati indipendenti a livello di azione quando viene restituito un errore a livello di richiesta.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- api
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100