Topic: WRT54GX-v2 support

Hello,

I've just bought a Linksys WRT54GX-v2 router, and it's working quite nicely (I am impressed by the way it managed to actually boost my old 802.11b network, and I can't wait to get some new 802.11g cards). Anyway, it is very frustrating to know it runs linux and to be unable to play around with it (not to mention the lack of features of the default firmware)... that's why I think OpenWRT would be a nice addition to it, I really love what you've done with this firmware!

I have extensive experience with Linux, however I've never worked with an embedded version, so this is all new to me. But I'd like to help make OpenWRT work on this router (from what I gather, it does work but the wireless drivers are not functional). Where do I start? Is is ok to install the latest release (whiterussian rc2?) and start from there? And what are the problems with the drivers that need to be sorted out? Any other way I can help?

Thanks and keep up the good work,
Mihnea

Re: WRT54GX-v2 support

The WRT54GX v2 is based on Realtek's 8186 cpu. First we need to get our hands on one to check, how the bootloader works.. After that, we need to migrate it from uClinux to normal one. As In the v1 case, I don't have any pre-N gear, if someone donates one, I would be happy to get it to work. If it's a v1, I'm happy to get the wireless on the go, if it's a v2, then we can add support for the RTL8186 stuff, too (btw, more and more stuff seems to use that platform, like D-Link's MIMO router and the WAP54GX).

Re: WRT54GX-v2 support

Well, I guess this is what I get for buying cutting-edge stuff (actually, when I made the order the only available version was the v1... they got me the v2 as some kind of "bonus" smile )... Now, from what I understand the RTL8186 SoC is pretty new, and just starting to make it's way onto devices (I couldn't find anything interesting on the realtek web page, except a notice in a press release). There has been a predecessor though, the RTL8181, for which people have started developing an open-source platform -- http://rtl8181.sf.net. It may take a while for the 8186 to be supported too, but it looks promising.

You can check their forums out, there is some info there, including a link to the RTL8186 data sheet (which is pretty complete, and labeled "confidential" :-P ):

http://sourceforge.net/forum/forum.php?thread_id=1225263&forum_id=338328

This may also be of interest:
http://sourceforge.net/forum/forum.php?thread_id=1323336&forum_id=350305

All-in-all, looks like there may be a chance to get this supported. Unfortunately, I am in no position to donate a router at the moment, but I can test and report on any advances.

On a sidenote, how did you find out that it was a RTL8186 (apart from opening one up)? -- I couldn't find any info regarding this on the FCC site (it actually has the same FCC ID as the WRT54GXv1, ant that one is based on the Airgo chipset). Any other places with information?

Thanks and best regards,
Mihnea

Re: WRT54GX-v2 support

mgc8 wrote:

On a sidenote, how did you find out that it was a RTL8186 (apart from opening one up)? -- I couldn't find any info regarding this on the FCC site (it actually has the same FCC ID as the WRT54GXv1, ant that one is based on the Airgo chipset). Any other places with information?

Well, the WAP54GX gave me the idea, and the different firmware versions. The GPL tarball just let me know it for sure smile

5 (edited by mgc8 2005-08-04 13:58:21)

Re: WRT54GX-v2 support

Duh! I had only browsed very summarily over the tarball, and seeing the Askey/Airgo directory made me believe it was the same as the v1...
Now I'm playing a little more with it... I found a lot of refferences (the /vendors directory, and various configuration options in the linux/.config files) to the RTL865X platform, reviewed here and with some info on the Realtek web site.
From what you say, it probably means that Realtek didn't bother to change the name of the files in their linux code offered to OEM's and that the chip is actually a RTL8186? Or am I looking in the wrong places?
For what it's worth, checking the .config file reveals the support for 8MB Flash and 32Mb SDRAM, but those are only configuration options... dunno if they represent actual hardware used on the device.

Also, could you tell me if it would be possible to modify some stuff in this tarball and then assemble it into a working firmware using the linksys toolchain? Because if that were the case, I could start hacking around with this and see were that takes me smile

6 (edited by mgc8 2005-08-05 02:18:37)

Re: WRT54GX-v2 support

I managed to get a hold of the kernel messages, by looking at the syslog right after reboot... As far as I can see, linux identifies it as a "Realtek RTL8651B SoC, rev 1" and it is confirmed that it has 32MB of SDRAM, a (probably) 200Mhz processor (from the bogomips), and some flash memory (any idea how we can identify for sure the size?). What do you make of it?

Event Log:

Jan  1 03:00:03 (none) syslog.info syslogd started: BusyBox v1.00-pre2 (2005.04.12-11:43+0000)
Jan  1 03:00:03 (none) syslog.notice klogd: klogd started: BusyBox v1.00-pre2 (2005.04.12-11:43+0000)
Jan  1 03:00:03 (none) user.warn klogd: ************************************
Jan  1 03:00:03 (none) user.warn klogd: Powered by Realtek RTL8651B SoC, rev 1
Jan  1 03:00:03 (none) user.warn klogd: ************************************
Jan  1 03:00:03 (none) user.warn klogd: SDRAM size: 32MB
Jan  1 03:00:03 (none) user.warn klogd: CPU revision is: 0000ff00
Jan  1 03:00:03 (none) user.warn klogd: Init MMU (16 entries)
Jan  1 03:00:03 (none) user.warn klogd: Primary instruction cache 0kB, linesize 0 bytes.
Jan  1 03:00:03 (none) user.warn klogd: Primary data cache 0kB, linesize 0 bytes.
Jan  1 03:00:03 (none) user.warn klogd: Linux version 2.4.26-uc0 (kevin@compile-server) (gcc version 3.3.3) #830 Sat May 28 12:44:50 CST 2005
Jan  1 03:00:03 (none) user.warn klogd: Determined physical RAM map:
Jan  1 03:00:03 (none) user.warn klogd:  memory: 02000000 @ 00000000 (usable)
Jan  1 03:00:03 (none) user.warn klogd: NOFS reserved @ 0x802dabc0
Jan  1 03:00:03 (none) user.warn klogd: On node 0 totalpages: 8192
Jan  1 03:00:03 (none) user.warn klogd: zone(0): 8192 pages.
Jan  1 03:00:03 (none) user.warn klogd: zone(1): 0 pages.
Jan  1 03:00:03 (none) user.warn klogd: zone(2): 0 pages.
Jan  1 03:00:03 (none) user.warn klogd: Kernel command line: root=/dev/mtdblock4
Jan  1 03:00:03 (none) user.warn klogd: IRR(0)=c0000000
Jan  1 03:00:03 (none) user.warn klogd: Calibrating delay loop... 199.06 BogoMIPS
Jan  1 03:00:03 (none) user.info klogd: Memory: 29484k/32768k available (2370k kernel code, 3284k reserved, 108k data, 104k init, 0k highmem)
Jan  1 03:00:03 (none) user.info klogd: Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
Jan  1 03:00:03 (none) user.info klogd: Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
Jan  1 03:00:03 (none) user.info klogd: Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Jan  1 03:00:03 (none) user.info klogd: Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
Jan  1 03:00:03 (none) user.warn klogd: Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
Jan  1 03:00:03 (none) user.warn klogd: Checking for 'wait' instruction...  unavailable.
Jan  1 03:00:03 (none) user.warn klogd: POSIX conformance testing by UNIFIX
Jan  1 03:00:03 (none) user.warn klogd: NEW PCI Driver...isLinuxCompliantEndianMode=False(Big Endian)
Jan  1 03:00:03 (none) user.warn klogd: Found Airgo PCI, function=0!
Jan  1 03:00:03 (none) user.warn klogd: Memory Space 0 data=0xfffe0000 size=0x20000
Jan  1 03:00:03 (none) user.warn klogd: Memory Space 1 data=0xfff80000 size=0x80000
Jan  1 03:00:03 (none) user.warn klogd: PCI device exists: slot 0 function 0 VendorID 17cb DeviceID 1 bbd40000
Jan  1 03:00:03 (none) user.warn klogd: Found Airgo PCI, function=1!
Jan  1 03:00:03 (none) user.warn klogd: Found Airgo PCI, function=2!
Jan  1 03:00:03 (none) user.warn klogd: Found Airgo PCI, function=3!
Jan  1 03:00:03 (none) user.warn klogd: Found Airgo PCI, function=4!
Jan  1 03:00:03 (none) user.warn klogd: Found Airgo PCI, function=5!
Jan  1 03:00:03 (none) user.warn klogd: Found Airgo PCI, function=6!
Jan  1 03:00:03 (none) user.warn klogd: Found Airgo PCI, function=7!
Jan  1 03:00:03 (none) user.warn klogd: memory mapping BAnum=0 slot=0 func=0
Jan  1 03:00:03 (none) user.warn klogd: memory mapping BAnum=1 slot=0 func=0
Jan  1 03:00:03 (none) user.warn klogd: assign mem base 1bf00000~1bf7ffff at bbd40014 size=524288
Jan  1 03:00:03 (none) user.warn klogd: assign mem base 1bf80000~1bf9ffff at bbd40010 size=131072
Jan  1 03:00:03 (none) user.warn klogd: Find Total 1 PCI functions
Jan  1 03:00:03 (none) user.warn klogd: Found 00:00 [17cb/0001] 000200 00
Jan  1 03:00:03 (none) user.info klogd: Linux NET4.0 for Linux 2.4
Jan  1 03:00:03 (none) user.info klogd: Based upon Swansea University Computer Society NET3.039
Jan  1 03:00:03 (none) user.warn klogd: Initializing RT netlink socket
Jan  1 03:00:03 (none) user.warn klogd: Starting kswapd
Jan  1 03:00:03 (none) user.info klogd: devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
Jan  1 03:00:03 (none) user.info klogd: devfs: boot_options: 0x0
Jan  1 03:00:03 (none) user.warn klogd: pty: 256 Unix98 ptys configured
Jan  1 03:00:03 (none) user.info klogd: Serial driver version 5.05c (2001-07-08) with MANY_PORTS SERIAL_PCI enabled
Jan  1 03:00:03 (none) user.warn klogd: Probing RTL8651 home gateway controller...
Jan  1 03:00:03 (none) user.warn klogd: Initialize RTL865x ASIC and driver
Jan  1 03:00:03 (none) user.warn klogd:    Initialize mbuf...
Jan  1 03:00:03 (none) user.warn klogd:    creating default 2 interfaces...eth0 IRR(6)=c0040000
Jan  1 03:00:04 (none) user.warn klogd: ===> Request IRQ 6 for eth0, ret=0
Jan  1 03:00:04 (none) user.warn klogd: eth1 ...OK
Jan  1 03:00:04 (none) user.info klogd: PPP generic driver version 2.4.2
Jan  1 03:00:04 (none) user.info klogd: PPP BSD Compression module registered
Jan  1 03:00:04 (none) user.notice klogd: flash device: 7e0000 at be000000
Jan  1 03:00:04 (none) user.warn klogd: AMD/Fujitsu Standard CFI Query Table v1.3 at 0x0040
Jan  1 03:00:04 (none) user.notice klogd:  Amd/Fujitsu Extended Query Table v1.3 at 0x0040
Jan  1 03:00:04 (none) user.notice klogd: number of CFI chips: 1
Jan  1 03:00:04 (none) user.notice klogd: cfi_cmdset_0002: Disabling fast programming due to code brokenness.
Jan  1 03:00:04 (none) user.notice klogd: Creating 5 MTD partitions on "Physically mapped flash":
Jan  1 03:00:04 (none) user.notice klogd: 0x00000000-0x00006000 : "boot1"
Jan  1 03:00:04 (none) user.notice klogd: 0x00010000-0x00020000 : "boot2"
Jan  1 03:00:04 (none) user.notice klogd: 0x00000000-0x00800000 : "boot3"
Jan  1 03:00:04 (none) user.notice klogd: 0x00020000-0x00120000 : "kernel"
Jan  1 03:00:04 (none) user.notice klogd: 0x00120000-0x00800000 : "rootfs"
Jan  1 03:00:04 (none) user.info klogd: NET4: Linux TCP/IP 1.0 for NET4.0
Jan  1 03:00:04 (none) user.info klogd: IP Protocols: ICMP, UDP, TCP, IGMP
Jan  1 03:00:04 (none) user.info klogd: IP: routing cache hash table of 512 buckets, 4Kbytes
Jan  1 03:00:04 (none) user.info klogd: TCP: Hash tables configured (established 2048 bind 4096)
Jan  1 03:00:04 (none) user.info klogd: GRE over IPv4 tunneling driver
Jan  1 03:00:04 (none) user.warn klogd: ip_conntrack version 2.1 (256 buckets, 2048 max) - 344 bytes per conntrack
Jan  1 03:00:04 (none) user.warn klogd: ip_conntrack_pptp version $Revision: 1.1.1.1 $ loaded
Jan  1 03:00:04 (none) user.warn klogd: ip_nat_pptp version $Revision: 1.1.1.1 $ loaded
Jan  1 03:00:04 (none) user.warn klogd: ip_tables: (C) 2000-2002 Netfilter core team
Jan  1 03:00:04 (none) user.info klogd: NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Jan  1 03:00:04 (none) user.warn klogd: VFS: Mounted root (cramfs filesystem) readonly.
Jan  1 03:00:04 (none) user.info klogd: Freeing unused kernel memory: 104k freed
Jan  1 03:00:04 (none) user.warn klogd: Bad boy: serial (at 0x8009d9fc) called us without a dev_id!
Jan  1 03:00:04 (none) user.warn klogd: IRR(4)=c0c40000
Jan  1 03:00:04 (none) user.warn klogd: ===> Request IRQ 4 for serial, ret=0
Jan  1 03:00:04 (none) user.warn klogd: rtl8651_user_pid set to 18
Jan  1 03:00:04 (none) user.warn klogd: Bring up ext  port 6..
Jan  1 03:00:04 (none) user.warn klogd: Rx shift=10002
Jan  1 03:00:04 (none) user.warn klogd: AMD/Fujitsu Standard CFI Query Table v1.3 at 0x0040
Jan  1 03:00:04 (none) user.warn klogd: AMD/Fujitsu Standard CFI Query Table v1.3 at 0x0040
Jan  1 03:00:04 (none) user.warn klogd:
Jan  1 03:00:04 (none) user.warn klogd: Set IGMP Default Upstream interface (eth0) ... SUCCESS!!
Jan  1 03:00:04 (none) user.warn klogd: PPPoE Passthru disabled.
Jan  1 03:00:04 (none) user.warn klogd: Drop Unknown PPPoE PADT disabled.
Jan  1 03:00:04 (none) user.warn klogd: IPv6 Passthru disabled.
Jan  1 03:00:07 (none) user.warn klogd: # MAC Monitoring Register = 0x00000000
Jan  1 03:00:07 (none) user.warn klogd: # Setup System Clock Rate for Watch Dog
Jan  1 03:00:07 (none) user.warn klogd: plm probe (plm_dump_buf @ C0029100)
Jan  1 03:00:07 (none) user.warn klogd: &bdh 817A0170 bdh A1790000
Jan  1 03:00:07 (none) user.info klogd: np->hif_regs->bus_slave.hif_ctrl.val 00000000
Jan  1 03:00:07 (none) user.info klogd: np->hif_regs->bus_slave.hif_ctrl.val 000000C0
Jan  1 03:00:07 (none) user.info klogd: wlan0: PCI Revision = 3, Slot Name[00:00.0], Slot#[0]
Jan  1 03:00:07 (none) user.info klogd: wlan0: at BAR0 = 0xbbf80000, BAR1 = 0xbbf00000, IRQ 5.
Jan  1 03:00:07 (none) user.warn klogd: IRR(5)=c0c40000
Jan  1 03:00:07 (none) user.warn klogd: ===> Request IRQ 5 for wlan0, ret=0
Jan  1 03:00:07 (none) user.info klogd: wlan0: request_irq, err = 0
Jan  1 03:00:07 (none) user.info klogd: wlan0: plm_reg_init Succeeded
Jan  1 03:00:07 (none) user.info klogd: wlan0: MAC:00:13:10:b3:XX:XX (editted)
Jan  1 03:00:07 (none) user.info klogd: wlan0: plm_get_radio_eeprominfo(), err = 0
Jan  1 03:00:07 (none) user.info klogd: wlan0: OFFSET of dev->priv[0x6C]
Jan  1 03:00:07 (none) user.info klogd: wlan0: OFFSET of np->hif_regs[0x1060]
Jan  1 03:00:07 (none) user.info klogd: wlan0: OFFSET of np->stats_mac_td_ring_flush_cnt[0xD40]
Jan  1 03:00:07 (none) user.info klogd: wlan0: OFFSET of np->stats_mac_td_cnt[0xD2C]
Jan  1 03:00:07 (none) user.warn klogd: Register shadow 18
Jan  1 03:00:07 (none) user.warn klogd: ccd_msg_handler_shadow 18 2 C002A534
Jan  1 03:00:09 (none) user.notice ANISDKTOOL:          aniAsfLog.c: 84 Started ANISDKTOOL with Pid 46
Jan  1 03:00:10 (none) user.notice ANISDKTOOL:          aniAsfLog.c: 84 Started ANISDKTOOL with Pid 49
Jan  1 03:00:10 (none) user.err WSM:     aniWsmDefaults.c:602 Ignoring BandType for Radio 0
Jan  1 03:00:10 (none) user.warn klogd: Starting MAC FW module...radioID = 0 NUM_RADIO 1 - param_addr = 0x817a10a8 start at C003B400
Jan  1 03:00:10 (none) user.warn klogd: [0][1a][3][1044] bg = 1, nTx = 1, nRx = 2, cb=0, ap=1, mpci=0
Jan  1 03:00:10 (none) user.warn klogd: [0][11][3][1] Sending CFG_DNLD_REQ
Jan  1 03:00:10 (none) user.warn klogd: Reserve port 6 for peripheral device use. (0x40)
Jan  1 03:00:10 (none) user.warn klogd: Total WLAN/WDS links: 1
Jan  1 03:00:10 (none) user.err WSM:     aniWsmDefaults.c:602 Ignoring BandType for Radio 0
Jan  1 03:00:10 (none) user.err WSM:      aniWsmRadMisc.c:421 Radio (0) RadTimers - Freeing Timer RADAP_STT_TMR
Jan  1 03:00:10 (none) user.err WSM:      aniWsmRadMisc.c:344 Radio (0) Resetting Enb from RADENB_WF_CFG_DNLD_REQ
Jan  1 03:00:10 (none) user.err WSM:      aniWsmRadMisc.c:351 Radio (0) Resetting EnbAp from RADENBAP_WF_RAD_ENB
Jan  1 03:00:10 (none) user.err WSM: aniWsmRadEnbCommon.c:111 Radio 0, defRadEnbCfgDnldReq - State RADENB_INIT
Jan  1 03:00:10 (none) user.warn klogd: [0][12][2][1] received unexpected SME_STOP_BSS_REQ in state 2, for role 0
Jan  1 03:00:10 (none) user.warn klogd: [0][12][2][1] eLIM_SME_SUSPEND_STATE
Jan  1 03:00:10 (none) user.debug klogd: wns msg rcvd: type = 0x1300^Ilength = 32
Jan  1 03:00:10 (none) user.warn klogd: wlan0: Rcvd a eWSM_DRV_RADIO_DISABLE_REQ for radio[0]
Jan  1 03:00:10 (none) user.warn klogd: mac_mod_exit: Cleaning MAC FW module: radio Id 0
Jan  1 03:00:11 (none) user.warn klogd: Starting MAC FW module...radioID = 0 NUM_RADIO 1 - param_addr = 0x817a10a8 start at C003B400
Jan  1 03:00:11 (none) user.warn klogd: [0][1a][3][1106] bg = 1, nTx = 1, nRx = 2, cb=0, ap=1, mpci=0
Jan  1 03:00:11 (none) user.warn klogd: [0][11][3][1] Sending CFG_DNLD_REQ
Jan  1 03:00:11 (none) user.warn klogd: Reserve port 6 for peripheral device use. (0x40)
Jan  1 03:00:11 (none) user.warn klogd: Total WLAN/WDS links: 2
Jan  1 03:00:11 (none) user.warn klogd: [0][11][3][1] CFG size 3252 bytes MAGIC dword is 0xdeaddead
Jan  1 03:00:11 (none) user.warn klogd: [0][11][3][1] CFG hdr totParams 187 intParams 144 strBufSize 756/1596
Jan  1 03:00:11 (none) user.warn klogd: [0][10][3][1] CFG RDET MIN PULSE WIDTH = 100
Jan  1 03:00:11 (none) user.warn klogd: [0][10][3][1] CFG RDET MAX PULSE WIDTH = 100
Jan  1 03:00:11 (none) user.warn klogd: [0][10][3][1] CFG RDET PULSE WIDTH MARGIN = 4
Jan  1 03:00:11 (none) user.warn klogd: [0][10][3][1] CFG RDET PULSE TR CNT1 = 3
Jan  1 03:00:11 (none) user.warn klogd: [0][10][3][1] CFG RDET PULSE TR CNT2 = 3
Jan  1 03:00:11 (none) user.warn klogd: [0][10][3][1] CFG RDET PULSE TR CNT3 = 5
Jan  1 03:00:11 (none) user.warn klogd: [0][10][3][1] CFG RDET RSSI TH = 60
Jan  1 03:00:11 (none) user.warn klogd: [0][10][3][1] CFG RDET MIN IAT = 5000
Jan  1 03:00:11 (none) user.warn klogd: [0][10][3][1] CFG RDET MAX IAT = 65535
Jan  1 03:00:11 (none) user.warn klogd: [0][10][3][1] CFG RDET MEAS DEL  = 77
Aug  5 01:59:37 (none) user.err AA: aagRadioDisable: radioId 0 to disable is not yet configured!
Aug  5 01:59:37 (none) user.warn klogd: [0][14][2][1071] Cfg param 177 indication not handled
Aug  5 01:59:37 (none) user.warn klogd: [0][14][2][1071] Cfg param 178 indication not handled
Aug  5 01:59:37 (none) user.warn klogd: [0][10][3][1071] CFG RDET FLAG  = 0
Aug  5 01:59:37 (none) user.warn klogd: [0][12][3][1076] Going to parse numSSID  in the START_BSS_REQ, len=12
Aug  5 01:59:37 (none) user.debug klogd: wns msg rcvd: type = 0x1300^Ilength = 32
Aug  5 01:59:37 (none) user.err WSM:    aniWsmRadCommon.c:547 Radio (0), Band Type is 1
Aug  5 01:59:37 (none) user.debug klogd: wns msg rcvd: type = 0x1304^Ilength = 48
Aug  5 01:59:52 (none) user.warn klogd: register link id 2 mac on radio 0 00:0A:E9:00:XX:XX (editted)
Aug  5 01:59:52 (none) user.warn klogd: Algorithmics/MIPS FPU Emulator v1.5
Aug  5 01:59:52 (none) user.debug klogd: wns msg rcvd: type = 0x1308^Ilength = 46
Aug  5 01:59:52 (none) user.err AA:        aniAsfTimer.c:445 Null Duration

Re: WRT54GX-v2 support

mgc8 wrote:

Jan  1 03:00:04 (none) user.notice klogd: flash device: 7e0000 at be000000

Looks like 8MB (actually this should be 7f0000).

Re: WRT54GX-v2 support

wtzm wrote:
mgc8 wrote:

Jan  1 03:00:04 (none) user.notice klogd: flash device: 7e0000 at be000000

Looks like 8MB (actually this should be 7f0000).

I think that's the result from 0x00800000 - 0x00020000 = 0x007E0000 (the "bootloader" partitions you can see a little lower):

Jan  1 03:00:04 (none) user.notice klogd: 0x00000000-0x00006000 : "boot1"
Jan  1 03:00:04 (none) user.notice klogd: 0x00010000-0x00020000 : "boot2"
Jan  1 03:00:04 (none) user.notice klogd: 0x00000000-0x00800000 : "boot3"
Jan  1 03:00:04 (none) user.notice klogd: 0x00020000-0x00120000 : "kernel"
Jan  1 03:00:04 (none) user.notice klogd: 0x00120000-0x00800000 : "rootfs"

So, this leaves us with 8064KB to play around with...  nice big_smile

Re: WRT54GX-v2 support

Hello again!

Any news on this battlefront? I'd really like to see OpenWRT on the GXv2, I've just got it to work on an Asus wl500gx and now it's bugging me that the Linksys is still using an inferior firmware smile

I tried sending some inquiries toward Linksys, but as soon as I started to ask hardware-related questions (the support-droid was only able to tell me "airgo chipset, mimo technology"... bleah) the replies -- otherwise extremely timely and courteous -- suddenly stopped. Hmmm... where to turn to now? Realtek? I am still wondering about the relationship between this chipset (RTL8651) and the RTL8181/8186. Are they similar enough so that the code from rtl8181.sf.net would work? I'll go ask around there, too.

In the meantime, I've played around with the official firmware (WRT54GX-v2-2.00.08.tgz), but I don't know whethere it would be possible to compile a working "custom" version from that one? Would I be able to add, say, telnet support, compile, flash and expect it to work alright? I wasn't able to find the init scripts and such... probably the result of too little sleep :-/

So... any pointers as to how I could start hacking this router? I'm downloading the openwrt build tools as I write this, I'll go have a look to see what needs to be changed in order for it to work on the RTL8651. Of course, your assistance would be priceless smile

Re: WRT54GX-v2 support

From the system log, it seems WRT54GX v2 is for sure based on 8651B. And it seems both 8186 and 8651B are Realtek's new product. I can't even find any product webpages at Realtek's website!!?? After some Google research, my conclusion is 8651B and 8186 are two different SoC although they are both based on LX5280 CPU. 8186 is a LX5280 CPU + WLAN SoC while 8651B is a LX5280 CPU + 5 port fast ethernet L4 switch (seems there are a lot of fancy features in it) SoC.

Since the CPU is the same, I think we can try to use the 8186 toolchain on 8651.

Re: WRT54GX-v2 support

openwrt123 wrote:

From the system log, it seems WRT54GX v2 is for sure based on 8651B. And it seems both 8186 and 8651B are Realtek's new product. I can't even find any product webpages at Realtek's website!!?? After some Google research, my conclusion is 8651B and 8186 are two different SoC although they are both based on LX5280 CPU. 8186 is a LX5280 CPU + WLAN SoC while 8651B is a LX5280 CPU + 5 port fast ethernet L4 switch (seems there are a lot of fancy features in it) SoC.
Since the CPU is the same, I think we can try to use the 8186 toolchain on 8651.

I found a product page for the 8651 and posted it before -- it's here:
http://www.realtek.com.tw/products/products1-2.aspx?modelid=2003102

From that page it seems that the 8651 (not sure about the 8651B version) is using the LX4180 CPU.

Would the toolkit for the LX5280 still work? And how can we test this? Maybe someone figures out some kind of exploit like the "ping exploit" from the older firmwares, that would make it alot easier... I for one noticed the router crashing in certain repeatable situations, maybe we could use that smile

Regards,
Mihnea

Re: WRT54GX-v2 support

sad No good news, eh? I've been busy playing around with OpenWRT on my Asus wl500gx, but the Linksys beastie waits for a proper firmware instead of the lame default one... I'm eager to help in any way with testing and whatnot (as long as it doesn't involve opening things up and soldering -- I do that plenty with my other devices, but this one is a little too new and expensive smile )

Unfortunately, the guys over at rtl8181.sf.net seem missing in action, since there was no reply on those forums for some months now. Linksys support is also extremely polite and yet provides no help in this regard. Any other directions to dig into?

Thanks,
Mihnea

Re: WRT54GX-v2 support

Someone should post a high-res picture about the board itself to determine what modding options are on it. smile

-w-

Re: WRT54GX-v2 support

Hi, I just found this page by Google:  http://www.csie.nctu.edu.tw/~cfliu/work/8650.htm

it says

Linksys WAP54GX V1.0, Wireless-G Access Point with SRX, 8651B SoC + Airgo MIMO chip.
Linksys WRT54GX V2.0,Wireless-G Broadband Router with SRX V2.0, 8651B SoC + Airgo MIMO chip. (firmware)
Linksys WRT54GX2 V1.0, Wireless-G Broadband Router with SRX200 V1.0, 8651B SoC + Airgo MIMO chip.

......

Re: WRT54GX-v2 support

Note that the RTL8186 has been plagued by problems since May 2004, when it was officially announced as an a/b/g solution; in fact it started shipping in volumes only in March 2005, and only as b/g; to compound the confusion, Realtek has a few bad runs and the return rate hovered at one point at abut 30%; it is only its latest incarnation that is stable (stil b/g only...) In theory it supports tons of features, but once you try them, surprises appear, examples are 801.1x and WAP; Realtek are vey supportive but the documentiation is not very good (you should have seen the RTL8181 documentation, quite very cryptic) I assume Linksys wrote their own OS version, since the one provided by Realtek in the SDK is downright risible, you are guaranteed a minimum of four differfent kernel panics. I can vouch is has a Lexra 5280 though, not a bad MIPS, runs at 180MHz I believe; open drivers would be an enourmous boost.

Re: WRT54GX-v2 support

r160955 wrote:

Note that the RTL8186 has been plagued by problems since May 2004, when it was officially announced as an a/b/g solution; in fact it started shipping in volumes only in March 2005, and only as b/g; to compound the confusion, Realtek has a few bad runs and the return rate hovered at one point at abut 30%; it is only its latest incarnation that is stable (stil b/g only...) In theory it supports tons of features, but once you try them, surprises appear, examples are 801.1x and WAP; Realtek are vey supportive but the documentiation is not very good (you should have seen the RTL8181 documentation, quite very cryptic) I assume Linksys wrote their own OS version, since the one provided by Realtek in the SDK is downright risible, you are guaranteed a minimum of four differfent kernel panics. I can vouch is has a Lexra 5280 though, not a bad MIPS, runs at 180MHz I believe; open drivers would be an enourmous boost.

The wireless part is based on Airgo's chipset, so the problem with Realtek's own one does not a problem for us smile BTW it seems that the WRT54GX2 (the cheaper one with only two antennas) is based on this chipset as well.

Re: WRT54GX-v2 support

Kaloz wrote:
r160955 wrote:

Note that the RTL8186 has been plagued by problems since May 2004, when it was officially announced as an a/b/g solution; in fact it started shipping in volumes only in March 2005, and only as b/g; to compound the confusion, Realtek has a few bad runs and the return rate hovered at one point at abut 30%; it is only its latest incarnation that is stable (stil b/g only...) In theory it supports tons of features, but once you try them, surprises appear, examples are 801.1x and WAP; Realtek are vey supportive but the documentiation is not very good (you should have seen the RTL8181 documentation, quite very cryptic) I assume Linksys wrote their own OS version, since the one provided by Realtek in the SDK is downright risible, you are guaranteed a minimum of four differfent kernel panics. I can vouch is has a Lexra 5280 though, not a bad MIPS, runs at 180MHz I believe; open drivers would be an enourmous boost.

The wireless part is based on Airgo's chipset, so the problem with Realtek's own one does not a problem for us smile BTW it seems that the WRT54GX2 (the cheaper one with only two antennas) is based on this chipset as well.

WRT54GX2 is based on RTL8651B, not RTL8186.  See  http://www.linux-mips.org/wiki/Realtek_SOC
Airgo chip is plugged into the PCI slot as a module on RTL8651B board.

Re: WRT54GX-v2 support

openwrt123 wrote:

WRT54GX2 is based on RTL8651B, not RTL8186.  See  http://www.linux-mips.org/wiki/Realtek_SOC
Airgo chip is plugged into the PCI slot as a module on RTL8651B board.

The CPU is 8186, the board is 8651..

Re: WRT54GX-v2 support

I don't know what the CPU is but Linux config says it is a R3000 (Mips CPU).

I have successfully compiled the sources WRT54GX-v2-2.00.05 and WRT54GX-v2-2.00.08.
I can mount the cramfs out of the image but there is still a problem as I am not able to flash the generated image. (Bad Image. Try again ...)
It looks like there  is some linksys specific code missing in the tools.
Any idea ?

I also have rebuilt the  WRT54GX-EU-v2-2.00.10.bix image (from 10/14/05) and was able to flash it but the router is bricked now :-(
This image seems to buggy,  at least all files in /www/images are empty !

As soon as I get a new WRT54GX-V2 I will try it again :-)

Re: WRT54GX-v2 support

I my self just got a WRT54GX2 and want very badly to be running OpenWRT, my 3 year old linksys finnaly went and now that OpenWRT May be a option i am very excited to put it into good use when support becomes avaible. The lack of features in this model is sad my older router had more at least twice as much room for portfowarding then this one does now alone.

Hope you guys hvae made some progress.

Re: WRT54GX-v2 support

hmm...

I just got a WRT54GX V2 for christmas (bought for me from the clearance table) and naturally, the first thing I wanted to do was get openwrt on it

This thread has been somewhat comatose for a while, but I'll add something to it anyways:

from the release notes of Linksys firmware 2.00.8 for the WRT54GX V2

2.00.8        Jul 19, 2005    1. Fixed where all ports were scanned as closed, not stealth
                2. DMZ LED was not turning on and off when enabled and disabled.
                3. Fixed security hole were the router's web interface can be
                   access through

Might this be a cousin to the ping hack? Who knows. I am downloading the source tarball and am going to take a look.

Granted, this is old news, seeing as it's from July, but it doesn't look like anyone has really touched it either since then.

In the mean time, Does anyone have a scan of this machine's internals? If not, I can rip this puppy apart and toss it on the flatbed scanner.

Cheers!

(and to all that celebrate it, merry Christmas!)

John

Re: WRT54GX-v2 support

On a side note for this product I have had a slew of issues with latency and packet loss more reason for me to want OPEN WRT  dammit… Battle Field 2 and Quake 4 Lags to hell behind this router regardless of what I do even on the DMZ or with the proper ports open even regardless of what the MTU is set at I want to smash the dam thing.

I am actually going to look into peeling this baby open and taking pics because im starting to hate it and look for a reason to buy a OpenWRT Supported router.

Re: WRT54GX-v2 support

I've also experienced various problems with this router, especially from the wireless side (and this is even more unfortunate, considering it's main selling point was the wireless). I am not sure however whether these issues stem from a buggy firmware or from the drivers or hardware itself -- in which case it would be much more difficult to get it working.

As a sidenote, Airgo are really unfriendly to the Linux/OSS comunity, their windows drivers for the PCMCIA cards are a P.O.S., buggy even, they can't work even with NDIS-wrappers. They have been contacted but so far to no avail... Seems like we'll have to reverse-engineer every bit of this router due to their and linksys's business practices :-/

Anyway, if someone manages to get this thing to work with OpenWRT, a lot of people will be more than happy, myself included -- it may at least approach the level of usefullness promised on the package.

Best wishes,
Mihnea

Re: WRT54GX-v2 support

would this help you?

ftp://ftp.linksys.com/opensourcecode/wrt54gx/2.00.08/WRT54GX-v2-2.00.08.tgz

Re: WRT54GX-v2 support

Actually, a version 2.00.14 of the firmware source has been posted:

ftp://ftp.linksys.com/opensourcecode/wrt54gx/2.00.14/WRT54GX-v2_v2.00.14.tar.gz

All I want to do is build an image of this with the updated ICMP settings to work around this P2P hang issue:

http://www.utorrent.com/faq.php#Special_note_for_users_with_Linksys_WRT54G_GL_GS_routers

Has anyone been able to successfully build this?