Programing for new device

i have more then router
and they not supported by openwrt
and there is no good explnation about it
look at wikidevi because i can't post links

Huawei_HG532e
Huawei_HG531_v1

ZTE ZXHN H118N (HW ver 2.3)
Main board: ZXV10 H108La / ZXHN H118Na
CPU: Realtek RTL8676S @450MHz
Flash: Winbond W25Q128FVSG (16MB)
RAM: RTL8676S (int. SDRAM 32MB)
WLAN: Realtek RTL8192ER 2T2R

the flash 16 and ram 32
i did try to post in the old forum but there was no good answer for any thing
so i was hoping that some one here explan to my few things

1 why it's not supported
2 what is the steps to mack it supported
i am a programer (php-c# -vb-c++)
and i don't understand the programing of router devices

what language they use what ida what editor how to download a copy of openwrt and try to make it to work with a new device howwwww? i really hope some one get what i mean
and why i need it because those routers are locked to work with one isp and the firmware is a disaster

Developer Guide

For a device having only 32MB RAM it does not make much sense to do new development of firmware.

1 Like

to "reinerotto"
Sufficient RAM for stable operation
32MB min, 64MB better
to "mbo2o"
what language they use what ida what editor how to download a copy of openwrt and try to make it to work with a new device howwwww?

vb and c# has visual studio to code and test and build
php you can use notepad and test on apache server
router or openwrt ?????????????????

thank you all but please make your answer longer and explain more

The developer guide is where you should start reading
https://openwrt.org/docs/guide-developer/start

Installing Build System
https://openwrt.org/docs/guide-developer/build-system/install-buildsystem

Using Build System
https://openwrt.org/docs/guide-developer/build-system/use-buildsystem

Just do a test build for any device first.

Or have a look at this quick start
https://openwrt.org/docs/guide-developer/quickstart-build-images

It is recommended that you use a Linux distribution (for example Debian)

1 Like

Source

mbo2o look
your a developer in this kind of systems but i am not
so that is way i mentioned the php c# c++ to give you the kind of systems i used to work with
the question here is are you familiar with any of those language
did you use php before or c# or visual studio ?? if you don't then i don't think you can help me
because you can't understand what i mean by editor compiler etc...

but if you used it before and that is your suggestion to install it on pc first well
tell me the steps and i will do it but i still don't know the language or the editor or compiler or anything so try to explain it to me in way that i can understand and at least know what to search for you get it

anyway i used ubuntu sometimes but tell me what do you recommend Debian is better ?
install Debian then what how to install openwrt on pc and after it what next ?

and i really appreciate your time and effort thank you very much

Hi @harvey_84

I haven't done any development on openwrt. It is a very large project, your in for a lot of reading.

If you haven't got time to read the development guide and have a quick browse of the git repo then you should re-think taking on this challenge.

C 62.1%
Makefile 16.3%
Shell 7.8%
C++ 6.2%
Roff 3.4%
Perl 2.1%
Other 2.1%

!!!! why you tring to answer !!!! you can't!!!

i have no idea about what you just said
well
i know c and c++ and perl and i don't know git-repo and i have the time
but the thing is thank you ,you can't help
clearly you aren't familiar with developing and programing with php or c# or vb or c++ or any visual studio
or web development that's why you're avoiding the questions
anyway thank you
could anyone please read the posts and answer all of my questions
any one that understand what i mean routers use systems like any other device and there mast be a tools and os and things like visual studio and Apache24
language that they use like php or c# etc ....
and there must be a steps to create firmware for a new device using openwrt system
building it on pc or what i don't know and that's why i am asking but please agine anyone who answer me don't ignore any point and explain step by step and don't answer if you don't know
and thank you all

You need gcc, binutils, bzip2, flex, python, perl, make, find, grep, diff,
unzip, gawk, getopt, subversion, libz-dev and libc headers installed.

AND

C 62.1%
Makefile 16.3%
Shell 7.8%
C++ 6.2%
Roff 3.4%
Perl 2.1%
Other 2.1%

Use any IDE you are familar with, I like vi

You should think of openwrt as a Linix distro that specialises in routers. It is a lot of C code and Makefiles and Scripts etc to build all the bits to make a complete distro. In the end you have a firmware image that you install on your routers flash. You can add all sorts of packages that others have built or make your own. Anything you build is going to be cross-compiled using GNU toolchain.

It is recommended to use a PC with a Linux Distro or MAC to develop and build. If your new to Unix like systems maybe learn that first.

I haven't given a simple answer, because this is not a simple project. You are going to need to make an effort to learn a few ( actually a lot ) of new things.

Be patient it is going to take you weeks and months.

Maybe buy your self a used router that is supported by openwrt. I picked up a Netgear WNDR3700v2 for $10 and I am using it to experiement and learn. I haven't done any development yet but once I have finished my learning process I will. For now I am trying to understand the build system and have made a few practice builds to make sure my build/development enviroment is setup correctly. FYI I am using archlinux but Debian or Ubuntu are better recommendations.

Good Luck.

Don't be afraid to read and gain some knowledge

EDIT:

Forget about using Visual Studio on Windows that would be a nightmare.
If you like Visual Studio you could use Ubuntu and Install Visual Studio Code on your ubuntu system for example. As far as building it is just a "make" you could setup whatever IDE you like to run make. I prefer to build from the command line.

You can find Ubuntu here
You can find Visual Studio Code here

I hope you find that helpful,

@harvey_84, As it doesn't seem like you've got a lot of experience with OpenWRT, and my apologies if that is not correct

32 MB (RAM) devices are insufficient for general use

https://openwrt.org/supported_devices/432_warning

Note that the 4/32 warning is, itself, outdated. You should expect that a 32 MB device will not be stable in use, and that it will be dropped from support without warning in any future version, and that it will not receive, nor will it be able to accept security updates for the kernel, drivers, or any application code.

If you still want to pursue porting OpenWRT to this obsolete, inadequate device, you will primarily be working with Linux kernel code. This will require knowledge of C and use of git.

There is no "standard" IDE for C code. Many use straight text editors. Some use Visual Studio, CLion, or the like, but the advantages for the Linux kernel code base are relatively small, especially as it isn't built as a cmake project.

You will need a functional Linux-based OS as your build machine. You will need to follow the directions you have been given. Until your skill set is sufficient to install basic development tools on a Linux-based OS, it is unlikely that you will have any success either building or debugging a build for your device. Anyone you interact with in a kernel-level development community will expect that you have basic skills with the OS and its tools.

You have been given the links for how to install the build system above. If you do not have the skills to follow them, you should seek out a "Linux for beginners" forum, or otherwise gain those skills. Specific questions are one thing, asking to be led through a "standard software install" is another.

the last one is right
Anyway
RTL8676 is some old Lexra cpu core, there are some MIPS commands missing, which must be emulated.
you out of luck here.

Lexra is not supported directly by gcc like MIPS, ARM, x86 etc. are. This means that even compiling the first line of C code requires a lot of modification to the system.

Also Realtek does not have good open wifi drivers.

first thank you all
@mbo2o,@jeff
You should think of openwrt as a Linix distro

that explain a lot
i didn't deal with Linux much but i know the basics and i have some skiles

and to clear some things i have a linksys router that is supported by openwrt
but the manufacture firmware is good so i didn't think to change it it's my mean router
i don't want to experiment on it you get it

those router above
they are locked to work with one isp and a lot of things locked so it's worthless
that's way i want to experiment on it

i know that 32mb for openwrt is the min but any openwrt version would be better than this
so i thought since it Linux distro i can download the min version of it and with a few edit i can make firmware to my router

like the ubuntu i can install it to any device that has the minimum requirement

and i also thought that editing the openwrt distro to work with my router won't be hard since i have
knowledge of c and c++ and c# and perl
even if it require to learn something new it won't be hard
so the good question here can i make openwrt to work with any router from the above

if yes then tell a way to start
if no then how i can extract the firmware from my router and edit it or any solution?

and thank you all for your time
i appreciate it
thank you

Hi @harvey_84,

Although you can find the Openwrt firmware for many devices, it is not available for all (any) device.

The reason being the hardware is not standard like your X86 PC. For example not all the wireless radios have drivers available for linux. There is a variety of CPUs and SOCs in use by all the manufacturers and models been made. They may be part of the MIPS and ARM architecture, but not all are fully supported.

The short answer is your goal of recycling your ISP routers is great but unfortunately they are not currently supported. Which simply means you won't be able to install Openwrt on them at all.

If you are still interested in trying Openwrt try and find another supported router to work with.

@mbo2o
you mean no way i can make openwrt for those routers?
doesn't matter the skills or even to make a copy for min use?

is there a way to extract the firmware and edit it ? any solution

No, you would need to build it from source. Binary executables "can't" be just "edited".

1 Like
  1. You have been told already:

For more explanation, see: https://openwrt.org/supported_devices/432_warning

  1. You have been told already:

Visual Studio is a Microsoft language.

Please do not insult those who respond to your thread.

Why?

Then, flashing OpenWrt on your device is not for you.

IF YOU'RE WILLING TO DO THE WORK YOURSELF, THEN YES.

You have been told:

I took time to customize the answer so you'd be likely to say: "OK, I UNDERSTAND." Not due to anger.

Did you get how to install the OpenWrt firmware on your device or not, though?

My mother is a human.