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

Changeset https://dev.openwrt.org/changeset/13001  introduces a new Broadcom BCM63xx SoC codebase which supports the following parts :

- new core support (arch/mips/bcm63xx)
- integrated ethernet MAC
- integrated ethernet PHY
- OHCI and EHCI USB host controllers
- BCM6348 and BCM6358 board support

This work was done by Maxime Bizon from Freebox SA for whom I would like to give huge thanks for his high quality and valuable work
as well as this great contribution.

Prior to this codebase, we were sticking with some old and hardly maintainable BCM63xx codebase.
I encourage the OpenWrt community to test this codebase and report any problems you meet using Trac at https://dev.openwrt.org.

Future work will focus on :

- adding support for BCM6338, BCM6345, BCM6368 and BCM6816 using the existing infrastructure
- merging watchdog and master SPI drivers

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

I add that if we have enough testers and this code is stable enough, we can consider it for 8.09 final.

3 (edited by avico 2008-10-18 21:50:25)

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

WOW !
thank you all ,will test on my asus am604g
http://www.asus.com/products.aspx?l1=13&l2=96&l3=0&model=1107&modelmenu=1

regards,
avishay

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

Great stuff, guys!!!

Many thanks,
Happy OpenWrt user

8.09 - Netgrear WGT634U + Creative Xmod USB Audio, USB Drive, USB Hub, Dallas 1-wire sensors

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

Hi, great news, indeed!

I have already compiled the sources for my USR9108 (BCM6348) and I have trouble flashing it. Could you help me?

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

that is definitely great news for the OpenBox4 project (OpenWrt on the neufbox, the DSL router gateway from the second largest ISP in France) !!

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

Hi florian,
Can I use firmware for router DG834GT netgear for testing ?
This device is based on the BCM6348.
You can find more detailed informations at this link http://wiki.openwrt.org/OpenWrtDocs/Hardware/Netgear/DG834GT

Can I participate in beta testing ?

regards,
MisteroX

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

misteroX: Why do you need permission? Just build it and give it a try.

9 (edited by AndreyPopov 2008-11-01 02:39:59)

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

florian_ wrote:

I add that if we have enough testers and this code is stable enough, we can consider it for 8.09 final.

where I can find firmware to test?

I have:
ASUS am604 (6338)
ASUS am604g (6338)
ASUS WL-600g (6348)

D-Link DSL-2500bru (6338)
D-Link DSL-2640 (6348)

on next week
ASUS wl-604 (6348)
asus wl-604g (6348)

10

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

Just svn the actual trunk and build it on your own.

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

ahu wrote:

Just svn the actual trunk and build it on your own.

This is the method I use for compiling:  http://forum.openwrt.org/viewtopic.php?pid=71139#p71139

https://dev.openwrt.org/ suggests running a "make package/symlinks" command, but I've never tested it out.

12

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

How did you come up with those packages commands? I've only always used "make package/symlinks" instead.

13 (edited by KillaB 2008-11-02 20:30:09)

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

dgi wrote:

How did you come up with those packages commands? I've only always used "make package/symlinks" instead.

Used to be in the first post here (from thepeople): http://forum.x-wrt.org/index.php/topic,52.0.html

I think the main http://dev.openwrt.org page needs to be updated with a "preferred" method of compilation.

What is the proper method?  Is it this?

svn co https://svn.openwrt.org/openwrt/trunk/
cd trunk
make package/symlinks
make menuconfig
make V=99

And with LuCI?

svn co https://svn.openwrt.org/openwrt/trunk/
./scripts/feeds update
./scripts/feeds install -a -p luci 
cd trunk
make package/symlinks
make menuconfig
make V=99

Of course there's also the issue of downloading package sources, so to save bandwidth I always copy them from a previous dl directory after performing the checkout.

14

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

No, with or without LUci:

svn co https://svn.openwrt.org/openwrt/trunk/
cd trunk
make menuconfig
make package/symlinks
make menuconfig #again
make

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

hi to all,

I did to compile openwrt for a bcm6348gw board  (Comtrend536) with cfe bootloader.
Compilation was rigth but result was for bcm96348.bin and bcm96345.bin.

I tried to send firmware to router, via:
1.- web page from comtrend firmware
2.- web page from cfe
3.- via tftp server from cfe

results, as spected, was file not valid, i think, because firmware header was for other model than bcm6348gw.

Is there a way from make menu_config, config, .... etc where i can set target to bcm6348gw?
In config  menus,  only i have found bcm963xx generic board setting.

regards.

excuse my poor english.

16 (edited by KillaB 2008-11-02 20:46:49)

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

dgi wrote:

No, with or without LUci:

svn co https://svn.openwrt.org/openwrt/trunk/
cd trunk
make menuconfig
make package/symlinks
make menuconfig #again
make

Running "make menuconfig" twice?  You're the first I've ever seen do that.

I found this very useful thread which also talks about using a local mirror for source downloads.
http://forum.openwrt.org/viewtopic.php?id=9180

I think I read another post that also specified a path to the source download directory but I can't seem to find it.  Again, I think a standardized method needs to be put on the main http://dev.openwrt.org page.  There's no sense wasting bandwidth all around.

17

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

Yes, you need to run it twice; I have found no viable way around the need to do that.

18 (edited by KillaB 2008-11-02 20:59:03)

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

dgi wrote:

Yes, you need to run it twice; I have found no viable way around the need to do that.

Please don't post just for the sake of posting!
Unlike other posts where you've been very helpful to others, you're just not seeing my point or helping the cause on this one.

19

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

It seems to me you have not actually tried this method. Please reserve judgment as to how helpful or unhelpful it may be until you do.

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

dgi wrote:

It seems to me you have not actually tried this method. Please reserve judgment as to how helpful or unhelpful it may be until you do.

I apologize for thinking your posts where just quips.  LuCI along with all other packages are included in the second "make menuconfig" instance.  Very cool!
I don't understand why this info wasn't relayed here: http://forum.openwrt.org/viewtopic.php?id=16599 or here: http://luci.freifunk-halle.net/Installation

21

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

Nobody's perfekt.

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

I am trying to get BCM63xx target running on davolink DV201AMR from tele2 (one of the largest dutch providers). To be compatible with CFE on this modem I used bcm tool cmplzma to compress kernel:

cmplzma -k -2 vmlinux.elf vmlinux.bin vmlinux.lz

After image generation and dl via CFE:

Auto run second count down: 0
Code Address: 0x80010000, Entry Address: 0x80014450
Decompression OK!
Entry at 0x80014450
Closing network.
Starting program at 0x80014450
Linux version 2.6.27.4 (stefan@hobbydebian) (gcc version 4.1.2) #1 Thu Oct 30 13:16:21 CET 2008
Detected Broadcom 0x6348 CPU revision b0
CPU frequency is 256000000 MHz
16MB of RAM installed
board_bcm963xx: CFE version: 1.0.37-0.6
board_bcm963xx: unknown bcm963xx board: DV201AMR
console [early0] enabled
CPU revision is: 00029107 (Broadcom BCM6348)
Kernel panic - not syncing: unable to detect bcm963xx board

Ok, this good only board is not recognised, that is logical.
The problem is I can not reproduce the result, I reinstalled openwrt, configured for bcm63xx, did the same trick using cmplzma but I seem not to be able to get the same result. CFE or the image keeps crashing:

Auto run second count down: 0
**Exception 32: EPC=00000000, Cause=00000000 (Interrupt)
                RA=7420646F, VAddr=00000000

        0  ($00) = 00000000     AT ($01) = 00000000
        v0 ($02) = 80522FC9     v1 ($03) = 00000000
        a0 ($04) = 00000000     a1 ($05) = 80420000
        a2 ($06) = 80420000     a3 ($07) = 80420000
        t0 ($08) = 00000000     t1 ($09) = 00000000
        t2 ($10) = 00000000     t3 ($11) = 72792073
        t4 ($12) = 696E204D     t5 ($13) = 20202020
        t6 ($14) = 20202020     t7 ($15) = 3A31643A
        s0 ($16) = 00000000     s1 ($17) = 200A0098
        s2 ($18) = 80420000     s3 ($19) = 00000198
        s4 ($20) = 8052305B     s5 ($21) = 8040D150
        s6 ($22) = 00000001     s7 ($23) = 80EEDED0
        t8 ($24) = 00000001     t9 ($25) = 80EEDED0
        k0 ($26) = 6E647329     k1 ($27) = 805231D0
        gp ($28) = 8040D3BC     sp ($29) = 2072756E
        fp ($30) = 6F6E6420     ra ($31) = 7420646

Any advice how to proceed, or why I can not reproduce the bootable image?
I prefer an approach keeping the original CFE because this would be the easiest for te tele2 users.

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

@lamaatje,

similars results as you:

 CFE> f 192.168.1.21:openwrt-96358VW-squashfs-cfe.bin
Loading 192.168.1.21:openwrt-96358VW-squashfs-cfe.bin ...
TFTP Client.
Finished loading 2031620 bytes
Chip Id error.  Image Chip Id = 6358, Board Chip Id = 6348.
*** bcm63xx_main.c command status = -1
TFTP Client.
Finished loading 2031620 bytes
Chip Id error.  Image Chip Id = 6345, Board Chip Id = 6348.
*** bcm63xx_main.c command status = -1
CFE> f 192.168.1.21:openwrt-brcm63xx-squashfs.trx
Loading 192.168.1.21:openwrt-brcm63xx-squashfs.trx ...
TFTP Client.
Finished loading 1949696 bytes
Firmware tag version [0] is not compatible with the current Tag version [6].
*** bcm63xx_main.c command status = -1


CFE> flashimage openwrt-96345GW2-squashfs-cfe.bin
Loading 192.168.1.21:openwrt-96345GW2-squashfs-cfe.bin ...
TFTP Client.
Finished loading 2031620 bytes
....
Code Address: 0x80010000, Entry Address: 0x80010000
Decompression OK!
Entry at 0x80010000
Closing network.
Starting program at 0x80010000
Linux version 2.6.27.4 (od1sea@1t4k4) (gcc version 3.4.6 (OpenWrt-2.0)) #2 Thu Oct 30 23:38:09 CET 2008
Detected Broadcom 0x6348 CPU revision a2
CPU frequency is 256000000 MHz
16MB of RAM installed
board_bcm963xx: CFE version: 1.0.37-0.8
board_bcm963xx: unknown bcm963xx board: 96348GW-11
console [early0] enabled
CPU revision is: 00029107 (Broadcom BCM6348)
Kernel panic - not syncing: unable to detect bcm963xx board


Code Address: 0x80010000, Entry Address: 0x80010000
Decompression OK!
Entry at 0x80010000
Closing network.
Starting program at 0x80010000
Linux version 2.6.27.4 (od1sea@1t4k4) (gcc version 3.4.6 (OpenWrt-2.0)) #2 Thu Oct 30 23:38:09 CET 2008
Detected Broadcom 0x6348 CPU revision a2
CPU frequency is 256000000 MHz
16MB of RAM installed
board_bcm963xx: CFE version: 1.0.37-0.8
board_bcm963xx: unknown bcm963xx board: 96348GW-11
console [early0] enabled
CPU revision is: 00029107 (Broadcom BCM6348)
Kernel panic - not syncing: unable to detect bcm963xx board

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

@t3l3m4k0

Well result is not the same I am not able to build an image of which the kernel starts anymore, I do no have a clue what broke the build, your result is what I want.

What version of CFE do you have?

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

@lamaatje

as you can see below, board_bcm963xx: CFE version: 1.0.37-0.8, :

Code Address: 0x80010000, Entry Address: 0x80010000
Decompression OK!
Entry at 0x80010000
Closing network.
Starting program at 0x80010000
Linux version 2.6.27.4 (od1sea@1t4k4) (gcc version 3.4.6 (OpenWrt-2.0)) #2 Thu Oct 30 23:38:09 CET 2008
Detected Broadcom 0x6348 CPU revision a2
CPU frequency is 256000000 MHz
16MB of RAM installed
board_bcm963xx: CFE version: 1.0.37-0.8
board_bcm963xx: unknown bcm963xx board: 96348GW-11
console [early0] enabled
CPU revision is: 00029107 (Broadcom BCM6348)
Kernel panic - not syncing: unable to detect bcm963xx board

do you have access to CFE by serial console?, perhaps you could try to erase nvram (maybe is not a good think)

in the oder hand i found in https://svn.openwrt.org/openwrt/trunk/target/linux/brcm63xx/image/Makefile

define Image/Build
    $(STAGING_DIR_HOST)/bin/trx -o $(BIN_DIR)/openwrt-$(BOARD)-$(1).trx -f $(KDIR)/loader.gz -f $(KDIR)/vmlinux.lzma $(call trxalign/$(1)) -f $(KDIR)/root.$(1)
    $(call Image/Build/CFE,$(1),96345GW2,6345)
    # Neufbox4
    $(call Image/Build/CFE,$(1),96358VW,6358)
endef

i will try to add for me $(call Image/Build/CFE,$(1),96348GW,6348)

and if you could recover $(call Image/Build/CFE,$(1),DV201AMR,6348)

i will notify changes