Essa é uma revisão anterior do documento!
Nokia G-010G-P
Informações sobre a Nokia G-010G-P GPON ONT/ONU. Teardown, hacking, unlocking (desbloqueio), firmwares, custom images, recuperação, bridge.
Disclaimer
Todas as informações, métodos, procedimentos, firmwares, aplicativos e material sobre modificações e configurações postadas neste wiki foram criados pelo O3 Labs (salvo menção em contrário) e disponibilizadas GRATUITAMENTE desde o dia de sua elaboração. Denuncie quando possível quaisquer tentativas de venda destes material.
Hardware
SoC | Realtek RTL9601B |
RAM | 64 MB (embedded) |
Flash | 16 MB - W25Q128JVSQ |
LAN | 1 x 1 Gbit/s |
USB | - |
Wireless 2.4 GHz | - |
Wireless 5 GHz | - |
Laser Driver/Transceiver | Semtech 25L95 |
Acoplamento fibra | SC/APC |
FXS | - |
HPNA | - |
Serial | Sim |
JTAG | - |
Alimentação | DC 12 V / 500 mA |
Credenciais padrão (web) | admin / 1234 |
Credenciais padrão (telnet) | root / huigu309 |
IP LAN padrão | 192.168.100.1 |
GPON
Tipo | SFU (Ethernet UNI: 1 \ VEIP: 0) |
Vendor ID | ALCL |
Version | 3FE45458BDAA01 |
Equipment ID | __________G-010G-P__ |
OMCC Version | 160 (0xA0) |
Software Version (Main, example) | 3FE45655BOCK74 |
Software Version (Standby, example) | 3FE45655BOCK56 |
Bootlog
Clique aqui para visualizar
CIG Version: 3.04.30
U-Boot 2011.12.NA-svn137366 (May 21 2020 - 19:55:08)
Board: RTL9601B CPU:100MHz LX:200MHz DDR2:325MHz...
SPI-F: 1x16 MB (plr_flash_info @ 9f0028c0)
[debug] start to init flash_info (1)
[debug] <0> unit size=0x10000, unit count=256
*** Warning - bad CRC, using default environment
--major = a9, minor = 21
--major = a9, minor = 21
*** !!! Check Result: EEPA and EEPB are all valid
Device care eqvid: 3FE45458BDAA, Init serial
Net: LUNA GMAC
Warning: eth device name has a space!
swcore_init
**************************************
* *
* KEY -- Enter console terminal *
* *
**************************************
waiting for your select
do_jffs2_fsload offset 0x80400000 loadaddr=0xbd088000..
get loadbit 0,bootbit 0
Get current Image = ImageB..
--- jffs2_part_info: partition number 3 for device sflash0 (sflash.0)
Loading 'uImage' from CRAMFS Partition 'imageb' to 0x80400000.
Root Filesystem crc check successfully!
PRODUCT: sfu
SS : noss
DSP : nodsp
WIFI: nowifi
XDSL: nodsl
Software version: 3FE45655BOCK74
## Booting kernel from Legacy Image at 80400000 ...
Image Name: Linux Kernel Image
Created: 2015-12-11 6:28:09 UTC
Image Type: MIPS Linux Kernel Image (gzip compressed)
Data Size: 1440099 Bytes = 1.4 MB
Load Address: 80000000
Entry Point: 80000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Starting kernel ...
Linux version 2.6.30.9-cig-sfu-1 (taojipeng@sw1-dev) (gcc version 4.4.6 (Realtek RSDK-1.5.6p2) ) #1 Fri Dec 11 11:48:11 CST 2015
CPU revision is: 0000dc02
Determined physical RAM map:
memory: 03800000 @ 00000000 (usable)
User-defined physical RAM map:
memory: 03f00000 @ 00000000 (usable)
Zone PFN ranges:
Normal 0x00000000 -> 0x00003f00
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0: 0x00000000 -> 0x00003f00
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16002
Kernel command line: console=ttyS0,115200 mem=63M root=/dev/mtdblock3 mtdparts=sflash:512K@0x0(Boot),0x180000@0x80000(Config),7M@0x200000(ImageA),7M@0x900000(ImageB) rootfstype=cramfs hasEeprom=0 5srst=0 eqvid=3FE45458BDAA01
root_dev_setup line 179 root: /dev/mtdblock3
icache: 64kB/32B, dcache: 32kB/32B, scache: 0kB/0B
NR_IRQS:128
PID hash table entries: 256 (order: 8, 1024 bytes)
console [ttyS0] enabled
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 60468k/64512k available (2448k kernel code, 3968k reserved, 653k data, 108k init, 0k highmem)
Calibrating delay loop... 97.79 BogoMIPS (lpj=48896)
Mount-cache hash table entries: 512
IMEM section size = 0x3244
net_namespace: 788 bytes
NET: Registered protocol family 16
bio: create slab <bio-0> at 0
Sangoma WANPIPE Router v1.1 (c) 1995-2000 Sangoma Technologies Inc.
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NET: Registered protocol family 1
Realtek GPIO Driver for Flash Reload Default
netlog: listening on port 4660
NTFS driver 2.1.29 [Flags: R/W].
JFFS2 version 2.2. (NAND) Â 2001-2006 Red Hat, Inc.
msgmni has been set to 118
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
serial8250: ttyS0 at MMIO 0x0 (irq = 49) is a 16550A
loop: module loaded
PPP generic driver version 2.4.2
NET: Registered protocol family 24
===============================================================================
init_luna_nor_spi_map: flash map at 0xbd000000
luna spi probe...
luna SPI FLASH G2 driver version 1.00-II: NOR SPI-F... Generic 3B NOR SPI-F detected... done
master->name sflash
cmd: cmdlinepart
4 cmdlinepart partitions found on MTD device sflash
add luna nor spi partition
MTD partitions obtained from kernel command line
Creating 4 MTD partitions on "sflash":
0x000000000000-0x000000080000 : "Boot"
0x000000080000-0x000000200000 : "Config"
0x000000200000-0x000000900000 : "ImageA"
0x000000900000-0x000001000000 : "ImageB"
===============================================================================
u32 classifier
nf_conntrack version 0.5.0 (1008 buckets, 4032 max)
ip_tables: (C) 2000-2006 Netfilter Core Team
TCP cubic registered
Realtek SD2-FastPath v1.00beta_2.4.26-uc0
/proc/FastPath created
Realtek MCast FastPath
/proc/mc_FastPath created
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
IPv6 over IPv4 tunneling driver
sit0: Disabled Privacy Extensions
ip6tnl0: Disabled Privacy Extensions
NET: Registered protocol family 17
Bridge firewalling registered
Ebtables v2.0 registered
VFS: Mounted root (cramfs filesystem) readonly on device 31:3.
Freeing unused kernel memory: 108k freed
# num is 10,nothing need to do
ONT>SSP read eqvid :3FE45458BDAA01
Starting Application: 0x00002000, /bin/TimerMgr................Done.
Starting Application: 0x00001000, /bin/LogMgr................Done.
Vendor: SEMTECH, Part Number: 25L95, bosa ver = 40
laser status:82
Starting Application: 0x00007000, /bin/MiscMgr................Done.
starting to upgrade boot
open /bootimg/00a9_21_01 failed .
Check base image file CRC ... cal_crc (3a8d61f2) ori_crc (3a8d61f2) Success.
Mount Backup[/dev/mtdblock2] as cramfs...Success.
major ID[0xa9] minor ID[0x21]
cp: can't stat '/mnt/rwdir2/sys.log': No such file or directory
mv: can't create '/mnt/rwdir2/sys.log': Read-only file system
cp: can't stat '/mnt/rwdir2/sys.log': No such file or directory
mv: can't create '/mnt/rwdir2/sys.log': Read-only file system
receive MMR_MSG_SET_ACTIVE_IMAGE_ID
receive MMR_MSG_SET_COMMIT_IMAGE_ID
Starting Application: 0x00003000, /bin/MecMgr................Done.
Starting Application: 0x00004000, /bin/PonMgr................Done.
------>NET open default xml failedVOS_RegisterEventListener:2672, Init event socket 9
vos_OnKernelEvent:2593, Start receving event on socket 9
Starting Application: 0x00009000, /bin/NetMgr................Done.
Starting Application: 0x00005000, /bin/EthMgr................Done.
Starting Application: 0x0000c000, /bin/WebMgr................Done.
Laser TX OFF
Laser TX ON
Preparing stress ...
INFO: ALL APPs are ready.
sh: can't create /var/log/messages: nonexistent directory
Receiving OMCI...
tick: 0x6ddb88f Warning: according form appInfo currentMsgData, request to reply an async message 0xc000b from NET to MEC
Configurações
É de sua total responsabilidade o uso e implicações que utilizar equipamentos não fornecidos ou homologados pelo ISP podem causar.
Para configurar os parâmetros OMCI informados pelo aparelho, faça login via telnet (credenciais apresentadas no início da página) e execute no shell que inicia-se com “#ONT>”:
system
misc
Com o prompt iniciando-se agora com “#ONT/system/misc>”, execute os comandos conforme a necessidade, substituindo os valores de exemplo pelos seus:
Comando | Descrição |
pon_passwd set “39383736353433323130” | Senha GPON/PLOAM (ASCII) |
pon_passwd set 0x39383736353433323130 | Senha GPON/PLOAM (hex) |
ctcloid set 303132333435363738393a | LOID (hex) |
ctcpassword set 0123456789a | Senha LOID (ASCII) |
eqsn set “HWTCf1f2f3f4” | Serial GPON |
vendor set “ABCD” | Sigla/ID do fabricante. Será sobrescrito pelo aparelho a partir do serial GPON |
eqvid set “__________G-010G-P__” | ID do equipamento |
Para trocar a versão de software reportada, é necessário acessar o shell, então execute:
echo "SWVER=3FE45655BOCK74" > /mnt/rwdir/sys.cfg
Remova o arquivo acima se necessário com:
rm /mnt/rwdir/sys.cfg
Resete o aparelho após as modificações.
Bugs, dicas e notas
#ONT/system/shell>exit
#ONT/system>
Acessando o shell
Para acessar o shell Linux no aparelho, faça login via telnet (credenciais no topo da página) e execute:
system
shell
sh
Firmwares
Stock
Versões oficiais e não modificadas para o aparelho. São de propriedade do fabricante - que detém todos os direitos sobre elas - e mantidas aqui apenas em caráter de arquivamento e espelhamento, podendo ser removidas caso solicitado pelos representantes oficiais da empresa.
Custom
Todas as versões custom são testadas localmente ao máximo possível, porém seu uso e possíveis implicações são de total responsabilidade do proprietário do aparelho. Não atualize o aparelho sem necessidade; só atualize o aparelho para as versões custom se confirmado que precise das alterações listadas.
Os arquivos produzidos pelo O3 Labs são assinados para garantir sua integridade e procedência. Para instruções de como validar as assinaturas, acesse aqui.
Versões modificadas com correções e/ou melhorias, baseadas em releases oficiais/stock. As versões são cumulativas, ou seja, a mais recente sempre contém também todas as modificações das versões anteriores.
É possível atualizar entre versões custom ou stock sem nenhum problema. Note que saltos na versão base podem incluir ou remover parâmetros de configuração, portanto é aconselhável um factory reset após realizar tais atualizações. Adicionalmente, efetue estes procedimentos com a fibra desconectada do aparelho.
Caso a versão base continue a mesma de uma versão custom para a outra, não é necessário o factory reset, salvo se solicitado explicitamente na descrição.
Agradecimentos
Pessoas envolvidas em arquivos, discussões, dicas, doações ou bate papo em geral. Lista em ordem alfabética.
skullao