Huawei Rooted Firmware for Huawei MA5671A
Usage
Minishell
This firmware version offers a minishell in addition to the normal sh shell. Commands offered by minishell are as follows:
Huawei MA5671A minishell
otop
gtop
dmesg
capture_omci_message
arp
capture_gtop_log
get_gtop_log
passwd
reboot
lanpsg
get_vlanA
get_vlanB
show_version.sh
display_version
display_log
mac_learning
Gtop_Help
LAN_port_out
LAN_port_in
IQM_dump
GTC_dump
GPE_arbiter_dump
Configuration
GEM_port
TMU_dump
TMU_EPT_dump
TMU_SBOT_dump
MERGE_dump
Upstream_flow
GPE_capability
GPE_status
GPE_ipv6_Reduction_hash
GPE_ACL_LANE0
GPE_ACL_LANE2
GPE_VLAN_Start_ID
GPE_US_GEM_port
GPE_DS_MC_IPV6
GPE_FID_assignment
GPE_L4_filter
GPE_short_forward_hash
GPE_short_frd_ipv4_mc
GPE_short_frd_MAC_mc
GPE_extended_VLAN
GPE_VLAN_treatment
GPE_LAN_port_General
GPE_LAN_port_Access_Ctr
GPE_LAN_port_OAM
GPE_bridge_port
GPE_LAN_port
GPE_PCP_decoding
GPE_PCP_encoding
GPE_redirection
GPE_bridge
GPE_Counter
OCTRLG_table_dump
GTC_alarms
GTC_counters
Meter
OCTRLG_dump
ICTRLG_dump
FSQM_dump
EIM_dump
SSB_dump
Status
GPE_info
Alloc_ID
TMU_EQT_dump
TMU_SBIT_dump
TMU_TBST_dump
Bridge_port_counter
Version
FW_perfmeter
GPE_exception
GPE_ipv6_Reduction
GPE_ACL_LANE1
GPE_ACL_LANE3
GPE_DS_GEM_port
GPE_DS_MC_IPV4
GPE_tagging_filter
GPE_FID_hash
GPE_learning_limitation
GPE_short_forwardipv4
GPE_short_forwardMAC
GPE_VLAN
GPE_VLAN_rule
GPE_cop_dump
GPE_LAN_port_VLAN
GPE_LAN_port_Trf_Mgmt
GPE_constants
GPE_PMapper
GPE_policer
GPE_DSCP_decoding
GPE_DSCP_encoding
GPE_activity
GPE_MAC_filter
GPE_ethertype_exception
ICTRLG_table_dump
BWM_trace
FW_detailed_status
FW_status
set
quit
Root
For general use, minishell does not allow any modifications and Web root procedure is required.
GPON ONU status
Getting the operational status of the ONU
onu ploamsg
Querying a particular OMCI ME
omci_pipe.sh meg MIB_IDX ME_IN
Where MIB_IDX
is the MIB ID and ME_IN
is the ME instance number
GPON/OMCI settings
Web procedure
- Get
fw_printenv sfp_a2_info
and paste into the form:
vim
. If you are not in any way familiar with vim
, follow these commands precisely. - Copy the script’s output to the clipboard
- Run the comman
vim /tmp/sfp_a2.txt
in the stick - Press the right mouse button in the terminal or
CTRL
+V
- Press
ESC
command from keyboard - Type
:wq
- Run:
fw_setenv sfp_a2_info $(cat /tmp/sfp_a2.txt)
Temporary file procedure
- Save
sfp_a2_info
in a temporary file
fw_printenv sfp_a2_info | sed "s/^sfp_a2_info=//" > /tmp/sfp_a2.txt
And print a pretty version:
fw_printenv sfp_a2_info | sed "s/^sfp_a2_info=//" | tr '@' '\n'
- Setting S/N
The S/N is stored on the 6th line, for example 4857544311223344
(where 48575443
is the HEX encoding of HWTC
):
AAAAAAAAAAJIV1RDESIzRP///////////////////wAAAAAAAAAAAAAAAAAA
00000000000000024857544311223344ffffffffffffffffffffffffffffff0000000000000000000000000000
The entire S/N, including the PON ID, is first encoded in hexadecimal and then in base64
- Setting PLOAM Password
The PLOAM Password is stored on the 5th line, for example (1234567890
):
ffffffffffffffff00021437d77db7df7e37e77eb7ef7f37f77d00000000000000000000000000000000000000
//////////8AAhQ31323334353637383930AAAAAAAAAAAAAAAAAAAAAAAAA
The entire PLOAM, is first encoded in hexadecimal and then in base64
- Setting MAC Address
The MAC Address is stored on the 9th line, for example (48:57:02:da:be:ef
):
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASFcC2r7vAAAAAAAAAAAAAAAAAAAA
000000000000000000000000000000000000000000000000485702dabeef000000000000000000000000000000
- Transfer the modified file back into variable
sfp_a2_info
fw_setenv sfp_a2_info $(cat /tmp/sfp_a2.txt)
Reviewing and testing
After rebooting, check whether the new variables have been saved correctly:
fw_printenv nPassword
fw_printenv gSerial
fw_printenv ethaddr
Getting/Setting Speed LAN Mode
To get the LAN Mode:
onu lanpsg 0
The link_status
variable tells the current speed
Value (for sgmii_mode and link_status ) | Speed |
---|---|
3 | 1 Gbps / SGMII with auto-neg on |
4 | 1 Gbps / SGMII with auto-neg off |
5 | 2.5 Gbps / HSGMII with auto-neg on |
To change the default lan mode value you can use fw_setenv sgmii_mode
. The firmware is already set to 2.5G auto-negotiation, you shouldn’t touch it.
Advanced settings
Disabling dying gasp
fw_setenv nDyingGaspEnable 0