Q1000
Custom Firmware
HOW TO BUILD A FIRMWARE FOR THE BROADCOM BCM963XX DSL ROUTER
Actiontec Firmware Site
Direct Download
THESE INSTRUCTIONS EXPLAIN:
* How to install the BCM963xx GPL source code onto the Linux workstation * How to build the image file that can be loaded on to a Actiontec Q1000 * How to upgrade the Q1000 with the new firmware image file.
IMPORTANT: When entering the file name at the command prompt be sure to replace the question marks "?.??" with the release number.
1. INSTALL THE BCM963XX ?.??L.01 CONSUMER RELEASE.
$ su
(open a console window and login as "su")
# mkdir /tmp/consumer
(create a temp directory to install the source to)
# cp bcm963xx_?.??L.01_consumer_release.tar.gz /tmp/consumer
(copy source code to temp directory)
# cd /tmp/consumer
(make /tmp/consumer the working directory)
# tar xvfz bcm963xx_?.??L.01_consumer_release.tar.gz
(decompress and extract the files so they can be installed)
# ./consumer_install
(install the source code and software tools)
2. BUILD THE DESIRED IMAGE.
# cd /opt/bcm963xx_router
(make /opt/bcm963xx_router the working directory)
# Modify the build configuration file
# cd /opt/bcm963xx_router/targets/96368GW
(nano 96368GW)
#find "# BUILD_SNMP is not set"
(add "BUILD_SNMP=y")
#edit /opt/bcm963xx_router/userspace/public/apps# nano -B Makefile
APP_DIRS = dhcpv6 ppp sshd ipsec-tools ledctl net-snmp
ifneq ($(strip $(BUILD_SNMP)),)
net-snmp: sanity_check
(tar zxvf net-snmp.tar.gz 2> /dev/null || true)
$(MAKE) -C net-snmp
else
net-snmp: sanity_check
@echo "skipping net-snmp (not configured)"
endif
# make PROFILE=96368GW
(running this "make" command will build the firmware image)
YOU CAN UPLOAD THE IMAGE TO THE ROUTER BY ONE OF THESE THREE METHODS
(They are in order of difficulty, with the simplest first.)
STANDARD WEB INTERFACE UPGRADE METHOD
1. Use a Web browser to access the Q1000 DSL Router at 192.168.0.1
2. Select "Utilities", then the "Firmware Upgrade" page
3. Use the Browse button to locate the (new) image file
(It will be in the /opt/bcm963xx_router/images directory)
4. Click on the “Upgrade Firmware” button
5. The Q1000 DSL router will reboot using the new firmware image
6. To access the upgraded firmware use the (new) IP address, 192.168.1.1 (You may need to renew the IP address of the workstation, to reach 192.168.1.1)
BOOTLOADER METHOD
1. Enter Bootload mode by pressing the Reset button, and holding it until the Power light LED turns Red. Do not release the Reset button until Power light LED has been Red for two or three seconds.
2. Set a static IP address on the workstation of 192.168.1.2, with a subnet mask of 255.255.255.0
3. Use a Web browser to access the Q1000 at the new IP address, 192.168.1.1
4. In the “Software File Name:” box, select the (new) firmware image
(Look for it in the "images" directory at: /opt/bcm963xx_router/images )
5. Click the “Update Software” button.
TFTP METHOD
1.Enable LAN side telnet support using the router's current web interface.
2.Telnet to the router
3.Login. (default username and password are both, admin)
4.tftp get serverip:serverfile localfile
(serverfile is the name of the file that resides on the server)
(localfile is the name of the file that resides on the router)
Specs
# cat /proc/cpuinfo system type : VB784WG processor : 0 cpu model : BCM6368 V3.1 BogoMIPS : 398.95 wait instruction : no microsecond timers : yes tlb_entries : 32 extra interrupt vector : no hardware watchpoint : no ASEs implemented : VCED exceptions : not available VCEI exceptions : not available # cat var/wl0 vendorid 0x14e4 deviceid 0x432c radiorev 0x32056000 chipnum 0x4322 chiprev 0x1 corerev 0x10 boardid 0x4bc boardvendor 0x14e4 boardrev P202 driverrev 0x4ae4013 ucoderev 0x1de0068 bus 0x1 phytype 0x4 phyrev 0x4 anarev 0x8 # cat /proc/meminfo MemTotal: 61428 kB MemFree: 33008 kB Buffers: 3480 kB Cached: 10412 kB SwapCached: 0 kB Active: 10648 kB Inactive: 6872 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 3640 kB Mapped: 4104 kB Slab: 8692 kB SReclaimable: 560 kB SUnreclaim: 8132 kB PageTables: 356 kB NFS_Unstable: 0 kB Bounce: 0 kB CommitLimit: 30712 kB Committed_AS: 7696 kB VmallocTotal: 1032148 kB VmallocUsed: 1724 kB VmallocChunk: 1029524 kB CPU: BCM6368 WLAN: BCM4322_D11N2G_ID (BCM5787M) root@Hurley:/opt/bcm963xx_router/kernel/linux# make PROFILE=96368GW gcc: 0: No such file or directory gcc: unrecognized option '-G' cc1: error: unrecognized command line option "-mabi=32" cc1: error: unrecognized command line option "-mno-abicalls" cc1: error: unrecognized command line option "-mips32" Makefile:773: target `/built-in.o' given more than once in the same rule. Makefile:1495: warning: overriding commands for target `/' Makefile:783: warning: ignoring old commands for target `/' scripts/kconfig/conf -s arch/mips/Kconfig gcc: 0: No such file or directory gcc: unrecognized option '-G' cc1: error: unrecognized command line option "-mabi=32" cc1: error: unrecognized command line option "-mno-abicalls" cc1: error: unrecognized command line option "-mips32" Makefile:773: target `/built-in.o' given more than once in the same rule. Makefile:1495: warning: overriding commands for target `/' Makefile:783: warning: ignoring old commands for target `/' make: *** symlinks: No such file or directory. Stop. make: *** [preparebrcmdriver] Error 2