1 (edytowany przez SqTER 2019-02-20 12:47:37)

Temat: OpenWrt v18.06.2 Release + sterowniki GPL Mediatek - Xiaomi MiR3g

Posiadam oficjalną kompilację OpenWrt v18.06.2 jednak open source'owe sterowniki do Mediateka nie bardzo mi podchodzą.
W ramach eksperymentu próbuję dokompilować sterowniki z tego repozytorium https://github.com/mqmaker/witi-openwrt

Cezary - czy mógłbyś zerknąć w wolnej chwili na to repo i podpowiedzieć mi jak się do tego zabrać?
Skopiowałem paczki ze sterownikami Mediateka(Ramips) ze źródeł WITI-OpenWRT do folderu gdzie trzymam oficjalne źródła OpenWrt v18.06.2 i robię kompilację. Pytanie tylko czy to ma sens, bo jedno i drugie źródło bazuje na innym kernelu i nie wiem czy nie będzie trzeba konfiguracji kernela zmieniać aby sterownik skompilował się poprawnie.
Ponadto po skopiowaniu paczek ze sterownikami do oficjalnego OpenWRT po wykonaniu polecenia 'make package/symlinks' wywala mi błąd. Problem w tym, że nie mogę znaleźć brakujących paczek w źródłach WITI-OpenWRT. Są tam na pewno, bo na WITI tego błędu nie mam, ale nie wiem gdzie te paczki są 'zaszyte'.

WARNING: Makefile 'package/ramips/applications/hwqos/Makefile' has a dependency on 'libnvram', which does not exist
WARNING: Makefile 'package/ramips/ui/luci-mtk/Makefile' has a dependency on 'libustream-polarssl', which does not exist
WARNING: Makefile 'package/ramips/applications/reg/Makefile' has a dependency on 'kmod-rdm', which does not exist
WARNING: Makefile 'package/ramips/applications/watchdog/Makefile' has a dependency on 'kmod-hw_wdg', which does not exist

PS. Jeśli masz jakieś ciekawsze REPO ze sterownikami do MEDIATEKA to także chętnie przygarnę.

2

Odp: OpenWrt v18.06.2 Release + sterowniki GPL Mediatek - Xiaomi MiR3g

Po co masz sam kompilować? Poszukaj na forum openwrt, jest gość który kompiluje własnościowe sterowniki mediateka.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez SqTER 2019-02-20 13:47:32)

Odp: OpenWrt v18.06.2 Release + sterowniki GPL Mediatek - Xiaomi MiR3g

Szukałem ale jedyne na co trafiłem to te repo https://github.com/Nossiac/mtk-openwrt-feeds
Może źle zapytania formułuje ale nic ciekawszego nie znalazłem.
Całe środowisko OpenWrt buduję od zera więc i za sterowniki chciałem się zabrać - tym bardziej, że na repo Nossiac nie ma modułów pod kernel 4.14.95

4

Odp: OpenWrt v18.06.2 Release + sterowniki GPL Mediatek - Xiaomi MiR3g

To własnie to, o tym pisałem.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: OpenWrt v18.06.2 Release + sterowniki GPL Mediatek - Xiaomi MiR3g

A miał byś chwilę żeby pomóc mi ogarnąć tą kompilację?
Pierwotnie chciałem tak przerobić źródła OpenWrt żeby od razu kompilować sterownik Mediateka do budowanego obrazu. Niestety nie udało mi się to.
Druga opcja jaką biorę pod uwagę to skompilować same moduły ze źródeł które podałem w pierwszym poście pod wymagany kernel i wykorzystać drugie repo od Nossiac żeby dograć sterowniki podczas wlasciwej kompilacji.

Nie chcę być uzależniony od Nossiac'a, bo jego moduły z tego co widzę nie nadążają za oficjalnymi dystrybucjami OpenWrt.

6

Odp: OpenWrt v18.06.2 Release + sterowniki GPL Mediatek - Xiaomi MiR3g

Chyba tego nie skompilujesz:

PKG_NAME:=mt7620
P4REV:=120998
PKG_VERSION:=p4rev-$(P4REV)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://localhost/
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)

Zobacz PKG_SOURCE_URL - musisz mieć po źródła sterowników, bo to co mają w repo źródłami nie są.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7 (edytowany przez SqTER 2019-02-20 14:11:28)

Odp: OpenWrt v18.06.2 Release + sterowniki GPL Mediatek - Xiaomi MiR3g

Źródełka są ale w starej wersji repo https://github.com/mqmaker/witi-openwrt … 7087d43/dl

Mam je już lokalnie pobrane, ale podczas kompilacji wywala błąd konfiguracji kernela. Więc całości na pewno od ręki nie skompiluję.

Log z kompilacji

make[3]: Entering directory '/media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/feeds/packages/ramips/drivers/mt7603e'
rm -f /media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/mt7603e-p4rev-112670/.built
touch /media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/mt7603e-p4rev-112670/.built_check
cat /dev/null > /media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/staging_dir/target-mipsel_24kc_musl/pkginfo/mt7603e.symvers; for subdir in .; do cat /media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/staging_dir/target-mipsel_24kc_musl/pkginfo/*.symvers 2>/dev/null > /media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/mt7603e-p4rev-112670/$subdir/Module.symvers; done
make -C "/media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/linux-4.14.95" V=1 CROSS_COMPILE="mipsel-openwrt-linux-musl-" ARCH="mips" SUBDIRS="/media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/mt7603e-p4rev-112670/build/"   CONFIG_MT_WIFI=m CONFIG_MT_WIFI_PATH="mt_wifi"   CONFIG_FIRST_MT_IF_EEPROM_FLASH=y   CONFIG_MT_WSC_INCLUDED=y  CONFIG_MT_DOT11N_DRAFT3=y  CONFIG_MT_DOT11W_PMF_SUPPORT=y   CONFIG_MT_LLTD_SUPPORT=y      CONFIG_MT_RATE_ADAPTION=y CONFIG_MT_NEW_RATE_ADAPT_SUPPORT=y     CONFIG_MT_RTMP_FLASH_SUPPORT=y    CONFIG_MT_ATE_SUPPORT=y CONFIG_MT_RT2860V2_AP_V24_DATA_STRUCTURE=y     CONFIG_MT_UAPSD=y CONFIG_MT_PA_LNA="iPAiLNA"     CONFIG_RTMP_PCI_SUPPORT=y   CONFIG_MT_WIFI_MODE_AP=y CONFIG_RALINK_MT7603E=y CONFIG_MT_MAC=y CONFIG_MT_AP_SUPPORT=m  CONFIG_MT_MBSS_SUPPORT=y   CONFIG_MT_APCLI_SUPPORT=y  CONFIG_MT_LLTD_SUPPORT=y   CONFIG_MULTI_CORE_SUPPORT=y modules
make[4]: Entering directory '/media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/linux-4.14.95'
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (                \
echo >&2;                                                       \
echo >&2 "  ERROR: Kernel configuration is invalid.";           \
echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";      \
echo >&2 ;                                                      \
/bin/false)
mkdir -p /media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/mt7603e-p4rev-112670/build//.tmp_versions ; rm -f /media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/mt7603e-p4rev-112670/build//.tmp_versions/*
make -f ./scripts/Makefile.build obj=/media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/mt7603e-p4rev-112670/build/
make[5]: *** No rule to make target '/media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/mt7603e-p4rev-112670/build//../mt_wifi/ap/ap.o', needed by '/media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/mt7603e-p4rev-112670/build//mt_wifi.o'.  Stop.
Makefile:1533: recipe for target '_module_/media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/mt7603e-p4rev-112670/build/' failed
make[4]: *** [_module_/media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/mt7603e-p4rev-112670/build/] Error 2
make[4]: Leaving directory '/media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/linux-4.14.95'
Makefile:80: recipe for target '/media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/mt7603e-p4rev-112670/.built' failed
make[3]: *** [/media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/mt7603e-p4rev-112670/.built] Error 2
make[3]: Leaving directory '/media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/feeds/packages/ramips/drivers/mt7603e'
time: package/feeds/packages/mt7603e/compile#0.87#0.20#2.24
package/Makefile:107: recipe for target 'package/feeds/packages/mt7603e/compile' failed
make[2]: *** [package/feeds/packages/mt7603e/compile] Error 2
make[2]: Leaving directory '/media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD'
package/Makefile:103: recipe for target '/media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/staging_dir/target-mipsel_24kc_musl/stamp/.package_compile' failed
make[1]: *** [/media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/staging_dir/target-mipsel_24kc_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD'
/media/sdv1/sqter/Kompilacja/openwrt_18.06.2_MTK_MOD/include/toplevel.mk:216: recipe for target 'world' failed
make: *** [world] Error 2

8 (edytowany przez SqTER 2019-02-21 00:05:21)

Odp: OpenWrt v18.06.2 Release + sterowniki GPL Mediatek - Xiaomi MiR3g

Cezary dzięki za zmianę nicka. Teraz jest OK.

Znalazłem źródełka do Mediateka na Chińskim forum https://www.anywlan.com/thread-400739-1-1.html
Da radę to w jakiś w miarę prosty sposób skompilować? Pliki Make z repo  https://github.com/mqmaker/witi-openwrt … ps/drivers gryzą się z konfiguracją kernela z oficjalnych źródeł OpenWrt v18.06.2. Na pewno do przeróbki jest plik '/include/target.mk', bo bez zaglądania do niego kernel jest niedokonfigurowany i kompilacja się zatrzymuje z błędem jak w poście wyżej. Pytanie czy to wystarczy? Może zabieram się do tego od niewłaściwej strony? Może lepiej zrobić własny Make a nie bazować na czymś co i tak nie działa?