OpenWrt Forum Archive

Topic: whiterussian rc6

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

RC6 has been released; while this is mostly a bugfix release, it does represent the end of the whiterussian era. Some changes worth noting -

mini_fo
The symlinks from jffs2 to squashfs are gone, now squashfs is mounted on /rom and jffs2 is mounted on /jffs. The / is a virtual directory containing the combined contents.

timing fixes
The bogomips calibration on some routers was wrong, leading to long delays and poor performance; this should be fixed in rc6.

New diag module
This is what controlls the leds and the buttons; now leds are /proc/diag/led and buttons trigger hotplug scripts in /etc/hotplug.d/button. (Now you can also press any button at startup to enter failsafe mode)


Downloads

NOTE: pppoe users - be sure to use the correct image

thanks for all the hardwork! I know we all appreciate it.

Just for the sake of clarity, RC6 "represent[s] the end of the whiterussian era" means that there will be no 1.0 release and all future work will focus on kamikaze?

The plans to make whiterussian into 1.0 ended a long time ago with the realization that the whiterussian branch was already too far behind development. So, pending any major issues, we may tag this as 0.9 and continue with the occasional security patch, but the whiterussian branch is effectively over.

All further development will focus on the kamikaze branch, now that buildroot-ng has been reintegrated. We will begin snapshot builds of kamikaze shortly in an effort to establish a regular release cycle and automated testing.

Some quick documentation on the new diag driver -

Each file in /proc/diag/led represents an led on the system
0: turn off
1: turn on
f: flash led

(note that the wifi driver will take control of the "wlan" leds -- also, if diag doesn't work on your router, you should have paid attention to this thread)

For buttons, create a /etc/hotplug.d/button directory, each script in that directory will be called with the following variables set:
ACTION: "pressed" or "released" (self explanatory)
BUTTON: name of the button, "reset" for example
SEEN: The number of seconds since this button last changed

Does this mean that we can expect Kamikaze builds with kernel 2.4?

....as I dont expect that you guys have wireless working on kernel 2.6 on broadcom devices.

Hi mbm!

Thanks for the GREAT work on OpenWRT! It really is appreciated. (I can't imagine myself using Linksys original firmware anymore).

Anyway -- I hope you guys don't mind if I give you a suggestion. I see you opened two development branches, and one of them got stale. May I suggest a different version control system? With any of the newer/decentralized ones (Mercurial, Monotone, Git etc) you can propagate changes between branches more frequently and easily. And it may even be possible to migrate the history from Subversion, although I never did that.

-- jp

Thanks mbm!

OpenWrt is great -- can't wait for version 1.0! smile

I don't think you understand the development model.

The progression goes something like this:

whiterussian -> kamikaze -> buildroot-ng -> kamikaze

Whiterussian represents the original stable branch; around RC4 development shifted from keeping whiterussian up to date to building kamikaze into a release, and the whiterussian releases suffered. RC5 was released, but the original goals for whiterussian hadn't been met, so more releases of whiterussian were planned but got preempted by the rewrite kamikaze underwent with the "buildroot-ng" branch. Buildroot-ng revolutionized the build system used to compile kamikaze.

By now, the kamikaze and buildroot-ng branches were so far ahead of whiterussian that nobody really wanted another whiterussian release (broken build system with many obsolete packages), and there was talk of backporting kamikaze/buildroot-ng into whiterussian. Ultimately it was determined that this would take more effort than writing buildoor-ng in the first place. In other words, cut the losses, release one last whiterussian and switch over to kamikaze/buildroot-ng. We didn't want to wait so long that kamikaze would be basically cut and pasted into another group's firmware and released by someone else (long story).

RC6 is mostly about cleaning out all the old tickets and fixing some known bugs with RC5. Things like the new diag system were built out of necessity -- the old code was just too hacked and tangled to maintain. While testing the compatibility of the new diag driver on some obscure models I noticed the errors with the bogomips calculations, which basically caused the router to run over 3x slower than normal, which then prompted that patch -- it was never planned. mini_fo  had been planned for rc5 but got pulled out at the last minute when various issues were discovered with the file handling.

Anyways .. getting back to earlier questions ..

Automated builds of the kamikaze branch will begin shortly, binaries for pretty much all platforms with all packages. This is mostly to help us track down issues with the build system, but these snapshots will be placed online for those that wish to experiment.

I want to make it clear that I do not intend to answer any more "I bricked my router issues", a JTAG is only 4 resistors (easily under $5) and serial isn't much more, and can easily be made out of a cellphone cable. If you don't know how to recover from a bad firmware you should stay away from the kamikaze snapshots. I don't expect them to cause issues, but they are built by a script and untested on actual hardware.

Can I suggest that the front page of openwrt.org needs an update, as it still refers to the "whiterussian will become 1.0" model.

Excellent, thanks a lot guys, been anticipating this for some time! Good luck on the next release, wish I was technical enough to help.

(Last edited by napierzaza on 8 Nov 2006, 04:55)

OpenWrt did not live up to the agreement to announce our webif^2 project along with RC6. I guess they forgot. In the next day or so we'll finalize Milestone 2 of X-Wrt's webif^2 (again X-Wrt is NOT a fork of OpenWrt).

For users who desire or require a decent webif with an extension of functionality so large I won't even attempt to enumerate the additions, you can find information here: http://www.bitsum.com/xwrt.asp .

db90h: Given the fact, that the white russian branch is destined to extinct sooner or later, is there any roadmap for webif and kamikaze compatiblity?

MMCM: We are going to be doing that now that RC6 is out. It will start happening after Milestone 2 is released.

Yes, webif^2 makes real difference!
Thanks for the nice job!!!

Hi all,

Thanks for OpenWRT, but is it possible to make a tarball of the sourcetree of RC6 available. I use this for analysing how it works and how to configure things and look at the differences between older versions I have. I run one Asus WL500gd with RC3, one WL-HDD with RC5 and one Asus WL500gd with RC5.

Thanks,
Stephan

Hello,

I think that the upgrade to RC6 wrecked my wireless.  At least I can't find my router among the available wireless networks in my area. Cable works fine with access to LAN.
Running on an ASUS wl500gPremium. I have added some USB- and camera drivers, but wouldn't thonk that they could cause this. Don't know where to start looking.

Any ideas?

root@OpenWrt:~$ ifconfig 
br0       Link encap:Ethernet  HWaddr 00:17:31:E7:5B:8F  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:141 errors:0 dropped:0 overruns:0 frame:0
          TX packets:121 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:10720 (10.4 KiB)  TX bytes:30914 (30.1 KiB)

eth0      Link encap:Ethernet  HWaddr 00:17:31:E7:5B:8F  
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:158 errors:0 dropped:0 overruns:0 frame:0
          TX packets:208 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:16734 (16.3 KiB)  TX bytes:44093 (43.0 KiB)
          Interrupt:4 

eth2      Link encap:Ethernet  HWaddr 00:17:31:E7:5B:8F  
          UP BROADCAST RUNNING ALLMULTI MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:11
          TX packets:0 errors:94 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:2 Base address:0x2000 

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)

vlan0     Link encap:Ethernet  HWaddr 00:17:31:E7:5B:8F  
          UP BROADCAST RUNNING ALLMULTI MULTICAST  MTU:1500  Metric:1
          RX packets:141 errors:0 dropped:0 overruns:0 frame:0
          TX packets:183 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:11284 (11.0 KiB)  TX bytes:35366 (34.5 KiB)

vlan1     Link encap:Ethernet  HWaddr 00:17:31:E7:5B:8F  
          inet addr:193.71.116.251  Bcast:193.71.119.255  Mask:255.255.248.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:21 errors:0 dropped:0 overruns:0 frame:0
          TX packets:22 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2890 (2.8 KiB)  TX bytes:2822 (2.7 KiB)
root@OpenWrt:~$ dmesg
<4>CPU revision is: 00029006
<4>Primary instruction cache 16kB, physically tagged, 2-way, linesize 16 bytes.
<4>Primary data cache 16kB, 2-way, linesize 16 bytes.
<4>Linux version 2.4.30 (mbm@reboot) (gcc version 3.4.4 (OpenWrt-1.0)) #1 Mon Nov 6 17:35:21 PST 2006
<4>Setting the PFC value as 0x15
<4>Determined physical RAM map:
<4> memory: 02000000 @ 00000000 (usable)
<4>On node 0 totalpages: 8192
<4>zone(0): 8192 pages.
<4>zone(1): 0 pages.
<4>zone(2): 0 pages.
<4>Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,jffs2 init=/etc/preinit noinitrd console=ttyS0,115200
<4>CPU: BCM4704 rev 9 at 264 MHz
<4>Using 132.000 MHz high precision timer.
<4>Calibrating delay loop... 263.78 BogoMIPS
<6>Memory: 30420k/32768k available (1464k kernel code, 2348k reserved, 104k data, 84k init, 0k highmem)
<6>Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
<6>Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
<6>Mount cache hash table entries: 512 (order: 0, 4096 bytes)
<6>Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
<4>Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
<4>Checking for 'wait' instruction...  unavailable.
<4>POSIX conformance testing by UNIFIX
<4>PCI: Fixing up bus 0
<4>PCI: Fixing up bridge
<7>PCI: Setting latency timer of device 01:00.0 to 64
<4>PCI: Fixing up bus 1
<6>Linux NET4.0 for Linux 2.4
<6>Based upon Swansea University Computer Society NET3.039
<4>Initializing RT netlink socket
<4>Starting kswapd
<4>Registering mini_fo version $Id$
<6>devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
<6>devfs: boot_options: 0x1
<5>JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB.
<6>Squashfs 2.1-r2 (released 2004/12/15) (C) 2002-2004 Phillip Lougher
<4>pty: 256 Unix98 ptys configured
<6>Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
<6>ttyS00 at 0xb8000300 (irq = 3) is a 16550A
<6>ttyS01 at 0xb8000400 (irq = 0) is a 16550A
<6>b44.c:v0.93 (Mar, 2004)
<7>PCI: Setting latency timer of device 00:01.0 to 64
<6>eth0: Broadcom 47xx 10/100BaseT Ethernet 00:17:31:e7:5b:8f
<7>PCI: Setting latency timer of device 00:02.0 to 64
<6>eth1: Broadcom 47xx 10/100BaseT Ethernet 40:10:18:00:00:2d
<7>Physically mapped flash: Found an alias at 0x800000 for the chip at 0x0
<7>Physically mapped flash: Found an alias at 0x1000000 for the chip at 0x0
<7>Physically mapped flash: Found an alias at 0x1800000 for the chip at 0x0
<5> Amd/Fujitsu Extended Query Table v1.3 at 0x0040
<5>number of CFI chips: 1
<5>cfi_cmdset_0002: Disabling fast programming due to code brokenness.
<5>Flash device: 0x800000 at 0x1c000000
<5>bootloader size: 262144
<6>Physically mapped flash: Filesystem type: squashfs, size=0xda5f3
<5>Creating 5 MTD partitions on "Physically mapped flash":
<5>0x00000000-0x00040000 : "cfe"
<5>0x00040000-0x007f0000 : "linux"
<5>0x000bf400-0x001a0000 : "rootfs"
<4>mtd: partition "rootfs" doesn't start on an erase block boundary -- force read-only
<5>0x007f0000-0x00800000 : "nvram"
<5>0x001a0000-0x007f0000 : "OpenWrt"
<6>Initializing Cryptographic API
<6>NET4: Linux TCP/IP 1.0 for NET4.0
<6>IP Protocols: ICMP, UDP, TCP, IGMP
<6>IP: routing cache hash table of 512 buckets, 4Kbytes
<6>TCP: Hash tables configured (established 2048 bind 4096)
<4>ip_conntrack version 2.1 (5953 buckets, 5953 max) - 332 bytes per conntrack
<4>ip_tables: (C) 2000-2002 Netfilter core team
<6>NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
<6>NET4: Ethernet Bridge 008 for NET4.0
<6>802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
<6>All bugs added by David S. Miller <davem@redhat.com>
<4>VFS: Mounted root (squashfs filesystem) readonly.
<6>Mounted devfs on /dev
<6>Freeing unused kernel memory: 84k freed
<4>Algorithmics/MIPS FPU Emulator v1.5
<4>diag: Detected 'ASUS WL-500g Premium'
<4>Probing device eth0: found!
<6>b44: eth0: Link is up at 100 Mbps, full duplex.
<6>b44: eth0: Flow control is off for TX and off for RX.
<6>mini_fo: using base directory: /
<6>mini_fo: using storage directory: /jffs
<4>jffs2.bbc: SIZE compression mode activated.
<7>PCI: Setting latency timer of device 01:02.0 to 64
<4>PCI: Enabling device 01:02.0 (0004 -> 0006)
<4>eth2: Broadcom BCM4318 802.11 Wireless Controller 3.90.37.0
<6>Linux video capture interface: v1.00
<4>BFL_ENETADM not set in boardflags. Use force=1 to ignore.
<6>usb.c: registered new driver usbdevfs
<6>usb.c: registered new driver hub
<7>PCI: Setting latency timer of device 00:03.0 to 64
<6>usb-ohci.c: USB OHCI at membase 0xb8003000, IRQ 6
<6>usb-ohci.c: usb-00:03.0, PCI device 14e4:4715
<6>usb.c: new USB bus registered, assigned bus number 1
<6>hub.c: USB hub found
<6>hub.c: 2 ports detected
<6>SCSI subsystem driver Revision: 1.00
<6>Initializing USB Mass Storage driver...
<6>usb.c: registered new driver usb-storage
<6>USB Mass Storage support registered.
<6>uhci.c: USB Universal Host Controller Interface driver v1.1
<4>PCI: Enabling device 01:03.0 (0000 -> 0001)
<6>uhci.c: USB UHCI at I/O 0x100, IRQ 2
<6>usb.c: new USB bus registered, assigned bus number 2
<6>hub.c: USB hub found
<6>hub.c: 2 ports detected
<4>PCI: Enabling device 01:03.1 (0000 -> 0001)
<6>uhci.c: USB UHCI at I/O 0x120, IRQ 2
<6>usb.c: new USB bus registered, assigned bus number 3
<6>hub.c: USB hub found
<6>hub.c: 2 ports detected
<4>PCI: Enabling device 01:03.2 (0000 -> 0002)
<6>ehci_hcd 01:03.2: PCI device 1106:3104
<6>ehci_hcd 01:03.2: irq 2, pci mem c01a9000
<6>usb.c: new USB bus registered, assigned bus number 4
<6>EHCI: Enabling VIA 6212 workarounds
<6>ehci_hcd 01:03.2: USB 2.0 enabled, EHCI 1.00, driver 2003-Dec-29/2.4
<6>hub.c: USB hub found
<6>hub.c: 4 ports detected
<6>device eth0 entered promiscuous mode
<3>hub.c: connect-debounce failed, port 1 disabled
<6>hub.c: new USB device 01:03.2-1, assigned address 2
<6>scsi0 : SCSI emulation for USB Mass Storage devices
<4>  Vendor: Generic   Model: STORAGE DEVICE    Rev: 0026
<4>  Type:   Direct-Access                      ANSI SCSI revision: 02
<4>Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
<4>SCSI device sda: 512000 512-byte hdwr sectors (262 MB)
<4>sda: Write Protect is off
<6>Partition check:
<6> /dev/scsi/host0/bus0/target0/lun0: p1
<7>WARNING: USB Mass Storage data integrity not assured
<7>USB Mass Storage device found at 2
<6>hub.c: new USB device 01:03.0-2, assigned address 2
<4>usb.c: USB device 2 (vend/prod 0x41e/0x403a) is not claimed by any active driver.
<6>b44: eth0: Link is up at 100 Mbps, full duplex.
<6>b44: eth0: Flow control is off for TX and off for RX.
<7>vlan0: add 01:00:5e:00:00:01 mcast address to master interface
<6>vlan0: dev_set_promiscuity(master, 1)
<6>vlan0: dev_set_allmulti(master, 1)
<6>device eth2 entered promiscuous mode
<6>eth2: attempt to add interface with same source address.
<6>br0: port 2(eth2) entering listening state
<6>br0: port 1(vlan0) entering listening state
<6>br0: port 2(eth2) entering learning state
<6>br0: port 1(vlan0) entering learning state
<6>br0: port 2(eth2) entering forwarding state
<6>br0: topology change detected, propagating
<6>br0: port 1(vlan0) entering forwarding state
<6>br0: topology change detected, propagating
<7>vlan1: add 01:00:5e:00:00:01 mcast address to master interface
tangibre wrote:

Hello,

I think that the upgrade to RC6 wrecked my wireless.  At least I can't find my router among the available wireless networks in my area. Cable works fine with access to LAN.
Running on an ASUS wl500gPremium. I have added some USB- and camera drivers, but wouldn't thonk that they could cause this. Don't know where to start looking.

Any ideas?

There's absolutely no information in there about how your wireless is configured. I'd suggest you start a new topic (rather than force everyone to read around this) and be sure to include more details such as "nvram show | sort".

Hi all!

First of all: great work! I love OpenWRT on my routers since RC3...

Here's my question: Is there any particular reason you guys chose not to publish jffs-images?
I'm having difficulties getting the image builder to work with my PPC Mac Mini and Debian... :-)

Regards,
asksatan42

I didn't publish the jffs2 images because of the number of jffs2 vs squashfs questions.

People never read the wiki and are very confused at the differences between squashfs and jffs2, and often leave with the idea that they need to use the jffs2 images to have a writable filesystem, and then complain about things like failsafe (see common mistakes). I finally got so sick of it that I didn't even bother with the jffs2 images for RC6.

Incidentally, you can remove the squashfs partition from the router without reflashing, but that's a topic for another thread (this thread is just for rc6 feedback).

Wow, that was fast... ;-)

It's a pity... But I guess we can live without "official" jffs-images.
I think I just succeeded in creating my own anyway.

As a solution for the wiki problem, you could "hide" the link to the
jffs-image directory it deep in the wiki big_smile

(Last edited by asksatan42 on 9 Nov 2006, 01:24)

asksatan42:

So, I'll ask -- why do you need the jffs2 version?

Ah, that's more a matter of personal preference than actual need...
First I like a complete writeable filesystem from the start without any
symlink constructs and the like. Additionally, I want to save some
precious flash-memory by only installing what I need (normally I
start with one of the micro images and work my way up).
Second, I usually use the WL-500g and after the base system runs
fine, I use it as a safety-net for booting from attached USB sticks.
The boot procedure at my RC5 based router at home goes like this:

Power On -> Bootloader and Stuff -> /sbin/init shell-script
-> Check for filesystem on USB -> Mount filesystem
-> Active swap -> Do pivotroot and call init

If there is no filesystem on USB1, try USB2. Finally, if there is no
filesystem on USB2 either, use the flashs' init and provide basic
routing services (i.e. internet access, VPN).
If a USB boot device was found, my init activates swap and the USB
filesystem provides samba, printserver and php. It occasionally even
compiles source packages.

asksatan42 wrote:

Ah, that's more a matter of personal preference than actual need...
First I like a complete writeable filesystem from the start without any
symlink constructs and the like. Additionally, I want to save some
precious flash-memory by only installing what I need (normally I
start with one of the micro images and work my way up).
Second, I usually use the WL-500g and after the base system runs
fine, I use it as a safety-net for booting from attached USB sticks.
The boot procedure at my RC5 based router at home goes like this:

Power On -> Bootloader and Stuff -> /sbin/init shell-script
-> Check for filesystem on USB -> Mount filesystem
-> Active swap -> Do pivotroot and call init

If there is no filesystem on USB1, try USB2. Finally, if there is no
filesystem on USB2 either, use the flashs' init and provide basic
routing services (i.e. internet access, VPN).
If a USB boot device was found, my init activates swap and the USB
filesystem provides samba, printserver and php. It occasionally even
compiles source packages.

Could you post that init-shell script, this is about what I want to do as well.

Did you take a look at this wiki article?

It did nothing special apart from adding a few lines that deal with the
second usb device and activating swap.
I'm at work now, so I don't have access to my init script at the moment,
I will post it later.

hi guys ... i have 2 question for us 

1: WhiteRussian RC6 support WDS p2p ?

2: The jffs2 is bad ? i means that can break my router ?  i like jffs2 .. smile i don;t like work with squashfs I like a complete writeable filesystem too. please upload the jffs2 bin.

PD: db90h you webif^2 support P2P in WDS ? please do something with that i really need it.
Any one can tell me how I do a WDS-P2P. Why the dev team not release a p2p funtion in WDS ? on WhiteRussian


Thanks 4 u Help

(Last edited by yamilselman on 9 Nov 2006, 12:39)

The discussion might have continued from here.