Building & Contributing

Discussion in 'Tomato Firmware' started by shikkc, Dec 25, 2012.

  1. shikkc

    shikkc Serious Server Member

    Long time reader... first time poster... (do such dated introductions apply here?)

    I've used a few varieties of both tomato and dd-wrt over the years, and have gradually settled more and more on tomato. One of the main reasons is I find it much friendlier in terms of general community, and development. Being a developer myself, I've tinkered and made some minor modifications to my own builds, and I feel I'm nearing a point where I would like to release some of these. This has led me to some (fairly unrelated) questions.

    1) The more technical question: Being in china, I have access to several kinds of cheap hardware and have been doing testing on a few different units. I've wanted to run tests on the ZTE H618B/H118B as well, but have been unable to make a build that will work on this unit. I *believe* my mistake to be that I know how to do K24 builds, and K26RT-N builds, but not how to do a regular (non N) K26 build? Of course I may be totally out to lunch as to where I'm going wrong as well. Symptoms are that the test units nvram functions do not work, and there is no wireless.

    2) The more social question: I'm not sure what the proper steps and correct etiquette are for submitting my own patches and/or releases. I've seen older (>2 years) posts by Toastman that led me to think submitting my own branch is the recommended course, as opposed to submitting patches to someone elses, even if my branch is based on theirs? Is this correct? Basically any guidance would be appreciated.

    3) The possible faux pas question: I've noticed many laments about the status of DualWAN. Being a native english speaker, and also fluent in chinese, I thought perhaps I could help bridge this gap in one way or another. But I'm not sure that's desired by parties on either side? Alternately, wanting some of this functionality myself I may just elect to create my own patch set that provides it in English. While I do have one polish speaking friend, I'm not sure his technical skills would be up to translating for that end of the community (apologies). Also, is there any general interest in having a translation project? I think Tomato would take off huge in Korea if there were a good translation, for example.

    My apologies to the mods if I should have started separate threads for these questions and it all results in mass chaos. Thanks in advance for any help with any of these. :)

  2. mstombs

    mstombs Network Guru Member


    nvram and wireless not working is typical of new platforms, need the right drivers for flash and wireless chips. Similar problems with switch ports, buttons and Leds.

    Those that know how to use Git would be fine in you publishing your own branch, there is no overall project lead at the moment but Shibby is the pace-setter for new hardware, and Toastman certainly knows how to take on/ merge in the changes/ enhancements.

    Biggest gripe at Chinese dualwan is that is that the author also knows how to pull from git but abuses the GPL by not publishing his sourcecode. I hate the fact he has an md5 sum to make it awkward to use the "firmware mod kit" change the web interface, if the check fails the router crashes. Three years ago I used this script to repair the checksum, I guess the algorithm has changed by now, but another user just hexedited the rc binary to skip the check.

    #!/bin/sh -x
    cd $1/rootfs/www
    echo -e 68b39c1ea70f2cfa50af5a854287ab44>tomato_dualwan
    md5sum about.asp basic-network.asp status-overview.asp status-devices.asp status-data.jsx qos-settings.asp forward-basic.asp admin-access.asp admin-upgrade.asp logo1.gif | md5sum >> tomato_dualwan
    md5sum tomato_dualwan > file.dig
    rm tomato_dualwan
    cd $thepwd
    There are dual wan scripts for dd-wrt etc and it would be great to have an open development of tomato with 'multiwan' ability.

    Chinese dualwan also removes all English text from the web interface and some strings which come from http code. Not sure how Shibby has done his Polish language version but other projects create a database of strings, which means extra languages can easily be added/maintained and all use the same web interface code.

    Chinese dualwan author was not able to support an English version (language difficulties), but he also didn't want others to steal his code for commercial versions. He did give us the NoCat captive portal code, but still took a lot of work from Victek etc to integrate back into 'mainstream'.
  3. shikkc

    shikkc Serious Server Member

    Thanks for the response. I think this is not so much new hardware, as hardware very different from what I've been using. But I think I've already discovered my error. Embarassingly, I think I've bricked (it's dead Jim) three cheapo routers due to using building based from the wrong branch... :oops:

    Understanding Chinese mentality and the overall IT environment.... I guess I can see where the author is coming from. Not that I agree with it at all, but I can grasp it. I've managed to do dualwan manually with scripts and vlan easily enough, so I'll see if I'm able to write something worth sharing. That's currently a secondary objective though, as I have a few other more pressing features needed.

    I've seen many forks and such on git, and I do know how to pull, merge, and compile. I'm just less certain when it comes to the idea of publishing my own branch - and not even certain anyone cares about my changeset enough to warrant it. I suppose maybe as a starting point I could post a few builds for folks to try and see if anyone is interested in what I'm doing. Right now I guess the only thing of note is tinc integration as an alternative VPN.
  4. shikkc

    shikkc Serious Server Member

    Related to the development oriented bits... who do I talk to about getting push access for my own branch(es)? Is this the best place to look for contact or am I barking up the wrong tree?
  5. mstombs

    mstombs Network Guru Member

    Contact the originator of the tomatousb vpn git SgtPepperKSU there's an email address on, if pms here don't work - he was still active here earlier this year:-

    Tomato and IPSec, Why Not?

    There was some discussion of moving to github, and I see there is still an old version of tomatovpn there

    I am not up with 'git' so cannot comment on the relative merits, except inertia with keeping the git where it is! I also not sure on the expected longevity of the tomatousb site and forums since the creators/owners no longer seem to visit!
  6. Toastman

    Toastman Super Moderator Staff Member Member

    tomatoUSB forum is essentially dead, as mstombs said. What post are there are usually duplicates of what is on here, and having stuff split between two websites is making it hard to respond.

    I don't think that the present bunch of developers want to move to github. I personally like the simplicity and functionality of the site.
  7. shikkc

    shikkc Serious Server Member

    I tend to not check the tomatoUSB forum just by virtue of the seriously buggy, broken, vunerable mess of javascript that makes it impossible for me to navigate it. :)
    I've sent a messsage to SgtPepperKSU, hopefully he'll have time to check it out.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice