Broadcom drivers and kernel 3.x

Discussion in 'Tomato Firmware' started by cobalt553, Aug 4, 2013.

  1. cobalt553

    cobalt553 Reformed Router Member

    I had to give up Tomato recently on my 200Mbps fibre because the firmware couldn't keep up with the routing speed. Surprisingly the E3000 ran fine on the development copy of OpenWRT and were able to keep up on routing. I dug around their development site and found that they are also using proprietary Broadcom drivers.

    The specific driver version that they are using is and it was compiled into kernel 3.10:

    Is there something that they are doing differently to allow these drivers to be used on newer kernels? It'll be nice that Tomato can move forward to these newer kernels and keep up with fibre broadband.

    Victek, asterger and darkknight93 like this.
  2. Mangix

    Mangix Networkin' Nut Member

    A few problems...

    Those drivers are wireless drivers. The Ethernet stuff is handled by other ones.

    The other thing is that that driver version is old. Current versions of tomato use

    Yet another thing is that by default, OpenWRT doesn't even use them at all! OpenWRT instead uses open source drivers to provide support. I could be wrong on this point but I believe that is what allowed OpenWRT to start supporting the newer Linksys routers.

    As for tomato and newer kernels, it's too much work. Meaning it won't happen. Although it would be interesting to take OpenWRT as a base and port the tomato user interface to it.
  3. Victek

    Victek Network Guru Member

    Main problem for Tomato achieving >140-190Mbps WAN-LAN is not kernel upgrade, if you add some features (QoS, BW Lim, ...) with same features in Openwrt then your bandwidth will be drowned too..
    cobalt553, good information, thanks!
  4. cobalt553

    cobalt553 Reformed Router Member

    That maybe true but you can select the "Broadcom proprietary wl" drivers and it'll compile. There's a community build that uses just that and was tested working on the RT-N16.

    I researched the forum here and I disabled everything that I could to get maximum speed, but unfortunately it was still well short of 200Mbps. If it is not newer kernel that contributed speed improvement, is there an implementation difference with iptables? With QoS disabled, I see nothing in the mangle table and Tomato iptable chain list is a lot shorter. But routing speed is still not fast, compared to OpenWRT with more than 10 chains in the filter table.
  5. Victek

    Victek Network Guru Member

    Just test simple, type ps or top command in Tomato and compare the number of process and the CPU load at high speed traffic, while Openwrt is less than 26-40% at 200Mbps WAN-LAN Tomato is 98-110%'s a different approach based in the best module management done in Openwrt. And of course, kernel helps a little too but the key are driver modules.
  6. Mangix

    Mangix Networkin' Nut Member

    With tomato you can enable Cut-through Forwarding. It might help at the expense of breaking QoS, IP Filter, and maybe something else...
  7. Victek

    Victek Network Guru Member

    I just saw Ethernet driver for kernel 3.x .. might be two-three months job... the "" it's still wireless drivers (5GHz) for 3.x kernel.
    I'll start to play ...
  8. Elfew

    Elfew Network Guru Member

    I hope it will works! Good luck
  9. cobalt553

    cobalt553 Reformed Router Member

    Is it actually possible to port Tomato web interface and the qos code over to OpenWRT? Both uses the same Linux based operating system, iptable nat and tc for qos.

    OpenWRT has a very basic qos interface. It can surely enjoy the expertise and coding experience of Tomato devs. In return, Tomato can run on top of an OS that is able to handle faster nat traffic.
  10. Victek

    Victek Network Guru Member

    The base for gui in both firmware is different, tomato relies in javascript and ajax while openwrt relies in lua.
  11. Elfew

    Elfew Network Guru Member

    but it sounds amazing :) I hope that Tomato will be in future on new kernel 3.x.x and the problem with limited speed will be solved. It is a challenge! I think it needs to merge the free time and knowledge of developers and cooperate together.
  12. Victek

    Victek Network Guru Member

    Migration to a new kernel it's not a 'Hi goodies.. drink some beers I go to migrate kernel 3.x!', so I apologize if my words sounds 'funny', it's not my intention.

    The WAN-LAN bottleneck can't be solved with a kernel migration, the issue is related with many other modules and Tomato skeleton. The reason for my attempt is... If have to find the problem starting from a very basic configuration (Jon Zarate 1.28 vanilla version) I can try to upgrade kernel at once. ;)
  13. Elfew

    Elfew Network Guru Member

    I understand. So what is the main problem which causes these limitation in spees and performance (high cpu peaks etc).

    Odesláno z mého GT-I9000 pomocí Tapatalk 4
  14. The Master

    The Master Network Guru Member

    Hello, here is my TOP Result from a N-16 non OC @latest Toastman (Yeah i know not Victek sorry), as you can see "sirq" use all the CPU Power (60-99%). [​IMG]

    Cablemodem @DL100/UP10Mbit
    Get this with Steam,Torrent, normal http DL and so on.

    So what is sirq?

    I do not use qos or usb....

    Only thing i use is the bandwith monitor and thats the only thing i realy nead. So Hopfully this is not sirq :(

    I hope i could help you. If not SORRY.

    have a nice day.
  15. Victek

    Victek Network Guru Member

    The Master, If you disable BW monitor (the logging side) you'll save -20% in sirq ... ;) information about sirq, yype 'sirq cpu' in google .. you have hundred pages of information .
    In fact, any module adding a filtering in network packets increases the load.
  16. koitsu

    koitsu Network Guru Member

  17. RMerlin

    RMerlin Network Guru Member

    Oversimplified: sirq is a Soft IRQ. This is the moment the CPU stops whatever it was doing, and takes care of checking what data is waiting on the Ethernet port, reading it, and writing it into memory so it can be used by the rest of the firmware. On a gigabit port this can be quite CPU-intensive.
  18. cobalt553

    cobalt553 Reformed Router Member

    Sorry to hear that. The great thing about Tomato is the webui and the qos system. The base system is Linux, like the other 3rd party firmwares. Instead of seeing it as "kernel upgrade", it'll be nice if the UI and QoS can be migrated off to another "base system", and let go of the legacy modules and components.

    It'll be nice to see Tomato having a future and thriving in fibre broadband.
  19. Victek

    Victek Network Guru Member

    I don't see the 'fiber broadband' and data/packets process with up to now market devices. The trend already seen in latest Broadcom (RT-AC56U) and Qualcom-Atheros (DGL5500) chipset devices aims to split data/packets stream into dual/quad core CPU's to sort the problem and handle services demanded to home devices (NAS, VoIP, VPN, IPTV, HRSW, Remote Services...) into independent threads (cores), and consequently this amount of data requires 'high broadband media'.

    I think the problem is not only related to Tomato firmware (and it's not an excuse), other third party firmwares using proprietary drivers have to sort the same future or .... some brand wanting to grow business is reading it? ;)
    Last edited: Aug 10, 2013
  20. ceckin

    ceckin LI Guru Member

    If you change the architecture, there's no point in calling it Tomato anymore.
  21. The Master

    The Master Network Guru Member

    Hi Victek,

    i Disabled the Webmonitoring. Now i have only 70-95% CPU Usage, thats HIGH but ok.

  22. Toastman

    Toastman Super Moderator Staff Member Member

    The Tomato GUI can not bu used on top of another OS without the express permission of Jonathan Zarate. It is not open source.
  23. Victek

    Victek Network Guru Member

    Please disable all superfluous services you don't use, iptraffic, Ports monitoring, log files, .. just leave the basic services...any service monitoring data traffic or packet examination is linked to sirq ...
  24. The Master

    The Master Network Guru Member

    THX Victek its ok now (for me).

    I get 105Mbit Down/9,65Mbit Up.

    But i have one Question. What runs on Tomato with Hardware CPU Power?! It seems to me that ALL Funktions from Tomato are running under Software.

    Victek likes this.
  25. cobalt553

    cobalt553 Reformed Router Member

    Interesting statement, but what's the "architecture" that makes it "Tomato"? From what I see, it is Linux in an embedded system, modified from the original WRT54GL. What makes it "Tomato" for me is the web UI and the unique tc for qos.

    A very fair and valid point. This makes discussion about migrating the UI moot.
  26. PeterT

    PeterT Network Guru Member

    But surely if someone wanted to, they could design a new UI with the same look and feel as Tomato.
  27. Victek

    Victek Network Guru Member

    After seven year after first Tomato I think many thing can be improved but what gave Tomato the approval and like from users was the solid operation/stability.

    Not all functions, for instance L1 layer is embedded in the hardware (swich).The functions not embedded in the hardware device (i.e. L7 filter, iptables rules) need to be translated and processed by the CPU.
    Last edited: Aug 10, 2013
    The Master likes this.
  28. ceckin

    ceckin LI Guru Member

    Its small, agile firmware for basic users. Yes there are a lot of modifications that add a lot of features, but the main idea is (always was) a small, stable and really fast firmware supporting a lot of devices. Kernel 3.X would bring only problems (as Broadcom drivers barely became stable on 2.6). I think there should be a branch for high-performance routers that can handle more functions, but that's just me.
    ryzhov_al likes this.
  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