Gateway 7001 series
Supported Versions
OpenWrt Version Supported | Model Specific Notes |
---|---|
Kamikaze 7.09 | - |
Backfire 10.03 | To be tested |
AA 12.09 | Tested |
OpenWrt 18.06.1 | Tested |
Details
Architecture | ARM |
---|---|
Vendor | Intel |
Bootloader | RedBoot |
System-On-Chip | IXP422 |
CPU Speed | 266 MHz |
Flash-Chip | |
Flash size | 8MB |
RAM | 32 MB |
Wireless | 1 or 2 Atheros mini-PCI cards (single/dualband) |
Ethernet | 2 port connected to the CPU |
USB | No |
Serial | Yes |
JTAG | Yes (standard 20 pin ARM JTAG) |
Serial
Serial port (labeled JP1, @115200bps):
RX o
o
VCC o
GND o
TX o
LAN ports
Factory dmesg
Factory dmesg (won't be last too long ;) ):
+Ethernet eth0: MAC address 00:00:83:38:50:02 IP: 0.0.0.0/255.255.255.0, Gateway: 0.0.0.0 Default server: 0.0.0.0, DNS server IP: 0.0.0.0 RedBoot(tm) bootstrap and debug environment [ROM] Red Hat certified release, version 1.92 - built 17:26:35, Dec 4 2003 Platform: Gateway 7001 AP Platform (XScale) Copyright (C) 2000, 2001, 2002, Red Hat, Inc. RAM: 0x00000000-0x02000000, 0x0001c238-0x01fd1000 available FLASH: 0x50000000 - 0x50800000, 64 blocks of 0x00020000 bytes each. == Executing boot script in 1.000 seconds - enter ^C to abort RedBoot> fis load kernel RedBoot> exec Using base address 0x01600000 and length 0x00100000 Uncompressing Linux......................................... done, booting the kernel. Linux version 2.4.20 (carter@oink) (gcc version 3.2.1) #2 Fri Mar 5 15:59:24 PST 2004 CPU: Intel XScale-IXP425/IXC1100 revision 1 Machine: Gateway 7001 Access Point alloc_bootmem_low memtable_init Security risk: creating user accessible mapping for 0x60000000 at 0xff00f000 Security risk: creating user accessible mapping for 0x51000000 at 0xf1000000 Security risk: creating user accessible mapping for 0x55000000 at 0xf5000000 On node 0 totalpages: 8192 zone(0): 8192 pages. zone(1): 0 pages. zone(2): 0 pages. Kernel command line: console=ttyS0,115200 root=/dev/mtdblock2 rootfstype=cramfs ro ip=off mem=32M@0x00000000 Calibrating delay loop... 263.78 BogoMIPS Memory: 32MB = 32MB total Memory: 30992KB available (1055K code, 260K data, 72K init) XScale Cache/TLB Locking Copyright(c) 2001 MontaVista Software, Inc. Dentry cache hash table entries: 4096 (order: 3, 32768 bytes) Inode cache hash table entries: 2048 (order: 2, 16384 bytes) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 8192 (order: 3, 32768 bytes) POSIX conformance testing by UNIFIX PCI Autoconfig: Found Bus 0, Device 1, Function 0 PCI Autoconfig: BAR 0, Mem, size=0x10000, address=0x4bff0000 PCI: bus0: Fast back to back transfers enabled Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Starting kswapd JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB. pty: 256 Unix98 ptys configured Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled ttyS00 at 0xff001003 (irq = 13) is a XScale UART Software Watchdog Timer: 0.05, timer margin: 60 sec RAMDISK driver initialized: 16 RAM disks of 8096K size 1024 blocksize loop: loaded (max 8 devices) Creating 8 MTD partitions on "IXP425 Flash": 0x00000000-0x00040000 : "RedBoot" 0x00040000-0x00140000 : "kernel" 0x00140000-0x004c0000 : "rootfs" 0x004c0000-0x00500000 : "default" 0x00500000-0x00600000 : "config" 0x00600000-0x007c0000 : "unallocated space" 0x007c0000-0x007c1000 : "RedBoot config" mtd: partition "RedBoot config" doesn't end on an erase block -- force read-only 0x007e0000-0x00800000 : "FIS directory" NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 2048 bind 4096) ip_conntrack version 2.1 (256 buckets, 2048 max) - 320 bytes per conntrack ip_tables: (C) 2000-2002 Netfilter core team NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. NET4: Ethernet Bridge 008 for NET4.0 Bridge firewalling registered 802.1Q VLAN Support v1.7 Ben Greear <greearb@candelatech.com> All bugs added by David S. Miller <davem@redhat.com> NetWinder Floating Point Emulator V0.95 (c) 1998-1999 Rebel.com VFS: Mounted root (cramfs filesystem) readonly. Freeing init memory: 72K init started: BusyBox v0.60.1 (2004.03.05-23:52+0000) multi-call binary Please press Enter to activate this console. Can't open /dev/tty0 - skipping Module init. ixp425_eth: Initializing IXP425 NPE Ethernet driver software v. 0.1.9 (patch 20040129) (1_4) ixp425_eth: CPU clock speed (approx) = 0 MHz ixp425_eth: Found PHY 0 at 1 ixp425_eth: Found PHY 1 at 2 ixp425_eth: eth0 is using the PHY at address 1 ixp425_eth: eth1 is using the PHY at address 2 1 <6>ar5211.c : Atheros AR5211 driver v0.0 Attach AR5212 0x13 0xc1a32920 wlan0 revisions: mac 5.9 phy 4.3 analog 4.6 eeprom 4.8 ar5211 hwaddr: 00:E0:B8:76:24:9A ar5211 wlan0.11: Device at 0x4bff0000, IRQ 28 cramfs: wrong magic apconfd: Debug level is now 0. connect: Connection refused device wlan0 is already a member of a bridge; can't enslave it to bridge br0. SIOCGIFFLAGS: No such device SIOCSIFADDR: No such device SIOCGIFFLAGS: No such device SIOCGIFFLAGS: No such device SIOCGIFFLAGS: No such device SIOCGIFFLAGS: No such device SIOCGIFFLAGS: No such device connect: Connection refused device wlan0 is already a member of a bridge; can't enslave it to bridge br0. device eth0 is already a member of a bridge; can't enslave it to bridge br0. device wlan0 is already a member of a bridge; can't enslave it to bridge br0. bridge brguest doesn't exist! bridge brguest doesn't exist! SIOCADDRT: Network is unreachable apconfd: Initialization complete. SIOCDELRT: No such process apconfd: dhcpc: Interface br0 obtained lease on 192.168.1.116. SIOCDELRT: No such process BusyBox v0.60.1 (2004.03.05-23:52+0000) Built-in shell (msh) Enter 'help' for a list of built-in commands. # cat /proc/interrupts 0: 0 csr 1: 14 csr 2: 11 csr 3: 0 ixp425_eth 5: 35467 IXP425 Timer 1 13: 39 serial 18: 1400047 ixp425_eth 28: 92429 ar5211 Err: 0
18.06.1 dmesg
+Ethernet eth0: MAC address 00:00:83:38:50:02 IP: 192.168.11.10/255.255.255.0, Gateway: 192.168.11.1 Default server: 192.168.11.102, DNS server IP: 192.168.11.1
RedBoot™ bootstrap and debug environment [ROM] Red Hat certified release, version 1.92 - built 17:26:35, Dec 4 2003
Platform: Gateway 7001 AP Platform (XScale) Copyright (C) 2000, 2001, 2002, Red Hat, Inc.
RAM: 0x00000000-0x02000000, 0x0001c238-0x01fd1000 available FLASH: 0x50000000 - 0x50800000, 64 blocks of 0x00020000 bytes each. == Executing boot script in 5.000 seconds - enter ^C to abort RedBoot> fis load kernel RedBoot> exec Using base address 0x0001c400 and length 0x001442e8 Uncompressing Linux... done, booting the kernel. [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.9.120 (buildbot@builds-03.infra.lede-project.org) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r7101-a63e38b) ) #0 Wed Aug 15 20:42:39 2018 [ 0.000000] CPU: XScale-IXP42x Family [690541f1] revision 1 (ARMv5TE), cr=000039ff [ 0.000000] CPU: VIVT data cache, VIVT instruction cache [ 0.000000] Machine: Gateway 7001 AP [ 0.000000] Memory policy: Data cache writeback [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128 [ 0.000000] Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200 [ 0.000000] PID hash table entries: 128 (order: -3, 512 bytes) [ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000000] Memory: 28496K/32768K available (2963K kernel code, 158K rwdata, 400K rodata, 156K init, 209K bss, 4272K reserved, 0K cma-reserved) [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB) [ 0.000000] vmalloc : 0xc2800000 - 0xff800000 ( 976 MB) [ 0.000000] lowmem : 0xc0000000 - 0xc2000000 ( 32 MB) [ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB) [ 0.000000] .text : 0xc0008000 - 0xc02ecfe8 (2964 kB) [ 0.000000] .init : 0xc0353000 - 0xc037a000 ( 156 kB) [ 0.000000] .data : 0xc037a000 - 0xc03a18c0 ( 159 kB) [ 0.000000] .bss : 0xc03a18c0 - 0xc03d5e70 ( 210 kB) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:64 [ 0.000032] sched_clock: 32 bits at 66MHz, resolution 15ns, wraps every 32212576760ns [ 0.000113] clocksource: OSTS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 28669193401 ns [ 0.000247] Calibrating delay loop... 265.42 BogoMIPS (lpj=1327104) [ 0.070250] pid_max: default: 32768 minimum: 301 [ 0.070623] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.070670] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.072471] CPU: Testing write buffer coherency: ok [ 0.073628] Setting up static identity map for 0x81e0 - 0x8230 [ 0.077993] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.078062] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.079961] NET: Registered protocol family 16 [ 0.081967] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.084273] IXP4xx: Using 16MiB expansion bus window size [ 0.085462] PCI: IXP4xx is host [ 0.085498] PCI: IXP4xx Using direct access for memory space [ 0.085883] PCI host bridge to bus 0000:00 [ 0.085950] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] [ 0.085999] pci_bus 0000:00: root bus resource [mem 0x48000000-0x4bffffff] [ 0.086042] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff] [ 0.086515] pci 0000:00:01.0: dmabounce: registered device [ 0.087375] pci 0000:00:02.0: dmabounce: registered device [ 0.087992] PCI: bus0: Fast back to back transfers enabled [ 0.088154] pci 0000:00:01.0: BAR 0: assigned [mem 0x48000000-0x4800ffff] [ 0.088218] pci 0000:00:02.0: BAR 0: assigned [mem 0x48010000-0x4801ffff] [ 0.128630] clocksource: Switched to clocksource OSTS [ 0.131731] NET: Registered protocol family 2 [ 0.134162] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.134263] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.134338] TCP: Hash tables configured (established 1024 bind 1024) [ 0.134627] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.134696] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.135249] NET: Registered protocol family 1 [ 0.143537] IXP4xx Queue Manager initialized. [ 0.145913] Crashlog allocated RAM at address 0x1f00000 [ 0.148436] workingset: timestamp_bits=30 max_order=13 bucket_order=0 [ 0.183503] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.183550] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) © 2001-2006 Red Hat, Inc. [ 0.211059] io scheduler noop registered [ 0.211104] io scheduler deadline registered (default) [ 0.329128] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled [ 0.339147] console [ttyS0] disabled [ 0.339293] serial8250.0: ttyS0 at MMIO 0xc8001000 (irq = 13, base_baud = 921600) is a XScale [ 0.891470] console [ttyS0] enabled [ 0.898489] IXP4XX-Flash.0: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x000089 Chip ID 0x000017 [ 0.909031] Intel/Sharp Extended Query Table at 0x0031 [ 0.914237] Intel/Sharp Extended Query Table at 0x0031 [ 0.919495] Using buffer write method [ 0.923168] cfi_cmdset_0001: Erase suspend on write enabled [ 0.931895] Searching for RedBoot partition table in IXP4XX-Flash.0 at offset 0x7e0000 [ 1.058845] 5 RedBoot partitions found on MTD device IXP4XX-Flash.0 [ 1.065145] Creating 5 MTD partitions on “IXP4XX-Flash.0”: [ 1.070689] 0x000000000000-0x000000040000 : “RedBoot” [ 1.081195] 0x000000040000-0x0000001a0000 : “kernel” [ 1.092010] 0x0000001a0000-0x0000007c0000 : “rootfs” [ 1.101792] mtd: device 2 (rootfs) set to be root filesystem [ 1.107566] 1 squashfs-split partitions found on MTD device rootfs [ 1.113924] 0x0000003c0000-0x0000007c0000 : “rootfs_data” [ 1.125318] 0x0000007c0000-0x0000007c1000 : “RedBoot config” [ 1.136820] 0x0000007e0000-0x000000800000 : “FIS directory” [ 1.154102] libphy: IXP4xx MII Bus: probed [ 1.161104] eth0: MII PHY 1 on NPE-B [ 1.167455] eth1: MII PHY 2 on NPE-C [ 1.172198] i2c /dev entries driver [ 1.176498] ixp4xx_wdt: timer heartbeat 60 sec [ 1.184250] NET: Registered protocol family 10 [ 1.201744] NET: Registered protocol family 17 [ 1.206352] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. [ 1.219456] 8021q: 802.1Q VLAN Support v1.8 [ 1.223961] XScale DSP coprocessor detected. [ 1.231906] hctosys: unable to open rtc device (rtc0) [ 1.248455] VFS: Mounted root (squashfs filesystem) readonly on device 31:2. [ 1.256796] Freeing unused kernel memory: 156K [ 1.261337] This architecture does not have kernel memory protection. [ 2.628672] random: fast init done [ 2.738305] init: Console is alive [ 2.742437] init: - watchdog - [ 4.238445] kmodloader: loading kernel modules from /etc/modules-boot.d/* [ 4.247368] kmodloader: done loading kernel modules from /etc/modules-boot.d/* [ 4.266621] init: - preinit - [ 7.307102] random: jshn: uninitialized urandom read (4 bytes read) [ 7.376518] random: jshn: uninitialized urandom read (4 bytes read) [ 7.453829] NPE-B: firmware's license can be found in /usr/share/doc/LICENSE.IPL [ 7.461391] NPE-B: firmware functionality 0x2, revision 0x2:1 [ 7.470360] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready Press the [f] key and hit [enter] to enter failsafe mode Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level [ 8.488874] eth0: link up, speed 100 Mb/s, full duplex [ 8.494094] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 20.702655] mount_root: jffs2 not ready yet, using temporary tmpfs overlay [ 20.751120] urandom-seed: Seed file not found (/etc/urandom.seed) [ 21.096970] procd: - early - [ 21.100303] procd: - watchdog - [ 22.088836] eth0: link up, speed 100 Mb/s, full duplex [ 22.993605] procd: - watchdog - [ 22.997506] procd: - ubus - [ 23.137844] random: ubusd: uninitialized urandom read (4 bytes read) [ 23.147405] random: ubusd: uninitialized urandom read (4 bytes read) [ 23.155139] random: ubusd: uninitialized urandom read (4 bytes read) [ 23.167012] procd: - init - Please press Enter to activate this console. [ 24.041737] kmodloader: loading kernel modules from /etc/modules.d/* [ 24.058372] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 24.091432] Loading modules backported from Linux version wt-2017-11-01-0-gfe248fc2c180 [ 24.099604] Backport generated by backports.git v4.14-rc2-1-31-g86cf0e5d [ 24.113674] ip_tables: (C) 2000-2006 Netfilter Core Team [ 24.138795] nf_conntrack version 0.5.0 (1024 buckets, 4096 max) [ 24.269033] xt_time: kernel timezone is -0000 [ 24.385121] PPP generic driver version 2.4.2 [ 24.395562] NET: Registered protocol family 24 [ 24.424636] ath5k 0000:00:01.0: enabling device (0340 → 0342) [ 24.431159] ath5k 0000:00:01.0: registered as 'phy0' [ 24.911565] ath5k: phy0: Atheros AR5213A chip found (MAC: 0x59, PHY: 0x43) [ 24.918487] ath5k: phy0: RF2112B 2GHz radio found (0x46) [ 24.924363] ath5k 0000:00:02.0: enabling device (0340 → 0342) [ 24.930808] ath5k 0000:00:02.0: registered as 'phy1' [ 25.619672] random: crng init done [ 25.623120] random: 5 urandom warning(s) missed due to ratelimiting [ 26.978843] ath5k: phy1: Atheros AR5213A chip found (MAC: 0x59, PHY: 0x43) [ 26.985763] ath5k: phy1: RF5112B 5GHz radio found (0x36) [ 27.033611] kmodloader: done loading kernel modules from /etc/modules.d/* [ 51.891006] br-lan: port 1(eth0) entered blocking state [ 51.896278] br-lan: port 1(eth0) entered disabled state [ 51.902886] device eth0 entered promiscuous mode [ 51.989074] br-lan: port 1(eth0) entered blocking state [ 51.994348] br-lan: port 1(eth0) entered forwarding state [ 52.000370] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready [ 52.999009] NPE-C: firmware's license can be found in /usr/share/doc/LICENSE.IPL [ 53.006449] NPE-C: firmware functionality 0x5, revision 0x2:1 [ 53.015408] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready [ 53.022739] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready [ 53.030767] br-lan: port 1(eth0) entered disabled state [ 53.929027] eth0: link up, speed 100 Mb/s, full duplex [ 53.934269] br-lan: port 1(eth0) entered blocking state [ 53.939638] br-lan: port 1(eth0) entered forwarding state [ 65.570474] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0 [ 65.577419] jffs2_build_filesystem(): unlocking the mtd device... [ 70.402946] done. [ 70.404917] jffs2_build_filesystem(): erasing all blocks after the end marker... [ 109.243811] done. [ 109.245843] jffs2: notice: (2149) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
BusyBox v1.28.3 () built-in shell (ash)
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_ | - || _ | -| || | | || _|| _| |_|| |_||||||| ||
|__| W I R E L E S S F R E E D O M
----------------------------------------------------- OpenWrt 18.06.1, r7258-5eb055306f
WARNING!
There is no root password defined on this device! Use the “passwd” command to set up a new password in order to prevent unauthorized SSH logins.
root@OpenWrt:/#
Flashing OpenWrt via serial console
+Ethernet eth0: MAC address 00:00:83:38:50:02 IP: 0.0.0.0/255.255.255.0, Gateway: 0.0.0.0 Default server: 0.0.0.0, DNS server IP: 0.0.0.0 RedBoot(tm) bootstrap and debug environment [ROM] Red Hat certified release, version 1.92 - built 17:26:35, Dec 4 2003 Platform: Gateway 7001 AP Platform (XScale) Copyright (C) 2000, 2001, 2002, Red Hat, Inc. RAM: 0x00000000-0x02000000, 0x0001c238-0x01fd1000 available FLASH: 0x50000000 - 0x50800000, 64 blocks of 0x00020000 bytes each. == Executing boot script in 1.000 seconds - enter ^C to abort ^C RedBoot> ip_address -l 192.168.1.1 -h 192.168.1.254 IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0 Default server: 192.168.1.254, DNS server IP: 0.0.0.0 RedBoot> fis erase -f 0x50040000 -l 0x680000 ... Erase from 0x50040000-0x506c0000: ........................................ RedBoot> fis free 0x50040000 .. 0x507C0000 RedBoot> fis list Name FLASH addr Mem addr Length Entry point RedBoot 0x50000000 0x50000000 0x00040000 0x00000000 RedBoot config 0x507C0000 0x507C0000 0x00001000 0x00000000 FIS directory 0x507E0000 0x507E0000 0x00020000 0x00000000 RedBoot> load -r -b %{FREEMEMLO} gateway7001-zImage Using default protocol (TFTP) Raw file loaded 0x0001c400-0x001606e7, assumed entry at 0x0001c400 RedBoot> fis create kernel ... Erase from 0x50040000-0x501a0000: ........... ... Program from 0x0001c400-0x001606e8 at 0x50040000: ........... ... Unlock from 0x507e0000-0x50800000: . ... Erase from 0x507e0000-0x50800000: . ... Program from 0x01fdf000-0x01fff000 at 0x507e0000: . ... Lock from 0x507e0000-0x50800000: . RedBoot> load -r -b %{FREEMEMLO} squashfs.img Using default protocol (TFTP) Raw file loaded 0x0001c400-0x0027c3ff, assumed entry at 0x0001c400 RedBoot> fis create rootfs ... Erase from 0x501a0000-0x50400000: ................... ... Program from 0x0001c400-0x0027c400 at 0x501a0000: ................... ... Unlock from 0x507e0000-0x50800000: . ... Erase from 0x507e0000-0x50800000: . ... Program from 0x01fdf000-0x01fff000 at 0x507e0000: . ... Lock from 0x507e0000-0x50800000: . RedBoot> reset ... Resetting.
Building NPE Microcode
Note: These steps may no longer be necessary. I did a fresh install from the 2008-08-31 trunk, and /lib/firmware/NPE-* files were created and detected automatically.
In order to use the ethernet ports on this router, you have to build the Intel NPE-B and NPE-C microcode binaries, concatenate them together, and write them into a flash partition with the name “microcode”.
- Dig through the Intel site until you find IPL_ixp400NpeLibrary-2_4.zip. Good luck!
- Extract the zip file, and go to ixp400_xscale_sw/src/npeDl. You should see a couple .c files there.
- Download IxNpeMicrocode.h from OpenWRT. (There's an “Original Format” link at the bottom.)
- By default, IxNpeMicrocode.h is configured to build the Crypto version of NPE-C, which is not easy to obtain. Edit the .h file to uncomment only the basic non-Crypto versions:
#define IX_NPEDL_NPEIMAGE_NPEB_ETH_LEARN_FILTER_SPAN_FIREWALL
#define IX_NPEDL_NPEIMAGE_NPEC_ETH_LEARN_FILTER_SPAN_FIREWALL
- Compile, run, and concatenate the binaries:
$ gcc IxNpeMicrocode.c
$ ./a.out
Writing image: IXP425.NPE_B Func: 0 Rev: 02.01 Size: 11964 to: 'NPE-B.01000201'
Writing image: IXP425.NPE_C Func: 0 Rev: 02.01 Size: 11964 to: 'NPE-C.02000201'
$ cat NPE-B.01000201 NPE-C.02000201 > microcode.bin
- And, assuming you've figured out how to use Redboot and TFTP:
load -r -b %{FREEMEMLO} microcode.bin
fis create microcode
Opening the case
Note: This will void your warranty!
- Remove the four obvious screws on the bottom of the case
- Gently separate the case
- You will see the serial header near the center of the PC board
Photos
Serial
There is an 4 pin header near center of the board The pinout is:
- Rx
- (no pin)
- VCC
- GND
- Tx
Baud: 115200 , 8 bits of data, no parity (8N1)
Installation
Overview
Unfortunately the firmware update feature in the Gateway software does not work with OpenWrt and Redboot's telnet has been crippled as it does not ship with a default IP address. To install OpenWrt you need to access the console via the serial port and upload OpenWrt with a TFTP server. It is assumed the user has basic networking and terminal experience. If you don't understand a concept or know how to change a setting (ie you computer IP) this should be easy to find in the Forum or Google.
Preparation
Hardware
- Philips screwdriver to open the case
- TTL Serial Level Converter or compatible adapter
- Serial cable
- Ethernet crossover cable or Ethernet switch
Software
- TFTP server program
- openwrt-gateway7001-zImage
- openwrt-ixp4xx-squashfs.img
Serial Connection
Determine how you will interface with the serial port in the 7001. This port is driven at TTL levels (3.3 volts) so it is not directly compatible with standard computer serial ports. For more information and a good write up on different TTL converter options see the NSLU2 wiki. please note the pin outs are different between the NSLU2 and the 7001
Once you have the appropriate interface you need to connect to the 7001 header, this can be done by obtaining a connector or simply wire wrapping. You will not need this for long, but do not short between pins or to anything else on the board.
With the serial port connected to your computer and the 7001 powered off open your favorite terminal program and connect on the serial port at 115200 Baud, 8 bits of data, no parity (8N1). Power on the the 7001 and you should see the boot sequence. Let this run to ensure everything is working.
Permanently Enable Telnet
With your terminal program still connected, cycle the power by removing and replacing the power cable.
As soon as the boot sequence starts press Ctrl-C to enter the Redboot command line
You should see
RedBoot>
To view the default boot configuration enter
fconfig -l
Run script at boot: true Boot script: .. fis load kernel .. exec Boot script timeout (1000ms resolution): 1 Use BOOTP for network configuration: false Gateway IP address: 0.0.0.0 Local IP address: 0.0.0.0 Local IP address mask: 0.0.0.0 Default server IP address: 0.0.0.0 Console baud rate: 115200 DNS server IP address: 0.0.0.0 GDB connection port: 9000 Force console for special debug messages: false Network debug at boot time: false Default network device: npe_eth0 Network hardware address [MAC] for NPE eth0: Network hardware address [MAC] for NPE eth1:
notice the IP addresses are all 0.0.0.0, this is what is preventing telnet. To permanently change this enter
fconfig
you will see
Run script at boot: true
do not change
Boot script:
Enter the following script
fis load kernel exec
Terminate with empty line
Boot script timeout (1000ms resolution): 5
this is the number of seconds Redboot delays boot and waits for communication. Change to 5 to make it easier to connect
Use BOOTP for network configuration: false
do not change
Gateway IP address:
do not change
Local IP address: 192.168.0.1
set Redboot's IP address (this is unrelated to the OpenWrt install) and will only be used to telnet in to make changes and upgrades
Local IP address mask: 255.255.255.0
set the subnet mask
Default server IP address: 192.168.0.2
set the server address you will upload OpenWrt from
Console baud rate: 115200
do not change
DNS server IP address:
do not change
GDB connection port: 9000
do not change
Force console for special debug messages: false
do not change
Network debug at boot time: false
do not change
Default network device: npe_eth0
do not change
Network hardware address [MAC] for NPE eth0: 0x00:0x00:0x83:0x38:0x50:0x02
do not change
Network hardware address [MAC] for NPE eth1: 0x00:0x00:0x83:0x60:0x50:0x01
do not change
Update RedBoot non-volatile configuration - continue (y/n)? y
type y to save
... Unlock from 0x507c0000-0x507c1000: . ... Erase from 0x507c0000-0x507c1000: . ... Program from 0x01fd2000-0x01fd3000 at 0x507c0000: . ... Lock from 0x507c0000-0x507c1000: . Redboot> reset
reset the device
Now when Redboot initializes it will be listening at IP 192.168.0.1 on port 9000 for 5 seconds before it executes the boot script.
To continue to connect via Telnet make sure you press Ctrl-C to enter the Redboot command line as the 7001 reboots.
Confirm Telnet Access
Ensure you are logged into the Redboot terminal via the serial console as instructed when you enabled Telnet access. Ensure your computer's TCP/IP address is set to 192.168.0.2 (the IP you set as the Default Server IP) and any networking devices besides your main ethernet connection are off (including wireless connections). Using a crossover cable or switch (not connected to any other devices) connect you computer to the 7001 ethernet port labeled LAN 2.
In your terminal program connected to Redboot via the serial port enter
Redboot> ip_address
confirm that Redboot is using the 192.168.0.1/255.255.255.0 if everything checks out try and ping your machine
Redboot> ping -h 192.168.0.2
wait a few seconds until you see
PING - received 10 of 10 expected
If you see 0 of 10 expected you need to troubleshoot the connection, check your cabling, and the address of the computer your are trying to ping.
If that is successful, from your computer ping the 7001 at 192.168.0.1 With a successful ping you have now enabled the ability to telnet into the 7001.
Let's double check that telnet is working before starting the OpenWrt install. With your favorite telnet application telnet to 192.168.0.1 port 9000 you should receive the Redboot prompt.
For more information about Telnet and Redboot please read the NSLU2 wiki on Redboot Access
Factory firmware boot log
still pending
Chaos Calmer 15.05.1 Install Notes
Chaos Calmer is verified to work on the Gateway 7001. However after flashing you still need to install two packages to enable the WiFi cards and provide support for WPA/WPA2.
First install the ath5k driver and reboot
root@OpenWrt:~# opkg install kmod-ath5k root@OpenWrt:~# reboot
I could now configure wireless in LuCI, but was unable to utilize WPA2 until I installed wpad-mini
root@OpenWrt:~# opkg install wpad-mini Installing wpad-mini (2015-03-25-1) to root... Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ixp4xx/generic/packages/base/wpad-mini_2015-03-25-1_ixp4xx.ipk. Configuring wpad-mini.
Once this was installed I rebooted again and successfully set up wifi in LuCI