OpenWrt Forum Archive

Topic: OpenWRT for WD N900

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

Hi Guys,

I just bought a new WesternDigital N900 wireless router, I think its very powerful according to the spec, but unfortrunately there is no OpenWRT ROM for this newer router, since WD published the source code for its firmware (http://support.wdc.com/product/download … mp;lang=en), Is it possible that someone make OpenWRT supports WD N900?

Thanks,

(Last edited by vikingzou on 30 Nov 2013, 06:24)

Read through the wiki again and found the following....
Given that support for the ubicom32 architecture has been removed from OpenWrt for being unmaintainable, it is unlikely that we will ever see OpenWrt for this router.

sad

any news? nobody try to support? my wd n900c waiting for openwrt firmware;) i found on internet too many wd n900 users are unhappy with stock firmware, very unstable. we can make donations for a openwrt master..just do it:-)

Here is the boot output while connected to the serial header (JP4)
I'll gladly help in software development, maintenance and testing.
But I need help from a more experience user to get this project started.
It is my understanding that we should first try to get the toolchain for the architecture working.

========================================

function : 10000e1cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
Serial: Ubicom32 serdes uart serial driver initialized ba038000
u-boot started
DRAM: 256 MB
flash_init
flash_init: we got MX25L128
Flash: 16 MB
ubi32-nand-spi-er: switch at gpio 162
ubi32-nand-spi-er: found device id 00002018
No SPI-ER NAND detected
*** Warning - bad CRC, using default environment

ipaddr = 192.168.1.1


U-Boot 2009.06-rc3 (Apr 21 2012 - 03:03:33)

SVN revision: 2823
Target board: WRGND-ND15

In:    serial
Out:   serial
Err:   serial
Choose a operation or press SPACE to abort autoboot in 1 seconds
  2: Load runtime code via TFTP.
  9: Load boot loader code via TFTP.
image addr = b0080000
## Booting kernel from Legacy Image at b0080064 ...
   Image Name:   WRG-ND15
   Image Type:   UBICOM32 Linux Multi-File Image (lzma compressed)
   Data Size:    12779862 Bytes = 12.2 MB
   Load Address: c0100000
   Entry Point:  c0100000
   Contents:
      Image 0: 33891 Bytes = 33.1 kB
      Image 1: 10424320 Bytes =  9.9 MB
      Image 2: 2321634 Bytes =  2.2 MB
   Verifying Checksum ... OK
## Loading init Ramdisk from multi component Legacy Image at b0080064 ...
   Uncompressing (LZMA) Multi-File Image ... OK

Starting kernel ...

Linux version 2.6.36+ (kevin@BSD2_6_BUILD_SEV) (gcc version 4.4.1 (GCC) ) #1 SMP Fri May 11 21:33:47 CST 2012
processor dram c0100000-d0000000, expecting c0100000-c2000000
processor dram c0100000-d0000000, expecting c0100000-c2000000
processor ocm bffc5200-bffedb00, expecting bffc5200-bffedb00
IP8K Processor, Ubicom, Inc. <www.ubicom.com>
Device Tree:
    bfffffcc: sendirq=255, recvirq=255,  name=NA
    bfffff7c: sendirq=255, recvirq=255,  name=board
    bffffcec: sendirq=255, recvirq=255,  name=bootargs
    bfffff30: sendirq=255, recvirq=255,  name=gpio
    bffffc04: sendirq=255, recvirq=093,  name=pciej
    bffffbb4: sendirq=255, recvirq=095,  name=pciek
    bffffb3c: sendirq=255, recvirq=255,  name=processor
    bffffc54: sendirq=255, recvirq=255,  name=storage
    bffffca4: sendirq=255, recvirq=024,  name=traps
PERCPU: Embedded 2 pages/cpu @c0850000 s4808 r8192 d19768 u65536
pcpu-alloc: s4808 r8192 d19768 u65536 alloc=4*16384
pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [0] 4
cpu[0]: bootstrap CPU online - tid: 6
Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 16367
Kernel command line: console=ttyUM0 console=ttyUS0 serdes=0xba038000,61,250000000 root=/dev/mtdblock0 noinitrd
PID hash table entries: 1024 (order: -2, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 3, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 2, 65536 bytes)
Memory available: 253280k/261376k RAM, (4998k kernel code, 1547k data)
Hierarchical RCU implementation.
    RCU-based detection of stalled CPUs is disabled.
    Verbose stalled-CPUs detection is disabled.
NR_IRQS:96
timer[33]: timer-primary - created
timer[33]: shutdown
timer[33]: periodic: 6000000 cycles
diff: 75970028, timer has lost 13 ticks [rounded up]
console [ttyUS0] enabled
Linux version 2.6.36+ (kevin@BSD2_6_BUILD_SEV) (gcc version 4.4.1 (GCC) ) #1 SMP Fri May 11 21:33:47 CST 2012
processor dram c0100000-d0000000, expecting c0100000-c2000000
processor dram c0100000-d0000000, expecting c0100000-c2000000
processor ocm bffc5200-bffedb00, expecting bffc5200-bffedb00
IP8K Processor, Ubicom, Inc. <www.ubicom.com>
Device Tree:
    bfffffcc: sendirq=255, recvirq=255,  name=NA
    bfffff7c: sendirq=255, recvirq=255,  name=board
    bffffcec: sendirq=255, recvirq=255,  name=bootargs
    bfffff30: sendirq=255, recvirq=255,  name=gpio
    bffffc04: sendirq=255, recvirq=093,  name=pciej
    bffffbb4: sendirq=255, recvirq=095,  name=pciek
    bffffb3c: sendirq=255, recvirq=255,  name=processor
    bffffc54: sendirq=255, recvirq=255,  name=storage
    bffffca4: sendirq=255, recvirq=024,  name=traps
PERCPU: Embedded 2 pages/cpu @c0850000 s4808 r8192 d19768 u65536
pcpu-alloc: s4808 r8192 d19768 u65536 alloc=4*16384
pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [0] 4
cpu[0]: bootstrap CPU online - tid: 6
Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 16367
Kernel command line: console=ttyUM0 console=ttyUS0 serdes=0xba038000,61,250000000 root=/dev/mtdblock0 noinitrd
PID hash table entries: 1024 (order: -2, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 3, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 2, 65536 bytes)
Memory available: 253280k/261376k RAM, (4998k kernel code, 1547k data)
Hierarchical RCU implementation.
    RCU-based detection of stalled CPUs is disabled.
    Verbose stalled-CPUs detection is disabled.
NR_IRQS:96
timer[33]: timer-primary - created
timer[33]: shutdown
timer[33]: periodic: 6000000 cycles
diff: 75970028, timer has lost 13 ticks [rounded up]
console [ttyUS0] enabled
console [ttyUM0] enabled
diff: 162360113, timer has lost 28 ticks [rounded up]
Calibrating delay loop... 588.18 BogoMIPS (lpj=2940928)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 2048
cpu[1]: added to cpu_present_map - tid: 2
cpu[2]: added to cpu_present_map - tid: 3
cpu[3]: added to cpu_present_map - tid: 4
cpu[4]: added to cpu_present_map - tid: 5
cpu[1]: launching mainline Linux thread
timer[34]: timer-cpu - created
cpu[1]: came alive after 100 us
cpu[2]: launching mainline Linux thread
timer[35]: timer-cpu - created
timer[35]: shutdown
timer[35]: periodic: 6000000 cycles
cpu[2]: entering cpu_idle()
cpu[2]: came alive after 100 us
cpu[3]: launching mainline Linux thread
timer[36]: timer-cpu - created
timer[36]: shutdown
timer[36]: periodic: 6000000 cycles
cpu[3]: entering cpu_idle()
cpu[3]: came alive after 100 us
cpu[4]: launching mainline Linux thread
timer[37]: timer-cpu - created
timer[37]: shutdown
timer[37]: periodic: 6000000 cycles
cpu[4]: entering cpu_idle()
cpu[4]: came alive after 100 us
Brought up 5 CPUs
timer[34]: shutdown
timer[34]: periodic: 6000000 cycles
cpu[1]: entering cpu_idle()
OCM Instruction Heap 5 KB
NET: Registered protocol family 16
Ubicom GPIO Controller
ubicom32 flash helper init
Added flash 'ubicom32fc'
Added flash 'ubi32-nand-spi-er'
ip8100rgw_init: registering device resources
ip8100rgw_init: registering i2c resources
IP8100 RGW
ubi32_dwc_init:
Parameter Override Signals:  0x0073FFFF
Set usb port 0 to host only
dwc_otg_overide: 0xBA014000  1
USB 2.0 port 0 is brought up
USB 2.0 port 0 irq = 70
Parameter Override Signals:  0x0073FFFF
Set usb port 1 to host only
dwc_otg_overide: 0xBA018000  1
USB 2.0 port 1 is brought up
USB 2.0 port 1 irq = 71
PCI port RJ is added
Trying add PCIe port 0: pciej
    PCIe port[0] reset: reset pin 0xba050080:22 clock pin 0xba0500c0:0
    PCIe port[0]:  endpoint ref clock set to 100 Mhz
diff: 118126065, timer has lost 20 ticks [rounded up]
    Polling LTSSM state ... takes up to 1/2 seconds
    LTSSM state of port 0 is f, up
diff: 19432962, timer has lost 4 ticks [rounded up]
PCIe port 0: pciej link is up
PCI port RK is added
Trying add PCIe port 1: pciek
    PCIe port[1] reset: reset pin 0xba050080:20 clock pin 0xba0500c0:1
    PCIe port[1]:  endpoint ref clock set to 100 Mhz
diff: 117362928, timer has lost 20 ticks [rounded up]
    Polling LTSSM state ... takes up to 1/2 seconds
    LTSSM state of port 1 is f, up
PCIe port 1: pciek link is up
diff: 19666252, timer has lost 4 ticks [rounded up]
PCI: bus0: Fast back to back transfers disabled
PCI: bus1: Fast back to back transfers disabled
PCI: bus0: Fast back to back transfers disabled
PCI: bus1: Fast back to back transfers disabled
PCI: Assigning IRQ 00 to 0000:00:00.0
PCI: 0000:01:00.0 swizzling pin 1 => pin 1 slot 0
PCI: 0000:01:00.0 mapping slot 0 pin 1 => irq 92
PCI: Assigning IRQ 92 to 0000:01:00.0
PCI: Assigning IRQ 00 to 0001:00:00.0
PCI: 0001:01:00.0 swizzling pin 1 => pin 1 slot 0
PCI: 0001:01:00.0 mapping slot 0 pin 1 => irq 94
PCI: Assigning IRQ 94 to 0001:01:00.0
pci 0001:00:00.0: BAR 8: assigned [mem 0xbd000000-0xbd0fffff]
pci 0001:01:00.0: BAR 0: assigned [mem 0xbd000000-0xbd01ffff 64bit]
pci 0001:01:00.0: BAR 0: set to [mem 0xbd000000-0xbd01ffff 64bit] (PCI address [0xbd000000-0xbd01ffff]
pci 0001:01:00.0: BAR 6: assigned [mem 0xbd020000-0xbd02ffff pref]
pci 0001:00:00.0: PCI bridge to [bus 01-ff]
pci 0001:00:00.0:   bridge window [io  disabled]
pci 0001:00:00.0:   bridge window [mem 0xbd000000-0xbd0fffff]
pci 0001:00:00.0:   bridge window [mem pref disabled]
pci 0000:00:00.0: BAR 8: assigned [mem 0xbc000000-0xbc0fffff]
pci 0000:01:00.0: BAR 0: assigned [mem 0xbc000000-0xbc01ffff 64bit]
pci 0000:01:00.0: BAR 0: set to [mem 0xbc000000-0xbc01ffff 64bit] (PCI address [0xbc000000-0xbc01ffff]
pci 0000:01:00.0: BAR 6: assigned [mem 0xbc020000-0xbc02ffff pref]
pci 0000:00:00.0: PCI bridge to [bus 01-ff]
pci 0000:00:00.0:   bridge window [io  disabled]
pci 0000:00:00.0:   bridge window [mem 0xbc000000-0xbc0fffff]
pci 0000:00:00.0:   bridge window [mem pref disabled]
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c-gpio i2c-gpio.0: using pins 145 (SDA) and 144 (SCL)
cfg80211: Calling CRDA to update world regulatory domain
Switching to clocksource sysval
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 0, 16384 bytes)
timer[35]: oneshot
timer[33]: oneshot
timer[36]: oneshot
timer[37]: oneshot
timer[34]: oneshot
TCP established hash table entries: 8192 (order: 2, 65536 bytes)
TCP bind hash table entries: 8192 (order: 2, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
UDP hash table entries: 512 (order: 0, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 0, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
ipProfile (profiling) is not enabled in Ultra.  Profiler /proc interface is disabled.
input: Ubicom32 Input as /devices/platform/ubicom32input/input/input0
squashfs: version 4.0 (2009/01/31) Phillip Lougher
msgmni has been set to 494
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered (default)
ubicom32 PCI: enabling device 0000:00:00.0 (0146 -> 0147)
ubicom32 PCI: enabling device 0001:00:00.0 (0146 -> 0147)
HDLC line discipline maxframe=4096
N_HDLC line discipline registered.
ubicom32 rng started
ubicom32 rng init
Serial: Ubicom32 serdes uart serial driverçttyUS0 at MMIO 0xba038000 (irq = 82) is a UBI32_SERDES
Serial: Ubicom32 mailbox serial driver.
ttyUM0 at MMIO 0xb9000300 (irq = 62) is a ubi32_mailbox_device
brd: module loaded
loop: module loaded
usbcore: registered new interface driver ub
ubicom32fc ubicom32fc.0: mx25l128 (16384 Kbytes)
ubicom32fc.0: the flash image has SEAMA header
find_rootfs: offset 0x00088518, size 10424320
Creating 8 MTD partitions on "ubicom32fc.0":
0x000000088518-0x000000a79518 : "rootfs"
0x000000080000-0x000000f60000 : "upgrade"
0x000000fa0000-0x000000fe0000 : "devconf"
0x000000fe0000-0x000000ff0000 : "devdata"
0x000000f60000-0x000000fa0000 : "langpack"
0x000000000000-0x000001000000 : "flash"
0x000000000000-0x000000080000 : "bootloader"
0x000000ff0000-0x000001000000 : "boot env"
ubi32-nand-spi-er: failed to find id 2018
PPP generic driver version 2.4.2
PPP BSD Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
ubi32_access init!
usbmon: debugfs is not available
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
dwc_otg: version 2.90a 23-APR-2009
Core Release: 2.92a
Setting default values for core params
Using Buffer DMA mode
Periodic Transfer Interrupt Enhancement - disabled
Multiprocessor Interrupt Enhancement - disabled
dwc_otg lm0: DWC OTG Controller
dwc_otg lm0: new USB bus registered, assigned bus number 1
dwc_otg lm0: irq 70, io mem 0x00000000
Init: Port Power? op_state=1
Init: Power Port (0)
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: DWC OTG Controller
usb usb1: Manufacturer: uClinux 2.6.36+ dwc_otg_hcd
usb usb1: SerialNumber: lm0
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Core Release: 2.92a
Setting default values for core params
Using Buffer DMA mode
Periodic Transfer Interrupt Enhancement - disabled
Multiprocessor Interrupt Enhancement - disabled
dwc_otg lm1: DWC OTG Controller
dwc_otg lm1: new USB bus registered, assigned bus number 2
dwc_otg lm1: irq 71, io mem 0x00000000
Init: Port Power? op_state=1
Init: Power Port (0)
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: DWC OTG Controller
usb usb2: Manufacturer: uClinux 2.6.36+ dwc_otg_hcd
usb usb2: SerialNumber: lm1
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
i2c /dev entries driver
GACT probability NOT on
Mirror/redirect action on
u32 classifier
    Performance counters on
    Actions configured
nf_conntrack version 0.5.0 (3957 buckets, 15828 max)
nf_conntrack_rtsp v0.6.21 loading
nf_conntrack_rtsp  port #0: 554
nf_conntrack_rtsp  port #1: 557
xt_time: kernel timezone is -0000
IPv4 over IPv4 tunneling driver
GRE over IPv4 tunneling driver
nf_nat_rtsp v0.6.21 loading
ip_tables: (C) 2000-2006 Netfilter Core Team
TCP cubic registered
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
tunl0: Disabled Privacy Extensions
ip6_tables: (C) 2000-2006 Netfilter Core Team
IPv6 over IPv4 tunneling driver
sit0: Disabled Privacy Extensions
ip6tnl0: Disabled Privacy Extensions
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>
lib80211: common routines for IEEE802.11 drivers
leds-gpio: probe of leds-gpio failed with error -22
VFS: Mounted root (squashfs filesystem) readonly on device 31:0.
Freeing unused kernel memory: 160k freed (0xc061c000 - 0xc0640000)

starting pid 943, tty '': '/etc/init.d/rcS'
[/etc/init.d/S10init.sh]
Ubicom GPIO driver Initialized.
IRQ58 requested by fanspeed driver
[/etc/init.d/S14kcode.sh]
GPL NetUSB up!
NetUSB: module license 'Proprietary' taints kernel.
Disabling lock debugging due to kernel taint
kc   86 : run_telnetDBGDServer start
kc  223 : init_DebugD end
INFO1765: NetUSB 1.190, 00020624 : May 11 2012 07:59:23
INFO1767:  AUTH ISOC
INFO1768:  MOVE_HEAD
INFO0AAB:  --- checkSBusTimeoutThread start ---
usbcore: registered new interface driver KC NetUSB General Driver
INFO0076:  init proc : PAGE_SIZE 16384
INFO17C6: BULK_ONE_BY_ONE_WITH_SMALL_TIMEOUT
INFO1639:  infomap c8e0a168
INFO163C:  sleep to wait br0 to wake up
INFO02C7:  use dev Name br0 : fail
[/etc/init.d/S14paragon.sh]
ufsd: driver (8.6 (NTFS4LINUX_U86_015_S[2012-04-03-15:10:16]), LBD=ON, delalloc, ioctl, bdi) loaded at c9200000
NTFS (with native replay) support included
Hfs+/HfsX support included
Big endian platform
optimized: speed
Built_for__WD_Stingray_Pro_2012-04-02

Previous Ubicom processors were a bit odd & quirky since they didn't a have a Memory Management Unit (MMU) built in.
The IP8K changed this - we should be able to get some results if we patch the toolchain to enable the ubicom target once again.

A version of the Tool chain patch can be found here:
https://github.com/jameshilliard/ubicom … port.patch

Is there anyone that knows or wants to help to get this started?


vikingzou wrote:

Read through the wiki again and found the following....
Given that support for the ubicom32 architecture has been removed from OpenWrt for being unmaintainable, it is unlikely that we will ever see OpenWrt for this router.

sad

any progress?((

I'm planning to attempt working on this, but waiting to hear from WD's legal team about some source code they are so far illegally refusing to provide me.

The discussion might have continued from here.