jclehner / bcm2-utils

Utilities for Broadcom-based cable modems
GNU General Public License v3.0
147 stars 25 forks source link

TM902S 'ARRIS NonVol Settings' group #52

Open mediotex opened 1 year ago

mediotex commented 1 year ago

Problem: the settings arris.nvm.serial_console_enabled true, that was set and written to the non-vol, is retained by the device only until the 2nd reboot. It's saved after the first reboot, but then after the 2nd reboot it reset to the default value: Serial Console Enabled = 0. The other changed settings are saved normally. I guess that this value is additionally preset somewhere in the firmware.

TM902S in 'ARRIS' NonVol group have a section callled 'Broadcom CM Vendor Extension Dynamic NonVol Settings' which have a subsection called "ARRIS MFG Block":

ARRIS MFG Block:

    Functional revision - 6
    MFGID - e3
    RF Cal Revision - 2
    MSN - 298
    ISN - 111539420000111
    Product Type - 1204
    IP ADDR for CERT - 0.0.0.0
    Secure Download - 0
    Web Password Checking - 1
    WAN Http Access Setting - 0
    LAN Http Access Setting - 1
    WAN Http Access Setting (LEGACY) - 0
    LAN Http Access Setting (LEGACY) - 2
    Factory Mode - 0
    WDT Enable - 1
    Serial Console Enable - 0
    Dual Mode Discovered Market - A
    Op Mode Enable - 0
    Telnet Enable - 1
    SSH Enable - 1
    Sine Ringing Bitmap - 0
    Loop Boost Bitmap - 3
    DS Channel Bonding
        ... ... ... 

this block has the entry "Serial Console Enable - 0" that, seems, have been default preset by the manufacturer. Where this block is located and how to change this value to '1'? This, seems, is a different entry, not a one that can be changed by 'arris.nvm.serial_console_enabled true'. Also, bcm2cfg seems does not recognize the nonvol type (dyn/perm) and device profile properly.

bcm2cfg  info dynnv.bin
dynnv.bin
type    : dyn
profile : (unknown)
checksum: 403454b3 (ok)
size    : 4561 (ok)

bcm2cfg info permnv.bin
failed to parse group bfc
failed to parse group userif
failed to parse group snmp
failed to parse group arris
permnv.bin
type    : dyn
profile : (unknown)
checksum: f78c18c9 (ok)
size    : 17134 (ok)
jclehner commented 1 year ago

I haven't found any bit of code yet that would reset this. Are you seeing this with the coax left disconnected?

mediotex commented 1 year ago

yes, in all cases I connected to the serial console without a coaxial cable attached.

jclehner commented 1 year ago

Just an idea, but have you also tried enabling factory mode? Maybe not being in factory mode disables the serial console.

mediotex commented 1 year ago

I have to try.

mediotex commented 1 year ago

I tried set arris.nvm.factory_mode_enabled true, but this didn't change the situation. The serial console value has been reset to the default state. Can it be firmware function?