Auteur Sujet: Leolabs LEOX LXE-010X-A (XGS-PON ONT)  (Lu 6210 fois)

0 Membres et 2 Invités sur ce sujet

thinklad

  • Abonné Orange Fibre
  • *
  • Messages: 60
  • Paris (75)
Leolabs LEOX LXE-010X-A (XGS-PON ONT)
« le: 16 novembre 2024 à 15:41:21 »
Comme suggéré, je partage les infos que j'ai pour l'instant sur cet ONT XGS-PON dispo depuis relativement peu.
Ca pourrait être intéressant de faire un sujet (dans https://lafibre.info/gpon) pour discuter du LEOX (si tu as des photos du PCB, etc...).
Je vois très peu d'informations sur les RTL9615C / RTL9617C (rien sur hack-gpon par exemple), et comme j'ai indiqué sur https://lafibre.info/gpon/ont-xgs-pon-compatible/msg1094444/#msg1094444 les modèles chinois sont encore moins chers (à supposer que ce soit du Realtek, et pas encore d'autres SoC).

Page du constructeur: https://www.leolabs.pl/blog/ont-leox-lxe-010x-a.html
Chipset Realtek RTL9615C pour XGS-PON.
Prix en octobre 2024: 74,40 € + TVA + expédition → environ 120 €

Telnet leox/leolabs_7
GUI admin/letmein

À ma connaissance, personne n’a encore réussi à le faire fonctionner en bypass, du moins chez Orange.
Des photos de l’ONT et du PCB sont jointes à ce post, même si on ne distingue pas grand-chose à cause du dissipateur thermique et son interface.








thinklad

  • Abonné Orange Fibre
  • *
  • Messages: 60
  • Paris (75)
Leolabs LEOX LXE-010X-A (XGS-PON ONT)
« Réponse #1 le: 16 novembre 2024 à 15:42:32 »
Avec partie supérieure du boitier retirée :


thinklad

  • Abonné Orange Fibre
  • *
  • Messages: 60
  • Paris (75)
Leolabs LEOX LXE-010X-A (XGS-PON ONT)
« Réponse #2 le: 16 novembre 2024 à 15:43:34 »
PCB devissé, avec dissipateur thermique :


hwti

  • Abonné Orange Fibre
  • *
  • Messages: 2 422
  • Chambly (60)
Leolabs LEOX LXE-010X-A (XGS-PON ONT)
« Réponse #3 le: 16 novembre 2024 à 16:42:30 »
@thinklad et @fcueto : vous aviez des  LXT-010H-D avant (également Realtek), ça pourrait être intéressant de comparer les MIBs.
Malheureusement l'OLT a peut-être été remplacé au moment du passage en XGS-PON, et je suppose que le SN de la LB7 n'est plus accepté en GPON.

@fcueto est sur OLT ALCL (omcicli mib get 131), @thinklad ?

Quand les VLAN sont listés côté OMCI, l'étape serait de regarder plus bas, pour voir si les flux GEM et les VLAN sont correctement configurés.
Est-ce qu'il y a une commande "diag" comme sur les RTL9601 (cf https://github.com/Anime4000/RTL960x/blob/main/Docs/DIAG.md) ?

Quelque chose qui m'avait aidé à voir un début de fonctionnel sur le G-010S-A (sur OLT HWTC), c'était :
 - mettre l'adresse MAC de la Livebox sur le "routeur", et éventuellement l'IP aussi (pas sûr que ce soit nécessaire)
 - passer la fibre de la Livebox vers l'ONT
 - envoyer quelques paquets sur le VLAN 832, de sorte que l'adresse MAC soit connue de l'ONT (table de forward du bridge)
 - capturer le traffic (Wireshark / tcpdump), et tenter de se connecter à l'IP publique depuis une autre connexion internet
Ca m'avait permis de voir que je pouvais recevoir des paquets (parce que les caches ARP étaient encores présents côté routeur Orange), mais que l'envoi ne fonctionnait pas (d'où l'absence de réponse au DHCP, et qu'au bout d'un certain temps je ne recevais plus rien parce que le routeur Orange ne recevait plus de réponses à ses requêtes ARP).

thinklad

  • Abonné Orange Fibre
  • *
  • Messages: 60
  • Paris (75)
Leolabs LEOX LXE-010X-A (XGS-PON ONT)
« Réponse #4 le: 16 novembre 2024 à 17:22:03 »
@thinklad et @fcueto : vous aviez des  LXT-010H-D avant (également Realtek), ça pourrait être intéressant de comparer les MIBs.
Malheureusement l'OLT a peut-être été remplacé au moment du passage en XGS-PON, et je suppose que le SN de la LB7 n'est plus accepté en GPON.
En effet, plus d’accès GPON (j’avais essayé après activation LB7).
Citer
@fcueto est sur OLT ALCL (omcicli mib get 131), @thinklad ?
Idem.
Citer
Quand les VLAN sont listés côté OMCI, l'étape serait de regarder plus bas, pour voir si les flux GEM et les VLAN sont correctement configurés.
S’agit-il de la commande omcicli mib get 171? (J’ai fourni ça au support Leolabs mais n’ai pas eu de retour depuis quelques jours). Extrait ci-dessous si ça peut aider.
Citer
Est-ce qu'il y a une commande "diag" comme sur les RTL9601 (cf https://github.com/Anime4000/RTL960x/blob/main/Docs/DIAG.md) ?
Oui.


# omcicli mib get 171
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ExtVlanTagOperCfgData
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
=================================
EntityId: 0x101
AssociationType: 2
ReceivedFrameVlanTagOperTableMaxSize: 0
InputTPID: 0x8100
OutputTPID: 0x8100
DsMode: 0
ReceivedFrameVlanTaggingOperTable
INDEX 0
Filter Outer   : PRI 15,VID 4096, TPID 0
Filter Inner   : PRI 7,VID 851, TPID 5, EthType 0x00
Treatment Outer   : PRI 15,VID 0, TPID 0, RemoveTags 1
Treatment Inner   : PRI 7,VID 852, TPID 2
INDEX 1
Filter Outer   : PRI 15,VID 4096, TPID 0
Filter Inner   : PRI 6,VID 851, TPID 5, EthType 0x00
Treatment Outer   : PRI 15,VID 0, TPID 0, RemoveTags 1
Treatment Inner   : PRI 5,VID 852, TPID 2

AssociatedMePoint: 0x101
DscpToPbitMapping:
        0x000000
        0x249249
        0x492492
        0x6db6db
        0x924924
        0xb6db6d
        0xdb6db6
        0xffffff
 
 
Parsed DscpToPbitMapping:
dscp: 0 => pbit: 0
dscp: 1 => pbit: 0


thinklad

  • Abonné Orange Fibre
  • *
  • Messages: 60
  • Paris (75)
Leolabs LEOX LXE-010X-A (XGS-PON ONT)
« Réponse #5 le: 16 novembre 2024 à 17:24:44 »
Et avec dissipateur retiré :


hwti

  • Abonné Orange Fibre
  • *
  • Messages: 2 422
  • Chambly (60)
Leolabs LEOX LXE-010X-A (XGS-PON ONT)
« Réponse #6 le: 16 novembre 2024 à 17:28:11 »
Au cas où, un dump de la flash (25N02 sur le dessous du PCB) peut toujours servir.
Sur le Discord 8311, il y a un dump du AIWORKS AW-XGP12V aussi en Realtek (mais avec deux ports Ethernet, tout comme le AW-XGP12 (sans V) dont la photo correspond au VSOL V2902A).

Logiquement ça devrait être possible de lire les mtd depuis le telnet (s'il y a ssh c'est encore plus simple pour transférer) s'il y a un accès root (au cas où, "su" peut être suffisant, parfois root n'a pas de mot de passe et le login via telnet / ssh est juste désactivé).
Sinon via l'UART, il y a des chances que ça donne une console en root.

thinklad

  • Abonné Orange Fibre
  • *
  • Messages: 60
  • Paris (75)
Leolabs LEOX LXE-010X-A (XGS-PON ONT)
« Réponse #7 le: 16 novembre 2024 à 17:45:25 »
Au cas où, un dump de la flash (25N02 sur le dessous du PCB) peut toujours servir.
Sur le Discord 8311, il y a un dump du AIWORKS AW-XGP12V aussi en Realtek (mais avec deux ports Ethernet, tout comme le AW-XGP12 (sans V) dont la photo correspond au VSOL V2902A).

Logiquement ça devrait être possible de lire les mtd depuis le telnet (s'il y a ssh c'est encore plus simple pour transférer) s'il y a un accès root (au cas où, "su" peut être suffisant, parfois root n'a pas de mot de passe et le login via telnet / ssh est juste désactivé).
Sinon via l'UART, il y a des chances que ça donne une console en root.
Je viens d'essayer, pas de ssh ni de su possible a priori.
Par contre via telnet il y a un paquet de commandes possibles — est-ce que l'une d'entre elles te dirait quelque chose? (peut-être flash_otp_dump ou nanddump?

CMU_8.sh                              cpu_400.sh                            flash_lock                            less                                  nc                                    sed                                   ubinfo
LD_disable.sh                         cpu_400_17cm.sh                       flash_otp_dump                        linuxrc                               netstat                               seq                                   ubinize
PON_serdes_disable.sh                 create_cgroup_nas.sh                  flash_otp_info                        ln                                    nic_limit_page.sh                     set_lan_disable.sh                    ubirename
PortMirror                            create_scfg_txt.sh                    flash_otp_lock                        loadconfig                            nice                                  set_lan_ge_to_fe.sh                   ubirmvol
ShowStatus                            crond                                 flash_otp_write                       login                                 nologin                               setup_cgroup.sh                       ubirsvol
USB_disable.sh                        cups-lpd                              flash_unlock                          low_power.sh                          nslookup                              sh                                    ubiupdatevol
addgroup                              cupsd                                 flashcp                               lp                                    ntfs-3g                               sleep                                 udhcpc
adduser                               cut                                   free                                  lpadmin                               ntfslabel                             slogd                                 udhcpc.deconfig
app-cli                               cwmpClient                            fsync                                 lpstat                                nv                                    slogd_sync.sh                         udhcpc.sh
ar                                    date                                  ftp                                   ls                                    oamcli                                smuxctl                               udhcpd
arp                                   dd                                    ftpd                                  lsmod                                 omci_app                              sntpd                                 udpechoserver
arp_monitor                           delgroup                              fuser                                 lxcli                                 omci_debug.sh                         speed_test.sh                         umount
arpsend                               deluser                               fw_loaded.sh                          md5sum                                omcicli                               spppctl                               uname
ash                                   depmod                                fwu_starter.sh                        mdev                                  p2_all.sh                             spppd                                 uncompress
awk                                   devmem                                get_skb_mark                          memtester                             passwd                                startcupsd                            unzip
axel                                  devpts.sh                             getopt                                mfcv6d                                pidof                                 startup                               updatedd
backend/                              df                                    getty                                 mib                                   ping                                  stat                                  updateddctrl
basename                              dhclient                              grep                                  mini_upnpd                            ping6                                 stty                                  upnpctrl
bash                                  dhcpd                                 gunzip                                miniupnpd                             pondetect                             sync                                  uptime
beep                                  dhcrelayV6                            gzip                                  mkdir                                 poweroff                              sysconf                               usbmount
blkid                                 diag                                  halt                                  mkdosfs                               prlimit                               sysctl                                usleep
blkid2                                diff                                  hd                                    mkexfatfs                             ps                                    sysfs.sh                              vconfig
boa                                   disableSlic_17c.sh                    head                                  mkfs.vfat                             pwd                                   systemd                               vendor_set
board_init.sh                         disableSlic_17cm.sh                   hexdump                               mknod                                 qc                                    tail                                  vi
brctl                                 disable_printk.sh                     hgu-show-temp.sh                      mkntfs                                radvd                                 tar                                   vm_tuning_g3hgu.sh
bridge                                dmesg                                 hostapd                               mldproxy                              radvdump                              tc                                    vsntp
busybox                               dnsmasq                               hostapd_cli                           modinfo                               ramonitor                             tcpdump                               wc
bzip2                                 ebtables                              id                                    modprobe                              readlink                              telnet                                which
cat                                   echo                                  ifconfig                              modutils.sh                           readprofile                           telnetd                               wifi6_1T1R_disable.sh
checkpon                              egrep                                 igmpproxy                             monitord                              reboot                                tftp                                  wifi6_8192XBR_1T1R_disable_8832BR.sh
checkroot.sh                          eponoamd                              inetd                                 more                                  renice                                tftpd                                 wifi6_8832BR_1T1R_disable_8192XBR.sh
chgrp                                 ethctl                                init                                  mount                                 reset_default.sh                      top                                   wifi6_config.sh
chmod                                 ethtool                               ins_rtk_snooping_mod.sh               mount.exfat                           restart_dnsrelay.sh                   touch                                 wifi_modutils.sh
chown                                 exfatfsck                             insmod                                mount_G3_UBIFS.sh                     rm                                    tr                                    wlan_led_set.sh
chpasswd                              exfatlabel                            ip                                    mpctl                                 rmmod                                 tr142_app                             wlan_low_power.sh
chroot                                expr                                  ip6tables                             mpctl_led_label_trigger.sh            route                                 traceroute                            wlan_stability_test_kill_process.sh
chvt                                  factory_vlan100_l2_add                ipset                                 mtd_debug                             routed                                traceroute6                           wpa_cli
clean_memory.sh                       fgconsole                             iptables                              mtdinfo                               rps.sh                                ubiattach                             wpa_supplicant
cmp                                   fgrep                                 iw                                    mtdpart                               rtk_watchdog                          ubiblock                              xargs
config_ubifs_recovery.sh              find                                  kill                                  mv                                    rtkbosa                               ubicrc32                              xtables-multi
configd                               flash                                 killall                               nanddump                              rtkbosa.sh                            ubidetach                             zcat
consoleset                            flash_erase                           klogd                                 nandtest                              rtl8277c_config                       ubiformat
cp                                    flash_eraseall                        lan_recovery.sh                       nandwrite                             saveconfig                            ubimkvol
« Modifié: 16 novembre 2024 à 18:18:57 par thinklad »

hwti

  • Abonné Orange Fibre
  • *
  • Messages: 2 422
  • Chambly (60)
Leolabs LEOX LXE-010X-A (XGS-PON ONT)
« Réponse #8 le: 16 novembre 2024 à 18:10:44 »
S’agit-il de la commande omcicli mib get 171? (J’ai fourni ça au support Leolabs mais n’ai pas eu de retour depuis quelques jours). Extrait ci-dessous si ça peut aider. Oui.
Je parlais plus des commandes diag pour voir plus bas si tout ce que le démon OMCI a accepté avait été appliqué.

Mais si je compare avec ce que @fcueto a (https://lafibre.info/remplacer-livebox/onu-compatible-xgs-pon-orange/msg1095154/#msg1095154 et https://lafibre.info/remplacer-livebox/onu-compatible-xgs-pon-orange/msg1094595/#msg1094595), je vois que bizarrement l'ordre n'est pas le même : il a le 835 en premier, pas le 851.

Pour le VLAN 832, qui est celui qui nous intéresse en priorité, il a :
INDEX 18
Filter Outer   : PRI 15,VID 4096, TPID 0
Filter Inner   : PRI 8,VID 832, TPID 5, EthType 0x00
Treatment Outer   : PRI 15,VID 0, TPID 0, RemoveTags 1
Treatment Inner   : PRI 8,VID 2800, TPID 2
ce qui semble correct si on compare avec https://github.com/akhamar/orange-xgs-pon/blob/main/README.md.bak#L159

C'est associé à l'Ethernet UNI 0x101 :
AssociationType: 2

AssociatedMePoint: 0x101
Ca ne colle pas avec l'Ethernet UNI 0xa01 par défaut (ce qui indique que l'OLT pousse sa configuration sans avoir regardé quel port était exposé).
https://lafibre.info/remplacer-livebox/onu-compatible-xgs-pon-orange/msg1095154/#msg1095154 : @fcueto indique qu'il a reçu un firmware qui changeait en 0x101.
Mais on ne sait jamais, peut-être que le changement a uniquement affecté ce qui est exposé (omcicli mib get 11), mais pas le mapping dans l'autre sens (règle liée à 0x101 => appliquer sur le port Ethernet).

hwti

  • Abonné Orange Fibre
  • *
  • Messages: 2 422
  • Chambly (60)
Leolabs LEOX LXE-010X-A (XGS-PON ONT)
« Réponse #9 le: 16 novembre 2024 à 18:15:19 »
Je viens d'essayer, pas de ssh ni de su possible a priori.
Par contre via telnet il y a un paquet de commandes possibles — est-ce que l'une d'entre elles te dirait quelque chose? (peut-être flash_otp_dump ou nanddump?
Il n'y a pas de commandes spécifiques à avoir un cp ou dd fonctionne sur les /dev/mtdX.
Mais si l'utilisateur en telnet n'est pas root, alors normalement il n'aura pas le droit de lire.
On peut vérifier avec "id" et "ls -l /dev/mtd*".

thinklad

  • Abonné Orange Fibre
  • *
  • Messages: 60
  • Paris (75)
Leolabs LEOX LXE-010X-A (XGS-PON ONT)
« Réponse #10 le: 16 novembre 2024 à 18:26:35 »
Il n'y a pas de commandes spécifiques à avoir un cp ou dd fonctionne sur les /dev/mtdX.
Mais si l'utilisateur en telnet n'est pas root, alors normalement il n'aura pas le droit de lire.
On peut vérifier avec "id" et "ls -l /dev/mtd*".
A ma surprise, l'utilisateur est root et on voit donc ces fichiers:
# id
uid=0(root) gid=0(root) groups=0(root)
# ls -l /dev/mtd*
crw-rw----    1 root     root       90,   0 Jan  1 00:00 /dev/mtd0
crw-rw----    1 root     root       90,   1 Jan  1 00:00 /dev/mtd0ro
crw-rw----    1 root     root       90,   2 Jan  1 00:00 /dev/mtd1
crw-rw----    1 root     root       90,  20 Jan  1 00:00 /dev/mtd10
crw-rw----    1 root     root       90,  21 Jan  1 00:00 /dev/mtd10ro
crw-rw----    1 root     root       90,  22 Jan  1 00:00 /dev/mtd11
crw-rw----    1 root     root       90,  23 Jan  1 00:00 /dev/mtd11ro
crw-rw----    1 root     root       90,  24 Jan  1 00:00 /dev/mtd12
crw-rw----    1 root     root       90,  25 Jan  1 00:00 /dev/mtd12ro
crw-rw----    1 root     root       90,  26 Jan  1 00:00 /dev/mtd13
crw-rw----    1 root     root       90,  27 Jan  1 00:00 /dev/mtd13ro
crw-rw----    1 root     root       90,  28 Jan  1 00:00 /dev/mtd14
crw-rw----    1 root     root       90,  29 Jan  1 00:00 /dev/mtd14ro
crw-rw----    1 root     root       90,   3 Jan  1 00:00 /dev/mtd1ro
crw-rw----    1 root     root       90,   4 Jan  1 00:00 /dev/mtd2
crw-rw----    1 root     root       90,   5 Jan  1 00:00 /dev/mtd2ro
crw-rw----    1 root     root       90,   6 Jan  1 00:00 /dev/mtd3
crw-rw----    1 root     root       90,   7 Jan  1 00:00 /dev/mtd3ro
crw-rw----    1 root     root       90,   8 Jan  1 00:00 /dev/mtd4
crw-rw----    1 root     root       90,   9 Jan  1 00:00 /dev/mtd4ro
crw-rw----    1 root     root       90,  10 Jan  1 00:00 /dev/mtd5
crw-rw----    1 root     root       90,  11 Jan  1 00:00 /dev/mtd5ro
crw-rw----    1 root     root       90,  12 Jan  1 00:00 /dev/mtd6
crw-rw----    1 root     root       90,  13 Jan  1 00:00 /dev/mtd6ro
crw-rw----    1 root     root       90,  14 Jan  1 00:00 /dev/mtd7
crw-rw----    1 root     root       90,  15 Jan  1 00:00 /dev/mtd7ro
crw-rw----    1 root     root       90,  16 Jan  1 00:00 /dev/mtd8
crw-rw----    1 root     root       90,  17 Jan  1 00:00 /dev/mtd8ro
crw-rw----    1 root     root       90,  18 Jan  1 00:00 /dev/mtd9
crw-rw----    1 root     root       90,  19 Jan  1 00:00 /dev/mtd9ro
brw-rw----    1 root     root       31,   0 Jan  1 00:00 /dev/mtdblock0
brw-rw----    1 root     root       31,   1 Jan  1 00:00 /dev/mtdblock1
brw-rw----    1 root     root       31,  10 Jan  1 00:00 /dev/mtdblock10
brw-rw----    1 root     root       31,  11 Jan  1 00:00 /dev/mtdblock11
brw-rw----    1 root     root       31,  12 Jan  1 00:00 /dev/mtdblock12
brw-rw----    1 root     root       31,  13 Jan  1 00:00 /dev/mtdblock13
brw-rw----    1 root     root       31,  14 Jan  1 00:00 /dev/mtdblock14
brw-rw----    1 root     root       31,   2 Jan  1 00:00 /dev/mtdblock2
brw-rw----    1 root     root       31,   3 Jan  1 00:00 /dev/mtdblock3
brw-rw----    1 root     root       31,   4 Jan  1 00:00 /dev/mtdblock4
brw-rw----    1 root     root       31,   5 Jan  1 00:00 /dev/mtdblock5
brw-rw----    1 root     root       31,   6 Jan  1 00:00 /dev/mtdblock6
brw-rw----    1 root     root       31,   7 Jan  1 00:00 /dev/mtdblock7
brw-rw----    1 root     root       31,   8 Jan  1 00:00 /dev/mtdblock8
brw-rw----    1 root     root       31,   9 Jan  1 00:00 /dev/mtdblock9
Lequel faudrait-il ? Tous ?
« Modifié: 16 novembre 2024 à 19:01:50 par thinklad »

hwti

  • Abonné Orange Fibre
  • *
  • Messages: 2 422
  • Chambly (60)
Leolabs LEOX LXE-010X-A (XGS-PON ONT)
« Réponse #11 le: 16 novembre 2024 à 19:10:21 »
A ma surprise, l'utilisateur est root et on voit ces fichiers:
OK, donc soit il y a quelque chose de particulier au niveau du telnet, soit l'utilisateur "leox" est juste un alias (défini comme UID 0 dans /etc/passwd).

Lequel faudrait-il ? Tous ?
On peut utiliser les mtdX.
les mtdXro sont les mêmes en lecture seule, et les mtdblockX sont une ancienne émulation de mode bloc qui ne gère pas les blocs défectueux (donc ça peut passer sur une NOR, mais pas une NAND).
Mais en fait comme c'est une NAND il faut utiliser nanddump, et pas cp / dd.
Donc "nanddump -f /tmp/mtd0 /dev/mtd0" par exemple.
"cat /proc/mtd" donne les noms (boot, ...), il y a peut-être des mtd virtuelles (souvent les traces de boot, dmesg, en disent plus).
Il y a des chances pour que certaines mtd contiennent des volumes ubi ("ubinfo -a" pour vérifier), et dans ce cas on peut aussi copier (avec cp ou dd) les /dev/ubiX_Y).