As Jose stated - we should be able to load both the u-boot and the custom images without bricking the device. U-Boot gives you the options right after it boots - you would need to connect to the serial port to be able to access them ( as of now).
Boot output from N900. Taken from the JP4 Serial port from the motherboard. ------------------------------------------------------------------------------ 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 <m...@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 <gree...@candelatech.com> All bugs added by David S. Miller <da...@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 On Mon, Apr 7, 2014 at 4:48 AM, José Vázquez <ppvazquez...@gmail.com> wrote: > Seems that these boards have u-boot as bootloader so you should can > upload your firms to RAM and boot them in it. > > 2014-04-06 1:30 GMT+02:00, Luis E. Garcia <l...@bitamins.net>: > > Constantine, > > The JP1 headers are present on the N900 just as they are on the N750. > > I'll put a copy of the boot output on the console next week. > > > > The original firmware for these devices seems to be linux based ( the GPL > > code from the manufacturer ). > > I've used the recovery procedure to install my custom version of the > > original firmware on my N900. > > The WD MyNet range are really developer friendly and very hard to brick. > > > > Regards, > > Luis E. Garcia > > > > > > On Sat, Apr 5, 2014 at 2:16 PM, Constantine A. Murenin > > <muren...@gmail.com>wrote: > > > >> Hi Luis, > >> > >> I'm also interested in trying out the waters by porting OpenWrt over. > >> I've noticed reports that WD My Net routers appear to be > >> developer-friendly -- according to the reports like > >> https://wikidevi.com/wiki/Western_Digital_My_Net_N750, the models sold > >> to end-users still do have the serial header present (JP1 on N750); > >> and also have the special recovery procedure from a failed firmware > >> update (http://wiki.openwrt.org/toh/wd/n900#recovery.procedure and > >> > >> > http://wdc.custhelp.com/app/answers/detail/a_id/9618/~/how-to-recover-a-my-net-router-from-a-failed-firmware-update > >> ). > >> > >> Do you at all know if the recovery procedure could be used to test out > >> custom firmwares without the possibility of bricking the device? > >> > >> Cheers, > >> Constantine. > >> > >> On 3 April 2014 14:31, Luis E. Garcia <l...@bitamins.net> wrote: > >> > Constantine, > >> > I'm looking into porting OpenWRT to the WD MyNet N900. > >> > Since the IP8K has an mmu it should be able to compile without too > much > >> > issues. > >> > I'm currently trying to get the toolchain from trunk to work. > >> > > >> > Regards, > >> > Luis E. Garcia > >> > > >> > > >> > On Thu, Apr 3, 2014 at 3:55 AM, José Vázquez <ppvazquez...@gmail.com> > >> wrote: > >> >> > >> >> 2014-04-03 6:58 GMT+02:00, Constantine A. Murenin > >> >> <muren...@gmail.com>: > >> >> > Hello, > >> >> > > >> >> > It has come to my attention that the recently discontinued WD My > Net > >> >> > line of dual-band routers is just about the best bang for the buck > >> >> > -- > >> >> > they're currently selling N900 (w/ 8x GigE and 256MB of RAM) for > >> >> > 49,99 > >> >> > USD at Staples, or 39,99 USD if you order it in person from the > >> >> > store > >> >> > with the 20% in-store coupon, off from the original price of 149,99 > >> >> > USD. This firesale appears to come and go since late 2013, even > >> >> > before the whole line was discontinued in early 2014 (for example, > >> >> > Staples still appears to have some N750 left, but it's not on sale > >> >> > this week, unlike N900). > >> >> > > >> >> > http://wiki.openwrt.org/toh/wd/n900 > >> >> > > >> >> > > >> > http://www.staples.com/WD-My-Net-N900-HD-Dual-Band-Router/product_937135 > >> >> > > >> >> > However, N900 it's not supported by OpenWRT -- the whole Ubicom > IP8K > >> >> > platform is not supported. > >> >> > > >> >> > Is there a reason for that? > >> >> > > >> >> > What would it take to add the support? > >> >> > > >> >> > WD My Net N900 looks like just about the best piece of hardware > over > >> >> > at http://wiki.openwrt.org/toh/start list, this repeated firesale > >> >> > price of 39,99 USD is just insane and is easily 3x less than the > >> >> > competition -- might be a good motivator for adding support to > >> >> > OpenWRT. > >> >> > > >> >> > Cheers, > >> >> > Constantine. > >> >> > _______________________________________________ > >> >> > openwrt-devel mailing list > >> >> > openwrt-devel@lists.openwrt.org > >> >> > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel > >> >> > > >> >> AFAIK ubicom32 was deprecated because it was hard to maintain, need a > >> >> different toolchain, ip6k and ip5k had not mmu and some other things. > >> >> IP8k seems to have mmu and some interesting features, but still has > >> >> its own architecture. > >> >> Take a look at this link to check the status: > >> >> > >> >> > >> > https://dev.openwrt.org/browser/branches/attitude_adjustment/target/linux/ubicom32 > >> >> The GCC version is 4.4.7. > >> >> > >> >> Regards: > >> >> > >> >> Pepe > >> >> _______________________________________________ > >> >> openwrt-devel mailing list > >> >> openwrt-devel@lists.openwrt.org > >> >> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel > >> > > >
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel