Equipos y materiales > Openwrt & LEDE
[MOD] Overclock en placas BCM6348
(1/5) > >>
danitool:
Buenas, este mod consiste en aumentar la frecuencia de la CPU de un SoC BCM6348. Cambiaremos de 256 MHz que es como vienen por defecto a 300 MHz, un incremento del 17%.

Esta frecuencia de reloj se programa mediante ciertos pines y resistencias pull down (conectadas a GND). Los pines son 5 y se encuentran cableados al slot miniPCI, así que las resistencias deberían ser fáciles de encontrar, solo hay que seguir la pista de los pines en la miniPCI hasta encontrarse las resistencias.

Estos son los pines de la mini-PCI y como van conectados por defecto para 256 MHz
AD27 - 4k7 pulldown
AD28 - NC
AD29 - NC   
AD30 - 4k7 pulldown
AD31 -- 4k7 pulldown
CPU type 0x29107: 256MHz, Bus: 128MHz, Ref: 32MHz

cambiaremos eso por esto otro:
AD27 -NC
AD28 -4k7 pulldown
AD29 -4k7 pulldown
AD30 -NC
AD31 -4k7 pulldown
CPU type 0x29107: 300MHz, Bus: 133MHz, Ref: 33MHz

Por tanto lo que hemos de hacer es mover dos resistencias.

Ejemplo, para el livebox 1 he marcado tanto los pines en la miniPCI como las resistencias.



Después de mover R23 a R6 y R1 a R2, arrancamos la placa con el siguiente log en CFE detectando 300 MHz y también en Openwrt:


--- Citar ---CFE version 1.0.37-6.4 for BCM96348 (32bit,SP,BE)
Build Date: Tue Dec  8 20:37:12 CET 2015 (dani@tool)
Copyright (C) 2000-2005 Broadcom Corporation.

Boot Address 0xbf400000

Initializing Arena.
Initializing Devices.
Parallel flash device: name S29GL064M, id 0x2210, size 8192KB
Auto-negotiation timed-out
10 MB Half-Duplex (assumed)
CPU type 0x29107: 300MHz, Bus: 133MHz, Ref: 33MHz
Total memory: 67108864 bytes (64MB)

Total memory used by CFE:  0x80401000 - 0x805262A0 (1200800)
Initialized Data:          0x8041D650 - 0x8041F9C0 (9072)
BSS Area:                  0x8041F9C0 - 0x804242A0 (18656)
Local Heap:                0x804242A0 - 0x805242A0 (1048576)
Stack Area:                0x805242A0 - 0x805262A0 (8192)
Text (code) segment:       0x80401000 - 0x8041D64C (116300)
Boot area (physical):      0x00527000 - 0x00567000
Relocation Factor:         I:00000000 - D:00000000

Board IP address                  : 192.168.1.1 
Host IP address                   : 192.168.1.100 
Gateway IP address                :   
Run from flash/host (f/h)         : f 
Default host run file name        : vmlinux 
Default host flash file name      : bcm963xx_fs_kernel 
Boot delay (0-9 seconds)          : 1 
Board Id Name                     : DV4210 
Psi size in KB                    : 24
Number of MAC Addresses (1-32)    : 4 
Base MAC Address                  : 00:11:22:33:44:55 
Ethernet PHY Type                 : Internal
Memory size in MB                 : 64
CMT Thread Number                 : 0

***  Press any key to stop auto run (1 seconds) ***
 Auto run second count down: 1\0x081\0x080
Code Address: 0x80010000, Entry Address: 0x80010000
Decompression OK!
Entry at 0x80010000
Closing network.
Starting program at 0x80010000
[    0.000000] Linux version 3.3.8 (dani@tool) (gcc version 4.6.3 20120201 (prerelease) (Linaro GCC 4.6-2012.02) ) #68 Mon Mar 21 20:01:40 CET 2016
[    0.000000] Detected Broadcom 0x6348 CPU revision b0
[    0.000000] CPU frequency is 300 MHz
[    0.000000] 64MB of RAM installed
[    0.000000] registering 37 GPIOs
[    0.000000] gpiochip_add: registered GPIOs 0 to 36 on device: bcm63xx-gpio
[    0.000000] board_bcm963xx: Boot address 0xbf400000
[    0.000000] board_bcm963xx: CFE version: 1.0.37-6.4
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU revision is: 00029107 (Broadcom BMIPS3300)
[    0.000000] board_bcm963xx: board name: DV4210
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 04000000 @ 00000000 (usable)
[    0.000000] Zone PFN ranges:
[    0.000000]   Normal   0x00000000 -> 0x00004000
[    0.000000] Movable zone start PFN for each node
[    0.000000] Early memory PFN ranges
[    0.000000]     0: 0x00000000 -> 0x00004000
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line:  root=/dev/mtdblock2 rootfstype=jffs2 noinitrd console=ttyS0,115200
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] brcm wait instruction: enabled
[    0.000000] Primary instruction cache 16kB, VIPT, 2-way, linesize 16 bytes.
[    0.000000] Primary data cache 8kB, 2-way, VIPT, no aliases, linesize 16 bytes
[    0.000000] Memory: 61724k/65536k available (2313k kernel code, 3812k reserved, 449k data, 152k init, 0k highmem)
[    0.000000] SLUB: Genslabs=9, HWalign=16, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:128
[    0.000000] Calibrating delay loop... 297.98 BogoMIPS (lpj=595968)
.
.
.
.
.
.


--- Fin de la cita ---


No me pregunteis por el rendimiento, la estabilidad o la temperatura, haced vuestros propios tests.

Hay más combinaciones que programan otras frecuencias de CPU, por ejemplo :
AD27 - NC
AD28 - NC
AD29 - NC
AD30 - 4k7 pulldown
AD31 - 4k7 pulldown
CPU type 0x29107: 264MHz, Bus: 132MHz, Ref: 44MHz

No las probé todas, y no sé si se pueden conseguir más de 300 MHz.

Lo que sí sé es que debería ser válido para cualquier placa con BCM6348 si somos capaces de localizar las resistencias. Esto mismo fue probado por otra persona (fué él quien casualmente se encontró con esto) en otra placa y aunque las resistencias eran otras iban cableadas a los mismos pines de la miniPCI.


Saludos.
Ficht:

--- Cita de: danitool en 26-03-2016, 00:10 (Sábado) ---Buenas, este mod consiste en aumentar la frecuencia de la CPU de un SoC BCM6348. Cambiaremos de 256 MHz que es como vienen por defecto a 300 MHz, un incremento del 17%.

Esta frecuencia de reloj se programa mediante ciertos pines y resistencias pull down (conectadas a GND). Los pines son 5 y se encuentran cableados al slot miniPCI, así que las resistencias deberían ser fáciles de encontrar, solo hay que seguir la pista de los pines en la miniPCI hasta encontrarse las resistencias.

Estos son los pines de la mini-PCI y como van conectados por defecto para 256 MHz
AD27 - 4k7 pulldown
AD28 - NC
AD29 - NC   
AD30 - 4k7 pulldown
AD31 -- 4k7 pulldown
CPU type 0x29107: 256MHz, Bus: 128MHz, Ref: 32MHz

cambiaremos eso por esto otro:
AD27 -NC
AD28 -4k7 pulldown
AD29 -4k7 pulldown
AD30 -NC
AD31 -4k7 pulldown
CPU type 0x29107: 300MHz, Bus: 133MHz, Ref: 33MHz

Por tanto lo que hemos de hacer es mover dos resistencias.

Ejemplo, para el livebox 1 he marcado tanto los pines en la miniPCI como las resistencias.



Después de mover R23 a R6 y R1 a R2, arrancamos la placa con el siguiente log en CFE detectando 300 MHz y también en Openwrt:


--- Citar ---CFE version 1.0.37-6.4 for BCM96348 (32bit,SP,BE)
Build Date: Tue Dec  8 20:37:12 CET 2015 (dani@tool)
Copyright (C) 2000-2005 Broadcom Corporation.

Boot Address 0xbf400000

Initializing Arena.
Initializing Devices.
Parallel flash device: name S29GL064M, id 0x2210, size 8192KB
Auto-negotiation timed-out
10 MB Half-Duplex (assumed)
CPU type 0x29107: 300MHz, Bus: 133MHz, Ref: 33MHz
Total memory: 67108864 bytes (64MB)

Total memory used by CFE:  0x80401000 - 0x805262A0 (1200800)
Initialized Data:          0x8041D650 - 0x8041F9C0 (9072)
BSS Area:                  0x8041F9C0 - 0x804242A0 (18656)
Local Heap:                0x804242A0 - 0x805242A0 (1048576)
Stack Area:                0x805242A0 - 0x805262A0 (8192)
Text (code) segment:       0x80401000 - 0x8041D64C (116300)
Boot area (physical):      0x00527000 - 0x00567000
Relocation Factor:         I:00000000 - D:00000000

Board IP address                  : 192.168.1.1 
Host IP address                   : 192.168.1.100 
Gateway IP address                :   
Run from flash/host (f/h)         : f 
Default host run file name        : vmlinux 
Default host flash file name      : bcm963xx_fs_kernel 
Boot delay (0-9 seconds)          : 1 
Board Id Name                     : DV4210 
Psi size in KB                    : 24
Number of MAC Addresses (1-32)    : 4 
Base MAC Address                  : 00:11:22:33:44:55 
Ethernet PHY Type                 : Internal
Memory size in MB                 : 64
CMT Thread Number                 : 0

***  Press any key to stop auto run (1 seconds) ***
 Auto run second count down: 1\0x081\0x080
Code Address: 0x80010000, Entry Address: 0x80010000
Decompression OK!
Entry at 0x80010000
Closing network.
Starting program at 0x80010000
[    0.000000] Linux version 3.3.8 (dani@tool) (gcc version 4.6.3 20120201 (prerelease) (Linaro GCC 4.6-2012.02) ) #68 Mon Mar 21 20:01:40 CET 2016
[    0.000000] Detected Broadcom 0x6348 CPU revision b0
[    0.000000] CPU frequency is 300 MHz
[    0.000000] 64MB of RAM installed
[    0.000000] registering 37 GPIOs
[    0.000000] gpiochip_add: registered GPIOs 0 to 36 on device: bcm63xx-gpio
[    0.000000] board_bcm963xx: Boot address 0xbf400000
[    0.000000] board_bcm963xx: CFE version: 1.0.37-6.4
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU revision is: 00029107 (Broadcom BMIPS3300)
[    0.000000] board_bcm963xx: board name: DV4210
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 04000000 @ 00000000 (usable)
[    0.000000] Zone PFN ranges:
[    0.000000]   Normal   0x00000000 -> 0x00004000
[    0.000000] Movable zone start PFN for each node
[    0.000000] Early memory PFN ranges
[    0.000000]     0: 0x00000000 -> 0x00004000
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line:  root=/dev/mtdblock2 rootfstype=jffs2 noinitrd console=ttyS0,115200
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] brcm wait instruction: enabled
[    0.000000] Primary instruction cache 16kB, VIPT, 2-way, linesize 16 bytes.
[    0.000000] Primary data cache 8kB, 2-way, VIPT, no aliases, linesize 16 bytes
[    0.000000] Memory: 61724k/65536k available (2313k kernel code, 3812k reserved, 449k data, 152k init, 0k highmem)
[    0.000000] SLUB: Genslabs=9, HWalign=16, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:128
[    0.000000] Calibrating delay loop... 297.98 BogoMIPS (lpj=595968)
.
.
.
.
.
.


--- Fin de la cita ---


No me pregunteis por el rendimiento, la estabilidad o la temperatura, haced vuestros propios tests.

Hay más combinaciones que programan otras frecuencias de CPU, por ejemplo :
AD27 - NC
AD28 - NC
AD29 - NC
AD30 - 4k7 pulldown
AD31 - 4k7 pulldown
CPU type 0x29107: 264MHz, Bus: 132MHz, Ref: 44MHz

No las probé todas, y no sé si se pueden conseguir más de 300 MHz.

Lo que sí sé es que debería ser válido para cualquier placa con BCM6348 si somos capaces de localizar las resistencias. Esto mismo fue probado por otra persona (fué él quien casualmente se encontró con esto) en otra placa y aunque las resistencias eran otras iban cableadas a los mismos pines de la miniPCI.


Saludos.

--- Fin de la cita ---

Vaya, que interesante!!

Tengo por aquí un Comtrend CT-5361 abandonado (no tiene ni si quiera openwrt) pero supongo que sirve para probar esto, claro... si encuentro los pines.
crislgga:
Interesante tambien, la cantidad de dispositivos que hay con ese CPU, el ct5361 ct536+,ct5365,livebox1 sage fast 2404,2604...
Asi por lo menos, creo que con openwrt, ya iria algo mas deshahogado, aunque sea backport 10.04 y AA 12.04
Tengo desde hace tiempo otro CT5361 refrigerado por aire a 8V, cogido del regulador de tension de 12v, con 256mhz funciona bien, ahora, cuando tenga un rato, empiezo a ver los pines del slot mini pci, y las resistentencias o huecos de resistencias conectadas al slot, ya que tengo 2 mas tirados sin uso, no tengo problemas en publicar una foto con el seguimiento de pines, desde las x resistencias
si me pudieras echar una mano danitool, ya que a la cpu, al tener los pines BGA, por debajo, ¿como comprobaria que estan conectadas?, si no tengo el datasheet y la manera seria con el multimetro
un saludo, crislgga
danitool:
En principio no es necesario hacer el seguimiento de los pines desde los pines BGA, sino desde el slot miniPCI, el cual está presente en todos los BCM6348,

A menos que tu placa tenga el wifi soldado directamente en placa sin slot miniPCI, y en ese caso al no conocer el pinout del wifi sí que habría que trazar desde el BGA del BCM6348, del cual hay un pinout en la wiki
https://wiki.openwrt.org/_media/doc/hardware/soc/bcm6348_kpbg_pinout.png
pines K1 K2 K3 K4 L1

Para acceder a esos pines sin desoldar el SoC no se me ocurre otra cosa que colar un hilo fino de acero por debajo del SoC para hacer contacto con un polímetro y localizar las resistencias mediante la prueba de continuidad, pero esto ya depende de la habilidad de cada uno.

Lo que sí hay que tener en cuenta es que hay dos empaquetamientos distintos del BGA


* BCM6348 KPBG empaquetamiento con zona vacía en el centro: el que usé para este mod
* BCM6348 SKFBG empaquetamiento compacto, pinout -> https://wiki.openwrt.org/_media/doc/hardware/soc/bcm6348_skfbg_pinout.png
del BCM6348 SKFBG no podría asegurar que los pines para programar la frecuencia sean los mismos
crislgga:

--- Cita de: danitool en 26-03-2016, 13:40 (Sábado) ---En principio no es necesario hacer el seguimiento de los pines desde los pines BGA, sino desde el slot miniPCI, el cual está presente en todos los BCM6348,

A menos que tu placa tenga el wifi soldado directamente en placa sin slot miniPCI, y en ese caso al no conocer el pinout del wifi sí que habría que trazar desde el BGA del BCM6348, del cual hay un pinout en la wiki
https://wiki.openwrt.org/_media/doc/hardware/soc/bcm6348_kpbg_pinout.png
pines K1 K2 K3 K4 L1

Para acceder a esos pines sin desoldar el SoC no se me ocurre otra cosa que colar un hilo fino de acero por debajo del SoC para hacer contacto con un polímetro y localizar las resistencias mediante la prueba de continuidad, pero esto ya depende de la habilidad de cada uno.

Lo que sí hay que tener en cuenta es que hay dos empaquetamientos distintos del BGA


* BCM6348 KPBG empaquetamiento con zona vacía en el centro: el que usé para este mod
* BCM6348 SKFBG empaquetamiento compacto, pinout -> https://wiki.openwrt.org/_media/doc/hardware/soc/bcm6348_skfbg_pinout.png
del BCM6348 SKFBG no podría asegurar que los pines para programar la frecuencia sean los mismos

--- Fin de la cita ---

El chip es el BCM6348 KPBG, es decir, sirve tu guia para ir mirando, ya tengo algo hecho, poco, pero es algo mirando desde el slot, habria que hacer mucha maña para meter el cable ya que alrededor hay condesadores de por medio y resistencias, a la cual,a la minima podria dar un falso positivo
aqui pongo lo que tengo del ct5361

http://s22.postimg.org/iqhc1rzs1/ct5361.jpg
Navegación
Índice de Mensajes
Página Siguiente

Ir a la versión completa