The WR850G is supported by White Russian and Kamikaze versions of OpenWRT.
The Broadcom wireless is not yet robustly supported by an open source driver. The proprietary driver is only available for Linux kernel 2.4. If you need to use wireless, you need to use a version of OpenWRT based on the 2.4 kernel. White Russian is based on the 2.4 kernel and there is a version of Kamikaze based on the 2.4 kernel. Beware: the main version of Kamikaze is based on the 2.6 kernel and does not support the Broadcom wireless.
Kamikaze 7.07 and 7.09 misidentify several models of this router (see https://dev.openwrt.org/ticket/1936). It is probable that the only consequences are that the lights on the unit are not correctly used.
The WR850G has three different versions (v1, v2, v3).
The WR850G v1 is based on the Broadcom 4710 board. It has a 125MHz CPU, 4Mb flash and 16Mb SDRAM. The wireless NIC is a mini-PCI card.
The WR850G v2 is based on the Broadcom 4712 board. It has a 200MHz CPU, 4Mb flash and 16Mb SDRAM (memory addressing wraps address to ram, so when it boots, the simple memory size routine doesn't check for address wrapping, so it reports 32Mb). The wireless NIC is integrated to the board.
Note: In at least three (feagle814's, rgh12's, tl's) WR850G v2, there is 16MB of RAM onboard. DO NOT try the 32mb enablement hack on the WR850G v2 without first verifying how much RAM you really have (see earlier paragraph on the address wrap problem)!
ISSI I!S42S16400B1-7T is a 8MB chip (1Mbx16x4, 64Mb total [divided by 8 = 8megabytes]). G-Link GL!T5640L16-6TC is also an 8MB chip. If you have the ISSI I!S42S16800xx-7t it is a 16MB chip (2Mbx16x4 128Mb total [divided by 8 = 16megabytes]). There are two RAM chips installed on the v2 router, the other one is on the back side of the circuitboard. Since the Linksys wrt54gs has 32megabytes of ram (2 chips also) installed in it, and if you wanted to use the same packages as it does, then you must either change the 8MB chips to 16MB chips, or live with the fact that you will be somewhat restricted in what you can do with the smaller amount of memory available (possibly limiting what packages you can safely run). If you are really lucky, you may not have to do anything at all (if you have the 16MB chips installed already).
The WR850G v2 is housed in gray plastic and sports a reverse SMA antenna connector.
/!\ Warning: It has been reported at least once that the WR850GV2 may not rewrite NVRAM once it has been erased, causing damage to the router. However, frop and Eagle_Fire have never had issues clearing the NVRAM of a WR850Gv2 - please note that the lan_ipaddr may revert to 192.168.1.1 upon reset of NVRAM.
There are at least 2 different "v2" versions. One (part number 498417-001-00) has a gray plastic case, 5VDC power supply and mini-PCI card. This one appears to be a "version 1b". The other (part number 513315-001-00) has a gray plastic case, 12VDC power supply and integrated NIC.
FCC ID: ACQWR850GV2. You can look up information about this product at the FCC site http://www.fcc.gov/oet/fccid.
The WR850G v3 is based on the Broadcom 4712 board. It has a 200MHz CPU, 4Mb flash and 16Mb SDRAM. The wireless NIC is integrated to the board.
G-Link GL!T5640L16-6TC is a 8MB chip. Your router should have two of these. Check the bottom of the PCB for the second one.
The WR850G v3 version is housed in black pastic and has a hard wired non removable (without desoldering) antenna.
If you ever need to revert your router to official Motorola firmware, it can be downloaded from their website. The downloaded
.exefiles are self-extracting
.zip's; any unzipping software should be able to handle them. They contain a
.trxfirmware file, as well as
First read Installing.
Motorola firmware loading (either via TFTP through BOOT_WAIT or via the Motorola Firmware's firmware upgrade web interface page) requires that the firmware binary have an extra header. See the Installing section on TRX vs. BIN.
OpenWRT firmware loading (through the webif or webif2 web interface page) requires that this extra header be absent.
Motorola's firmware is distributed with the header.
OpenWRT firmware is distributed in both forms. The file ending in .trx is generic and does not have the Motorola header. The file containing a Motorola model name and ending in .bin has the header.
If you are going to use OpenWRT to burn firmware, and the firmware binary has the Motorola header, you must first strip the header from the firmware binary that you downloaded. You can either do this with dd(1)
$ dd if=WR850G_V403.trx of=WR850G_V403.stripped.trx ibs=1 skip=8
or with motorola-bin (but only versions released after 2007 October)
$ motorola-bin --strip WR850G_V403.trx WR850G_V403.stripped.trx
As of 2007 October 28, the latest OpenWRT binary without the Motorola header is http://downloads.openwrt.org/kamikaze/7.09/brcm-2.4/openwrt-brcm-2.4-squashfs.trx. The same firmware with the Motorola header is http://downloads.openwrt.org/kamikaze/7.09/brcm-2.4/openwrt-wr850g-squashfs.bin.
nvram set boot_wait=on
/!\ Some users report that boot_wait only functions for one reboot after setting it from the web interface. To be sure that is the case reboot the WR850G after to "boot_wait=on" procedure. If the box is up again then issue "nvram get boot_wait" on the very same /frame_debug.asp page. At least the WR850G v2 does act like this.
To ensure the boot_wait will remain "on" then the first thing you should do after upgrade to OpenWRT is to log into it with telnet and issue:
nvram set boot_wait=on; nvram commit
The WR850G boot utility always comes up as 192.168.10.1. To test this, try, set a static IP on your router and plug in to a wired port with your PC in the IP range 192.168.10.x, then in a Windows command prompt, get "ping -t 192.168.10.1" going and power cycle the router, you should get about 4 pings on 192.168.10.1 from the bootloader if boot_wait is set.
My WR850g had been upgraded to:
WR850G 4.03 Firmware
Part Number 515750-001
Release Version 4.03
With firmware version 4.03 the control page has an option upgrade firmware. The file for the Motorola wr850g is openwrt-wr850g-squashfs.bin however the upgrade routine requires that you rename the file to *.trx in order for it to be uploaded. After the upload the modem light blinks red for about a minute.
Now you need to wait 3 to 5 minutes for the firmware to initialize. Do NOT act hastily and unplug the router. Follow the Motorola instructions and go and make tea.
The IP address used prior to loading OpenWrt is retained. I put the original IP address (I had used 192.168.1.5) in the brower and it pulled up the openwrt welcome page. A lot easier than bootwait.
Use the web interface. Go to System and Firmware Upgrade. Browse for the new firmware and click upgrade.
/proc/diag/model will tell you what model diag and hence OpenWRT thinks you have.
It is not known for sure what consequences misidentification has. The most probably effect will be to cause the lights to be misused. It might also cause the vlan to be misconfigured (see below).
As a temporary work-around, you can issue these shell commands on the router:
# nvram set MOTO_BOARD_TYPE=WR_FEM1 ; nvram commit
On one Motorola WR850g v2 router, installing Kamikaze 7.07 resulted in the WAN port acting as a LAN port and the LAN4 port acting as the WAN port.
/etc/config/network was set up incorrectly for this router:
config switch eth0 option vlan0 "1 2 3 4 5*" option vlan1 "0 5"
config switch eth0 option vlan0 "0 1 2 3 5*" option vlan1 "4 5"
There is a suspicion that the diag bug may cause this problem.
When upgrading the firmware, one should probably disconnect the WAN port in case it becomes a LAN port after the upgrade.
The primary reason for finding serial ports on the router is to help in debricking. There is no way to load firmware from the serial port. However, given a simple typing mistake for an nvram value, you will be able to have a console shell to help fix a typo problem. I have used my v1 serial port thousands of times already from nvram mistakes. The most major, deleting all nvram variables (do not try this –kko).
The debrick tool modification of adding a serial port is only needed when you erase or program the flash with an image, then read the image and these two don't match. If you don't see that problem forget about the modification - You don't need it. Reference
If you want to use the serial port on the router by sending messages via the network see Redirecting a TCP port to COM port
Version 1 of the WR850G has no onboard UART. This means that all you have available are control and data lines on a header labeled J5. There is no connector on these pins, so one would need to be added. A conversion board may then be made with a UART connected to this header and will give you a serial port. This information derived from Technik:
D0 - O o - A0 D1 - o o - A1 D2 - o o - A2 D3 - o o - CHSL D4 - o o - /CS D5 - o o - /RD D6 - o o - /WR D7 - o o - MR VCC - o o - INT1 GND - o o - SIN
First serial port:
o o o - RX GND - o o o o VCC - o o - TX
Second serial port:
While the first serial port is easy to find (and described in the "non-experimental" installation section above), the second serial port is quite well hidden. On the bottom of the board near the serial connector you'll notice there are two small black components labeled "0". Next to them there are solder pads where you'd expect two more "0" components to go - but they're missing! On the set of pads away from the serial connector, the second serial port signals are exposed. Get out your fine-tipped soldering iron and solder some fine wires to the pads opposite the serial connector. RR93 is data out of the WR, and RR94 is data in.
firmware file (see above, Obtaining Official Motorola Firmware)
command: (be sure to see the note below)
$ dd if=WR850G_V403.trx of=WR850G_V403.stripped.trx ibs=1 skip=8
Note: At least some bootloader version does not work with such a stripped file but will instead take the unstripped .trx-file. If flashing does not work in the later steps, try again without this step.
(Originally posted by killerbobjr modifyed for AMD by sapier)
/!\ WARNING: Using this "pin shorting" method is no longer officially supported by OpenWrt. You risk damage to your router if you try this method. The preferred method of debricking is with a serial console.
(Originally posted by killerbobjr )
If it is not be possible to set boot_wait=on using a serial console at the CFE> prompt, it will be necessary to use the JTAG interface to restore the CFE or NVRAM. The HairyDairyMaid debrick utility can be used to accomplish this. Once the NVRAM has been cleared, the CFE will usually restore what it needs (like the MAC addresses set to 00-11-22-33-44-56 or such). If the CFE is toast, you will need to download a fresh CFE.BIN and flash that. The first image that is sent via tftp needs to be a .trx file. After that is loaded, use the web interface to upload your .bin file of choice.
EDGE OF BOARD --> | | UNUSED X X N/C | TDI X X N/C | TDO X X N/C | TMS X X N/C | TCK X X N/C | N/C X X N/C |
This is a very tricky-to-open case, really.
Note: you must apply a lot of force, you will feel like it's going to break but it will finally pop open, ideally. YMMV.
Light layout is 7 lights: Power, Modem, Wireless, 4x LAN. All capable of bi-color, at least the LEDs are.
ansher http://forum.openwrt.org/viewtopic.php?id=7207 reported he experimented with gpio3 and that the value did not change when set but did change after the next poll.
He also reports the pin numbers as;
5 LAN ports are internally numbered differently despite the equipment case saying something else: LAN port 4=0; LAN port 3=1; LAN port 2=2; LAN port 1=3; WAN port=4
Question: If this comment from just above here is true
Does the WR850G need to keep LAN port 0, 1 or 3 in VLAN0?
The nvram variable for dhcp_start should be a number as opposed to an ip address.
Presumably The number is the offset from lan_ipaddr and dhcp_end should also be a number.
It seems that the WR850G frequently will not function right after an upload. Although not confirmed, it is as if there is a heat issue. Let it sit for a while to cool & then it is OK.
Depending on which model you have, you will either have the broadcom "robo" switch or the admtek ADM6996L ("adm"). RC5 will automatically try both and provide you with a set of directories under /proc/switch/eth0/. The /proc/switch/eth0/vlan/*/ports behave exactly like the vlan*port variables documented on the wiki.
Motorola WR850g v2 16MB RAM flash 4MB
CFE for Motorola WR850G v2.03, Release date: Jan. 13, 2004
et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 184.108.40.206
CPU type 0x29007: 200MHz
Total memory: 0x2000000 bytes (32MB) * The 16MB is counted twice in error! *
du -s reports
http://www.quanttrom.net/index.php?/categories/5-WR850G - Down for now, will appear soon at www.quanttrom.com