Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

@bulanula,

It is the router mandatory router to use for the Dutch ISP Tele2. It is a nice router. The few cons are "only USB 1.1", "8MB flash of which only 4MB can be used due to the CFE". So not the ultimate choice if you plan to buy a new router. But there are also pros, "support of VoIP (with consumer source)"


@ciaby (or others),
Can you help me to get the steps correct? My make fails.

cd ~/dv201/openwrt                       
svn co svn://svn.openwrt.org/openwrt/trunk                       
mv trunk trunk-24522                       
cd trunk-24522                       
wget http://www.brokenbydesign.org/Davolink2.patch                       
patch -p0 < Davolink2.patch                       
cd target/linux/brcm63xx/image                       
vi Makefile                       
    add:                Remark: A TAB should be used in front of each line!   
     # Davolink DV2020                   
    $(call Image/Build/CFE,$(1),DV2020,6348)                   
cd ~/dv201/openwrt/trunk-24522                       
make kernel_menuconfig                       
    Target System (Broadcom BCM63xx)  --->                   
    Target Profile (Broadcom BCM43xx WiFi (wl, proprietary))  --->                   
    [*] Advanced configuration options (for developers)  --->                   
        [*]   Show broken platforms / packages               
    [*] Image configuration  --->                   
        (192.168.1.1) LAN DNS server               
        (192.168.1.1) LAN Gateway               

Error I get at this point:
make[2]: *** [~/dv201/openwrt/trunk-24522/build_dir/linux-brcm63xx/linux-2.6.35.9/.quilt_checked] Error 127
make[2]: Leaving directory `~/dv201/openwrt/trunk-24522/target/linux/brcm63xx'
make[1]: *** [menuconfig] Error 2
make[1]: Leaving directory `~/dv201/openwrt/trunk-24522/target/linux'
make: *** [kernel_menuconfig] Error 2
~/dv201/openwrt/trunk-24522$


find . -name board_bcm963xx.c                               
vi ./build_dir/linux-brcm63xx/linux-2.6.35.9/arch/mips/bcm63xx/boards/board_bcm963xx.c                               
    add:                Remark: A TAB should be used in front of each line!           
    static struct board_info __initdata board_DV2020 = {                           
            .name                           = "DV2020",                           
            .expected_cpu_id                = 0x6348,                           

            .has_uart0                      = 1,                           
            .has_pci                        = 1,
            .has_ohci0                      = 1,

            .has_enet0                      = 1,
            .has_enet1                      = 1,
            .enet0 = {
                    .has_phy                = 1,
                    .use_internal_phy       = 1,
            },
            .enet1 = {
                    .force_speed_100        = 1,
                    .force_duplex_full      = 1,
            },
    };

make package/symlinks   
make menuconfig
make V=99

This fails with:
src/imagetag.c: In function 'tagfile':
src/imagetag.c:340: error: 'struct bcm_tag' has no member named 'flashImageStart'
src/imagetag.c:343: error: 'struct bcm_tag' has no member named 'flashImageStart'
make[3]: *** [~/dv201/openwrt/trunk-24522/build_dir/host/firmware-utils/.built] Error 1
make[3]: Leaving directory `~/dv201/openwrt/trunk-24522/tools/firmware-utils'
make[2]: *** [tools/firmware-utils/compile] Error 2
make[2]: Leaving directory `~/dv201/openwrt/trunk-24522'
make[1]: *** [~/dv201/openwrt/trunk-24522/staging_dir/target-mips_uClibc-0.9.31/stamp/.tools_install_nnynn] Error 2
make[1]: Leaving directory `~/dv201/openwrt/trunk-24522'
make: *** [world] Error 2
:~/dv201/openwrt/trunk-24522$

602 (edited by RollerDK 2010-12-18 16:36:22)

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

Hi,

Any news about BCM96328 platform:

http://wiki.bandaancha.st/Comtrend_AR-5381u
http://208.70.88.55/collateral/wp/63XX_68XX-WP102-R.pdf

Is/will be posible to flash this platform with openwrt brcm63xx target?

Thanks

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

RollerDK wrote:

Hi,

Any news about BCM96328 platform:

http://wiki.bandaancha.st/Comtrend_AR-5381u
http://208.70.88.55/collateral/wp/63XX_68XX-WP102-R.pdf

Is/will be posible to flash this platform with openwrt brcm63xx target?

Thanks

The 6328 (and the 6362) has the same state as the 6368, i.e. not supported yet. Eventually it will be.

KM

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

Hello!

I have in my hand brcm63xx based router. This is Siemens SLI-5300, chip 6348, board ID RTA1025W_16. My board definition is:

static struct board_info __initdata board_rta1046vw_32m = {
    .name                = "RTA1046VW_32M",
    .expected_cpu_id        = 0x6348,

    .has_uart0            = 1,
    .has_enet1            = 1,
    .has_pci            = 1,

    .enet1 = {
        .force_speed_100    = 1,
        .force_duplex_full    = 1,
    },

    .has_ohci0 = 1,
    .has_ehci0 = 1,

    .leds = {
        {
            .name        = "power",
            .gpio        = 0,
            .active_low    = 1,
            .default_trigger = "default-on",
        },
        {
            .name        = "dsl",
            .gpio        = 2,
            .active_low    = 1,
        },
        {
            .name        = "ppp",
            .gpio        = 3,
            .active_low    = 1,
        },
        {
            .name        = "wlan",
            .gpio        = 6,
            .active_low    = 1,
        },
        {
            .name        = "voip",
            .gpio        = 7,
            .active_low    = 1,
        },
    },
};

In addition to these changes, I had to make yet other in board_bcm963xx.c :

    /* read base address of boot chip select (0)
     * 6345 does not have MPI but boots from standard
     * MIPS Flash address */
    if (BCMCPU_IS_6345())
        val = 0x1fc00000;
    else {
        val = 0x1fc00000;
//        val = bcm_mpi_readl(MPI_CSBASE_REG(0));
//        val &= MPI_CSBASE_BASE_MASK;

and here

    /* read base address of boot chip select (0) */
    if (BCMCPU_IS_6345())
        val = 0x1fc00000;
    else {
        val = 0x1fc00000;
//        val = bcm_mpi_readl(MPI_CSBASE_REG(0));
//        val &= MPI_CSBASE_BASE_MASK;
    }
    mtd_resources[0].start = val;
//    mtd_resources[0].end = 0x1FFFFFFF; 
    mtd_resources[0].end = 0x20400000;
    platform_device_register(&mtd_dev);

Then the bootlog is:

CFE version 1.0.37-6.8.5 for BCM96348 (32bit,SP,BE)
Build Date: Tue Jan  2 19:41:54 CST 2007 (michaelc)

Boot Address 0xbfc00000

Flash Config: CS0(1f80000a,17),Base(bf800000),Size(8MB)
Ethernet Switch Mode 00000000
found@block 72
boot from bank 0

Board IP address                  : 192.168.88.200  
Host IP address                   : 192.168.88.3  
Gateway IP address                :   
Run from flash/host (f/h)         : f  
Default host run file name        :   
Default host flash file name      : bcmModelName_fs_kernel  
Boot delay (0-9 seconds)          : 2  
Board Id Name                     : RTA1046VW_32M  
Psi size in KB                    : 24
Number of MAC Addresses (1-32)    : 3  
Ethernet MAC Address              : 00:24:d2:80:1f:c9  
Wireless sprom saved flag         : y  
Serial Number                     :   
Memory size in MB                 : 32
CMT Thread Number                 : 0

==== Press space key to stop auto run (2 seconds) ====
Auto run second count down(before hit space key): 0
Code Address: 0x80010000, Entry Address: 0x80010000
Decompression OK!
Entry at 0x80010000
Closing network.
Starting program at 0x80010000
Linux version 2.6.35.9 (artek@archbox) (gcc version 4.3.3 (GCC) ) #47 Wed Dec 22 16:11:44 CET 2010
Detected Broadcom 0x6348 CPU revision b0
CPU frequency is 240 MHz
32MB of RAM installed
registering 37 GPIOs
board_bcm963xx: CFE version: 1.0.37-6.8
bootconsole [early0] enabled
CPU revision is: 00029107 (Broadcom BCM6348)
board_bcm963xx: board name: RTA1046VW_32M
Determined physical RAM map:
 memory: 02000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Zone PFN ranges:
  Normal   0x00000000 -> 0x00002000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00002000
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
Kernel command line:  root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200
PID hash table entries: 128 (order: -3, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Primary instruction cache 16kB, VIPT, 2-way, linesize 16 bytes.
Primary data cache 8kB, 2-way, VIPT, no aliases, linesize 16 bytes
Memory: 29540k/32768k available (2167k kernel code, 3228k reserved, 371k data, 160k init, 0k highmem)
Hierarchical RCU implementation.
    RCU-based detection of stalled CPUs is disabled.
    Verbose stalled-CPUs detection is disabled.
NR_IRQS:128
Calibrating delay loop... 239.10 BogoMIPS (lpj=478208)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
NET: Registered protocol family 16
registering PCI controller with io_map_base unset
bio: create slab <bio-0> at 0
pci 0000:00:01.0: BAR 0: assigned [mem 0x30000000-0x30001fff]
pci 0000:00:01.0: BAR 0: set to [mem 0x30000000-0x30001fff] (PCI address [0x30000000-0x30001fff]
Switching to clocksource MIPS
PCI: Enabling device 0000:00:01.0 (0000 -> 0002)
ssb: Sonics Silicon Backplane found on PCI device 0000:00:01.0
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
audit: initializing netlink socket (disabled)
type=2000 audit(0.320:1): initialized
squashfs: version 4.0 (2009/01/31) Phillip Lougher
Registering mini_fo version $Id$
JFFS2 version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
msgmni has been set to 57
io scheduler noop registered
io scheduler deadline registered (default)
gpiodev: gpio device registered with major 254
bcm63xx_uart.0: ttyS0 at MMIO 0xfffe0300 (irq = 10) is a bcm63xx_uart
console [ttyS0] enabled, bootconsole disabled
console [ttyS0] enabled, bootconsole disabled
bcm963xx_flash: 0x00800001 at 0x1fc00000
bcm963xx: Found 1 x16 devices at 0x0 in 16-bit bank
 CFI mfr 0x000000c2
 CFI id  0x000022cb
Amd/Fujitsu Extended Query Table at 0x0040
  Amd/Fujitsu Extended Query version 1.1.
number of CFI chips: 1
bcm963xx_flash: Read Signature value of CFE1CFE1
bcm963xx_flash: CFE bootloader detected
bcm963xx_flash: CFE boot tag found with version 6 and board type RTA1046VW_32M
bcm963xx_flash: Kernel Address: 65792
bcm963xx_flash: Partition 0 is CFE offset 0 and length 10000
bcm963xx_flash: Partition 1 is kernel offset 10100 and length dff00
bcm963xx_flash: Partition 2 is rootfs offset f0000 and length 700000
bcm963xx_flash: Partition 3 is nvram offset 7f0000 and length 10000
bcm963xx_flash: Partition 4 is linux offset 10000 and length 7e0000
bcm963xx_flash: Spare partition is 250000 offset and length 5a0000
Creating 5 MTD partitions on "bcm963xx":
0x000000000000-0x000000010000 : "CFE"
0x000000010100-0x0000000f0000 : "kernel"
mtd: partition "kernel" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only
0x0000000f0000-0x0000007f0000 : "rootfs"
mtd: partition "rootfs" set to be root filesystem
mtd: partition "rootfs_data" created automatically, ofs=250000, len=5A0000 
0x000000250000-0x0000007f0000 : "rootfs_data"
0x0000007f0000-0x000000800000 : "nvram"
0x000000010000-0x0000007f0000 : "linux"
bcm63xx_wdt started, timer margin: 30 sec
TCP westwood registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
Freeing unused kernel memory: 160k freed
awk: /proc/cpuinfo: No such file or directory
awk: /proc/cpuinfo: No such file or directory
roboswitch: Probing device eth0: Failed to enable switch
roboswitch: Probing device eth1: No such device
roboswitch: Probing device eth2: No such device
roboswitch: Probing device eth3: No such device
- preinit -
Press the [f] key and hit [enter] to enter failsafe mode
- regular preinit -
jffs2 not ready yet; using ramdisk
mini_fo: using base directory: /
mini_fo: using storage directory: /tmp/root
- init -

Please press Enter to activate this console. eth0: link forced UP - 100/full - flow control off/off
Compat-wireless backport release: compat-wireless-2010-12-10-3-g880bb0b
Backport based on wireless-testing.git master-2010-12-16
cfg80211: Calling CRDA to update world regulatory domain
There is already a switch registered on the device 'eth0'
roboswitch: Probing device eth1: No such device
roboswitch: Probing device eth2: No such device
roboswitch: Probing device eth3: No such device
cfg80211: World regulatory domain updated:
cfg80211:     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
cfg80211:     (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
cfg80211:     (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
cfg80211:     (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
cfg80211:     (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
cfg80211:     (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
b43-phy0: Broadcom 4318 WLAN found (core revision 9)
Broadcom 43xx driver loaded [ Features: PL, GPIO LED Mask: 0x000f, Firmware-ID: FW13 ]
PPP generic driver version 2.4.2
ip_tables: (C) 2000-2006 Netfilter Core Team
NET: Registered protocol family 24
nf_conntrack version 0.5.0 (464 buckets, 1856 max)
jffs2_scan_eraseblock(): End of filesystem marker found at 0x0
jffs2_build_filesystem(): unlocking the mtd device... done.
jffs2_build_filesystem(): erasing all blocks after the end marker... 
Data bus error, epc == 80182234, ra == 80186fc0
Oops[#1]:
Cpu 0
$ 0   : 00000000 10008401 c0860000 00000002
$ 4   : 8028600c 007e0000 007e0000 ffff00fe
$ 8   : 80c27fe0 00008400 00000000 81ac4000
$12   : 00000026 7fe225d8 00000026 00440000
$16   : 8028600c 818ead00 818ead38 818ead5c
$20   : ffff11dc 007e0000 818ead50 80c27bb0
$24   : 0043f730 800242ec                  
$28   : 80c26000 80c27ba0 80280000 80186fc0
Hi    : 00000008
Lo    : 6a59ac00
epc   : 80182234 0x80182234
    Not tainted
ra    : 80186fc0 0x80186fc0
Status: 10008403    KERNEL EXL IE 
Cause : 0080001c
PrId  : 00029107 (Broadcom BCM6348)
Modules linked in: gpio_buttons nf_nat_tftp nf_conntrack_tftp nf_nat_irc nf_conntrack_irc nf_nat_ftp nf_conntrack_ftp ipt_MASQUERADE iptable_nat nf_nat xt_NOTRACK iptable_raw xt_state nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack pppoe pppox ipt_REJECT xt_TCPMSS ipt_LOG xt_comment xt_multiport xt_mac xt_limit iptable_mangle iptable_filter ip_tables xt_tcpudp x_tables ppp_async ppp_generic slhc b43 mac80211 input_polldev crc_ccitt cfg80211 compat input_core arc4 aes_generic deflate ecb cbc switch_adm switch_core
Process busybox (pid: 862, threadinfo=80c26000, task=81abe618, tls=00000000)
Stack : ffffffe2 81b3d900 007e0000 81a19400 00000000 81abe618 8002cc68 00000000
        00000000 800242ec 00000000 00000000 00010000 818e8d18 007e0000 007e0000
        00000000 00000001 00000000 818e8d00 00010000 8017d458 00000000 10008400
        10008401 00000001 00000000 00000077 8028600c 818ead00 ffffffe2 81b3d900
        818e1000 81a19400 81a194f8 80c2a000 8180c8a0 80c2a000 7ff8ba28 80188c0c
        ...
Call Trace:[<8002cc68>] 0x8002cc68
[<800242ec>] 0x800242ec
[<8017d458>] 0x8017d458
[<80188c0c>] 0x80188c0c
[<80186744>] 0x80186744
[<80174e98>] 0x80174e98
[<80030dc4>] 0x80030dc4
[<80103d64>] 0x80103d64
[<80102f98>] 0x80102f98
[<80104bb4>] 0x80104bb4
[<80173c8c>] 0x80173c8c
[<801739e4>] 0x801739e4
[<80173bb8>] 0x80173bb8
[<800c65a0>] 0x800c65a0
[<801058e8>] 0x801058e8
[<80173e6c>] 0x80173e6c
[<8007f6cc>] 0x8007f6cc
[<801058e8>] 0x801058e8
[<80105654>] 0x80105654
[<801058e8>] 0x801058e8
[<8009aca4>] 0x8009aca4
[<800b05b8>] 0x800b05b8
[<8009add4>] 0x8009add4
[<800b3ac0>] 0x800b3ac0
[<800b1c24>] 0x800b1c24
[<8022d6ac>] 0x8022d6ac
[<800b3bd4>] 0x800b3bd4
[<80012610>] 0x80012610


Code: 24020004  8c82000c  00451021 <94420000> 0806089a  3045ffff  14620006  00000000  8c82000c 
Disabling lock debugging due to kernel taint



BusyBox v1.17.3 (2010-12-21 14:47:30 CET) built-in shell (ash)
Enter 'help' for a list of built-in commands.

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 KAMIKAZE (bleeding edge, unknown) ------------------
  * 10 oz Vodka       Shake well with ice and strain
  * 10 oz Triple sec  mixture into 10 shot glasses.
  * 10 oz lime juice  Salute!
 ---------------------------------------------------
root@OpenWrt:/# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:24:D2:80:1F:CA  
          inet addr:192.168.88.15  Bcast:192.168.88.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:161 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:11438 (11.1 KiB)  TX bytes:1290 (1.2 KiB)
          Interrupt:15 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          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)

root@OpenWrt:/# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/root                 1408      1408         0 100% /rom
tmpfs                    14852        40     14812   0% /tmp
tmpfs                      512         0       512   0% /dev
root                     14848        20     14828   0% /tmp/root
mini_fo:/tmp/root         1408      1408         0 100% /

Question is: Why overlay don't create ?

Best regards
http://openwrt.pl - Polish OpenWrt Wiki
http://digi-led.pl - Electronic Parts

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

Any news regarding ADSL support for these routers ?

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

Hi, this is my first post here ( so I'm a total newbie wink ) and I'm not sure if this is the right place to post, but I guess this is kinda related topic, since I've got a Dlink DSL-2640U/C1, I didn't want to temper with it just yet, because it's not fully supported for the lack of the source code mainly for the ADSL part, so I was thinking is there anyway to add the binaries that are already shipped in Dlink website here "http://ftp.dlink.ru/pub/ADSL/GPL_source_code/DSL-2640U_BRU_C/" to backfire tree, and compile the whole thing ? umm.. maybe some of guys tried that before? and I'm aware that the binaries were probably compiled specifically to work with 2.6.8 kernel...

607 (edited by zuma 2011-01-17 18:00:42)

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

I am also interested in spacy0677 question!

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

Same, this project needs the ADSL functionality !

609 (edited by bulanula 2011-01-31 23:12:17)

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

I would GREATLY appreciate it if you could show me how to get the OpenWRT .bin image into a .img format that my router ( Netgear DG834GT ) will accept.

Thanks !!!

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

bulanula wrote:

I would GREATLY appreciate it if you could show me how to get the OpenWRT .bin image into a .img format that my router ( Netgear DG834GT ) will accept.

Thanks !!!

¿Can't you just rename it?

611 (edited by bulanula 2011-02-01 00:36:03)

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

-Procedure to flash OpenWRT on the DG834GT router :

1.download latest build image ( .bin ) from OpenWRT eg like http://downloads.openwrt.org/backfire/10.03.1-rc4/brcm63xx/ then either openwrt-DG834GT_DG834PN-jffs2-128k-cfe.bin OR openwrt-DG834GT_DG834PN-jffs2-64k-cfe.bin OR openwrt-DG834GT_DG834PN-squashfs-cfe.bin

2.get code for patched nftp program from here http://forum.kitz.co.uk/index.php/topic,5842.msg148308.html#msg148308 then compile nftp to get a binary

3.then get whole directory named DG834GT_V1.02.16_NA_src from ftp://downloads.netgear.com/files/GPL/DG834GT_V1.02.16_NA_src.zip unzip all etc.

4.get code for mkimage.sh file from post 424 on https://forum.openwrt.org/viewtopic.php?id=17370&p=17 and compile etc. and put mkimage.sh in DG834GT_V1.02.16_NA_src directory

5.put the openwrt image ( .bin ) named say,openwrt-DG834GT_DG834PN-squashfs-cfe.bin, in the DG834GT_V1.02.16_NA_src directory

6.execute something like "./mkimage.sh DG834GT_V1.02.16.img openwrt-96348gw-10-squashfs-cfe.bin openwrt-DG834GT-2.6.27.11.img" where first file is old netgear supplied image
second file is openwrt downloaded one and third file is whatever you wanna name the new image

7.put the newly created image eg named "openwrt-DG834GT-2.6.27.11.img" in this example in the same folder as the binary nftp file

8.put router in flashing mode by pull out plug and press reset button then insert power until leds flash alternatively then execute something like "sudo ./ntfp -u eth0 openwrt-DG834GT-2.6.27.11.img" where the last file is the new image created by mkimage.sh file earlier on etc.

9.reboot router again and say for like 3 times on and off by taking out plug to make sure it has initialized everything properly

ENJOY !!! This took me 3 hours to figure out.

612 (edited by NetworkPro 2011-02-14 10:53:11)

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

Wow bulanula amazing work mate !

Could something similar be done to the Davolink DV201AMR and the Dynalink RTA1025W ? So far the Davolink needs a modified cfe  http://wiki.openwrt.org/oldwiki/Hardware/Davolink/DV201AMR and the Dynalink https://dev.openwrt.org/ticket/5594 probably as well.

edit: P.S. I got some things working already tongue thanks to RomMon and danielskii : https://forum.openwrt.org/viewtopic.php?id=28573

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

Well I only have the DG834GT, formerly a Sky router smile !

Glad it worked for you, if I understood correctly.

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

Sorry, NetworkPro, I could help you if i had the device in question or if I had more knowledge in embedded Linux devices but unfortunately I don't have the device and only getting to grips with the latter.
Maybe someone else that has your device could help. Maybe hook up a serial to the device to see how it is booting ???

615 (edited by DeerHunter 2011-03-04 22:03:47)

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

pseudonym404 wrote:
domadm wrote:

Hi
Has anyone ran OpenWrt on Linksys WAG325N or WAG320N ?

Yes on a WAG320N, but only once. as soon as the JFFS2 partition was created, it overwrote some 'magic' at 0xbe500000 (flash base is 0xbe000000), and now the bootloader refuses to load the kernel, or give me a prompt:

search magic... ...be500000
no magic got,start fail!
WARNING !!  -- LINUX CODE WAS DESTROIED!!
WARNING !!  -- LINUX CODE WAS DESTROIED!!
...

Recovery mode (hold reset while powering on) is broken, it says:

button pushed,come to download.
FLASH_BASE:0xbe000000
download 797 ,-7:cfe_open failed
fd:1download 802:fd=1
Download mode ... press any key to stop

and the device doesn't respond to a ping.

And there's no JTAG header (although that isn't going to stop me looking for signals).

That "seach magic" is plain evil.

If cfe is still alive, debrick ,by ethernet, on wag320n is possible with with sercomm upgrade utilty
Board has also  JTAG.. going to make a HowTo about firmware modification (in bandaancha .. few week from now).. then I'll post the photos...
Anyways, Mr. Eko ( dd-wrt.com ) debricked my wag320n and did all the work wink .. In fact, finding all this info would be impossible without him wink

616 (edited by vitaliy_86 2011-03-07 13:01:42)

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

tipok wrote:

Hi, all!

I have DLink DSL-2650U (bcm6358). After little patching Makefile to add 96358VW2 targer, router successfuly flashed by openwrt-96358VW2-squashfs-dsl2650u-cfe.bin.

Index: target/linux/brcm63xx/image/Makefile
===================================================================
--- target/linux/brcm63xx/image/Makefile    (revision 19253)
+++ target/linux/brcm63xx/image/Makefile    (working copy)
@@ -163,6 +163,8 @@
     $(call Image/Build/CFE,$(1),F@ST2404,6348,bc310,OpenWRT-$(REVISION),bc310)
     # Inventel Livebox
     $(call Image/Build/RedBoot,livebox)
+    # D-Link DSL-2650U
+    $(call Image/Build/CFE,$(1),96358VW2,6358,bc310,,dsl2650u)
     # D-Link DSL-2740B
     $(call Image/Build/CFE,$(1),96358GW,6358,bc310,,dsl2740b)
     # Pirelli Alice Gate VoIP 2 Plus Wi-Fi AGPF-S0

Here is startup log:

CFE version 1.0.37-10.1 for BCM96358 (32bit,SP,BE)                         
Build Date: Tue Apr 24 15:57:24 CST 2007 (gavin@FD5)
Copyright (C) 2000-2006 Broadcom Corporation.

Boot Address 0xbe000000

Initializing Arena.
Initializing Devices.
Parallel flash device: name AM29LV320MB, id 0x2200, size 8192KB
CPU type 0x2A010: 300MHz, Bus: 133MHz, Ref: 64MHz
CPU running TP0
Total memory: 33554432 bytes (32MB)

Total memory used by CFE:  0x80401000 - 0x80527C50 (1207376)
Initialized Data:          0x8041D580 - 0x8041F480 (7936)
BSS Area:                  0x8041F480 - 0x80425C50 (26576)
Local Heap:                0x80425C50 - 0x80525C50 (1048576)
Stack Area:                0x80525C50 - 0x80527C50 (8192)
Text (code) segment:       0x80401000 - 0x8041D57C (116092)
Boot area (physical):      0x00528000 - 0x00568000
Relocation Factor:         I:00000000 - D:00000000

Board IP address                  : 192.168.1.1:ffffff00  
Host IP address                   : 192.168.1.2  
Gateway IP address                :   
Run from flash/host (f/h)         : f  
Default host run file name        :   
Default host flash file name      : openwrt-96358VW2-squashfs-dsl2650u-cfe.bin  
Boot delay (0-9 seconds)          : 1  
Board Id (0-8)                    : 96358VW2  
Number of MAC Addresses (1-32)    : 12  
Base MAC Address                  : 00:22:b0:xx:xx:xx  
PSI Size (1-64) KBytes            : 24  
Main Thread Number [0|1]          : 0  

*** Press any key to stop auto run (1 seconds) ***
Auto run second count down: 0
Booting from only image (0xbe010000) ...
Code Address: 0x80010000, Entry Address: 0x80010000
Decompression OK!
Entry at 0x80010000
Closing network.
Starting program at 0x80010000
Linux version 2.6.30.10 (tipok@mythbox) (gcc version 4.3.3 (GCC) ) #2 Thu Jan 21 16:01:38 EET 2010
Detected Broadcom 0x6358 CPU revision a1
CPU frequency is 300000000 Hz
32MB of RAM installed
registering 40 GPIOs
board_bcm963xx: CFE version: 1.0.37-10.1
console [early0] enabled
CPU revision is: 0002a010 (Broadcom BCM6358)
board_bcm963xx: board name: 96358VW2
Determined physical RAM map:
 memory: 02000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Zone PFN ranges:
  Normal   0x00000000 -> 0x00002000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00002000
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200
Primary instruction cache 32kB, VIPT, 2-way, linesize 16 bytes.
Primary data cache 16kB, 2-way, VIPT, cache aliases, linesize 16 bytes
NR_IRQS:128
PID hash table entries: 128 (order: 7, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 29512k/32768k available (2073k kernel code, 3256k reserved, 428k data, 132k init, 0k highmem)
Calibrating delay loop... 299.00 BogoMIPS (lpj=598016)
Mount-cache hash table entries: 512
net_namespace: 532 bytes
NET: Registered protocol family 16
registering PCI controller with io_map_base unset
bio: create slab <bio-0> at 0
PCI: Enabling device 0000:00:01.0 (0000 -> 0002)
ssb: Sonics Silicon Backplane found on PCI device 0000:00:01.0
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
NET: Registered protocol family 1
audit: initializing netlink socket (disabled)
type=2000 audit(0.306:1): initialized
squashfs: version 4.0 (2009/01/31) Phillip Lougher
Registering mini_fo version $Id$
JFFS2 version 2.2. (NAND) (SUMMARY)  ?© 2001-2006 Red Hat, Inc.
msgmni has been set to 57
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered (default)
gpiodev: gpio device registered with major 254
gpiodev: gpio platform device registered with access mask FFFFFFFF
bcm63xx_uart.0: ttyS0 at MMIO 0xfffe0100 (irq = 10) is a bcm63xx_uart
console handover: boot [early0] -> real [ttyS0]
bcm63xx_enet MII bus: probed
bcm963xx_flash: 0x02000000 at 0x1e000000
bcm963xx: Found 1 x16 devices at 0x0 in 16-bit bank
 Amd/Fujitsu Extended Query Table at 0x0040
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
bcm963xx_flash: Read Signature value of CFE1CFE1
bcm963xx_flash: CFE bootloader detected
bcm963xx_flash: CFE boot tag found with version 6, board type 96358VW2, and tagid bc310.
bcm963xx_flash: Partition 0 is CFE offset 0 and length 10000
bcm963xx_flash: Partition 1 is kernel offset 10100 and length dff00
bcm963xx_flash: Partition 2 is rootfs offset f0000 and length 700000
bcm963xx_flash: Partition 3 is nvram offset 7f0000 and length 10000
bcm963xx_flash: Partition 4 is linux offset 10000 and length 7e0000
bcm963xx_flash: Spare partition is 260000 offset and length 590000
Creating 5 MTD partitions on "bcm963xx":
0x000000000000-0x000000010000 : "CFE"
0x000000010100-0x0000000f0000 : "kernel"
mtd: partition "kernel" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-oy
0x0000000f0000-0x0000007f0000 : "rootfs"
mtd: partition "rootfs" set to be root filesystem
mtd: partition "rootfs_data" created automatically, ofs=260000, len=590000 
0x000000260000-0x0000007f0000 : "rootfs_data"
0x0000007f0000-0x000000800000 : "nvram"
0x000000010000-0x0000007f0000 : "linux"
bcm63xx_wdt started, timer margin: 30 sec
Registered led device: adsl
Registered led device: ppp-fail
Registered led device: power
Registered led device: stop
Registered led device: <NULL>
leds-gpio: probe of leds-gpio.0 failed with error -16
TCP westwood registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
Freeing unused kernel memory: 132k freed
Please be patient, while OpenWrt loads ...
- preinit -
Press CTRL-C for failsafe
switching to jffs2
mini_fo: using base directory: /
mini_fo: using storage directory: /jffs
- init -

Please press Enter to activate this console. bcm63xx_enet bcm63xx_enet.0: attached PHY at address 1 [Broadcom BCM63XX (2)]
eth1: link forced UP - 100/full - flow control off/off
device eth1 entered promiscuous mode
br-lan: port 1(eth1) entering forwarding state
Generic kernel compatibility enabled based on linux-next next-20100113
cfg80211: Calling CRDA to update world regulatory domain
roboswitch: Probing device eth0: Failed to enable switch
roboswitch: Probing device eth1: found a 5325! It's a 5350.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 8
NET: Registered protocol family 20
b43-phy0: Broadcom 4318 WLAN found (core revision 9)
Registered led device: b43-phy0::tx
Registered led device: b43-phy0::rx
Registered led device: b43-phy0::radio
Broadcom 43xx driver loaded [ Features: PL, Firmware-ID: FW13 ]
PPP generic driver version 2.4.2
ip_tables: (C) 2000-2006 Netfilter Core Team
NET: Registered protocol family 24
nf_conntrack version 0.5.0 (512 buckets, 2048 max)
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
bcm63xx_ohci bcm63xx_ohci.0: BCM63XX integrated OHCI controller
bcm63xx_ohci bcm63xx_ohci.0: new USB bus registered, assigned bus number 1
bcm63xx_ohci bcm63xx_ohci.0: irq 13, io mem 0xfffe1400
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
uhci_hcd: USB Universal Host Controller Interface driver

This device also have 1 additional USB and 5th ethernet port (it goes into broadcom main cpu) on pcb, but connectors are not soldered.

Can add this info in tracker?

see more http://tipok.org.ua/ru/node/31

TP-1043ND
ASUS RT-N15
TP-703N
Dlink DIR-615 E4

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

Too bad we cannot get ADSL working on these devices ! Imagine how good it would be if we could.

618

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

bulanula wrote:

Too bad we cannot get ADSL working on these devices ! Imagine how good it would be if we could.

Personally you can use the binary blobs! You do not have to support them...
For which Kernel-Version are they available?

I've read in this forum, that FOSS drivers for some DSL-chips do exist. I'd like to have that info in the wiki, next to the info about wireless and other drivers.

Wouldn't it be easier to buy hardware for which GOOD drivers do already exist?

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

How can you use the binary blobs ??? I would like more information on this. I am 100% supportive of the free and open source software but this binary blob would be great even if not ideal license type ( e.g. I hate closed source software like Winblows too etc. but this additional functionality is quite essential for a router etc. ! ) 

Thanks !

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

bulanula wrote:

How can you use the binary blobs ??? I would like more information on this. I am 100% supportive of the free and open source software but this binary blob would be great even if not ideal license type ( e.g. I hate closed source software like Winblows too etc. but this additional functionality is quite essential for a router etc. ! ) 

Thanks !

I think you can just find the binary blobs for kernel 2.6.8.1... Pretty old one! The platforms that have DSL modem support are ar7 and ifxmips (the last one is being renamed to lantiq platform).

Bye!

621

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

I guess you can use them the same way, Ubuntu installs the nVidia-ClosedSource drivers for the grafikcard. And yes, they are most probably kernel specific, THAT's why, closedsource blobs are so hated. It is impossible to support them continuously!

Instead of whining about the shitty drivers support of your hardware manufacturer in this forum, do it in the forum of your hardware manufacturer. Seriously. Write them a mail to adapt their binaries to 2.6.32 LTS or to make it FOSS.

@sblanco: why isn't there some form of documentation for xDSL (current is VDSL) like there is for the wireless drivers:
http://wiki.openwrt.org/doc/howto/wireless.essentials#notes
http://wireless.kernel.org/
http://en.wikipedia.org/wiki/Comparison_of_open_source_wireless_drivers

The same could be useful for builtin DOCSIS or LTE (4G) support.

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

The closed source ADSL drivers aren't just kernel 2.6.8.1 specific, the kernel itself is also heavily modified (especially the networking/ATM part). getting them to run on any newer kernel is near impossible.

623

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

Why don't we provide the people who do inform themselves before they buy something with better information regarding the drivers of the different components?

Since OpenWrt intends to bring stuff upstream in the mainline kernel, is there a trick, what to look for when browsing the source code of OpenWrt:
https://dev.openwrt.org/browser
or the Linux kernel:
http://kernel.org/  Hmm, do they offer such a browse option?

If this is not really possible, well, we should think about providing that missing info.

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

Orca wrote:

@sblanco: why isn't there some form of documentation for xDSL (current is VDSL) like there is for the wireless drivers:
http://wiki.openwrt.org/doc/howto/wireless.essentials#notes
http://wireless.kernel.org/
http://en.wikipedia.org/wiki/Comparison_of_open_source_wireless_drivers

The same could be useful for builtin DOCSIS or LTE (4G) support.

Don't ask me why! Ask the ones who are involved!

Bye!

625

Re: New Broadcom BCM63xx codebase with GPL'd Ethernet and USB support

sblanco wrote:
Orca wrote:

@sblanco: why isn't there some form of documentation for xDSL (current is VDSL) like there is for the wireless drivers:
http://wiki.openwrt.org/doc/howto/wireless.essentials#notes
http://wireless.kernel.org/
http://en.wikipedia.org/wiki/Comparison_of_open_source_wireless_drivers

The same could be useful for builtin DOCSIS or LTE (4G) support.

Don't ask me why! Ask the ones who are involved!

Bye!

Hehe, lol, funny. And here I was, thinking that ANYBODY employing OpenWrt was involved... Isn't that the idea? To learn and help each other out in the process? Share some ideas or insights? Maybe I am to naive...

Simply using the software and expecting (prompt and competent) support, is not the kind of "involvement" that helps this project exceed. The idea here was to PREVENT people, who would like to employ OpenWrt, from buying unsupported hardware. I'm trying to achieve this with the http://wiki.openwrt.org/toh/buyerguide (no more advertising, please) but it is somehow incomplete. A little bla,bla a link to http://en.wikipedia.org/wiki/Comparison_of_open_source_wireless_drivers#Linux and it's a beginning.

I haven't found such an overview for drivers other than wireless and sound. I hope you agree, that it would be nice to have something like that for DSL, DOCSIS and maybe even LTE. I think on this years CeBit AVM introduced Routers with built-in 4G stuff. So there is a development in integrating more and more functionality into the SoC or first onto the PCB. The fewer the DSL-ICs with FOSS driver, the more important to present them. Put them in plain sight. Achieve functionality and avoid unsupportable closed source blobs.

I don't plan to list all ICs/Chips with DSL-functionality and then what kernel their blobs need, but go the other way around. List the driver, and name the SoCs that are supported. I should be a short list.