Neufbox4 (NB4)
Neufbox 4 is a Internet box, sold by the french ISP Neuf_Telecom (later bought by the ISP SFR, 2008).
There was a community website entirely devoted to this device, in French (www.neufbox4.org) ; it had useful, although sometimes outdated, information, and an active forum. Most info was taken from there. The original website seems not available anymore.
Supported Versions
Version/Model | Launch Date | S/N | OpenWrt Version Supported | Model Specific Notes |
---|---|---|---|---|
NB4-SER-r0 | 2007 | - | 10.03, probably 12.09 | - |
NB4-SER-r1 | ? | - | 10.03, probably 12.09 | - |
NB4-SER-r2 | 2008 or 2009 | - | 10.03, 12.09 | - |
NB4-FXC-r1 | ? | - | 10.03, probably 12.09 | - |
NB4-FXC-r2 | 2008 or 2009 | - | 10.03, probably 12.09 | - |
See this link (French) for more info on differences between versions.
Hardware Highlights
Installation
OEM easy installation
(this section is heavily inspired by this page and this page of the neufbox4.org website)
Download the Latest OpenWrt release. Warning: the “jffs2-128k” version has been reported not to work. The “jffs2-64k” version works, but leaves very small free space (~120 KB) on the device to install further software. So the “squashfs” version is recommended. Download it, and prepare the final image as follows (after moving to the directory where the downloads were made):
cat /dev/zero | tr '\000' '\377' | dd bs=64k of=openwrt-nb4-pour-flashimage count=128 seek=0 dd bs=64k of=openwrt-nb4-pour-flashimage if=openwrt-NEUFBOX4-squashfs-cfe.bin seek=1 dd bs=64k of=openwrt-nb4-pour-flashimage if=/dev/zero count=1 seek=127
Installation is then very simple:
- download flashimage.py
- connect with an ethernet cable a specific port of the neufbox (on the NB4-SER-r2 it is the “TV” port, on others it can be the “PC1” port) to your computer
- power on the NeufBox while pressing a specific button (see below). Your computer will automatically receive an IP address and connect.
- on your computer, run “sudo ./flashimage.py eth0 openwrt-nb4-pour-flashimage” (replace “eth0” with the name of your ethernet card, and “openwrt-nb4-pour-flashimage” with the filename of the firmware prepared in the above section)
- follow the on-screen instructions
- after the router has rebooted, if the cable is attached to the “TV” port, detach it and attach it to a “PC” port
- run “telnet 192.168.1.1” for the first login, then “passwd” to set the root password (and from then on access through ssh or http interface)
Version/Model | What to press | What you then see |
---|---|---|
NB4-SER-r0 | Reset | service LED red on |
NB4-SER-r1 | ? | ? |
NB4-SER-r2 | Reset1) | service LED red on |
NB4-FXC-r1 | Reset | service LED red on |
NB4-FXC-r2 | Service | service LED blue blinking |
LEDs and buttons
All LEDs can be set through LuCI as well as switched on/off from the shell, for instance as
echo 1 > /sys/class/leds/NB4-SER-r2:white:adsl/brightness
The “service” (top, with coloured LEDs), front (approximately on the logo), reset and wireless button can be used with hotplug (see the related page, section “Configuration”). Here you can find a couple of scripts which will turn on and off all the white LEDs when the front button is pushed.
Bootlogs
OEM bootlog
CFE version 1.0.37-12.1 for BCM96358 (32bit,SP,BE) Build Date: mercredi 1 octobre 2008, 15:48:06 (UTC+0200) (art@LOST-art) Copyright (C) 2000-2006 Broadcom Corporation. Boot Address 0xbe000000 Initializing Arena. Initializing Devices. Parallel flash device: name EN29LV640H, id 0x227e, size 8192KB Auto-negotiation timed-out 10 MB Half-Duplex (assumed) CPU type 0x2A010: 300MHz, Bus: 133MHz, Ref: 64MHz CPU running TP0 Total memory: 33554432 bytes (32MB) Total memory used by CFE: 0x80401000 - 0x80526670 (1201776) Initialized Data: 0x8041CE40 - 0x8041E4F0 (5808) BSS Area: 0x8041E4F0 - 0x80424670 (24960) Local Heap: 0x80424670 - 0x80524670 (1048576) Stack Area: 0x80524670 - 0x80526670 (8192) Text (code) segment: 0x80401000 - 0x8041CE3C (114236) Boot area (physical): 0x00527000 - 0x00567000 Relocation Factor: I:00000000 - D:00000000 Board IP address : 192.168.1.4:ffffff00 Host IP address : 192.168.1.8 Gateway IP address : 192.168.1.1 Run from flash/host (f/h) : f Default host run file name : nb4 Default host flash file name : bcm963xx_fs_kernel Boot delay (0-9 seconds) : 1 Boot image (0=latest, 1=previous) : 0 Board Id (0-9) : 96358VW Number of MAC Addresses (1-32) : 16 Base MAC Address : 00:25:15:bc:1f:e8 PSI Size (1-64) KBytes : 24 Main Thread Number [0|1] : 0 *** Press any key to stop auto run (1 seconds) *** Auto run second count down: 110 --> Booting from MAIN Image ... Code Address: 0x80010000, Entry Address: 0x80010000 Decompression OK! Entry at 0x80010000 Closing network. Starting program at 0x80010000 Linux version 2.6.30.10 (slr@slr-thinkpad) (gcc version 4.3.5 (GCC) ) #1 Wed Oct 31 11:31:22 CET 2012 Detected Broadcom 0x6358 CPU revision a1 CPU frequency is 300 MHz 32MB of RAM installed registering 40 GPIOs Linux TP ID = 0 board_bcm963xx: Boot address 0xbe000000 board_bcm963xx: CFE version: 1.0.37-12.1 board_bcm963xx: NB4-SER-r2 00:25:15:bc:1f:e8 console [early0] enabled CPU revision is: 0002a010 (Broadcom BCM6358) board_bcm963xx: board name: NB4-SER-r2 Determined physical RAM map: memory: 01fa0000 @ 00000000 (usable) board_bcm963xx: main profile Zone PFN ranges: DMA 0x00000000 -> 0x00001000 Normal 0x00001000 -> 0x00001fa0 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0x00000000 -> 0x00001fa0 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8032 Kernel command line: neufbox=main panic=1 console=ttyS0,115200 Primary instruction cache 32kB, VIPT, 2-way, linesize 16 bytes. Primary data cache 16kB, 2-way, VIPT, cache aliases, linesize 16 bytes NR_IRQS:128 PID hash table entries: 128 (order: 7, 512 bytes) Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) Allocated DSP memory - CORE=810463a0 SIZE=797872, INIT=(null) SIZE=0 Memory: 28780k/32384k available (1837k kernel code, 3604k reserved, 420k data, 112k init, 0k highmem) Calibrating delay loop... 299.00 BogoMIPS (lpj=598016) Mount-cache hash table entries: 512 devtmpfs: initialized net_namespace: 784 bytes NET: Registered protocol family 16 registering PCI controller with io_map_base unset registering PCI controller with io_map_base unset bio: create slab <bio-0> at 0 pci 0000:01:1e.0: BAR 10: can't allocate mem resource [0x18000000-0x12ffffff] pci 0000:01:1e.0: CardBus bridge, secondary bus 0000:02 pci 0000:01:1e.0: IO window: 0x13008000-0x130080ff pci 0000:01:1e.0: IO window: 0x13008400-0x130084ff PCI: Enabling device 0000:01:1e.0 (0000 -> 0001) 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 io scheduler noop registered io scheduler deadline registered (default) ring-logs ring-logs.0: daemon (64k) ring-logs ring-logs.0: kern (64k) ring-logs ring-logs.0: voip_proto (64k) ring-logs ring-logs.0: voip (64k) ring-logs ring-logs.0: messages (64k) ring-logs ring-logs.0: syslog (64k) ring-logs ring-logs.0: fastcgi (64k) ring-logs ring-logs.0: voip_events (64k) ring-logs ring-logs.0: hotspot (64k) ring-logs ring-logs.0: backup (64k) ring-logs ring-logs.0: status (64k) ring-logs ring-logs.0: wlan (64k) bcm63xx_uart.0: ttyS0 at MMIO 0xfffe0100 (irq = 10) is a bcm63xx_uart console handover: boot [early0] -> real [ttyS0] physmap platform flash device: 00800000 at 1e000000 physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank CFI mfr 0x0000007f CFI id 0x0000227e Amd/Fujitsu Extended Query Table at 0x0040 Amd/Fujitsu Extended Query version 1.3. physmap-flash.0: CFI does not contain boot bank location. Assuming top. number of CFI chips: 1 cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness. cmdlinepart partition parsing not available RedBoot partition parsing not available Using physmap partition information Creating 8 MTD partitions on "physmap-flash.0": 0x000000000000-0x000000010000 : "bootloader" 0x000000010000-0x000000560000 : "main firmware" 0x000000560000-0x000000600000 : "local data (jffs2)" 0x000000600000-0x000000780000 : "rescue firmware" 0x000000780000-0x0000007f0000 : "adsl PHY" 0x0000007f0000-0x000000800000 : "bootloader config" 0x000000010100-0x000000560000 : "rootfs" mtd: partition "rootfs" set to be root filesystem 0x000000000000-0x000000800000 : "Flash" bcm63xx-wdt bcm63xx-wdt.0: started, timer margin: 30 sec 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> VFS: Mounted root (squashfs filesystem) readonly on device 31:6. devtmpfs: mounted Freeing unused kernel memory: 112k freed - pre init - tmp union... mini_fo: using base directory: / mini_fo: using storage directory: /tmp/sto - init - init started: BusyBox v1.15.3 (2012-10-31 11:23:15 CET) Please press Enter to activate this console. NET: Registered protocol family 10 lo: Disabled Privacy Extensions SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb NET: Registered protocol family 8 NET: Registered protocol family 20 loop: module loaded PPP generic driver version 2.4.2 tun: Universal TUN/TAP device driver, 1.6 tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> gpiodev: gpio device registered with major 0 ip_tables: (C) 2000-2006 Netfilter Core Team NET: Registered protocol family 24 PPPoL2TP kernel driver, V1.0 Driver 'sd' needs updating - please use bus_type methods ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver bcm63xx_ehci bcm63xx_ehci.0: BCM63XX integrated EHCI controller bcm63xx_ehci bcm63xx_ehci.0: new USB bus registered, assigned bus number 1 bcm63xx_ehci bcm63xx_ehci.0: irq 18, io mem 0xfffe1300 bcm63xx_ehci bcm63xx_ehci.0: USB 2.0 started, EHCI 1.00 usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 2 ports detected nf_conntrack version 0.5.0 (506 buckets, 2024 max) xt_time: kernel timezone is -0000 nf_conntrack_rtsp v0.6.21 loading nf_nat_rtsp v0.6.21 loading ip6_tables: (C) 2000-2006 Netfilter Core Team ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver bcm63xx_ohci bcm63xx_ohci.0: BCM63XX integrated OHCI controller bcm63xx_ohci bcm63xx_ohci.0: new USB bus registered, assigned bus number 2 bcm63xx_ohci bcm63xx_ohci.0: irq 13, io mem 0xfffe1400 usb usb2: configuration #1 chosen from 1 choice hub 2-0:1.0: USB hub found hub 2-0:1.0: 2 ports detected dspdd: module license 'unspecified' taints kernel. Disabling lock debugging due to kernel taint DSP Driver: DSP init stub Endpoint: endpoint_init entry BOS: Enter bosInit Enter bosAppInit Exit bosAppInit BOS: Exit bosInit Endpoint: endpoint_init COMPLETED usbcore: registered new interface driver usblp usbcore: registered new interface driver usbserial USB Serial support registered for generic usbcore: registered new interface driver usbserial_generic usbserial: USB Serial Driver core Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. input: gpio-buttons as /devices/platform/gpio-buttons.0/input/input0 gpio-buttons gpio-buttons.0: reset released gpio-buttons gpio-buttons.0: wps released gpio-buttons gpio-buttons.0: service released gpio-buttons gpio-buttons.0: clip released neufbox-events driver version 0.1.0 input: neufbox-events as /devices/platform/neufbox-events.0/input/input1 USB Serial support registered for GSM modem (1-port) usbcore: registered new interface driver option option: v0.7.2:USB Driver for GSM modems fuse init (API version 7.11) Registered led device: adsl Registered led device: traffic Registered led device: tel Registered led device: tv Registered led device: wifi Registered led device: alarm Registered led device: service:red Registered led device: service:green Registered led device: service:blue Jan 1 00:00:15 crond[605]: crond (busybox 1.15.3) started, log level 9 Broadcom BCM6358A1 Ethernet Network Device v0.3 Oct 31 2012 11:23:01 Config Internal PHY Through Undefined Interface BCM63xx_ENET: Auto-negotiation timed-out BCM63xx_ENET: 10 MB Half-Duplex (assumed) eth0 (): not using net_device_ops yet eth0: MAC Address: 00:25:15:BC:1F:EA bcm63xx_enet MII bus: probed mdio_bus:0 registered Broadcom BCM6358A1 Ethernet Network Device v0.3 Oct 31 2012 11:23:01 Config Ethernet Switch Through MDIO Pseudo PHY Interface eth1 (): not using net_device_ops yet ethsw: found bcm5325m! eth1: MAC Address: 00:25:15:BC:1F:EB bcm63xx_enet MII bus: probed mdio_bus:1 registered eth1 Link UP. switch switch0: Broadcom BCM5325 driver attached. Broadcom BCM6358A1 USB Network Device v0.4 Oct 31 2012 11:23:01 usb0: MAC Address: 00 25 15 BC 20 1A usb0: Host MAC Address: 00 25 15 BC 20 4C usb0 (): not using net_device_ops yet usbcore: registered new interface driver asix u32 classifier Performance counters on input device check on Actions configured : ROBO_QOS_CONTROL : 0 = 0x8800 : ROBO_QOS_8021P_ENABLE : 4 = 0x0000 : ROBO_QOS_DIFFSERV_ENABLE : 6 = 0x031f QoS: DSCP:0x2D queue:2 QoS: DSCP:0x28 queue:2 QoS: DSCP:0x24 queue:1 QoS: DSCP:0x20 queue:1 bcmxtmrt: Broadcom BCM6358A1 ATM Network Device v0.1 Oct 31 2012 11:23:02 bcmxtmcfg: bcmxtmcfg_init entry adsl: adsl_init entry BcmAdsl_Initialize=0x8048264C, g_pFnNotifyCallback=0x804A9A80 pSdramPHY=0xA1FFFFF8, 0x22441201 0x85BC04 AdslCoreSharedMemInit: shareMemAvailable=8160 AdslCoreHwReset: AdslOemDataAddr = 0xA1FFCF94 net.ipv6.conf.eth0.disable_ipv6 = 1 ADDRCONF(NETDEV_UP): eth0: link is not ready net.ipv6.conf.eth1.disable_ipv6 = 1 net.ipv6.conf.usb0.disable_ipv6 = 1 bcmxtmrt: MAC address: 00 25 f6 3c 1f e8 net.ipv6.conf.mv0.disable_ipv6 = 1 device nas_8_35 entered promiscuous mode bcmxtmrt: MAC address: 00 25 f5 bc 1f e8 net.ipv6.conf.nas_0_65.disable_ipv6 = 1 net.ipv6.conf.mv1.disable_ipv6 = 1 bcmxtmrt: MAC address: 00 25 f5 bc 1f e8 net.ipv6.conf.nas_0_48.disable_ipv6 = 1 bcmxtmrt: MAC address: 00 25 f5 bc 1f e8 net.ipv6.conf.nas_0_49.disable_ipv6 = 1 bcmxtmrt: MAC address: 00 25 f5 bc 1f e8 net.ipv6.conf.nas_0_50.disable_ipv6 = 1 bcmxtmrt: MAC address: 00 25 f5 bc 1f e8 net.ipv6.conf.nas_0_51.disable_ipv6 = 1 bcmxtmrt: MAC address: 00 25 f5 bc 1f e8 net.ipv6.conf.nas_0_52.disable_ipv6 = 1 bcmxtmrt: MAC address: 00 25 f5 bc 1f e8 net.ipv6.conf.nas_0_53.disable_ipv6 = 1 bcmxtmrt: MAC address: 00 25 f5 bc 1f e8 net.ipv6.conf.nas_0_54.disable_ipv6 = 1 bcmxtmrt: MAC address: 00 25 f5 bc 1f e8 net.ipv6.conf.nas_0_55.disable_ipv6 = 1 bcmxtmrt: MAC address: 00 25 f6 3c 1f e8 net.ipv6.conf.nas_8_36.disable_ipv6 = 1 net.ipv6.conf.hotspot0.disable_ipv6 = 1 net.ipv6.conf.nas_8_35.disable_ipv6 = 1 net.ipv6.conf.mv2.disable_ipv6 = 1 net.ipv6.conf.voip0.disable_ipv6 = 1 net.ipv6.conf.tv0.disable_ipv6 = 1 net.ipv6.conf.wan0.disable_ipv6 = 1 net.ipv6.conf.eth0.disable_ipv6 = 1 ADDRCONF(NETDEV_UP): eth0: link is not ready device eth0 entered promiscuous mode net.ipv6.conf.eth1.disable_ipv6 = 1 device eth1 entered promiscuous mode lan0: port 2(eth1) entering forwarding state net.ipv6.conf.usb0.disable_ipv6 = 1 device usb0 entered promiscuous mode lan0: port 3(usb0) entering forwarding state net.ipv6.conf.mv0.disable_ipv6 = 1 device mv0 entered promiscuous mode voip0: port 1(mv0) entering forwarding state net.ipv6.conf.nas_0_65.disable_ipv6 = 1 device nas_0_65 entered promiscuous mode voip0: port 2(nas_0_65) entering forwarding state net.ipv6.conf.mv1.disable_ipv6 = 1 device mv1 entered promiscuous mode tv0: port 1(mv1) entering forwarding state net.ipv6.conf.nas_0_48.disable_ipv6 = 1 device nas_0_48 entered promiscuous mode tv0: port 2(nas_0_48) entering forwarding state net.ipv6.conf.nas_0_49.disable_ipv6 = 1 device nas_0_49 entered promiscuous mode tv0: port 3(nas_0_49) entering forwarding state net.ipv6.conf.nas_0_50.disable_ipv6 = 1 device nas_0_50 entered promiscuous mode tv0: port 4(nas_0_50) entering forwarding state net.ipv6.conf.nas_0_51.disable_ipv6 = 1 device nas_0_51 entered promiscuous mode tv0: port 5(nas_0_51) entering forwarding state net.ipv6.conf.nas_0_52.disable_ipv6 = 1 device nas_0_52 entered promiscuous mode tv0: port 6(nas_0_52) entering forwarding state net.ipv6.conf.nas_0_53.disable_ipv6 = 1 device nas_0_53 entered promiscuous mode tv0: port 7(nas_0_53) entering forwarding state net.ipv6.conf.nas_0_54.disable_ipv6 = 1 device nas_0_54 entered promiscuous mode tv0: port 8(nas_0_54) entering forwarding state net.ipv6.conf.nas_0_55.disable_ipv6 = 1 device nas_0_55 entered promiscuous mode tv0: port 9(nas_0_55) entering forwarding state net.ipv6.conf.nas_8_36.disable_ipv6 = 1 device nas_8_36 entered promiscuous mode wan0: port 1(nas_8_36) entering forwarding state kernel.hotplug = /sbin/hotplug-call Hangup PCI: Enabling device 0000:00:01.0 (0000 -> 0002) wl: passivemode=1 wl: napimode=0 wl: allocskbmode=1 wl:srom not detected, using main memory mapped srom info(wombo board) wl:loading /etc/wlan/bcm4318_map.bin malloc in abgphy done wl0: Broadcom BCM4318 802.11 Wireless Controller 5.100.123.0.cpe4.10L02.2 5.100 RC123.0 wl0: Oct 31 2012 11:24:26 version 5.100.123.0.cpe4.10L02.2 Setting SSID: "" Setting SSID: "" Setting SSID: "" Setting SSID: "" Setting SSID: "neuf-kit" 12 1970-01-01 00:01:02: (network.c.239) warning: please use server.use-ipv6 only for hostnames, not without server.bind / empty address; your config will break if the kernel default for IPV6_V6ONLY changes 1970-01-01 00:01:02: (network.c.358) can't bind to port: 80 Address already in use device wl0 entered promiscuous mode lan0: port 4(wl0) entering forwarding state
External links
- (fr) www.neufbox4.org : enthusiasts website.
- (fr) fxmx86.duckdns.org : enthusiast HTTP server running on a NB4.
- (fr) Wikipedia: La box de SFR.