OpenWrt Forum Archive

Topic: Wish List : Buffolo WHR-G300N

The content of this topic has been archived on 27 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hi.

Buffolo WHR-G300N

CPU : Ralink RT3052F , 384 MHZ
RAM : 32MB
FLASH : 4MB
Price : Low price (High Perfomance CPU ,  Mass memory ^^ )


http://114.141.255.46/openwrt/whr-g300n.jpg
serial speed : 57600 , 8, 1, n


Buffolo GPL Infomation : http://114.141.255.46/openwrt/WHR-G300N_Manual_web.pdf  / Page : 46

######################################################
"For each individual product and revision, please send one individually packaged self addressed padded CD
shipping envelope, containing a blank CD-R to the following address:
Buffalo Technology USA Inc.
11100 Metric Blvd, Suite 750
Austin, TX 78758
Attn. GPL Department
Within the envelope containing the self addressed padded CD shipping envelope, please include a bank draft
or money order for $20 (USD) (Made out to: Buffalo Technology) to cover our handling fee, postage and CD
preparation. The CD-R should have the name of the product and revision number clearly written on the
actual CD-R (not on the insert)."
######################################################

~ ORZ ... (I live in South Korea.)


OpenWRT : not yet support
DD-WRT   : support

=============================
OpenWRT trunk svn source has ramips_rt305x code..
( *but, Ethernet Not recognized. )

My Work list.

###########################################
1. How to Kernel Build
###########################################
# svn co svn://svn.openwrt.org/openwrt/trunk/ -r18229

( copy my .config file to trunk root directory.)

# cd trunk
# wget http://114.141.255.46/.config
# make
# cd bin
# ls -al openwrt-ramips-uImage-initramfs.bin

1. firmware : http://114.141.255.46/openwrt/openwrt-r … tramfs.bin
2. tftp server : http://114.141.255.46/openwrt/tftpsrv.exe


###########################################
2. Boot WHR-G300N : use OpenWRT firmware.
###########################################
2.1) connect serial cable 
2.2) ctrl + c  , and press  '1'


Please choose the operation:
   1: Load system code to SDRAM via TFTP.
   2: Load system code then write to Flash via TFTP.
   3: Boot system code via Flash (default).
   4: Entr boot command line interface.
   9: Load Boot Loader code then write to Flash via TFTP.

You choosed 1
Please Input new ones /or Ctrl-C to discard
    Input device IP (192.168.11.1) ==: 192.168.11.1 (enter)
    Input server IP (192.168.11.2) ==: 192.168.11.2 (enter)
    Input Linux Kernel filename (firmware.ram) ==: openwrt-ramips-uImage-initramfs.bin (enter)



###########################################
3. Boot messages
###########################################


============================================
Ralink UBoot Version: 3.1
--------------------------------------------
ASIC 3052_MP2 (MAC to GigaMAC Mode)
DRAM COMPONENT: 256Mbits
DRAM BUS: 32BIT
Total memory: 64 MBytes
Date:Aug 26 2008  Time:13:08:44
============================================
icache: sets:256, ways:4, linesz:32 ,total:32768
dcache: sets:128, ways:4, linesz:32 ,total:16384

##### The CPU freq = 384 MHZ ####

SDRAM bus set to 32 bit
SDRAM size =32 Mbytes

Please choose the operation:
   1: Load system code to SDRAM via TFTP.
   2: Load system code then write to Flash via TFTP.
   3: Boot system code via Flash (default).
   4: Entr boot command line interface.
   9: Load Boot Loader code then write to Flash via TFTP.

You choosed 1
Net:   
eth_register 
Eth0 (10/100-M)
enetvar=ethaddr,Eth addr:00:AA:BB:CC:DD:19
00:AA:BB:CC:DD:19:
eth_current->name = Eth0 (10/100-M)
 
1: System Load Linux to SDRAM via TFTP.
Please Input new ones /or Ctrl-C to discard
    Input device IP (192.168.11.1) ==:
    Input server IP (192.168.11.2) ==:
    Input Linux Kernel filename (firmware.ram) ==:
netboot_common, argc= 3
*************buf = 0x81fcb9e0
**********NexTxPacket = 81fe3ac0
NetTxPacket = 0x81FE3AC0
NetRxPackets[0] = 0x81FE40C0
NetRxPackets[1] = 0x81FE46C0
NetRxPackets[2] = 0x81FE4CC0
NetRxPackets[3] = 0x81FE52C0
NetRxPackets[4] = 0x81FE58C0
NetRxPackets[5] = 0x81FE5EC0
NetRxPackets[6] = 0x81FE64C0
NetRxPackets[7] = 0x81FE6AC0
NetRxPackets[8] = 0x81FE70C0
NetRxPackets[9] = 0x81FE76C0
NetRxPackets[10] = 0x81FE7CC0
NetRxPackets[11] = 0x81FE82C0
NetRxPackets[12] = 0x81FE88C0
NetRxPackets[13] = 0x81FE8EC0
NetRxPackets[14] = 0x81FE94C0
NetRxPackets[15] = 0x81FE9AC0
NetRxPackets[16] = 0x81FEA0C0
NetRxPackets[17] = 0x81FEA6C0
NetRxPackets[18] = 0x81FEACC0
NetRxPackets[19] = 0x81FEB2C0
KSEG1ADDR(NetTxPacket) = 0xA1FE3AC0
NetLoop,call eth_halt !
NetLoop,call eth_init !
Trying Eth0 (10/100-M)
Waitting for RX_DMA_BUSY status Start... done
Mac to giga Mac mode 
rx_ring = A1FCBE00, tx_ring0 = A1FCBCC0
Header Payload scatter function is Disable !!
RT2880_PDMA_GLO_CFG=00000020
*************************************************
RX_CALC_IDX0=19
RX_DRX_IDX0 = 0
*************************************************
ETH_STATE_ACTIVE!!
Using Eth0 (10/100-M) device
TFTP from server 192.168.11.2; our IP address is 192.168.11.1
Filename 'firmware.ram'.
TIMEOUT_COUNT=10,Load address: 0x80800000
Loading: Got ARP REPLY, set server/gtwy eth addr (00:1a:80:d2:d8:36)
Got it
#
first block received 
################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #############################
done
Bytes transferred = 2141351 (20aca7 hex)
NetBootFileXferSize= 0020aca7
Automatic boot of image at addr 0x80800000 ...
## Booting image at 80800000 ...
   Image Name:   MIPS OpenWrt Linux-2.6.30.9
   Created:      2009-11-16  14:25:46 UTC

System Control Status = 0x20440000
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    2141287 Bytes =  2 MB
   Load Address: 80000000
   Entry Point:  80000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 32

Starting kernel ...

Linux version 2.6.30.9 (dev@localhost) (gcc version 4.1.2) #1 Mon Nov 16 23:25:41 KST 2009
console [early0] enabled
CPU revision is: 0001964c (MIPS 24Kc)
Ralink RT3052   id:1 rev:2 running at 384.00 MHz
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: console=ttyS1,57600 rootfstype=squashfs,jffs2
Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 32 bytes
Writing ErrCtl register=000781cf
Readback ErrCtl register=000781cf
NR_IRQS:48
PID hash table entries: 128 (order: 7, 512 bytes)
console handover: boot [early0] -> real [ttyS1]
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 28872k/32768k available (1702k kernel code, 3896k reserved, 360k data, 1460k init, 0k highmem)
SLUB: Genslabs=7, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Calibrating delay loop... 255.59 BogoMIPS (lpj=1277952)
Mount-cache hash table entries: 512
net_namespace: 528 bytes
NET: Registered protocol family 16
MIPS: machine is Generic Ralink board
bio: create slab <bio-0> at 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
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 56
alg: No test for lzma (lzma-generic)
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered (default)
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250: ttyS0 at MMIO 0x10000500 (irq = 13) is a 16550A
serial8250: ttyS1 at MMIO 0x10000c00 (irq = 20) is a 16550A
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>
Freeing unused kernel memory: 1460k freed
- preinit -
Press CTRL-C for failsafe

Please press Enter to activate this console. 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)

BusyBox v1.14.4 (2009-11-16 23:04:06 KST) 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, r18229) ------------------
  * 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:/#


root@OpenWrt:/# cat /proc/cpuinfo
system type        : Ralink RT3052   id:1 rev:2
machine            : Generic Ralink board
processor        : 0
cpu model        : MIPS 24Kc V4.12
BogoMIPS        : 255.59
wait instruction    : yes
microsecond timers    : yes
tlb_entries        : 32
extra interrupt vector    : yes
hardware watchpoint    : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0cb8, 0x0ffb]
ASEs implemented    : mips16
shadow register sets    : 1
core            : 0
VCED exceptions        : not available
VCEI exceptions        : not available

root@OpenWrt:/# cat /proc/meminfo
MemTotal:          30332 kB
MemFree:           21336 kB
Buffers:               0 kB
Cached:             5952 kB
SwapCached:            0 kB
Active:             3112 kB
Inactive:           3524 kB
Active(anon):        732 kB
Inactive(anon):        0 kB
Active(file):       2380 kB
Inactive(file):     3524 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:           700 kB
Mapped:              764 kB
Slab:               1356 kB
SReclaimable:        340 kB
SUnreclaim:         1016 kB
PageTables:          132 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:       15164 kB
Committed_AS:       2384 kB
VmallocTotal:    1048404 kB
VmallocUsed:         336 kB
VmallocChunk:    1042232 kB
root@OpenWrt:/#

root@OpenWrt:/# ifconfig -a
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:/#
root@OpenWrt:/# df -kh
Filesystem                Size      Used Available Use% Mounted on
tmpfs                    14.8M     32.0K     14.8M   0% /tmp
tmpfs                   512.0K         0    512.0K   0% /dev
root@OpenWrt:/#

(Last edited by ipiranha on 16 Nov 2009, 17:22)

DIR-600 Vs WHR-G300N

Chipset : RT3050F Vs RT3052F
CPU Clock : 320 mhz Vs 384 mhz
Bogomips : 212.99  Vs 255.59

ipiranha wrote:

###########################################
2. Boot WHR-G300N : use OpenWRT firmware.
###########################################
2.1) connect serial cable 
2.2) ctrl + c  , and press  '1'

Hi, how did you connect serial cable?

Bests,

Nuno

Again, if one just changes the filename from openwrt-ramips-uImage-initramfs.bin to  firmware.ram is it still necessary to access the router serial console?

It seems to me that the ethernet registration in target/linux/ramips/files/arch/mips/ralink/rt305x/mach-whr-g300n.c is never run.

The platform setup in target/linux/ramips/files/arch/mips/ralink/common/setup.c is always running the generic setup:
enum ramips_mach_type ramips_mach = RAMIPS_MACH_GENERIC;

    static int __init ramips_machine_setup(void)
    {
            mips_machine_setup(ramips_mach);
            return 0;
    }

I'm trying with hard coding the following in setup.c:
enum ramips_mach_type ramips_mach = RAMIPS_MACH_WHR_G300N;
That should make the machine specific initialization to run.

However I have yet to solder serial cable in order to see what happens.

Yes, you are right, it is not going into that routine.  I ran into this problem a couple weeks ago with a different RaLink board but it still used the RT3052 chip.   Here is a solution for testing....

In u-boot, hit option # 4

Then enter

setenv bootargs 'board=WHR-G300N'; tftpboot 0x80800000  openwrt-ramips-uImage-initramfs.bin; bootm

by the way, if you have a different board, you might want to use a different board name.  Here are a few other examples of valid boot sequences:

setenv bootargs 'board=WHR-G300N'; tftpboot 0x80800000  openwrt-ramips-uImage-initramfs.bin; bootm
setenv bootargs 'board=FONERA20N'; tftpboot 0x80800000  openwrt-ramips-uImage-initramfs.bin; bootm
setenv bootargs 'board=V22RW-2X2'; tftpboot 0x80800000  openwrt-ramips-uImage-initramfs.bin; bootm
setenv bootargs 'board=DIR-300-revB'; tftpboot 0x80800000  openwrt-ramips-uImage-initramfs.bin; bootm

If you do this, it will boot properly, and ethernet will start working using the stock OpenWrt.

Now, my big problem is that I am trying to get USB working on my RT3052 board.  There is no code currently there to support it.

The RT3052 is USB OTG compatible.   I tried compiling and installing the DWC_OTG driver for it. However, on installation, it gives a bunch of symbols not found for symbols like: "usb_create_ncd".   So apparently UsbCore is not being loaded (even tho it is checked in the kernel config).  I am not sure how to get USBCORE to load or how to fix things from this point.   I think this USB subsystem might require some modification by the OpenWrt porting experts....

vware wrote:

Yes, you are right, it is not going into that routine.  I ran into this problem a couple weeks ago with a different RaLink board but it still used the RT3052 chip.   Here is a solution for testing....

In u-boot, hit option # 4
Then enter
setenv bootargs 'board=WHR-G300N'; tftpboot 0x80800000  openwrt-ramips-uImage-initramfs.bin; bootm

That has done the trick (based on the instructions at the beginning of this thread).
I'm compiling an image with

anajavi wrote:

in target/linux/ramips/files/arch/mips/ralink/common/setup.c
enum ramips_mach_type ramips_mach = RAMIPS_MACH_WHR_G300N;
That should make the machine specific initialization to run.

Tried that and it didn't work.

Currently the board is being detected (during bootup) as
MIPS: machine is Generic Ralink board

If we use option 4 and pass 'board=WHR-G300N'; then the board is detected and seems to be good.
MIPS: machine is Buffalo WHR-G300N

Swapping
enum ramips_mach_type ramips_mach = RAMIPS_MACH_GENERIC;
for
enum ramips_mach_type ramips_mach = RAMIPS_MACH_WHR_G300N;
in target/linux/ramips/files/arch/mips/ralink/common/setup.c didn't help.


As I'm not fully up to speed on this, can someone tell me how the board is detected (the process and more specifically which files / functions are involved)

I see there is a mention in target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h
I tried swapping the order in there to have RAMIPS_MACH_WHR_G300N, at the start, but to no avail.

As a "quick hack" for those who want to see openwrt running on these (Note it may cause other kernel issues, I haven't yet looked at what other kernel customizations this does, or breaks)

make kernel_menuconfig
Kernel Hacking --->
Default kernel command string append board=WHR-G300N
The entire line would then be
"console=ttyS1,57600 rootfstype=squashfs,jffs2 board=WHR-G300N"

Note without the "

Then the normal make world

So to get something working, build as above,
Plug the WHR-G300N => switch => PC
Set the PC to use the ip address 192.168.11.2 netmask 255.255.255.0
run a tftp server on the pc
save / rename openwrt-ramips-uImage-initramfs.bin to firmware.ram and power the WHR-G300N.

Currently the image isn't written to flash when it's booted, the default is to copy time image to ram and execute.
If someone wants to look at http://www.denx.de/wiki/DULG/UBootScripts or http://www.denx.de/wiki/DULG/Manual in general about the boot time scipts. Other projects have written an image that loads the image AND writes it to memory.

We can use mtd to write the above image (copy it to /tmp on the WHR-G300N and then write it)
mtd -r write openwrt-ramips-uImage-initramfs.bin openwrt

(Last edited by Timothy on 18 Jan 2010, 16:24)

Now the only problem is the wireless
Should be RT2860 which is in the staging drivers. I can't yet see how to select it. It seems commented out (or similar) in openwrt.
The drivers are there build_dir/linux-ramips_rt305x/linux-2.6.30.9/drivers/staging/rt2860
Normally (regular linux kernel)
Device Drivers --->
  Staging Drivers --->
    <M> Ralink 2870/3070 wireless support



Edit: There looks to be the wireless in a later version of trunk.  Lets see if that will compile a stable image.

(Last edited by Timothy on 19 Jan 2010, 21:27)

Hi, Timothy.

buildroot -> make menuconfig -> "Kernel modules" -> "Wireless Drivers" -> "kmod-rt2800-pci............. Ralink Drivers for RT2x00 cards (RT2860 PCI)"
Is this?

bye
zukky

yapoo wrote:

Hi, Timothy.

buildroot -> make menuconfig -> "Kernel modules" -> "Wireless Drivers" -> "kmod-rt2800-pci............. Ralink Drivers for RT2x00 cards (RT2860 PCI)"
Is this?

bye
zukky

Yes I think that is it.
However in trunk I downloaded yesterday, Busybox has some problems, that can be worked around, but the kernel module isn't compiling.

SVN info gives
Last Changed Rev: 19227
Last Changed Date: 2010-01-19 13:26:03 +0000 (Tue, 19 Jan 2010)

  CC [M]  path/whr-g300n/build_dir/linux-ramips_rt305x/compat-wireless-2010-01-15/drivers/net/wireless/rt2x00/rt2x00pci.o

path/whr-g300n/build_dir/linux-ramips_rt305x/compat-wireless-2010-01-15/drivers/net/wireless/rt2x00/rt2x00pci.c: In function 'rt2x00pci_probe':

path/whr-g300n/build_dir/linux-ramips_rt305x/compat-wireless-2010-01-15/drivers/net/wireless/rt2x00/rt2x00pci.c:291: error: implicit declaration of function 'pci_set_mwi'

make[8]: *** [path/whr-g300n/build_dir/linux-ramips_rt305x/compat-wireless-2010-01-15/drivers/net/wireless/rt2x00/rt2x00pci.o] Error 1

Patching that
--- build_dir/linux-ramips_rt305x/compat-wireless-2010-01-15/drivers/net/wireless/rt2x00/rt2x00pci.c   
+++ build_dir/linux-ramips_rt305x/compat-wireless-2010-01-15/drivers/net/wireless/rt2x00/rt2x00pci.c   
@@ -288,8 +288,10 @@

        pci_set_master(pci_dev);

+/*
        if (pci_set_mwi(pci_dev))
                ERROR_PROBE("MWI not available.\n");
+*/

        if (dma_set_mask(&pci_dev->dev, DMA_BIT_MASK(32))) {
                ERROR_PROBE("PCI DMA not supported.\n");


Just gives a later error for rt2x00lib.ko

(cd path/whr-g300n/build_dir/linux-ramips_rt305x/compat-wireless-2010-01-15/ipkg-ramips/kmod-rt2x00-lib/CONTROL; var2file "V_Package_kmod_rt2x00_lib_conffiles" conffiles; var2file "V_Package_kmod_rt2x00_lib_preinst" preinst; var2file "V_Package_kmod_rt2x00_lib_postinst" postinst; var2file "V_Package_kmod_rt2x00_lib_prerm" prerm; var2file "V_Package_kmod_rt2x00_lib_postrm" postrm; )

mkdir -p path/whr-g300n/build_dir/linux-ramips_rt305x/compat-wireless-2010-01-15/ipkg-ramips/kmod-rt2x00-lib/lib/modules/2.6.30.10
cp -fpR -L path/whr-g300n/build_dir/linux-ramips_rt305x/compat-wireless-2010-01-15/drivers/net/wireless/rt2x00/rt2x00lib.ko path/whr-g300n/build_dir/linux-ramips_rt305x/compat-wireless-2010-01-15/ipkg-ramips/kmod-rt2x00-lib/lib/modules/2.6.30.10/

cp: cannot stat `path/whr-g300n/build_dir/linux-ramips_rt305x/compat-wireless-2010-01-15/drivers/net/wireless/rt2x00/rt2x00lib.ko': No such file or directory


Now how do I edit / change that lot, more to the point, where does it come from as I need to change CONFIG_RT2X00=m CONFIG_RT2X00_LIB_PCI=m to CONFIG_RT2X00=y CONFIG_RT2X00_LIB_PCI=y

Looks like there is something in package/mac80211/Makefile which changed the above options (ONFIG_RT2X00=m CONFIG_RT2X00_LIB_PCI=m to CONFIG_RT2X00=y CONFIG_RT2X00_LIB_PCI=y)

But rt2x00lib.ko is still not being build.

I'm going to try revision 17175 as 17176 has compat-wireless 2010-01-15 which is the package that isn't compiling
Maybe compat-wireless 2010-01-13 works

Note busybox seems to have a problem with it's module tools (you need to use the simplified one rather than the defaults)

compat-wireless-2010-01-13 doesn't work either.
Raised a ticket for someone to look at it.
I'll probably look again tomorrow

(Last edited by Timothy on 20 Jan 2010, 17:49)

With a bunch of fiddling I managed to get a compiled image, but the wifi is still an issue

rt2x00lib: Unknown symbol rt2x00crypto_key_to_cipher
rt2x00lib: Unknown symbol rt2x00crypto_create_tx_descriptor
rt2x00lib: Unknown symbol rt2x00leds_unregister
rt2x00lib: Unknown symbol rt2x00leds_led_radio
rt2x00lib: Unknown symbol rt2x00crypto_tx_insert_iv
rt2x00lib: Unknown symbol rt2x00ht_create_tx_descriptor
rt2x00lib: Unknown symbol rt2x00lib_load_firmware
rt2x00lib: Unknown symbol rt2x00crypto_tx_overhead
rt2x00lib: Unknown symbol rt2x00led_led_activity
rt2x00lib: Unknown symbol rt2x00leds_led_quality
rt2x00lib: Unknown symbol rt2x00crypto_tx_remove_iv
rt2x00lib: Unknown symbol rt2x00leds_led_assoc
rt2x00lib: Unknown symbol rt2x00lib_free_firmware
rt2x00lib: Unknown symbol rt2x00crypto_rx_insert_iv
rt2x00lib: Unknown symbol rt2x00leds_register
rt2x00lib: Unknown symbol rt2x00crypto_tx_copy_iv
rt2x00pci: Unknown symbol rt2x00lib_rxdone
rt2x00pci: Unknown symbol rt2x00queue_get_entry
rt2x00pci: Unknown symbol rt2x00lib_remove_dev
rt2800pci: Unknown symbol rt2800_config_shared_key
rt2800pci: Unknown symbol rt2800_reset_tuner
rt2800pci: Unknown symbol rt2800_validate_eeprom
rt2800pci: Unknown symbol rt2800_link_stats
rt2800pci: Unknown symbol rt2800_rfkill_poll
rt2800pci: Unknown symbol rt2800_probe_hw_mode
rt2800pci: Unknown symbol rt2800_read_eeprom_efuse
rt2800pci: Unknown symbol rt2x00pci_initialize
rt2800pci: Unknown symbol rt2800_efuse_detect
rt2800pci: Unknown symbol rt2800_config_filter
rt2800pci: Unknown symbol rt2800_mcu_request
rt2800pci: Unknown symbol rt2800_init_eeprom
rt2800pci: Unknown symbol rt2800_config_pairwise_key
rt2800pci: Unknown symbol rt2x00pci_uninitialize
rt2800pci: Unknown symbol rt2x00queue_get_entry
rt2800pci: Unknown symbol rt2800_init_bbp
rt2800pci: Unknown symbol rt2800_init_rfcsr
rt2800pci: Unknown symbol rt2x00lib_txdone
rt2800pci: Unknown symbol rt2x00queue_get_queue
rt2800pci: Unknown symbol rt2800_link_tuner
rt2800pci: Unknown symbol rt2x00pci_regbusy_read
rt2800pci: Unknown symbol rt2800_config_intf
rt2800pci: Unknown symbol rt2800_wait_wpdma_ready
rt2800pci: Unknown symbol rt2800_init_registers
rt2800pci: Unknown symbol rt2800_config_ant
rt2800pci: Unknown symbol rt2800_mac80211_ops
rt2800pci: Unknown symbol rt2800_config
rt2800pci: Unknown symbol rt2x00pci_rxdone
rt2800pci: Unknown symbol rt2800_config_erp
rt2800pci: Unknown symbol rt2x00pci_write_tx_data
Registered led device: whr-g300n:red:diag
Registered led device: whr-g300n:green:router
Registered led device: whr-g300n:amber:security

I've tried compiling the other parts of the rt2x00 friver (led / firmware etc) with other unknown symbol issues

Also jffs2 and squashfs seem to have issues on boot so I'm having to do lzma compressed ramdisk.
the module utils were complaining at compile so I was using the simple one in busybox

(Last edited by Timothy on 27 Jan 2010, 14:20)

Can you check and see what happens if you compile with usb-core. On my kernel/build I found that the new compat.ko requires usb-core in the new compat-wireless. I have no idea if that is the case for what you are doing, but in my case it resolved the problem. I also had to rename /etc/modules.d/20-usb-core to something prior to 20-mac80211.

rt2x00lib: Unknown symbol rt2x00crypto_key_to_cipher
rt2x00lib: Unknown symbol rt2x00crypto_create_tx_descriptor

I had the same output as you above, except mine said ath9k and mac80211 unknown blah blah.

Timothy wrote:

With a bunch of fiddling I managed to get a compiled image, but the wifi is still an issue

I posted Ralink AP SoC SDK in another thread. I managed to compile a firmware from it and wireless works very well.

foxtroop11 wrote:

Can you check and see what happens if you compile with usb-core. On my kernel/build I found that the new compat.ko requires usb-core in the new compat-wireless. I have no idea if that is the case for what you are doing, but in my case it resolved the problem. I also had to rename /etc/modules.d/20-usb-core to something prior to 20-mac80211.

rt2x00lib: Unknown symbol rt2x00crypto_key_to_cipher
rt2x00lib: Unknown symbol rt2x00crypto_create_tx_descriptor

I had the same output as you above, except mine said ath9k and mac80211 unknown blah blah.

That may hit one of the other issues with the current state of this.

I can only currently build ramdisk images. If I do squashfs or jffs2 I get ALOT of jffs2 errors as it tries to boot, then it does before I can open a console.

Using physmap partition information
Creating 7 MTD partitions on "physmap-flash.0":
0x000000000000-0x000000030000 : "u-boot"
0x000000030000-0x000000040000 : "u-boot-env"
0x000000040000-0x000000050000 : "factory"
0x000000050000-0x0000000e0000 : "kernel"
0x000000140000-0x0000003f0000 : "rootfs"
mtd: partition "rootfs" set to be root filesystem
split_squashfs: no squashfs found in "physmap-flash.0"
0x0000003f0000-0x000000400000 : "user"
0x000000050000-0x0000003f0000 : "openwrt"
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>
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010000: 0x7368 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010004: 0x037d instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010008: 0x6e1d instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010010: 0x001c instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010014: 0x0002 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010018: 0x00c0 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0001001c: 0x0004 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010020: 0x1520 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010028: 0x1981 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010030: 0x1979 instead
Further such events for this erase block will not be printed
Empty flash at 0x00010038 ends at 0x00010040
Old JFFS2 bitmask found at 0x000197dc

etc until

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00250020: 0x1141 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00250024: 0xa204 instead
Further such events for this erase block will not be printed
Old JFFS2 bitmask found at 0x00254048
You cannot use older JFFS2 filesystems with newer kernels
jffs2_scan_eraseblock(): End of filesystem marker found at 0x260000
Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes
empty_blocks 5, bad_blocks 0, c->nr_blocks 43
VFS: Cannot open root device "<NULL>" or unknown-block(31,4)
Please append a correct "root=" boot option; here are the available partitions:
1f00             192 mtdblock0 driver: physmap-flash
1f01              64 mtdblock1 driver: physmap-flash
1f02              64 mtdblock2 driver: physmap-flash
1f03             576 mtdblock3 driver: physmap-flash
1f04            2752 mtdblock4 driver: physmap-flash
1f05              64 mtdblock5 driver: physmap-flash
1f06            3712 mtdblock6 driver: physmap-flash
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,4)

Note I've been able to boot the ramdisk image, then write the squashfs image and I get the above message.

Do I need to reformat the flash, I thought that's what "mtd write openwrt-ramips-squashfs.img openwrt"

(Last edited by Timothy on 28 Jan 2010, 13:06)

Sorry to intrude on this fascinating thread, but It seems that you have explored this Buffalo router extensively.

We are a group of users who have flashed DD-WRT on the Buffalo WHR-G300N.
This group is desperately trying to revert to the original Buffalo firmware for a variety of reasons.

We have tried:

1)GUI flashing. Does not work.
2)TFTP. Transfer occurs, but the firmware does not flash or install.
3)Telnet commands:

cd /tmp
wget ftp://xxx/firmwarexxx

then

write firmwarexxx linux

or

wget -O /var/firmware ftp://xxx/firmwarexxx

then

mtd write /var/firmware linux


Are also unsuccessful.

Is there any advice you can give to successfully revert to Buffalo firmware?
TFTP technique, specific Telnet commands or serial cable?

Many thanks.

The discussion might have continued from here.