OpenWrt Forum Archive

Topic: Linksys E2100L is here, has anybody tried it out.

The content of this topic has been archived between 19 Apr 2018 and 4 May 2018. Unfortunately there are posts – most likely complete pages – missing.

on arch using tftp-hpa static ip (no matter if wire is pluged in or not) and i get sent wrq <file=<filename>, mode=octet
do you want to pm me anything like im or irc names so we can talk faster?

i think i will need a jtag. what was the one you got and do you have pictures of the setup?

@rocker2344, I sent you a PM.

Jim

OK fellow E2100L enthusiasts looking for the latest and greatest build here is Attitude Adjustment Beta2 as of 10/25/2012.  http://www.mediafire.com/file/d13b42ab0 … actory.bin

It has been stable for the two days its been running on my router.  This will probably be my last post until it moves out of beta.  The usual caveats apply.

Edit:  Updated to newer build from Attitude Adjustment branch instead of trunk.

(Last edited by jimfree on 27 Oct 2012, 19:48)

@jimfree Thank you for sharing your build.

I used DD-WRT all this time and had a rough time until I installed Jim's build above. The router has been running smoothly for a week now.

However, I can't install any kernel modules from Optware. I found out that this is because I was using a custom build you made, and the compiled packages in Optware being different (the official build).

So I have installed Linux on a VM and I am in the process of building an image (lot of learning to do...). I have never done this before and I'm afraid I might brick my router as I do not have serial access to my E2100L.

During my reading I came across the Image Builder Tool, which allows for me to build specific kernel modules (afaik...i might be wrong). So if you could share with me you Image Builder for the above Image, things could be a lot easier for me.

If i have the wrong understanding of the whole process, please kindly point me to the right direction.

Thanks for all the work you guys are doing.

Welcome to Openwrt neo.  I went though the same thing with dd-wrt until I built up enough courage to build my own Openwrt.  And, as I mentioned, I did end up having to get a serial cable to de-brick.  I haven't messed with the Image Builder Tool outside of the how-to-build instructions.  If I can't do it within the "make menuconfig" command it doesn't get done.  With the exception of modifying the necessary files for the E2100L I just follow the step-by-step instructions.  If you are trying to install packages through Luci that fail that seems to be a common issue.  The packages are updated all the time and loading them from a build that is even a few days old won't work at times.

I did a new build last night of RC1 r34879.  I have an image with minidlna and one with ushare.  If you aren't interested in the media server I can build one without it and give you room to install whatever packages you are looking for.  I have to go but I'll post one or both of them later today.  Probably the one with uShare since I like to have it running for a few hours before posting.  Its been up for a little over 12 hours with no problems.

I've uploaded builds I mentioned previously to Media Fire.  I think I have the link to show all uploads I have there so you can choose which one you want.  This is RC1 of Attitude Adjustment revision 34879.  They are identical builds except one has minidlna and the other ushare as indicated in file name.

http://www.mediafire.com/?4o42mc4zafxny

As usual all caveats apply.  Be sure to uncheck the save settings box before loading the firmware since the only time I've bricked is when I've had it checked.  If you need to keep your settings back them up and the load them back in after the firmware upgrade.

Happy New year everyone !!

Thank you very much Jim. Thanks a lot for sharing your builds.

My attempt to build from source ended up with errors saying "root.jffs2-64k" too large". And it took a long time to build as I was using a VM. I am looking for kmod-fs-cifs, as my NAS does not have a USB port, and connection from my Router to NAS is Gigabit, I am going to use my router to keep large movies, and files.

Your build is perfect, only that I miss the cifs mounting. I am now very interested in getting more in to OpenWRT builds. I have ordered a serial cable over ebay, getting hardware to my country is difficult though. Takes weeks to ship them.

Can you please share one with CIFS mounting support ? And also any idea why I'm getting the error with my build? I used the trunk.

Neo, There is built in protection to keep the resulting build from being to large which could end up bricking the router.  I kept running into that same error trying to include the full libffmpeg with minidlna.  I made a change to increase the size limit and and the resulting bin was too big.  That's why I switched to ushare since it would stream mpg movies.  I'll try adding the cifs module and see if it works.


Happy New Year!

(Last edited by jimfree on 31 Dec 2012, 18:31)

OK Neo, I've added two more bins to my Media Fire Openwrt shares.  Same link as above.  They are identical to the previous build except the CIFS functionality has been added.  I did a quick test by connecting to a public share on one of my computers.  I did not test connection to a share the required a user/password.  I setup the Ushare to use the CIFS mounted video files and it streamed them to my PS3 without issue.  Didn't do a full movie test, only a few minutes but all seemed well.  Just a little over 4 hours left for 2012 in California, 2013 is just about here!  Happy New Year!

Jim

Hello Jim,
Thank you very much. I've downloaded your images, I'll be testing them once I get home tonight.

And you are right about the space, I managed to build with less packages. I'll be using your image until I get my serial cable. Then I'll start messing around with it .

Neo

Hi Jim, I'm new in this E2100L openwrt world.

I want to share my experience with those who are new too. Last week I installed your firmware, but after I uninstalled some packages the router was unable to complete the boot sequence  ( it was able to response to ping message ),  but I was unable to connect to it. I thought I bricked it. After some tinkering ( I added a serial port to it ), I tried un successfull to access the boot console, so  I almost gave up, but last night I read about the possibility of openwrt to boot in failsafe mode  pressing on the reset button, so I gave it a try. After a few mis tries I did success ( during the boot sequence, just after the power up, press repetitively the reset button, util the indicator led begin to blink rapidly ). After that I was able to telnet to it.

Now I'm trying to build a customized firmware for my router, but I'm afraid to brick it for real this time. I have experience building custom kernels for my desktop, but I'm afraid to create a firmware that have some component missing. Could you share your config and maybe give me some advice where to put more atention.

Thanks in advance, best regards


Carlos F

Hi Carlos, sorry to hear of you near disaster, happy to hear you got it fixed.  You must have deleted one of the required packages since deleting anything I added would not prevent it from working.

As far as the E2100L goes you can follow this detailed info for WRT160NL found at http://wiki.openwrt.org/toh/linksys/wrt160nl.  Except for editing the two source files previously described the procedure for the E2100L is identical.  You will see by the pictures you can't tell the two apart by looking at the internals.  It also has a very good description of how to use the serial console and pinouts.

When you execute "make menuconfig" all required settings are defaulted.  I didn't deselect anything but I did add quite a bit.  My problem is I don't remember what I added and what was already there.  I would have to clean it up and start from scratch to figure that out.  I added the Luci package and several modules for the web interface.   I also made necessary additions for USB mounting using VFAT NTFS and EXFAT file systems.  As requested earlier in this thread I added CIFS functionality.  Also added the necessary ushare or minidlna depending on the build.  Hint, you need to select necessary libraries/packages before they show up in the Luci section.  I did a lot of experimentation adding packages  via the Luci interface on a basic build.  Then I would add them though the menuconfig and do another compile.  That's where I'm at now.  I just do a SVN update, update the feeds and recompile.  The only thing I've added that's not posted is a simple text editor, nano in my case.  Me and Vi just don't get along.

If you want to start from my current configuration  I can post it or somewhere e-mail it to you.  I do highly recommend you get the serial console to working if you are going to load your own compiled version.   The bins I've provided have all been tested for at least a couple of hours before I posted them.  While booting using the failsafe method does work I've found it much easier to just plug in the TTL cable and use that method.  I wish someone would sell a cable configured to use the Ethernet port to access the serial console.  I tried to make one but I'm just not creative enough I guess.

Bottom line, if you follow the wiki guidlines, don't remove any selections already made in the menuconfig program, and compile without errors, you should end up with a bootable bin.  I don't recommend ever using the sysupgrade bin, every time I've tried I had to hook up the serial cable to recover.  I always uncheck the save settings box when upgrading via Luci and only use the system bin.

(Last edited by jimfree on 20 Mar 2013, 02:26)

Hi Jim, thanks for sharing your experience.

How do you update the firmware if you don't use sysupgrade, do you use tftp and the serial cable instead or is there another way? How dangerous is to replace the firmware using sysupgrade? I bought a usb-serial cable but none of my notebooks recognized it, only the desktop, which belongs to my sister, did but I was unable to communicate with the router. I think it's because the cable is based on a cheap knockoff off the PL2303. I hope to find a suitable usb-serial cable and try some customs firmwares, because yours have have stuff I don't need and I have to install some others (there is no space for pptp, I will try again to remove some stuff).

Thanks again, I will keep posting my experiences.

I've found the PL2303 to be problematic at best.  I haven't been able to use any of 3 different brands reliably on my 64 bit Vista system.  Fortunately I still have a laptop lying around with XP that works quite nicely with the cable I have.  It really doesn't do any good to delete anything as it doesn't free up any space.  It actually uses up a few more bytes.

I should clarify on the sysupgrade statement.  When you  compile you end up with several bins.  Among them is a -sysupgrade.jfs2.bin, -factory.jfs2.bin, -sysupgrade.squashfs.bin and -factory.squashfs.bin.  You will see these same bins available in the downloads section for the WRT160NL.  Most don't use the jfs2 as the bin are larger.  The sysupgrades are supposed to allow you to upgrade while maintaining your existing settings.  My experience has been a brick if I leave the checkbox for keep settings checked, even when using the sysupgrade.bin.  That's why I've only posted the factory.bin and mentioned earlier that you need to make sure the keep settings box is not checked when loading the bin.

Hi again,

I just returned from buying another usb-serial cable ( I returned the last one ). This time I bought this one https://www.olimex.com/Products/Compone … l-Cable-F/ ( we have a olimex distributor here in chile  ). This cable was immediately recognized by my notebook running linux. I suppose the warning statement made by prolific was true about the existence of cheap knockoff.
This weekend I will give the serial console another chance and try to flash a custom firmware.

Thanks for the clarification. What's the difference between the squash a jsfs version, beside the size? You can flash either of the two?

Looks like you are on the path to success Carlos.  I compiled a basic build this morning that you could add what you needed.  The problem with that is over time the packages become outdated and it won't let you load them.  Just means if you try to reload the bin and then install additional packages a month from now it may or may not work.  Seems like a lot of them change daily.

There's 2 major difference between the jffs2 and squashfs.  The first I already mentioned, you can get more features in smaller filespace with squashfs.  The other is squashfs is read-only.  The way it is implemented in Openwrit the core system is read only but there are also partitions that are writable.  I believe these are jffs2 partitions.  I'm not an expert however.  I believe openwrt went this route to get the most they could out of the limited memory available, especially in the devices with 2 and 4 meg of ram available.

Hi, good news. Yesterday I flashed my router with a custom firmware, that means the usb-serial cable was the right one. So far so good. The router is up and running. Privoxy, netfilter, usb, all working. It seems there are some LuCI modules missing, but only some minor stuff. Today night goal is to have a pptp tunnel, using HMA servers, and routing some traffic through it.

As You said Jim, starting from a clean build and selecting the right architecture was a good starting point. It isn't rocket  science, nothing deselected, painless build, added extra stuff and a good amount of patience.

Thats great Carlos.  I've had my current build uptime at nearly a month now.  My wifi acts up once in a while, not sure whats causing it.  I just issue the wifi command and all is well again.  Like you said, its not rocket science.  All the hard work has been done by the developers.  It would be nice if they included the e2100l.  But then I probably would not have started compiling my own.  Where's the fun in that?

(Last edited by jimfree on 25 Mar 2013, 14:54)

Jimfree,

I am able to install and run your image through tftp however I am having a problem compiling my own on attitude_adjustment. I have made the simple changes from NL16 to NL1X but I'm still getting
[    0.780000] spi0.0: no WRT160NL signature found
which I'm guessing is from the addpattern.c.  Do you have any advice and/or would you be willing to share your build configs?

U-Boot 1.1.7 (Jan  8 2010 - 14:26:25)

AP81 (ar7100) U-boot
sri
64 MB
WRT160NL u-boot version: 1.0.0
Top of RAM usable for U-Boot at: 84000000
Reserving 279k for U-Boot at: 83fb8000
Reserving 192k for malloc() at: 83f88000
Reserving 44 Bytes for Board Info at: 83f87fd4
Reserving 36 Bytes for Global Data at: 83f87fb0
Reserving 128k for boot params() at: 83f67fb0
Stack Pointer at: 83f67f98
Now running in RAM - U-Boot at: 83fb8000
id read 0x100000ff
flash size 8MB, sector count = 128
Flash:  8 MB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ag7100_enet_initialize...
ag7100 get ethaddr for device eth0
Fetching MAC Address from 0x83feb2b0

 --------***** Get the RTL8306SD Manufactory ID=386c *****-------
 Reg6: speed=0 nway=1 duplex=1
 Reg5: speed=0 nway=0 duplex=0
 Reg1: a1=7fd9 a2=3210 a3=16d4 a4=3210 a5=0
 Reg1: a1=7fd9 a2=3210 a3=16d4 a4=3210
 Reg1: a1=7fd9 a2=3210 a3=16d4 a4=3210
 Reg1: a1=7fd9 a2=3210 a3=16d4 a4=3210
 Reg1: a1=7fd9 a2=3210 a3=16d4 a4=3210
eth0: 98:fc:11:6a:67:c5
eth0 up
eth0
### main_loop entered: bootdelay=1

Hit any key to stop autoboot:  0
ar7100> upgrade code.bin
 check link duplex:Full/speed:100
dup 1 speed 100
Tftpd start listening on port[69]!
Load address: 0x80060000
Receiving firmware [code.bin] from [192.168.1.2]
Write File : CODE.BIN
#

Current Code Pattern:NL1X , Upgrade Code Pattern:NL1X

Code Pattern is correct!
################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ###############################
done
Bytes transferred = 2819072 (2b0400 hex)
load addr= 0x80060000
boot file= CODE.BIN
NetBootFileXferSize= 002b0400
Erase linux kernel block !!
From bf040000 To bf7dffff
Erase Flash from 0xbf040000 to 0xbf7dffff in Bank # 1
First 0x4 last 0x7d sector size 0x10000                                      125
Erased 122 sectors
Programming.........
Copy to Flash... write addr: bf040000
done
ar7100> go
## Booting WRT160NL ...
Code pattern OK: NL1X  Expect: NL1X
Application code length 0x002b0000
CRC OK
## Booting image at bf04003c ...
   Image Name:   MIPS OpenWrt Linux-3.3.8
   Created:      2013-04-04   3:28:42 UTC
   Image Type:   MIPS Linux Kernel Image (gzip compressed)
   Data Size:    1255559 Bytes =  1.2 MB
   Load Address: 80060000
   Entry Point:  80060000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
kernel: org len = 1255559, new len = 1310720
No initrd
## Transferring control to Linux (at address 80060000) ...
## Giving linux memsize in bytes, 67108864

Starting kernel ...

[    0.000000] Linux version 3.3.8 (h36sa@giw) (gcc version 4.6.3 20120201 (prerelease) (Linaro GCC 4.6-2012.02) ) #5 Wed Apr 3 20:28:26 PDT 2013
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU revision is: 00019374 (MIPS 24Kc)
[    0.000000] SoC: Atheros AR9130 rev 2
[    0.000000] Clocks: CPU:400.000MHz, DDR:400.000MHz, AHB:200.000MHz, Ref:5.000MHz
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 04000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Zone PFN ranges:
[    0.000000]   Normal   0x00000000 -> 0x00004000
[    0.000000] Movable zone start PFN for each node
[    0.000000] Early memory PFN ranges
[    0.000000]     0: 0x00000000 -> 0x00004000
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line:  board=WRT160NL console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 61644k/65536k available (2083k kernel code, 3892k reserved, 398k data, 208k init, 0k highmem)
[    0.000000] SLUB: Genslabs=9, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:51
[    0.000000] Calibrating delay loop... 265.42 BogoMIPS (lpj=1327104)
[    0.080000] pid_max: default: 32768 minimum: 301
[    0.080000] Mount-cache hash table entries: 512
[    0.090000] NET: Registered protocol family 16
[    0.090000] gpiochip_add: registered GPIOs 0 to 21 on device: ath79
[    0.100000] MIPS: machine is Linksys WRT160NL
[    0.610000] bio: create slab <bio-0> at 0
[    0.620000] Switching to clocksource MIPS
[    0.630000] NET: Registered protocol family 2
[    0.630000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.630000] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[    0.640000] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.640000] TCP: Hash tables configured (established 2048 bind 2048)
[    0.650000] TCP reno registered
[    0.650000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.660000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.670000] NET: Registered protocol family 1
[    0.690000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.690000] JFFS2 version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.700000] msgmni has been set to 120
[    0.710000] io scheduler noop registered
[    0.710000] io scheduler deadline registered (default)
[    0.720000] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[    0.740000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A
[    0.750000] console [ttyS0] enabled, bootconsole disabled
[    0.750000] console [ttyS0] enabled, bootconsole disabled
[    0.770000] m25p80 spi0.0: found mx25l6405d, expected m25p80
[    0.770000] m25p80 spi0.0: mx25l6405d (8192 Kbytes)
[    0.780000] spi0.0: no WRT160NL signature found
[    0.790000] ag71xx_mdio: probed
[    0.800000] eth0: Atheros AG71xx at 0xb9000000, irq 4
[    1.110000] Registering RTL8306SD switch with Chip ID: 0x5988, version: 0x0000
[    1.120000] ag71xx ag71xx.0: eth0: connected to PHY at ag71xx-mdio.0:00 [uid=00008306, driver=Realtek RTL8306S]
[    1.130000] eth1: Atheros AG71xx at 0xba000000, irq 5
[    1.440000] ag71xx ag71xx.1: eth1: connected to PHY at ag71xx-mdio.0:04 [uid=00008306, driver=Realtek RTL8306S]
[    1.450000] TCP cubic registered
[    1.450000] NET: Registered protocol family 17
[    1.460000] 8021q: 802.1Q VLAN Support v1.8
[    1.460000] VFS: Cannot open root device "(null)" or unknown-block(0,0)
[    1.470000] Please append a correct "root=" boot option; here are the available partitions:
[    1.480000] 1f00            8192 mtdblock0  (driver?)
[    1.480000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

FYI for anyone who has this same problem.  I received an e-mail with bsdfox indicating he discovered the NL16 to NL1X changes he made never made it to his build directory.  After making the corrections it compiled and ran fine for him.  If you can look at the first few bytes of the resulting bin file and you see NL16 instead of NL1X you know it won't work!

I think I've done my final AA build, this one was based on r36354 which is a little beyond the official release of 36088.  I didn't check the timeline to see what changes were made since the official release.  I've been running this build for 7 days and it seems pretty stable, no reboots during that time.  For those interested in Gargoyle I've also posted a Gargoyle build based on AA r36089 for the E2100L.  I ran it for about 5 days with no noted issues.  All my builds can be found at http://www.mediafire.com/?4o42mc4zafxny.  Use at your own risk, all I can vouch for is they all loaded without bricking my E2100L.

Jim, is my first post and I can see you are very "intoo" de router e2100l. I'm looking the lastest firmware based on Openwrt, the one from 30/04/2013 (R 12.09). Where can i look to it? i have installed R36354 wich you upload to mediafire.

I'll appreciate any help

@Dunedain -- R36354 is Attitude Adjustment which is also known as 12.09.  Attitude Adjustment was officially released at R36088 and is the version you would get from their downloads section, if they had one for the E2100L.  The Rxxxxx represents the date of the last change submitted to the repository.   So any Rxxxxx after R36088 represents a bug fix or enhancement.  At some point when the developers are satisfied they may publish another stable version of Attitude Adjustment (12.09).  Until then changes beyond the last stable release are considered experimental and may or may not be better.  In most cases they are improvements but bugs do sometimes creep in.  Considering how many different routers that are supported a fix for one could have ill effects on another.  Most of the new development is being done on the next version, Barrier Breaker.  The last revision for Attitude Adjustment was R37729 which was done a few days ago according to the timeline.  I did an update and compiled last night, as soon as I can load and test it I'll publish it if I don't see any immediate problems.

Thanks jim fit your help. I'm grateful for it.
Ill be waiting for your post.

Sorry, posts 126 to 125 are missing from our archive.