2012年4月26日 星期四

[Firmware Upgrade] The Firmware Upgrade flow


Firmware Upgrade

First step:

Check BPI can work.

Using cfgedit.ext to edit cm-NmAccess.cfg.

Change BPI = 0 to BPI = 1.

Don't need add manufature's CVC.



Remeber put the right key (public and private).











mainMenu> shell

Exiting to shell. Type "exit" to return back to CLI





BusyBox v1.19.2 (2012-04-23 10:16:56 CST) built-in shell (ash)

Enter 'help' for a list of built-in commands.



# ifconfig

eth0      Link encap:Ethernet  HWaddr AA:BB:CC:00:11:22  

          inet6 addr: fe80::a8bb:ccff:fe00:1122/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:1740 errors:0 dropped:0 overruns:0 frame:0

          TX packets:1744 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:104864 (102.4 KiB)  TX bytes:1826384 (1.7 MiB)

          Base address:0xe000



lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)



# testmode



*************************************

    Starting Test Mode

*************************************



Installing Logger service... DONE

Installing GP-Timer service... DONE

Installing VLYNQ kernel module... TI Logger: Init complete

[INFO] [COMMON_COMPONENTS.GPTIMER(pid=171)]: Initialized successfully, timer tick 10ms

DONE

Installing SOC Interface kernel module...  PAL_cppi4Init : domain is 0, cfg ptr is 0x00000000

 PAL_cppi4Init : Object Address is 0x80490EF4

RX Init CPPI: open free descriptor queue

RX Init CPPI: allocate descriptors

init_cppi_rx: Allocate descriptors to the embedded free queues

RX Init CPPI: Fill free discriptor queue

RX Init CPPI: Set DMA channel

init_cppi_rx: Call PAL_cppi4RxChOpen channel=12, REF_CNT=1 BUF COUNT=512

RX Init CPPI: Init accumulator

RX Init RX CPPI pass

TX Init CPPI: open free descriptor queue

TX Init CPPI: allocate descriptors

init_cppi_tx: Allocate descriptors to the embedded free queues

TX Init CPPI: Fill free discriptor queue

TX Init CPPI: Create CPGMAC TX handler

TX Init CPPI: open mpeg TX channel

TX Init CPPI pass

WQ Init CPPI: open queue descriptor queue

WQ Init pass

MPEG driver initialization complete.

DONE

Installing DOCSIS bridge kernel module... DONE

Installing CNI kernel module...  __gmac_dev_event *************************************

 event 16 name cni0

 __gmac_dev_event *************************************

 event 5 name cni0

 PAL_cppi4Init : domain is 0, cfg ptr is 0x00000000

 PAL_cppi4Init : Object Address is 0x80490EF4

DONE

Initializing DOCSIS driver... [ERROR] [COMMON_COMPONENTS.GIM(pid=186)]: nid=4096: Failed to send Gim message

DONE

Installing DOCSIS Manager kernel module...  PAL_cppi4Init : domain is 0, cfg ptr is 0x00000000

 PAL_cppi4Init : Object Address is 0x80490EF4

 Entered HAL_DocsisCppiInit

 PAL_cppi4Init : domain is 1, cfg ptr is 0x7F23B5A8

 PAL_cppi4Init : Object Address is 0x804927D4

 PAL_cppi4Init : Before MEM Test

 PAL_cppi4Init : Before QMGR Init

 PAL_cppi4Init : QMGR [0] Init ...

 PAL_cppi4Init : QMGR [1] Init ...

Off chip memory allocated: 32768

QMgr Init: buffer after alignment: 86e30000

PAL_cppi4BufPoolDirectInit : Pool[ 0] is at 0x01040000 of 0x00008000 size

DONE

Installing Interrupt handler kernel module... DONE

Initializing HAL Command Mailbox application... DONE

Initializing HAL Event Mailbox application... DONE

Initializing Interrupt handler application... DONE

Initializing Tuner manager application... DONE



**** Test mode initialization completed ****







>>>

Console, CLI version 1.0.0.5

Type 'help' for list of commands



mainMenu> docsis

docsis> ?

Console Commands for this level:

 version              - prints docsis version.

 phystatus            - <0 1 2 3 >;Display status of PHY  given channels.

 tuner                - <Master -1 / Slave - 0> <Freq>;Program the WB tuner to frequency (MHz).

 statustuner          - Tuner configuration data. In WBT – regular status. In NBT – status for all tuner.

 scan                 - stop/start scanning.

 cerreset             - <Rx channel 0,1,2,3> Reset CER counter.

 cmstatus             - Print CM status.

 listDocsisModules    - Show moudles list and indicates set/unset for each.

 configDocsisModule   - set/unset a module (module_id, 1/0).

 testDsLoss           - Simulate Ds signal loss (usPort, sec, recovTech).

 Show                 - go to Show Menu.

 Production           - go to Production Menu.

 Certification        - go to Certification Menu.

 General              - go to General Menu.

 Atp                  - go to Atp Menu.

 Fw                   - go to Fw Menu.

 Qos                  - go to Qos Menu.

 Debug                - go to Debug Menu.

 Dsid                 - go to Dsid Menu.

 Pp                   - go to Packet Processor Menu.

 Psm                  - go to Power save mode Menu.

 help                 - Display menu commands.

 shortcuts            - Display key shortcuts help.

 exit                 - Exit this sub-menu, go to previous menu.

 top                  - Go to mainMenu.

 shell                - Open shell command line, CLI in background.

 quit                 - Quit and terminate CLI.

 reboot               - Reboot the system.









docsis> Production

ProductionMenu Entry Function

Production> ?

Console Commands for this level:

 dir                  - List the available modem software versions.

 dl                   - <sector number> <srvIPv4> <Interface Name> <name> <secured:0,1>;Download <name> form <srvIP> to <sec>.

 erase                - <sector number>;Erase <sector number>.

 prodset              - Set production params.

 prodshow             - Show production parameters.

 setdef               - <sector:1,2>;Set <sector> as default modem software.

 rev1set              - <Is Default STDMA:0/1>; Set Rev1 default to STDMA(1) or ATDMA(0).

 rev1get              - Shows Rev1 default: STDMA(1) or ATDMA(0).

 boardConfigs         - Print avaliable board configurations.

 currentBoardConfig   - Print current board configuration.

 Calibration          - go to Calibration.

 Test                 - go to Test Menu.

 Prodcertification    - go to Certification.

 help                 - Display menu commands.

 shortcuts            - Display key shortcuts help.

 exit                 - Exit this sub-menu, go to previous menu.

 top                  - Go to mainMenu.

 shell                - Open shell command line, CLI in background.

 quit                 - Quit and terminate CLI.

 reboot               - Reboot the system.











Production> Prodcertification

ProdcertificationMenu Entry Function

Prodcertification> ?

Console Commands for this level:

 cert                 - <server IP> <certificate file name> <key file name>;Download certificate..

 help                 - Display menu commands.

 shortcuts            - Display key shortcuts help.

 exit                 - Exit this sub-menu, go to previous menu.

 top                  - Go to mainMenu.

 shell                - Open shell command line, CLI in background.

 quit                 - Quit and terminate CLI.

 reboot               - Reboot the system.

Prodcertification> cert EU_cert_78e400c32a00.cer EU_cert_78e400c32a00.key

Cer file name EU_cert_78e400c32a00.cer

, private key file name EU_cert_78e400c32a00.key



// Make sure those key under below is right.



// This is where the private key is.



# ls -la

lrwxrwxrwx    1        36 mfg_key_pub.bin -> /etc/docsis/security/mfg_key_pub.bin

lrwxrwxrwx    1        33 cm_cert.cer -> download/ND_cert_78e400c327a3.cer

lrwxrwxrwx    1        33 mfg_cert.cer -> /etc/docsis/security/mfg_cert.cer

lrwxrwxrwx    1        33 cm_key_prv.bin -> download/ND_cert_78e400c327a3.key

drwxr-xr-x    2         0 download

lrwxrwxrwx    1        37 root_pub_key.bin -> /etc/docsis/security/root_pub_key.bin

drwxr-xr-x    5         0 ..

drwxr-xr-x    3         0 .



// This is where the public key is.



/etc/docsis/security

# ls -al

-rwxr-xr-x    1       837 euro_mfg_cert.cer

-rwxr-xr-x    1       270 euro_root_pub_key.bin

-rwxr-xr-x    1       873 mfg_cert.cer

-rwxr-xr-x    1       270 root_pub_key.bin





//Then check CASA status.

Connect to CASA, then type "show cable modem".

If you see our modem is online(pt).

That mean BPI work now.



//If BPI online thne I got 50% point.

That is mean our key is alright.







// Second step Signed tool

Please use VMware (Signed_image_can_work) to sign image.



//Change configuration file

If CVC code too long, please separate it.

Add Manufacturer's CVC(32) [len=254].

Add Manufacturer's CVC(32) [len=254].

Add Manufacturer's CVC(32) [len=241].



Add Software Upgrade Filename (9)

Make sure Privacy Enable(29) = 1



Then enjoy firmware upgrade now.



 

0 意見:

張貼留言