OpenWrt Forum Archive

Topic: Linksys WRT610N

The content of this topic has been archived between 6 Feb 2018 and 1 May 2018. Unfortunately there are posts – most likely complete pages – missing.

I tried dd-wrt 2.4 version and it was unstable and afaik these reported unstabilities are only issue on 2.4 - if I remember it correctly, it was because of wifi and the problem was on the dd-wrt software, not in kernel module itself.. (as it was taken from the original firmware)

jake1981 wrote:

I tried dd-wrt 2.4 version and it was unstable and afaik these reported unstabilities are only issue on 2.4 - if I remember it correctly, it was because of wifi and the problem was on the dd-wrt software, not in kernel module itself.. (as it was taken from the original firmware)

Ok, that sounds promising. I will check the licensing etc. and if all is OK, I will postpone my (very slow :-( ) work on 2.4 and move to 2.6 instead then. Thanks for the hint!

Check these:

http://svn.dd-wrt.com:8000/dd-wrt/ticket/867 shared.zip - contains some drivers
http://svn.dd-wrt.com:8000/dd-wrt/browser/src/wl/wl dd-wrt svn directory holding different drivers for wl (binary)

http://svn.dd-wrt.com:8000/dd-wrt/brows … 23/brcm/wl This is what you must be looking if you search for intel in 2.6 wl..

copyright? Try this one: http://svn.dd-wrt.com:8000/dd-wrt/brows … sys/README - although - I don't understand where they've got this..

This is only SVN entry so far that I found concerning these files.. Nowhere it explained where they are from, although, does it matter if previous link contained necessary copyright for those files and if they work..? http://svn.dd-wrt.com:8000/dd-wrt/changeset/13663

And.. Here's another: http://svn.dd-wrt.com:8000/dd-wrt/changeset/12707

I got to say, boys at dd-wrt have gone far.. But their system is very difficult to understand, as it's hard to find anything from their site and even if you find something, I bet it ain't documented smile

EDIT: I contacted brainslayer of dd-wrt with e-mail with inquiry about origin of these drivers.. Don't know if he answers or is very interested of sharing for openwrt but we'll see..

(Last edited by jake1981 on 16 Feb 2010, 17:53)

I was replied.. I here quote him to fill in some gaps..

i contributed back the wireless drivers for 2.4 kernels back to openwrt a long time ago which are also supporting the WRT610 series. for 2.6 kernels you have to delete the whole openwrt 2.6 kernels and to use ours, since we are not using the opensource wireless drivers and mac80211.
the everything required for supporting the 2.6 propertiery drivers is not included in openwrt. but feel free todo anything you want. the sources for my 2.6 kernel is published as well as the binaries for the broadcom drivers

This means that we need to use kernel from dd-wrt, we can forget about openwrt specific modules that might not be available for dd-wrt and so on.. But I think this is a starting point; my wrt610n is in the box and ain't being used.. Maybe someday brcm4322 is backported and available, but not today..

Next, I asked about origin of these drivers..

i have a NDA signed with broadcom since a long time (like i have with atheros, marvell, realtek and ralink). originally broadcom supplied only the 2.4 kernels. but the latest driver versions contained already 2.6 kernel support and together with a patch supplied from cisco i was able to
create the 2.6 kernel with support for mainly newer devices, since broadcom supports only them on 2.6. the rest was homebrew work. i simply added kernel support for older devices. the driver itself did already support older chipsets.
the driver contains also some home modifications for noack and acktiming support etc. as well as some regulatory changes to allow ht40 in europe
consider that you need also todo evil hacks to get the switch to work with the tigon / robo switch driver

Hope this information gets us somewhere..

jake1981 wrote:

copyright? Try this one: http://svn.dd-wrt.com:8000/dd-wrt/brows … sys/README - although - I don't understand where they've got this..

Unfortunately, this is not a license. I searched hard, and haven't found any so far.

BrainSlayer has NDA with Broadcom, but that might allow distribution of binaries with DD-WRT only. I have no idea if redistribution outside of DD-WRT is permitted. We might ask Brainslayer about the license, but there is not much reason he should care. We should probably ask Broadcom directly, what is and what is not permitted with the binaries...

Considering we are successful in integrating these drivers to OpenWRT, it would be sad to get stopped by Broadcom legal department at the end :-(. Although, as Broadcom does not care much about redistribution of binaries from linksys firmware, I don't think this should be a problem either...

I think you definetly should contact brainslayer, he wrote me again and has been very helpful and thorough with every question I've so far had, he just wrote me that he thinks that our problem is that they use 2.6.23 which he considers stable (he had troubles with newer kernels) - and as we only get a binary.. Actually, I'd better to quote him again as following information propably is pretty much crucial while creating openwrt wrt610n image..

the problem is that i dont think that you get such a change merged to the openwrt upstream. the philosophie of openwrt is that everything must be opensource and the broadcom wireless driver for dd-wrt is not opensource in any way (which is not my fault for sure)
and our used kernel is also far back behind openwrt. we are using 2.6.23 which is a stable kernel for me which makes no issues. (i had too many issues with newer kernels, so i decided to stay on it until there is a real reason to change)
the 2.6.24.111 version number has a curious background. since we backported alot of napi changes from newer kernels so we needed to change this number to get driver sources to compile since the newer napi api was introduced in 2.6.24
so in fact is a 2.6.23 with alot of backports, hacks and changes.

I'll ask him about the license..

We had this conversation about license/right to use it..

>I was needing to ask you about license for those drivers, because people working on this are concerned about legal issues while using these drivers - I quoted you on >the forum and they were worried that it might be that license only applies for dd-wrt firmware and that's it. I promised that I would still bug you with this issue and ask >about legality of using drivers in openwrt firmware..
 
its propertiery. so i'm not allowed to publish any sourcecode of it. but anyone is able to take my binaries. but effectifly its not my license. its broadcoms. so i'm not sure if i can really answer the question truthfully.
so its your decision which way you go. i cannot give you any guarantee. but as in the past as we where taking linksys binary drivers for the 2.4 kernel nothing would have changed. so basicly the same license applies as for the binary drivers within the 2.4 kernel
but something must be also considered. my main interest is in developing dd-wrt and not openwrt. so i can give some help. but i have also to look on my side, since i want for sure  that dd-wrt is used by as many people as possible. even if its free for these devices

So - look for the license can be forgotten - it's not available. And what comes to legality issue here.. It's just as he said. We need to think and decide if we can say that same license applies which was for broadcom 2.4 propertiery drivers. It's not us to decide if it is so, but most likely - broadcom does nothing about this - and that is as close as we get to a proper license.. I cannot say anything to this, as I own such device and because of that I would love to get it working with openwrt.. So I don't think I have an objective view to this issue - but on the other end - from all people who are interested and/or caring.. Most propably none of these people do have..

So.. Should there be a poll or should someone just say it out loud that we/him/her takes advantage of previous license and connects it to this driver?

jake1981 wrote:

So.. Should there be a poll or should someone just say it out loud that we/him/her takes advantage of previous license and connects it to this driver?

Well, we can take polls all we want, but that does not mean we can do whatever we want with someone else code without their permission. The only correct way would be to ask Broadcom's legal department.
But before doing that, I would like to play with the code a bit to get a feel of what would it mean to get it working on WRT-610N. As Brainslayer stated, it probably won't be easy...
I have pretty good idea what needs to be done for 2.4 kernel, and it's just because of lack of time I haven't got anything working yet. For 2.6, I have no idea so far whether at least wired net would be working or not. I will try to spare some time soon to get a better picture and report back.

BTW, thanks a lot for the info from the DD-WRT world, its quite interesting :-).

RobertD wrote:

Hi
Add the follow code to the Makefile at "target/linux/brcm-2.4/image/Makefile" and you get a working image.

$(call Image/Build/CyberTAN,$(1),wrt610n_v1,610N,1.0.1,$(patsubst jffs2-%,jffs2,$(1)))

Should this be added where in that file? jffs2-64k or jffs2-128k ?
If I want to produce image with 2.6 kernel, should I put this aswell into a file "target/linux/brcm47xx/image/Makefile" or does this work with 2.6 aswell (I see there's ifeq for kernel 2.6 concerning wgt634u image)..

I started to build my own openwrt image for wrt610n - I used svn to fetch kernel sources used in dd-wrt image. I first thought about changing existing brcm47xx target, but then I decided to duplicate it and make target/linux/wrt610n - There I changed kernel version to 2.6.23 - and made it to use svn directory (trunk/dd-wrt) for dd-wrt kernel as kernel directory.

To get as far as I gone, there were many other obstacles as well, but now I am in the phase where make should compile kernel for mips brcm target.
I have made some documentation so these problems might later on be fixed automaticly to ease this up for wrt610n image creators instead of doing it manually.

Anyway, this unfortunately fails:

make[5]: Entering directory `/usr/src/wrt610n/trunk/dd-wrt'
  CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  CALL    scripts/checksyscalls.sh
  CC [M]  drivers/net/bcm57xx/./linux/b57um.o
In file included from /usr/src/wrt610n/trunk/dd-wrt/brcm/include/osl.h:40,
                 from drivers/net/bcm57xx/./linux/b57um.c:24:
/usr/src/wrt610n/trunk/dd-wrt/brcm/include/linux_osl.h:162:1: warning: "printf" redefined
In file included from drivers/net/bcm57xx/./linux/b57um.c:20:
drivers/net/bcm57xx/./linux/mm.h:613:1: warning: this is the location of the previous definition
drivers/net/bcm57xx/./linux/b57um.c: In function 'bcm5700_start_xmit':
drivers/net/bcm57xx/./linux/b57um.c:2281: warning: unused variable 'iph'
drivers/net/bcm57xx/./linux/b57um.c:2280: warning: unused variable 'th'
  CC [M]  drivers/net/bcm57xx/./linux/b57proc.o
  CC [M]  drivers/net/bcm57xx/./linux/b57diag.o
  CC [M]  drivers/net/bcm57xx/./sys/tigon3.o
In file included from /usr/src/wrt610n/trunk/dd-wrt/brcm/include/osl.h:40,
                 from /usr/src/wrt610n/trunk/dd-wrt/brcm/include/bcmutils.h:59,
                 from drivers/net/bcm57xx/./sys/tigon3.c:18:
/usr/src/wrt610n/trunk/dd-wrt/brcm/include/linux_osl.h:162:1: warning: "printf" redefined
In file included from drivers/net/bcm57xx/./sys/tigon3.c:16:
drivers/net/bcm57xx/./linux/mm.h:613:1: warning: this is the location of the previous definition
  CC [M]  drivers/net/bcm57xx/./sys/autoneg.o
  CC [M]  drivers/net/bcm57xx/./sys/5701rls.o
  CC [M]  drivers/net/bcm57xx/./sys/tcp_seg.o
  LD [M]  drivers/net/bcm57xx/bcm57xx.o
make[8]: *** No rule to make target `drivers/net/wl/../../../brcm/wl/linux/wl_ap.o', needed by `drivers/net/wl/wl.o'.  Stop.
make[7]: *** [drivers/net/wl] Error 2
make[6]: *** [drivers/net] Error 2
make[5]: *** [drivers] Error 2
make[5]: Leaving directory `/usr/src/wrt610n/trunk/dd-wrt'
make[4]: *** [/usr/src/wrt610n/trunk/build_dir/linux-wrt610n/linux-2.6.23/.modules] Error 2
make[4]: Leaving directory `/usr/src/wrt610n/trunk/target/linux/wrt610n'
make[3]: *** [compile] Error 2
make[3]: Leaving directory `/usr/src/wrt610n/trunk/target/linux'
make[2]: *** [target/linux/compile] Error 2
make[2]: Leaving directory `/usr/src/wrt610n/trunk'
make[1]: *** [/usr/src/wrt610n/trunk/staging_dir/target-mipsel_uClibc-0.9.30.1/stamp/.target_compile] Error 2
make[1]: Leaving directory `/usr/src/wrt610n/trunk'
make: *** [world] Error 2

I need some help here as kernel build process is very complicated and I am a bit lost here smile
I am pretty sure that as other people can't yet reproduce my problem since I didn't supply them enough information to create exactly the same environment but I am here trying my luck if someone knows what this is about..

I contacted BrainSlayer and he assisted me that wl_apsta must be used. Although I changed configurations, I wasn't able to select it as driver target - therefore I made a dirty hack to sources to force it to choose wl_apsta as target and now I have been able to compile kernel. Yet, there is no driver in the image as I haven't made it a package so it won't be installed to the image. Also there are some other problems as well, even though I would be able to succesfully create a image, there's a possibility that it won't be bootable at all simply because there might be problems with the init scripts and as I don't have a serial connection or tools/parts/skills to add one I cannot debug this. But I'll give here my best shot and maybe publish my progress here so someone else can take then care of parts that I maybe cannot do anything about until device is accessible via telnet/ssh..

I made a package bcm53xx that later on should be split, it holds drivers for both wired and wireless.
Then I included it in my build and was able to build a image.

I upgraded through dd-wrt's webinterface and image should be compatible, atleast it was reported as one. Unfortunately it's not bootable, or might be, but I don't know how far it boots and what is the problem as my wrt610n does not have a serial.

Image is 2,2mb. Anyone WITH a serial interested in debugging this issue? Caution; this WILL cause your router to go into non-booting state. Although, there's guide on dd-wrt's wiki on how to install dd-wrt or stock firmware back on it (management mode via reset button).

jake1981 wrote:

I made a package bcm53xx that later on should be split, it holds drivers for both wired and wireless.
Then I included it in my build and was able to build a image.

I upgraded through dd-wrt's webinterface and image should be compatible, atleast it was reported as one. Unfortunately it's not bootable, or might be, but I don't know how far it boots and what is the problem as my wrt610n does not have a serial.

Image is 2,2mb. Anyone WITH a serial interested in debugging this issue? Caution; this WILL cause your router to go into non-booting state. Although, there's guide on dd-wrt's wiki on how to install dd-wrt or stock firmware back on it (management mode via reset button).

I have a serial cable and I can try your build, if you want. I can send you back output from the console, would that be enough for a start?

That would be great. But I have something other going on now - my router is a brick. Well not a brick, but I cannot enter management.. So I need a serial cable.

I bought a nokia dku-5 and tried to build a serial cable from that but I had no luck. It outputs gibberish, I connected this wire to a wrt54gs just to find out it still does the same thing. What I need now is a serial cable. Instructions on how to build one THE EASY WAY would be nice, or if someone is interested in selling me one of theirs (with 3.5mm audio plug as I bought bunch of jacks).

jake1981 wrote:

That would be great. But I have something other going on now - my router is a brick. Well not a brick, but I cannot enter management.. So I need a serial cable.

I bought a nokia dku-5 and tried to build a serial cable from that but I had no luck. It outputs gibberish, I connected this wire to a wrt54gs just to find out it still does the same thing. What I need now is a serial cable. Instructions on how to build one THE EASY WAY would be nice, or if someone is interested in selling me one of theirs (with 3.5mm audio plug as I bought bunch of jacks).

If you see gibberish in your terminal, your cable may be working ok. Non-working cable usually does not print anything.
Make sure your terminal is set up properly. For WRT610N, the proper serial port settings are 115200kbps, 8 bit data, no parity, 1 stop bit, no flow control.

I bought few more cables and one was succesful at it's job. I have salvaged my router. I also tried my own image, kernel starts booting and everything is looking good until it dies..

CPU0 unable to handle kernel paging request at virtual address 00000000, epc == 00000000, ra == 801770d4

But I am all exhausted of long working days and working with this and my serial ain't good yet (gonna make it better) so I am not going to be building images in a while if this just doesn't happen to be something simple..

Okay - Serial has been complete a while ago for now.. Also all problems with kernel have been solved..

Well mostly - There's no longer issues on booting it - nor any bigger errors or warnings - even bcm57xx.ko loads just fine..

Problem is that I cannot connect to anywhere - it won't ping anything and it also ain't pingable by anything..
Has anyone else had any more luck?

I am using dd-wrt's kernel and I have patched it with some patches like mini_fo and partition_names (ddwrt -> rootfs_data) and some other patches as well..
Help needed..

dd-wrt kernel uses changed if.h - this is why ifconfig doesn't work - toolchain should use dd-wrt sources as kernel headers. This is harder to accomplish as I thought - I tried to change target wrt610n Makefile, but still no luck. I also tried to change trunk/toolchain/kernel-headers, but still no luck. I have svn tree for dd-wrt's kernel at trunk/dd-wrt - how do I set up my system to get headers from there?

Probaby this website might be of help
http://www.dd-wrt.com/wiki/index.php/Development

svn co svn://svn.dd-wrt.com/DD-WRT (will retrieve everything from kernel to packages)

please correct me if I am wrong.

that sounds like there still no working open wrt for the WRT610N, is it?

Instruction to create a bootable wrt610n image:-

1) svn openwrt trunk and chdir to that directory.
2) extract wrt610n.tar.gz - this creates dd-wrt directory to trunk’s root and adds wrt610n independent target along
with kmod-bcm57xx package.
3) fetch dd-wrt kernel’s sources with svn from svn://svn.dd-wrt.com/DD-WRT/src/linux/brcm/linux-2.6.23
4) apply patches from target/linux/wrt610n/kernel-patches to kernel sources. One of patches needs to be done manually (don’t worry, it’s only change of one word (dd-wrt -> rootfs_data))
5) remove madwifi from kernel sources, as http://www.dd-wrt.com/wiki/index.php/Bu … rom_Source instructs. It’s in file trunk/dd-wrt/drivers/net/wireless/Kconfig. You need to edit it with text editor.
6) execute touch dl/linux-2.6.23.tar.bz2 in trunk (file must exist, even though we use external sources)
7) link trunk/dd-wrt/include/linux/config.h points to wrong location. Make it point to same folders file autoconf.h
8) DEBUG_FS is set on by default on openwrt build system - this must be set off or kernel won’t compile succesfully.
9) go to http://candox.co.cc/openwrt610n/wrt610n.tar.gz
10) i will update a git repos for the openwrt610n kernel 2.6 once i have done up the patch on my computer at gitorious.com

Good luck. These instructions won’t build a complete image, they build a bootable image.
There is no ethernet working or wireless properly working (actually, wireless scan for example IS POSSIBLE with binaries to software that performs the scan that are ripped from original dd-wrt image) - the main problem at this point is that dd-wrt’s kernel has different if.h and openwrt doesn’t use dd-wrt’s kernel sources as kernel headers - therefore uclibc and busybox get to compile incorrectly and ifconfig for example doesn’t work as there are wrong ioctls and so on..

This has been verified, I added dd-wrt’s busybox binary as /bin/busybox2 and made a link in /tmp to it with name ifconfig - and voila, it was able to define addresses and show interfaces - even so, I wasn’t able to ping to lan..

Hi guys, currently i am trying to build a workable image for wrt610n, I should be able to upload the customized trunk tree by the end of next Tuesday. I will link up the trunk once i am done. Currently there is  some issues with my configuration . Will fix it asap and hopefully this device could work.  Many thanks to jake1981 for contributing the instruction for the initial setup.  Lastly we really need guys to come and help. Please email if any is interested.

Hi guys, my very first openwrt image for wrt610n, i will tidy up the tree and upload asap.

1) http://candox.co.cc/openwrt610n/openwrt … uashfs.bin
2) can someone please help me do a test on this image. currently i only have 1 router at home, and the family depends on it for survival. soon when my mobile internet kicks in then i will be able to mingle with the router.

many thank to any kind soul.

leong wrote:

1) http://candox.co.cc/openwrt610n/openwrt … uashfs.bin
2) can someone please help me do a test on this image. currently i only have 1 router at home, and the family depends on it for survival. soon when my mobile internet kicks in then i will be able to mingle with the router.

I have a spare 610n that I was never able to get dd-wrt stable on (with both radios anyway), so I can try out your build. But I get a 403 permission error when I try to download it from your link.

Hi you can try to the get the image from this link
1) http://candox.co.cc/openwrt610n/
2) there are some log file and and my configuration file are all there.
3) currently there are the things that are working , the device is bootable, serial is working, led is working, networking for both wired and wireless are not working
4) i will upload the git repos by next week april 20 after i am done with my school work. :-)
5) instruction for reproducing my image is in( wrt610nReadme.txt, wrt610n.tar.gz)

problem that i am facing now
1) the image is suppose to be build according to Linux-2.6.24.111 but somehow it is build upon kernel 2.6.32 (please see openwrt610n.log)
2) I am facing an error in the Makefile within the dir of  ./target/linux/openwrt610n, (please see error.txt)
please help me take a look at the Makefile i have posted all into the website as stated above.
3) there is a log file do look through it might be useful.

many thanks

Sorry, posts 226 to 225 are missing from our archive.