Search code examples
openwrt

Compiling openwrt to include tc and netem


BACKGROUND:

I'm using a openwrt version patched by SEEMOO lab (germany) that enables the usage of 802.11ad standard (60GHz wlan or previously known as WiGig)

I'd like to have tc (traffic control) on my openwrt.

I cannot install it with opkg because the kernel version installed on my device does not match the kernel version required by the package I want to install (failed MD5 check sum) The problem being that I'm using a snapshot image.

PROBLEM:

Now I'd like to include tc package in the source code of my kernel (which I have access to) and compile a new kernel with tc included in it (the same way cat or ip are a priori included).

QUESTION:

I'm absolutely not used to compiling openwrt kernel. Could some one enlighten me with the required steps to add tc (traffic control) to openwrt source code and compile a new openwrt kernel ?

I'm at an impasse, the community's help will be truly appreciated.

Simoco, IRIT

P.S Kernel version: 4.4.92 OS version: 17.01.4

P.S 2 I'v checked the "creating package" wiki. I'm confused about where to get the .tar of tc and about the rest of the steps. Is this the right approach ?


Solution

  • One way is to follow SEEMOOs build instructions: this will build the image locally and give you control over to be included packages and modules (tc or sqm-scripts need kmod-sched* modules).

    After the docs talk about ".. if you need to refine your configuration .." you go into make menuconfig and select the additional specific packages beyond the defaults that were just copied to .config (you want to compare default.config with legacy.config first what to take as starting point). The instructions say which target image to use (ending in factory.bin) after the build completes.

    One advantage is you can go back to this process anytime you want to extend your image. To a disadvantage is the time it takes to compile the sources, and I guess that you're probably stuck on a hard-to-upstream, patched version.