MM1000 Bonded MoCA?

Discussion in 'TiVo Help Center' started by tapokata, Jun 15, 2018.

  1. SongGong

    SongGong New Member

    12
    0
    Jun 30, 2018
    Thanks krkaufman. I ordered those exact diplexers from that site. 7 long days wait for them to arrive via FedEx Smartpost.
     
  2. krkaufman

    krkaufman TDL shepherd

    15,507
    2,805
    Nov 25, 2003
    Ouch. They’re available via Amazon, I believe, possibly flikely) sooner.
     
  3. Saturn

    Saturn Lord of the Rings

    12,694
    169
    Apr 10, 2001
    I just got a pair of MM1000s to replace some aging MI-424s. I still have a mix of 1.1 and now the new bonded 2.0 devices. Speeds seem ok when testing but I'd really like to see what the MM1000s are connecting at, between each other. The MI-424s had a nice page to show the speeds between each node, but the Node Info on the MM1000s is...mostly blank: 2019-02-16_1409


    This is running the latest firmware (1.0.0.8)

    Any ideas?
     
  4. Saturn

    Saturn Lord of the Rings

    12,694
    169
    Apr 10, 2001
    I think I (maybe) figured it out. The table stops at the first MoCa 1.1 device. I powered off all the MoCA devices and powered them on so the MM1000s were first, and now I see this:

    2019-02-16_1448

    There's 2 more 1.1 devices on the network, and I can't see connection speeds anymore. Is it just me or are these new MoCA devices worse than the old MI-424s? From what I can tell the ECB6200s don't even have a web UI so you can't input security settings.
     
    Last edited: Feb 16, 2019
  5. krkaufman

    krkaufman TDL shepherd

    15,507
    2,805
    Nov 25, 2003
    I'm not seeing any difference between those images.

    The ECB6*00 and MM1000 all lack the more accessible UI of the FiOS routers, but I believe the ECB62000 and MM1000 adapters *are* configurable ... even if the vendors don't make the process readily available. I'll do a quick search.
     
  6. krkaufman

    krkaufman TDL shepherd

    15,507
    2,805
    Nov 25, 2003
    This "MoCA Security" page for the MM1000 may provide the access information needed to get to the MM1000's configuration UI:

     
  7. tapokata

    tapokata Active Member

    485
    180
    Apr 26, 2017
    Sacramento, CA
    The MM1000's are configurable- from the same web page sample posted, selecting the "security" menu in the left column allows you to change the security preferences on the selected adapter (you have to directly connect to each adapter, separately, in order to make changes to any configuration settings).

    I can't speak for the ECB6*000's.
     
  8. tapokata

    tapokata Active Member

    485
    180
    Apr 26, 2017
    Sacramento, CA
    I believe if you follow the network configuration steps in the link posted above, you should be able to see all of the nodes. The UI information for the MM1000 isn't necessarily robust, but it will give you PHY rates from the primary node controller to the other nodes on the network.
     
  9. Saturn

    Saturn Lord of the Rings

    12,694
    169
    Apr 10, 2001
    Oops. Wrong one. This is how it looks now: 2019-02-16_1448
     
  10. Saturn

    Saturn Lord of the Rings

    12,694
    169
    Apr 10, 2001
    That's the problem. It doesn't give PHY rates to MoCA 1.1 devices. It stops short. I'm guessing it errors out in the firmware and stops generating table entries.
     
  11. Saturn

    Saturn Lord of the Rings

    12,694
    169
    Apr 10, 2001
    Sorry for conflating the issues. I know the MM1000s have a UI, that's how I setup security on them. I briefly considered returning them for ECB6200s, in case their version of a Node Info page actually worked. But from what I can tell the ECB6200s don't have UI at all. So...fooey, I'll have to keep the MM1000s and file a bug with motorola for the Node Info page bug.
     
  12. tapokata

    tapokata Active Member

    485
    180
    Apr 26, 2017
    Sacramento, CA
    I don't have any experience in using this UI with MoCA 1.1 devices. In a 3 node, all MM1000 configuration, I get complete table data for the two nodes connected to the polled device.
     
  13. krkaufman

    krkaufman TDL shepherd

    15,507
    2,805
    Nov 25, 2003
  14. Saturn

    Saturn Lord of the Rings

    12,694
    169
    Apr 10, 2001
    Ha. Interesting. Looks like the ECB6200 and the MM1000 are the same device, just branded differently. Not terribly surprising - from what I've seen Actiontec is the only actual manufacturer of MoCA equipment, or at least the chips.
     
  15. Saturn

    Saturn Lord of the Rings

    12,694
    169
    Apr 10, 2001
    Chrome DevTools (F12) just revealed some very interesting things. The Node Info page requests at least three pages per node:

    http://192.168.0.2/cmd.sh?mocap&get&--node_stats&index&1
    Code:
    == gen_node_status  =================================== 
    eui                : e4:90:7e:fe:90:c1 
    freq_offset        : -2867 Hz
    node_tx_backoff    : 5  ( 0x5 )
    protocol_support   : 0x20000317 (MoCA:20 Concat:0 Bonding:1 1.1Aggr:10 PrfNC:0 QAM256:1)
    active_moca_version: 32  ( 0x20 )
    max_ingress_pqos   : 16  ( 0x10 )
    max_egress_pqos    : 16  ( 0x10 )
    ae_number          : 45  ( 0x2d )
    max_aggr_pdus      : 20  ( 0x14 )
    max_aggr_kb        : 24576  ( 0x6000 )
    == end gen_node_status  =============================== 
    
    http://192.168.0.2/cmd.sh?mocap&get&--node_stats_ext&index&1
    Code:
    Node 1  E4:90:7E:FE:90:C1
    == node_stats_ext  ==================================== 
    rx_uc_crc_error              : 0  ( 0x0000 )
    rx_uc_crc_error_sec_ch       : 0  ( 0x0000 )
    rx_uc_timeout_error          : 0  ( 0x0000 )
    rx_uc_timeout_error_sec_ch   : 0  ( 0x0000 )
    rx_bc_crc_error              : 0  ( 0x0000 )
    rx_bc_timeout_error          : 0  ( 0x0000 )
    rx_map_crc_error             : 0  ( 0x0000 )
    rx_map_timeout_error         : 0  ( 0x0000 )
    rx_beacon_crc_error          : 0  ( 0x0000 )
    rx_beacon_timeout_error      : 0  ( 0x0000 )
    rx_rr_crc_error              : 0  ( 0x0000 )
    rx_ofdma_rr_crc_error        : 0  ( 0x0000 )
    rx_rr_timeout_error          : 0  ( 0x0000 )
    rx_lc_uc_crc_error           : 0  ( 0x0000 )
    rx_lc_bc_crc_error           : 0  ( 0x0000 )
    rx_lc_uc_timeout_error       : 0  ( 0x0000 )
    rx_lc_bc_timeout_error       : 0  ( 0x0000 )
    rx_probe1_error              : 0  ( 0x0000 )
    rx_probe1_error_sec_ch       : 0  ( 0x0000 )
    rx_probe2_error              : 0  ( 0x0000 )
    rx_probe3_error              : 0  ( 0x0000 )
    rx_probe1_gcd_error          : 0  ( 0x0000 )
    rx_plp_crc_error             : 0  ( 0x0000 )
    rx_plp_timeout_error         : 0  ( 0x0000 )
    rx_broken_packet_error       : 0  ( 0x0000 )
    rx_broken_packet_error_sec_ch: 0  ( 0x0000 )
    rx_acf_crc_error             : 0  ( 0x0000 )
    == end node_stats_ext  ================================ 
    http://192.168.0.2/cmd.sh?mocap&get&--gen_node_ext_status&index&1&profile_type&7
    Code:
    == gen_node_ext_status =============================== 
    node           : 1  E4:90:7E:FE:90:C1
    profile_type   : RX Unicast NPER  (7)
    central_freq   : 1400 MHz
    nbas           : 4245  ( 0x1095 )
    preamble_type  : 6  ( 0x6 )
    cp             : 28  ( 0x1c )
    tx_power       : 0 dBm 
    tx_backoff     : 0 dB 
    rx_power       : -49.62 dBm
    rx_backoff     : 5 dB
    avg_snr        : 34.824 
    phy_rate       : 633 Mbps 
    turbo_status   : 0  ( 0x0 )
    bit_loading[64]: 
    256 - 287:  00000000000009999999999999999999
    288 - 319:  99999999a99999999999999999999999
    320 - 351:  99999999999999999999999999999999
    352 - 383:  9999999999aaaaaaa9aaaa99a99999a9
    384 - 415:  9999aaa9aa99999a9999aa99aa999999
    416 - 447:  99999999a99999999a999999999a9a9a
    448 - 479:  a9aaa99a999999999999999999999999
    480 - 511:  99999999999999999999999999999000
      0 -  31:  00009999999999999999999999999999
     32 -  63:  99999999999999999999999999999999
     64 -  95:  99999999999999999999999999999999
     96 - 127:  99989888888888889999999999999999
    128 - 159:  99899988989898899998999889898988
    160 - 191:  88888888888888889888888888888888
    192 - 223:  88888888888888888888888888888888
    224 - 255:  88888888888888888888000000000000
    == end gen_node_ext_status =========================== 
    
    
    http://192.168.0.2/cmd.sh?mocap&get&--gen_node_ext_status&index&1&profile_type&13
    Code:
    == gen_node_ext_status =============================== 
    node           : 1  E4:90:7E:FE:90:C1
    profile_type   : TX Unicast NPER  (13)
    central_freq   : 1400 MHz
    nbas           : 4263  ( 0x10a7 )
    preamble_type  : 6  ( 0x6 )
    cp             : 26  ( 0x1a )
    tx_power       : -3 dBm 
    tx_backoff     : 6 dB 
    rx_power       : 0.00 dBm
    rx_backoff     : 0 dB
    avg_snr        : 0.000 
    phy_rate       : 640 Mbps 
    turbo_status   : 0  ( 0x0 )
    bit_loading[64]: 
    256 - 287:  00000000000009999999999999999999
    288 - 319:  99999999999999999999999999999999
    320 - 351:  99999999999999999999999999999999
    352 - 383:  99999999999999999999999a99999999
    384 - 415:  99999999999999999999999999999999
    416 - 447:  99999999999999999999999999999999
    448 - 479:  99999999999999999999999999999999
    480 - 511:  99999999999999999999999999999000
      0 -  31:  00009999999999999999999999999999
     32 -  63:  99999999999999999999999999999999
     64 -  95:  99999999999999999999999999999999
     96 - 127:  99988898889898889999999999999999
    128 - 159:  89999999899999999999999988989888
    160 - 191:  88888888888899899999999999999999
    192 - 223:  99999999999999999989888888888888
    224 - 255:  88888888888889989999000000000000
    == end gen_node_ext_status =========================== 
    
    The profile_type 7 is what errors out on the MoCA 1.1 devices. However, profile_type 1 works:
    Code:
    == gen_node_ext_status =============================== 
    node           : 2  00:11:D9:7D:19:F1
    profile_type   : RX Broadcast  (1)
    central_freq   : 1400 MHz
    nbas           : 1445  ( 0x5a5 )
    preamble_type  : 3  ( 0x3 )
    cp             : 34  ( 0x22 )
    tx_power       : 0 dBm 
    tx_backoff     : 0 dB 
    rx_power       : -53.87 dBm
    rx_backoff     : 0 dB
    avg_snr        : 33.675 
    phy_rate       : 229 Mbps 
    turbo_status   : 0  ( 0x0 )
    bit_loading[64]: 
    127 -  96:  00000000000066666666666666666666
     95 -  64:  66665666666666666677777767777777
     63 -  32:  77777777777776776666676666666676
     31 -   0:  66666666666666776777677777760000
    255 - 224:  00067777777777777777777777777777
    223 - 192:  77777777777777777777777777677777
    191 - 160:  76767766666666656666666566666666
    159 - 128:  66666666666666666660000000000000
    == end gen_node_ext_status =========================== 
    
    Looks like I've got some scripting in my future to modify this web page to actually work. Note that Tx stats are also available (profile_type 13) but aren't actually displayed.

    In fact, there's a TON of stats available from different profiles. On a MoCA 2.0 node I was able to get profiles up to 21 to work (with a few blank in the middle)
     
    krkaufman likes this.
  16. krkaufman

    krkaufman TDL shepherd

    15,507
    2,805
    Nov 25, 2003
    I saw a post, somewhere (edit: here), stating that both devices used the same underlying chip.

    MM1000 MoCA chipset is "Broadcom® BCM6802" ... per its Data Sheet.
     
    Last edited: Feb 16, 2019
  17. Saturn

    Saturn Lord of the Rings

    12,694
    169
    Apr 10, 2001
    Ah. Then maybe Broadcom is behind all this. Notice on the page you linked that the Actiontec logo is all stretched. Maybe they aren't first party here. :)
     
  18. krkaufman

    krkaufman TDL shepherd

    15,507
    2,805
    Nov 25, 2003
    Yeah, I'm pretty sure Broadcom is the underlying tech; Actiontec and Motorola just have their own implementations.

    edit: Actiontec just seems a little more shy about admitting somebody else's tech is the foundation for their product. Kudos to Motorola for the considerably more detailed product data sheet.
     
  19. krkaufman

    krkaufman TDL shepherd

    15,507
    2,805
    Nov 25, 2003
    Gadzooks there's a lot of info, there. I like the "TURBO" flag (turbo_status), if it means what I think, but I don't see anything other than the "bit loading" data that would indicate whether a node is operating in bonded mode or not.
     
  20. Saturn

    Saturn Lord of the Rings

    12,694
    169
    Apr 10, 2001
    I was able to fix the Node Info page by mostly rewriting the javascript on it.

    Initial version is here:
    About | Fix MM1000 Node Info | Userscripts | OpenUserJS

    Caveats: I wrote this late last night, haven't even re-read it. Only tested on Chrome.

    It sorts the bitloading by what I think is the correct order, but I can't be sure.

    The synchronous loading of the page was driving me crazy, so I set it up to do async requests, and it fills in the table as queries respond. Unfortunately the mm-1000 won't accept more than one query at a time so total load time is the same (except for the caching I added for duplicate queries)

    My Node Info now looks like this:
    2019-02-17_0952


    Also by poking at the firmware available on Motorola's site this morning I also found the cmd.sh supports all kinds of fun commands. In particular, the ifconfig command lets you set the IP address...

    Put the device in DHCP mode:
    http://192.168.0.2/cmd.sh?ifconfig&auto

    Code:
    /cmd.sh?[command][&param1][&param1]...
    
    3450 <addr> [ <value> ]                  -- Read/write 3450 register
    arp                                      -- Show arp table
    
    autoupdate <addr> <start_hour> <end_hour>-- Check and update firmware on an hourly schedule.
                                                The update will pick a random time between start_hour
                                                and end_hour (0-23) and check for an update once per day
    
    base64 <str>                             -- Convert str to base64
    bootimage [0|1]                          -- Force boot image to 0 or 1
    cli-disable <all|<cmd> >                 -- Disable access to cli commands. 
                                                "all" disables all commands except cli-enable.
                                                cli-enable must be disabled by specifying it explicitly
    cli-enable <cmd>                         -- Enable access to cli commands
    DCAP                                     -- DCAP commands:DCAP.02, GCAP.03,etc
    dump [addr]                              -- Dump memory
    dir                                      -- Directory listing
    echo [string]                            -- Write [string] to output
    eport-get-link                           -- Get link status
    eport-get-stats [ reset ]                -- Get ether stats
    eport-gphy-set-speed [ auto ] |
                        [<10|100|1000>
                         <full|half>]        -- Set GPHY to autonegotiate/10/100/1000MBps and full or half duplex
    eport-gphy-set-pause <tx|rx|txrx|off>    -- Set GPHY pause frame mode which is advertised during auto negotiation
    eport-mdio [-d <dev_addr>] <addr> [ [<bithigh> <bitlow>] <value> ]
                                             -- Read/write MDIO register
    eport-set-mode <0-12>                    -- Set ethernet mux control
    flash-dump [ addr ]                      -- Dump flash
    flash-get-id                             -- Get flash id
    flash-erase <offset>                     -- Erase a flash sector
    flash-write-test                         -- Write a pattern to flash
    GCAP                                     -- GCAP commands:GCAP.01, GCAP.02,etc
    gpio-mode                                -- GPIO Mode to control power and MoCA LEDs
    heap                                     -- Display heap info
    help                                     -- Display help
    http-cmd-disable <all|<cmd> >            -- Disable access to commands over http.
                                                "all" disables all commands except http-cmd-enable.
                                                http-cmd-enable must be disabled by specifying it explicitly
    http-cmd-enable <cmd>                    -- Enable access to commands over http
    http-disable                             -- Prevent starting of web server
    http-enable                              -- Allow starting of web server
    http-mmp-disable                         -- Prevent mmp commands
    http-mmp-enable                          -- Allow mmp commands
    http-port [ port_number ]                -- Get/Set the HTTP port number
    http-update-disable                      -- Prevent software update over HTTP
    http-update-enable                       -- Allow software update over HTTP
    ifconfig [ -stats ] | [ auto ] |
             [linklocal] |
             [<ipaddr> [<netmask> [<gw>]]]   -- Display or configure IP address
    iffalse [ <cmd > ]                       -- Run command if internal flag is false
    iftrue [ <cmd > ]                        -- Run command if internal flag is true
    ifvar <var name> <var value>             -- Sets internal flag to 1 if var 'name' matches 'value'
    l1                                       -- L1 Interrupts
    l2                                       -- L2 Interrupts
    mem <addr> [ <value> ]                   -- Read/write memory
    memf <addr> <bitlow> <bithigh> <value>   -- Write register field
    moca-buffers                             -- Display MoCA OS buffer stats
    mocap                                    -- Moca stats and settings
    ntp <ip>                                 -- NTP server address
    nvram-avs [ <0|1> ]                      -- Get/Set AVS Enable setting
    nvram-custom [B|b|S|s|d] [<data>]        -- Get/Set custom data
    nvram-erase [all]                        -- Erase all NVRAM info except MAC Address and serial number.
                                                "all" Erase all NVRAM info
    nvram-info                               -- Get NVRAM info
    nvram-mac [ <mac-addr> ]                 -- Get/Set MAC address
    nvram-moca                               -- Get MOCA NVRAM settings
    nvram-runonce [ <0|1> ]                  -- Get/Set runonce setting
    nvram-serial [ <serial_number> ]         -- Get/Set serial number
    nvram-var [ <name> ] [ <value> ]         -- Manage custom variables
    ping <ip>                                -- Ping host
    profon                                   -- Turn on profiler
    profoff                                  -- Turn off profiler
    quiet <ON|OFF>                           -- Disable/Enable command line echo
    rd-button-enable <0|1>                   -- Enable Restore Default Button
    rd-button-time <seconds>                 -- Get/Set the hold time for the Restore Default Button
    reboot                                   -- Reset the board
    reset-button-enable <0|1>                -- Enable Reset Button
    rfswitch <H|L>                           -- Set RF switch to High (1125MHz+) or Low (5-1000MHz)
    script <filename>                        -- Run script
    spi-get-config                           -- Print SPI configuration
    spi-set-baud <rate>                      -- Set spi clk rate
    spi-set-chipsel <0|1>                    -- Set spi chip select
    spi-set-cpha <0|1>                       -- Set spi clk phase
    spi-set-cpol <0|1>                       -- Set spi clk polarity
    spi-set-dtl-and-dsclk <0|1>              -- Set spi user dtl and dsclk mode
    spi-set-polled <0|1>                     -- Set spi polled/intr mode
    spi-xfer [bytes-out] [x<num_bytes>]      -- Transfer bytes on SPI line
    symbol [<addr>]                          -- Print symbol at addr
    tasks                                    -- Print task info
    temp                                     -- Print die temperature
    tftp <server> [<filename> [<offset>]]    -- Tftp file into flash
    time                                     -- Display current time
    tpcap ...                                -- Test-port Capture
    tr69-nvram [<item> <val>]                -- Configure TR69 nv values
    tr69-inform <ev> [<ev> ...]              -- Send inform to ACS server
    tr69-test ...                            -- TR69 tests
    version                                  -- Display flash image version
    wget <url>                               -- Get a file over http
    wget-debug <level>                       -- Enable wget debugging
    wget-update <url>                        -- SW update over HTTP
    xmltest                                  -- Test cases for XML parser
    xml-debug <level>                        -- Enable xml debugging
    
     
    Last edited: Feb 17, 2019
    kpeters59 and krkaufman like this.

Share This Page