Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 07c422a
Showing
59 changed files
with
14,121 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
tmp/ | ||
*.log | ||
*.tmp | ||
.* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
## What is this? | ||
|
||
This repo was a **unofficial** MediaTek feeds for [OpenWrt](https://openwrt.org "OpenWrt") or [Lede](https://lede-project.org). This project is experimental, and technical support will be limited. | ||
|
||
In OpenWrt/Lede, a [feeds](https://wiki.openwrt.org/doc/devel/feeds "feeds") is collection of software components (applications, libraries, kernel-modules, ...) that you can integrate into your OpenWrt/Lede system. | ||
|
||
## How can I use them? | ||
|
||
I assume that you already have a working OpenWrt/Lede workspace, then add the following line into "feeds.conf.default" (You will find it under the top dir of your workspace). | ||
|
||
src-git mtk https://github.com/Nossiac/mtk-openwrt-feeds;lede-17.01 | ||
|
||
then execute: | ||
|
||
scripts/feeds update -f mtk | ||
scripts/feeds install -a -p mtk | ||
|
||
Now you will be able to see extra packages via `make menuconfig`. All packages from this feeds are located under `MTK Properties`. | ||
|
||
## What do we have here? | ||
|
||
### mt7620/mt7610/mt7612/mt7628/mt7603/mt7615 | ||
|
||
These are prebuilt WiFi modules for OpenWrt/Lede. | ||
|
||
The following drivers are planned : | ||
|
||
* mt7620 (done) | ||
* mt7628 (done) | ||
* mt7610 (done) | ||
* mt7612 (todo) | ||
* mt7603 (todo) | ||
* mt7615 (done) | ||
|
||
Currently I only build them with latest stable branch of lede. | ||
|
||
### uci2dat | ||
|
||
An application that translates "/etc/config/wireless" into MTK's WiFi profiles (e.g. mt7620.dat). You may use it as an adapter to make MTK's WiFi drivers work with standard LuCi's WiFi management. | ||
|
||
### mtk-nvram | ||
|
||
The term "nvram" in MTK's software means a raw storage scheme on flash chips. It access flash device in raw mode (without filesystem). | ||
|
||
All data stored in nvram partition are "<Key>=[Value]" pairs. It usually resides in mtd partition "config". | ||
|
||
Note: OpenWrt/Lede has replaced nvram scheme with [uci](https://wiki.openwrt.org/doc/uci) long ago. I keep this for back compatibility only. | ||
|
||
### mtk-luci-plugin | ||
|
||
This is a plugin for LuCI web interface, which manipulate MTK's proprietary drivers by reading/writing its profile directly. It does not use uci, so "/etc/config/wireless" is left untouched. | ||
|
||
To use this, you should install LuCI first: | ||
|
||
scripts/feeds update | ||
scripts/feeds install luci | ||
|
||
Also we have a small tool called "web console" along with the plugin, it exposes root shell to the web interface, and sometimes you may need it. | ||
|
||
## Technical support? | ||
|
||
I do this in my spare time, so I cannot promise too much. Anyway, you are welcome to feedback any issues/bugs/suggestions/patches here. That would be helpful for MTK to improve what they are doing. | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
# | ||
# hua.shao@mediatek.com | ||
# | ||
|
||
include $(TOPDIR)/rules.mk | ||
|
||
PKG_NAME:=mtk-nvram | ||
PKG_RELEASE:=1 | ||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) | ||
PKG_KCONFIG:=NVRAM_MTD_NAME | ||
|
||
PKG_MAINTAINER:=Hua Shao <nossiac@163.com> | ||
|
||
include $(INCLUDE_DIR)/package.mk | ||
|
||
define Package/nvram | ||
SECTION:=MTK Properties | ||
CATEGORY:=MTK Properties | ||
SUBMENU:=Applications | ||
TITLE:=MTK APSoC nvram tool | ||
DEPENDS:=+libnvram | ||
MENU:=1 | ||
endef | ||
|
||
define Package/nvram/config | ||
source "$(SOURCE)/config.in" | ||
endef | ||
|
||
define Package/flash | ||
SECTION:=MTK Properties | ||
CATEGORY:=MTK Properties | ||
SUBMENU:=Applications | ||
TITLE:=MTK APSoC flash R/W tool | ||
DEPENDS:=+libnvram | ||
endef | ||
|
||
define Package/libnvram | ||
SECTION:=MTK Properties | ||
CATEGORY:=MTK Properties | ||
SUBMENU:=Libraries | ||
TITLE:=MTK APSoC nvram library | ||
DEPENDS:= | ||
endef | ||
|
||
define Package/nvram/description | ||
MTK nvram tool | ||
endef | ||
|
||
define Package/flash/description | ||
flash r/w tool | ||
endef | ||
|
||
define Package/libnvram/description | ||
MTK nvram library | ||
endef | ||
|
||
define Build/Prepare | ||
mkdir -p $(PKG_BUILD_DIR) | ||
$(CP) ./src/* $(PKG_BUILD_DIR)/ | ||
$(call Build/Prepare/Default) | ||
endef | ||
|
||
define Build/InstallDev | ||
$(INSTALL_DIR) $(1)/usr/include | ||
$(CP) ./src/nvram.h $(1)/usr/include/ | ||
$(INSTALL_DIR) $(1)/usr/lib | ||
$(CP) $(PKG_BUILD_DIR)/lib*.so $(1)/usr/lib/ | ||
endef | ||
|
||
|
||
MAKE_FLAGS += \ | ||
CONFIG_NVRAM_MTD_NAME=$(CONFIG_NVRAM_MTD_NAME) | ||
|
||
|
||
define Package/nvram/install | ||
$(INSTALL_DIR) $(1)/usr/bin | ||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/nvram $(1)/usr/bin | ||
endef | ||
|
||
define Package/flash/install | ||
$(INSTALL_DIR) $(1)/usr/bin | ||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/flash $(1)/usr/bin | ||
endef | ||
|
||
define Package/libnvram/install | ||
$(INSTALL_DIR) $(1)/usr/lib | ||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/*.so $(1)/usr/lib | ||
endef | ||
|
||
|
||
$(eval $(call BuildPackage,libnvram)) | ||
$(eval $(call BuildPackage,nvram)) | ||
$(eval $(call BuildPackage,flash)) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
menu "nvram Features" | ||
depends on PACKAGE_nvram | ||
config NVRAM_MTD_NAME | ||
string "mtd name for nvram" | ||
default "Config" | ||
endmenu |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
exe1 := nvram | ||
exe2 := flash | ||
lib:= libnvram.so | ||
libobjs := crc32.o flash.o nvram.o | ||
exe1objs := main_nvram.o | ||
exe2objs := main_flash.o | ||
|
||
CFLAGS += -Wall | ||
|
||
ifdef CONFIG_NVRAM_MTD_NAME | ||
CFLAGS += -DNVRAM_MTD_NAME=\"$(CONFIG_NVRAM_MTD_NAME)\" | ||
endif | ||
|
||
all: $(lib) $(exe1) $(exe2) | ||
|
||
$(lib) : $(libobjs) | ||
$(CC) $(CFLAGS) -shared -o $@ $^ | ||
|
||
$(exe1) : $(exe1objs) $(lib) | ||
$(CC) $(CFLAGS) -o $@ $^ | ||
|
||
$(exe2) : $(exe2objs) flash.o | ||
$(CC) $(CFLAGS) -o $@ $^ | ||
|
||
$(exe1objs): %.o : %.c | ||
$(CC) $(CFLAGS) -fPIC -c $< -o $@ | ||
|
||
$(exe2objs): %.o : %.c | ||
$(CC) $(CFLAGS) -fPIC -c $< -o $@ | ||
|
||
$(libobjs): %.o : %.c | ||
$(CC) $(CFLAGS) -fPIC -c $< -o $@ | ||
|
||
clean: | ||
-rm *.o $(exe1) $(exe2) $(lib) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
/****************************************************************** | ||
* $File: crc32.c | ||
* | ||
* $Author: Hua Shao | ||
* $Date: Oct, 2014 | ||
* | ||
******************************************************************/ | ||
#include <stdint.h> | ||
|
||
static const uint32_t crc_table[256] = | ||
{ | ||
0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L, | ||
0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L, | ||
0xe0d5e91eL, 0x97d2d988L, 0x09b64c2bL, 0x7eb17cbdL, 0xe7b82d07L, | ||
0x90bf1d91L, 0x1db71064L, 0x6ab020f2L, 0xf3b97148L, 0x84be41deL, | ||
0x1adad47dL, 0x6ddde4ebL, 0xf4d4b551L, 0x83d385c7L, 0x136c9856L, | ||
0x646ba8c0L, 0xfd62f97aL, 0x8a65c9ecL, 0x14015c4fL, 0x63066cd9L, | ||
0xfa0f3d63L, 0x8d080df5L, 0x3b6e20c8L, 0x4c69105eL, 0xd56041e4L, | ||
0xa2677172L, 0x3c03e4d1L, 0x4b04d447L, 0xd20d85fdL, 0xa50ab56bL, | ||
0x35b5a8faL, 0x42b2986cL, 0xdbbbc9d6L, 0xacbcf940L, 0x32d86ce3L, | ||
0x45df5c75L, 0xdcd60dcfL, 0xabd13d59L, 0x26d930acL, 0x51de003aL, | ||
0xc8d75180L, 0xbfd06116L, 0x21b4f4b5L, 0x56b3c423L, 0xcfba9599L, | ||
0xb8bda50fL, 0x2802b89eL, 0x5f058808L, 0xc60cd9b2L, 0xb10be924L, | ||
0x2f6f7c87L, 0x58684c11L, 0xc1611dabL, 0xb6662d3dL, 0x76dc4190L, | ||
0x01db7106L, 0x98d220bcL, 0xefd5102aL, 0x71b18589L, 0x06b6b51fL, | ||
0x9fbfe4a5L, 0xe8b8d433L, 0x7807c9a2L, 0x0f00f934L, 0x9609a88eL, | ||
0xe10e9818L, 0x7f6a0dbbL, 0x086d3d2dL, 0x91646c97L, 0xe6635c01L, | ||
0x6b6b51f4L, 0x1c6c6162L, 0x856530d8L, 0xf262004eL, 0x6c0695edL, | ||
0x1b01a57bL, 0x8208f4c1L, 0xf50fc457L, 0x65b0d9c6L, 0x12b7e950L, | ||
0x8bbeb8eaL, 0xfcb9887cL, 0x62dd1ddfL, 0x15da2d49L, 0x8cd37cf3L, | ||
0xfbd44c65L, 0x4db26158L, 0x3ab551ceL, 0xa3bc0074L, 0xd4bb30e2L, | ||
0x4adfa541L, 0x3dd895d7L, 0xa4d1c46dL, 0xd3d6f4fbL, 0x4369e96aL, | ||
0x346ed9fcL, 0xad678846L, 0xda60b8d0L, 0x44042d73L, 0x33031de5L, | ||
0xaa0a4c5fL, 0xdd0d7cc9L, 0x5005713cL, 0x270241aaL, 0xbe0b1010L, | ||
0xc90c2086L, 0x5768b525L, 0x206f85b3L, 0xb966d409L, 0xce61e49fL, | ||
0x5edef90eL, 0x29d9c998L, 0xb0d09822L, 0xc7d7a8b4L, 0x59b33d17L, | ||
0x2eb40d81L, 0xb7bd5c3bL, 0xc0ba6cadL, 0xedb88320L, 0x9abfb3b6L, | ||
0x03b6e20cL, 0x74b1d29aL, 0xead54739L, 0x9dd277afL, 0x04db2615L, | ||
0x73dc1683L, 0xe3630b12L, 0x94643b84L, 0x0d6d6a3eL, 0x7a6a5aa8L, | ||
0xe40ecf0bL, 0x9309ff9dL, 0x0a00ae27L, 0x7d079eb1L, 0xf00f9344L, | ||
0x8708a3d2L, 0x1e01f268L, 0x6906c2feL, 0xf762575dL, 0x806567cbL, | ||
0x196c3671L, 0x6e6b06e7L, 0xfed41b76L, 0x89d32be0L, 0x10da7a5aL, | ||
0x67dd4accL, 0xf9b9df6fL, 0x8ebeeff9L, 0x17b7be43L, 0x60b08ed5L, | ||
0xd6d6a3e8L, 0xa1d1937eL, 0x38d8c2c4L, 0x4fdff252L, 0xd1bb67f1L, | ||
0xa6bc5767L, 0x3fb506ddL, 0x48b2364bL, 0xd80d2bdaL, 0xaf0a1b4cL, | ||
0x36034af6L, 0x41047a60L, 0xdf60efc3L, 0xa867df55L, 0x316e8eefL, | ||
0x4669be79L, 0xcb61b38cL, 0xbc66831aL, 0x256fd2a0L, 0x5268e236L, | ||
0xcc0c7795L, 0xbb0b4703L, 0x220216b9L, 0x5505262fL, 0xc5ba3bbeL, | ||
0xb2bd0b28L, 0x2bb45a92L, 0x5cb36a04L, 0xc2d7ffa7L, 0xb5d0cf31L, | ||
0x2cd99e8bL, 0x5bdeae1dL, 0x9b64c2b0L, 0xec63f226L, 0x756aa39cL, | ||
0x026d930aL, 0x9c0906a9L, 0xeb0e363fL, 0x72076785L, 0x05005713L, | ||
0x95bf4a82L, 0xe2b87a14L, 0x7bb12baeL, 0x0cb61b38L, 0x92d28e9bL, | ||
0xe5d5be0dL, 0x7cdcefb7L, 0x0bdbdf21L, 0x86d3d2d4L, 0xf1d4e242L, | ||
0x68ddb3f8L, 0x1fda836eL, 0x81be16cdL, 0xf6b9265bL, 0x6fb077e1L, | ||
0x18b74777L, 0x88085ae6L, 0xff0f6a70L, 0x66063bcaL, 0x11010b5cL, | ||
0x8f659effL, 0xf862ae69L, 0x616bffd3L, 0x166ccf45L, 0xa00ae278L, | ||
0xd70dd2eeL, 0x4e048354L, 0x3903b3c2L, 0xa7672661L, 0xd06016f7L, | ||
0x4969474dL, 0x3e6e77dbL, 0xaed16a4aL, 0xd9d65adcL, 0x40df0b66L, | ||
0x37d83bf0L, 0xa9bcae53L, 0xdebb9ec5L, 0x47b2cf7fL, 0x30b5ffe9L, | ||
0xbdbdf21cL, 0xcabac28aL, 0x53b39330L, 0x24b4a3a6L, 0xbad03605L, | ||
0xcdd70693L, 0x54de5729L, 0x23d967bfL, 0xb3667a2eL, 0xc4614ab8L, | ||
0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL, | ||
0x2d02ef8dL | ||
}; | ||
|
||
|
||
#define DO1(buf) crc = crc_table[((int)crc ^ (*buf++)) & 0xff] ^ (crc >> 8); | ||
#define DO2(buf) DO1(buf); DO1(buf); | ||
#define DO4(buf) DO2(buf); DO2(buf); | ||
#define DO8(buf) DO4(buf); DO4(buf); | ||
|
||
uint32_t crc32(uint32_t crc, const uint8_t *buf, uint32_t len) | ||
{ | ||
crc = crc ^ 0xffffffffL; | ||
while (len >= 8) | ||
{ | ||
DO8(buf); | ||
len -= 8; | ||
} | ||
if (len) do | ||
{ | ||
DO1(buf); | ||
} | ||
while (--len); | ||
return crc ^ 0xffffffffL; | ||
} | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
/****************************************************************** | ||
* $File: crc32.h | ||
* | ||
* $Author: Hua Shao | ||
* $Date: Oct, 2014 | ||
* | ||
******************************************************************/ | ||
|
||
#ifndef CRC32_H | ||
#define CRC32_H | ||
|
||
#include <stdint.h> | ||
|
||
uint32_t crc32(uint32_t crc, const uint8_t *buf, uint32_t len); | ||
|
||
#endif /* CRC32_H */ |
Oops, something went wrong.