What's new

CFE bootloader update

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Status
Not open for further replies.
I just copied and pasted from the OP.

3. Flashing new CFE.
Place cfe.new back to router and run:

$ mtd-write - i cfe.new - d pmon

That all.

That's great, but options to commands in Linux have no space character between the "-" and the option letter...it should be:

mtd-write -i cfe.new -d pmon

But you'll find out when you try it, just mentioning it to save you some problems.

I went back and looked at the original posting, and it is not correct there either.

So it goes.
 
That's great, but options to commands in Linux have no space character between the "-" and the option letter...it should be:

mtd-write -i cfe.new -d pmon

But you'll find out when you try it, just mentioning it to save you some problems.

I went back and looked at the original posting, and it is not correct there either.

So it goes.

So, do I enter that command after I telnet into the router in terminal?
 
So, do I enter that command after I telnet into the router in terminal?

Yes. Make sure that you have put the "cfe.new" file that you made into the admin home directory (where you go when you log into the router as admin user). Then you should run the mtd-write command in that same directory.
 
I haven't flahsed anything. I am still waiting to see if it's ok that my new.cfe size of 133.4kb is ok since the original poster sad it "must" be 132kb

Running mtd-write amounts to flashing - it will write the new CFE to the flash storage. So if you don't want to flash the new CFE just yet, don't run mtd-write.

I also second the recommendation of doing this over telnet/ssh and not over the Run Cmd, as otherwise you won't get proper feedback from it.
 
Running mtd-write amounts to flashing - it will write the new CFE to the flash storage. So if you don't want to flash the new CFE just yet, don't run mtd-write.

I also second the recommendation of doing this over telnet/ssh and not over the Run Cmd, as otherwise you won't get proper feedback from it.


Do think twice now before flashing this, here's the first brick: 1st bricked N66U due to updated cfe!

Today there is absolutely no upside to flash this new cfe, it is actually the opposite because you can run the existing builds of DD-WRT with old cfe, but with the new cfe there is absolutely no support for dd-wrt or any of the old stock firmwares either I suppose (before the two latest...)
 
I doubt that guy's router is really bricked - he can even access CFE over serial. More like he has garbage saved in nvram, and a firmware that is unable to boot from it.
 
What is really the problem in using the Asus or RMerlin firmware with the kernel hack? What problems can happen in using either?

- lfbb
 
What is really the problem in using the Asus or RMerlin firmware with the kernel hack? What problems can happen in using either?

- lfbb

Without the CFE being able to fully handle 64 KB, it means it won't apply any low-level setting that you might have changed in nvram. For most people this has zero impact, however it prevents advanced tweaks from working, such as overclocking of your router. See the diagnostic section of ryzhov_al's first post.
 
lfbb@ubuntu:~/Desktop/cfe$ ./cfe_update.sh cfe_old.bin cfe.new
[1/4] Dumping default NVRAM settings from your CFE...
nvram start 0x1000
nvram end 0x1a1c
nvram len 2568
nvram crc 0x5e
nvram ver 0x01
[2/4] Modifying NVRAM settings (silent step)...
[3/4] Creating new CFE...
4092+0 records in
4092+0 records out
4092 bytes (4.1 kB) copied, 0.0144297 s, 284 kB/s
[4/4] Checking differences between NVRAM from old and new CFE's
15a16
> odmpid=ASUS
If you see only two differences: one is for 'bl_version' and second is a new 'odmpid=ASUS' variable then all step are done! New CFE image 'cfe.new' is prepared for flash.
Ok. I got the new cfe file but I don't know how to transfer it to the router (and for what directory there).

Last question. After running
$ mtd-write -i cfe.new -d pmon
what should i do? Restore factory defaults or some other thing?

- lfbb
 
Ok. I got the new cfe file but I don't know how to transfer it to the router (and for what directory there).

Last question. After running

what should i do? Restore factory defaults or some other thing?

- lfbb

Again, if you're not sure what you're doing with Linux, the risks of proceeding are high.

I used "scp" to get the cfe.original file off the router onto my Linux system, and to get cfe.new onto the router from the Linux system. I'm sure that there are several ways to do it, scp was easiest for me to set up. I found that running scp on the router, and doing both copies from there worked best for me.

Also, after doing the mtd-write, for me erasing the router's nvram and then restoring the settings file that I had saved before starting allowed me to see the new cfe version. I also rebooted and power-cycled a couple of times in the effort to see the new cfe version, but it was erasing the nvram that apparently enabled the cfe to display the new version number.
 
For those wondering if their update was succesfully flashed, here's a way to check the real CFE version:

cat /dev/mtd0ro | grep bl_version

That will be added to the Sysinfo page of the next Asuswrt-Merlin release.
 
It's done. It says I have bl_version 1.0.1.3.
Thanks everyone for the help. It was good for me, was it for you? I need a smoke. Lol.
 
Last edited:
I did it too.

cfe.png


Thanks for all you guys that helped me! :)

- lfbb
 
Thanks to the OP and for all the info here, I decided to give it a go.

My prefered firmware is Shibby's tomato but I flashed RMerlin's to do this job.

It all went well but I thought it had failed as issuing the command below showed it was still 1.0.1.2

root@RT-N66:/tmp/home/root# nvram get bl_version
1.0.1.2

where as the command suggested by RMerlin above shows 1.0.1.3

root@RT-N66:/tmp/home/root# cat /dev/mtd0ro | grep bl_version
bl_version=1.0.1.3

This is since going back to tomato and restoring my config.

What's going on ?
 
Thanks to the OP and for all the info here, I decided to give it a go.

My prefered firmware is Shibby's tomato but I flashed RMerlin's to do this job.

It all went well but I thought it had failed as issuing the command below showed it was still 1.0.1.2



where as the command suggested by RMerlin above shows 1.0.1.3



This is since going back to tomato and restoring my config.

What's going on ?

The nvram value does not get overwritten by CFE if it changes. So when you restored your config, you restored the old value at the same time as the other nvram settings.

The command I gave actually searches the CFE partition to extract the value.
 
Status
Not open for further replies.

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top