Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01
To co jest w obecnym stanie to trochę bez sensu: pominę fakt, że nie działa USB i mPCIe równocześnie (nie sprawdzałem akurat tego)
Możesz użyć modemu na USB, choć chyba nie taki był cel.
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Oprogramowanie / Software → Nie działa GPIO, Serial Port i LEDy - U7628-01
Strony Poprzednia 1 2 3 4 5 6 Następna
Zaloguj się lub zarejestruj by napisać odpowiedź
To co jest w obecnym stanie to trochę bez sensu: pominę fakt, że nie działa USB i mPCIe równocześnie (nie sprawdzałem akurat tego)
Możesz użyć modemu na USB, choć chyba nie taki był cel.
Lub prawdopodobnie są te same sygnały co w slocie microsd. Weź miernik i sprawdź czy to te same ścieżki są.
Sprawdziłem, niestety wszędzie pojawiają się "przejścia" na mierniku, maaaasakra. Po co wyprowadzać te sygnały na goldpiny, skoro 1cm dalej znajduje się gniazdo microSD.
I z tego co widzę, to już namieszali i prawdopodobnie masz jakąś inną/nową rewizję ze zmienioną mapą GPIO
Poszedłem tym tropem i dosyć mocno przypatrzyłem się stronie producenta. Ten router opisywany tutaj bardziej wygląda mi na UniElec U7628-02 niż na UniElec U7628-01. Zwróć uwagę na diodę "WiFi" - w jednym ma trzy nóżki, w drugim ma dwie nóżki. Ja mam taki z dwiema nóżkami, nie miałem również wlutowanych goldpinów SerialPort oraz GPIO.
Znalazłem jeszcze fajną alternatywę dla tego sprzętu - UniElec U7621-02. Niestety, nikt chyba jeszcze nie podjął się zakupu i recenzji tego sprzętu, a szkoda, wygląda ciekawie.
U7621-06 był dużo ciekawszy. Miał m. in. Dużo więcej gpio oraz dwa pcie, sata i msata.
Od tego ciekawszy jest już Netgear 6220.
Musiał byś przerobić dts i przekompilować system i kernel
A więc zabrałem za kompilacje swojego systemu. Dlatego tak mocno tego unikałem:
-float -iremap/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/build_dir/target-mipsel_24kc_musl/omcproxy-2017-02-14-1fe6f48f:omcproxy-2017-02-14-1fe6f48f -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro" LD=mipsel-openwrt-linux-musl-ld NM="mipsel-openwrt-linux-musl-gcc-nm" CC="mipsel-openwrt-linux-musl-gcc" GCC="mipsel-openwrt-linux-musl-gcc" CXX="mipsel-openwrt-linux-musl-g++" RANLIB="mipsel-openwrt-linux-musl-gcc-ranlib" STRIP=mipsel-openwrt-linux-musl-strip OBJCOPY=mipsel-openwrt-linux-musl-objcopy OBJDUMP=mipsel-openwrt-linux-musl-objdump SIZE=mipsel-openwrt-linux-musl-size CROSS="mipsel-openwrt-linux-musl-" ARCH="mipsel" CMAKE_COMMAND='/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/staging_dir/host/bin/cmake' CMAKE_DISABLE_cmake_check_build_system=1 ;
make[4]: Entering directory '/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/build_dir/target-mipsel_24kc_musl/omcproxy-2017-02-14-1fe6f48f'
make[5]: Entering directory '/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/build_dir/target-mipsel_24kc_musl/omcproxy-2017-02-14-1fe6f48f'
make[6]: Entering directory '/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/build_dir/target-mipsel_24kc_musl/omcproxy-2017-02-14-1fe6f48f'
Scanning dependencies of target omcproxy
make[6]: Leaving directory '/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/build_dir/target-mipsel_24kc_musl/omcproxy-2017-02-14-1fe6f48f'
make[6]: Entering directory '/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/build_dir/target-mipsel_24kc_musl/omcproxy-2017-02-14-1fe6f48f'
[ 11%] Building C object CMakeFiles/omcproxy.dir/src/client.c.o
[ 22%] Building C object CMakeFiles/omcproxy.dir/src/mrib.c.o
In file included from /home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/build_dir/target-mipsel_24kc_musl/omcproxy-2017-02-14-1fe6f48f/src/omcproxy.h:51:0,
from /home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/build_dir/target-mipsel_24kc_musl/omcproxy-2017-02-14-1fe6f48f/src/mrib.c:39:
/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/build_dir/target-mipsel_24kc_musl/omcproxy-2017-02-14-1fe6f48f/src/mrib.c:57:34: error: braced-group within expression allowed only inside a function
static uint32_t ipv4_rtr_alert = cpu_to_be32(0x94040000);
^
cc1: warning: unrecognized command line option '-Wno-gnu'
CMakeFiles/omcproxy.dir/build.make:75: recipe for target 'CMakeFiles/omcproxy.dir/src/mrib.c.o' failed
make[6]: *** [CMakeFiles/omcproxy.dir/src/mrib.c.o] Error 1
make[6]: Leaving directory '/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/build_dir/target-mipsel_24kc_musl/omcproxy-2017-02-14-1fe6f48f'
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/omcproxy.dir/all' failed
make[5]: *** [CMakeFiles/omcproxy.dir/all] Error 2
make[5]: Leaving directory '/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/build_dir/target-mipsel_24kc_musl/omcproxy-2017-02-14-1fe6f48f'
Makefile:129: recipe for target 'all' failed
make[4]: *** [all] Error 2
make[4]: Leaving directory '/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/build_dir/target-mipsel_24kc_musl/omcproxy-2017-02-14-1fe6f48f'
Makefile:42: recipe for target '/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/build_dir/target-mipsel_24kc_musl/omcproxy-2017-02-14-1fe6f48f/.built' failed
make[3]: *** [/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/build_dir/target-mipsel_24kc_musl/omcproxy-2017-02-14-1fe6f48f/.built] Error 2
make[3]: Leaving directory '/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/feeds/base/package/network/services/omcproxy'
time: package/feeds/base/omcproxy/compile#1.46#3.12#5.27
package/Makefile:107: recipe for target 'package/feeds/base/omcproxy/compile' failed
make[2]: *** [package/feeds/base/omcproxy/compile] Error 2
make[2]: Leaving directory '/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8'
package/Makefile:103: recipe for target '/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/staging_dir/target-mipsel_24kc_musl/stamp/.package_compile' failed
make[1]: *** [/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/staging_dir/target-mipsel_24kc_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8'
/home/root/openwrt/sdk/v18.06.2-ramips-mt76x8/include/toplevel.mk:209: polecenia dla obiektu 'world' nie powiodły się
make: *** [world] Błąd 2Po sześciu godzinach kompilacji wyskoczył taki błąd. Co on oznacza i co muszę zrobić, aby go uniknąć w kolejnej wielogodzinnej kompilacji?
A po co kompilowałeś w ogóle omcproxy?
Nie rozumiem. A co powinienem kompilować i jak? Zrobiłem tak:
wget http://downloads.openwrt.org/releases/18.06.2/targets/ramips/mt76x8/openwrt-sdk-18.06.2-ramips-mt76x8_gcc-7.3.0_musl.Linux-x86_64.tar.xz
tar xf openwrt-sdk-18.06.2-ramips-mt76x8_gcc-7.3.0_musl.Linux-x86_64.tar.xz
cd openwrt-sdk-18.06.2-ramips-mt76x8_gcc-7.3.0_musl.Linux-x86_64
make package/symlinks
make menuconfig (tutaj zapis do pliku defaultowej konfiguracji)
nano target/linux/ramips/dts/U7628-01.dtsi (tutaj wyrzucenie ledów)
make V=s -j1Jassne, jak wszyscy robiłeś wg poradnika.
Po co zaznaczałeś w pakietach omcproxy? Do czego ci on potrzebny? Domyślnie nie jest on zaznaczony, więc to ty go wybrałeś, bezpośrednio lub przez zaznaczenie innego pakietu. Po co?
Zrób tak: http://eko.one.pl/?p=openwrt-kompilacja
i wybierz w menu tylko swoje urządzenie na początek.
Ok. Tylko w "Target System" nie widzę na dostępnej liście "ramips mt76x8", oto co mam do wyboru:
( ) Allwinner A1x/A20/A3x
( ) AppliedMicro APM821xx
( ) Atheros AR231x/AR5312
(X) Atheros AR7xxx/AR9xxx
( ) Broadcom BCM27xx
( ) Broadcom BCM47xx/53xx (ARM)
( ) Broadcom BCM47xx/53xx (MIPS)
( ) Broadcom BCM63xx
( ) Cavium Networks Econa CNS3xxx
( ) Cavium Networks Octeon
( ) Cortina Systems CS351x
( ) Freescale MPC85xx
( ) Freescale i.MX 6
( ) Freescale i.MX23/i.MX28
( ) Intel IXP4xx
( ) Lantiq
( ) MIPS Malta CoreLV board (qemu)
( ) MIPS pistachio
( ) Marvell EBU Armada
( ) Marvell Kirkwood
( ) MediaTek Ralink ARM
( ) MediaTek Ralink MIPS
( ) Microchip (Atmel AT91)
( ) Mikrotik RouterBoard 532
( ) NXP Layerscape
( ) Octeon-TX
( ) PLXTECH/Oxford NAS782x/OX8xx
( ) QEMU ARM Virtual Machine
( ) Qualcomm Atheros IPQ40XX
( ) Qualcomm Atheros IPQ806X
( ) Synopsys DesignWare ARC 770D
( ) Synopsys DesignWare ARC HS38
( ) TI AR7
( ) TI OMAP3/4/AM33xx
( ) User Mode Linux
( ) x86
Ehhh, a może byś wybrał... MediaTek Ralink MIPS?
Zrobiłem tak...:
Pobieranie źródeł:
$ cd ~
$ git clone [url]https://github.com/openwrt/openwrt.git[/url]
$ cd openwrt
$ git fetch --tags
$ git checkout v18.06.2
$ make package/symlinks
Konfiguracja:
# make menuconfig
Target System --->
(X) MediaTek Ralink MIPS
Subtarget --->
(X) MT76x8 based boards
Target Profile --->
(X) UniElec U7628-01 (128M RAM/16M flash)
...i zapisać jako ".config"
# nano .config
LEDy i GPIO
# cp target/linux/ramips/dts/U7628-01.dtsi target/linux/ramips/dts/U7628-01.dtsi.bak
# nano target/linux/ramips/dts/U7628-01.dtsi
Jako root
# export FORCE_UNSAFE_CONFIGURE=1
Kompilacja
# make V=s -j1i 5 godzin później:
Number of fragments 15
Number of symbolic links 184
Number of device nodes 1
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 71
Number of ids (unique uids + gids) 1
Number of uids 1
root (0)
Number of gids 1
root (0)
rm -f /home/root/openwrt/sdk/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/u7628-01-128M-16M-kernel.bin
cp /home/root/openwrt/sdk/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/vmlinux /home/root/openwrt/sdk/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/u7628-01-128M-16M-kernel.bin
mipsel-openwrt-linux-musl-cpp -nostdinc -x assembler-with-cpp -I/home/root/openwrt/sdk/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/linux-4.14.95/arch/mips/boot/dts -I/home/root/openwrt/sdk/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/linux-4.14.95/arch/mips/boot/dts/include -I/home/root/openwrt/sdk/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/linux-4.14.95/include/ -undef -D__DTS__ -o /home/root/openwrt/sdk/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/u7628-01-128M-16M-kernel.bin.dtb.tmp ../dts/U7628-01-128M-16M.dts
/home/root/openwrt/sdk/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/linux-4.14.95/scripts/dtc/dtc -O dtb -i../dts/ -o /home/root/openwrt/sdk/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/u7628-01-128M-16M-kernel.bin.dtb /home/root/openwrt/sdk/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/u7628-01-128M-16M-kernel.bin.dtb.tmp
Error: ../dts/U7628-01.dtsi:68.5-6 syntax error
FATAL ERROR: Unable to parse input tree
Makefile:288: recipe for target '/home/root/openwrt/sdk/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/u7628-01-128M-16M-kernel.bin' failed
make[5]: *** [/home/root/openwrt/sdk/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/u7628-01-128M-16M-kernel.bin] Error 1
make[5]: Leaving directory '/home/root/openwrt/sdk/openwrt/target/linux/ramips/image'
Makefile:26: recipe for target 'install' failed
make[4]: *** [install] Error 2
make[4]: Leaving directory '/home/root/openwrt/sdk/openwrt/target/linux/ramips'
Makefile:13: recipe for target 'install' failed
make[3]: *** [install] Error 2
make[3]: Leaving directory '/home/root/openwrt/sdk/openwrt/target/linux'
time: target/linux/install#730.49#168.43#882.62
target/Makefile:23: recipe for target 'target/linux/install' failed
make[2]: *** [target/linux/install] Error 2
make[2]: Leaving directory '/home/root/openwrt/sdk/openwrt'
target/Makefile:19: recipe for target '/home/root/openwrt/sdk/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.target_install' failed
make[1]: *** [/home/root/openwrt/sdk/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.target_install] Error 2
make[1]: Leaving directory '/home/root/openwrt/sdk/openwrt'
/home/root/openwrt/sdk/openwrt/include/toplevel.mk:216: polecenia dla obiektu 'world' nie powiodły się
make: *** [world] Błąd 21. Nie kompiluj jako root. Nie wiem po co to robisz.
2. Tak samo jak specjalnie zapisywać .config nie musisz - wystarczy że wyjdziesz z menuconfig to się samo zapisze.
3. Napisał ci co go boli - zepsułeś składnię dtsi, nawet napisał ci gdzie - 68 linia. Popraw składnię.
Udostępniam kilka informacji od siebie, aby kolejna osoba która zakupi ten router nie borykała się z tymi samymi problemami co ja.
W kompilatorze wprowadziłem następujące zmiany w pliku "dtsi":
# nano target/linux/ramips/dts/U7628-01.dtsi
/*
* BSD LICENSE
*
* Copyright(c) 2017 Kristian Evensen <kristian.evensen@gmail.com>.
* Copyright(c) 2017 Piotr Dymacz <pepe2k@gmail.com>.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* * Neither the name of Broadcom Corporation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "mt7628an.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "unielec,u7628-01", "mediatek,mt7628an-soc";
chosen {
bootargs = "console=ttyS0,115200";
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
wlan {
label = "u7628-01:green:wlan";
gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
};
wan {
label = "u7628-01:green:wan";
gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
};
lan1 {
label = "u7628-01:green:lan1";
gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
};
lan2 {
label = "u7628-01:green:lan2";
gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
};
lan3 {
label = "u7628-01:green:lan3";
gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
};
lan4 {
label = "u7628-01:green:lan4";
gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
};
};
};
&gpio0 {
status = "okay";
};
&gpio1 {
status = "okay";
};
&pcie {
status = "okay";
};
ðernet {
mtd-mac-address = <&factory 0x28>;
};
&wmac {
status = "okay";
ralink,mtd-eeprom = <&factory 0x0>;
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "gpio", "p0led_an", "p1led_an", "p2led_an", "p3led_an", "p4led_an", "refclk", "wdt", "wled_an";
ralink,function = "gpio";
};
};
};Po kompilacji i uruchomieniu routera otrzymałem następujące zmiany:
Zmiany LED:
- usunięcie "usb" (nie zarządzała niczym, nie ma takiego LEDa)
- zmiana nazwy z "power" na "wlan"
# ls /sys/class/leds
mt76-phy0
u7628-01:green:lan1
u7628-01:green:lan2
u7628-01:green:lan3
u7628-01:green:lan4
u7628-01:green:wan
u7628-01:green:wlanZmiany GPIO:
- pojawia się "gpio11", ktore zarządza fizycznym GOLDPINem nr. 6 na płycie. Działa znakomicie jako wyjście oraz jako wejście. Zauważyłem, że nie podając stanu wejściowego GND lub 3V3 otrzytywany stan to naprzemian "0" lub "1".
# ls /sys/class/gpio
export
gpio11
gpiochip0
gpiochip32
gpiochip64
unexportTakie zmiany wymagają ingerencji w pliku "system" w sekcji LEDów, poniżej cały ten plik w defaultowej konfiguracji już PO zmianach:
# nano /etc/config/system
config system
option hostname 'OpenWrt'
option timezone 'UTC'
option ttylogin '0'
option log_size '64'
option urandom_seed '0'
config timeserver 'ntp'
option enabled '1'
option enable_server '0'
list server '0.openwrt.pool.ntp.org'
list server '1.openwrt.pool.ntp.org'
list server '2.openwrt.pool.ntp.org'
list server '3.openwrt.pool.ntp.org'
config led 'led_lan1'
option name 'lan1'
option sysfs 'u7628-01:green:lan1'
option trigger 'switch0'
option port_mask '0x2'
option default '0'
config led 'led_lan2'
option name 'lan2'
option sysfs 'u7628-01:green:lan2'
option trigger 'switch0'
option port_mask '0x4'
option default '0'
config led 'led_lan3'
option name 'lan3'
option sysfs 'u7628-01:green:lan3'
option trigger 'switch0'
option port_mask '0x8'
option default '0'
config led 'led_lan4'
option name 'lan4'
option sysfs 'u7628-01:green:lan4'
option trigger 'switch0'
option port_mask '0x10'
option default '0'
config led 'led_wan'
option name 'wan'
option sysfs 'u7628-01:green:wan'
option trigger 'switch0'
option port_mask '0x01'
option default '0'
config led 'led_wifi_led'
option name 'wlan'
option sysfs 'u7628-01:green:wlan'
option trigger 'netdev'
option dev 'wlan0'
option default '0'
option mode 'link'Mam jeszcze dwa pytania:
1. Chciałem podmienić ten plik "/etc/config/system", aby w defaultowej konfiguracji routera te LEDy działały prawidłowo.
Jaki plik muszę podmienić w kompilatorze, aby system skompilował się z tymi zmianami LEDów
# find . -name "system"
./build_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/gcc-7.3.0/libsanitizer/include/system
./build_dir/target-mipsel_24kc_musl/busybox-1.28.4/include/config/last/system
./build_dir/target-mipsel_24kc_musl/busybox-1.28.4/include/config/first/system
./build_dir/target-mipsel_24kc_musl/root.orig-ramips/etc/init.d/system
./build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/base-files/.pkgdir/base-files/etc/init.d/system
./build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/base-files/ipkg-mipsel_24kc/base-files/etc/init.d/system
./build_dir/target-mipsel_24kc_musl/root-ramips/etc/init.d/system
./staging_dir/target-mipsel_24kc_musl/root-ramips/etc/init.d/system
./package/base-files/files/etc/init.d/system
./package/system2. Po kompilacji systemu, chciałem dalej korzystać z ImageBuildera - nie chcę bawić się w Developera, jeśli nie ma takiej potrzeby, a Image Builder jest dużo fajniejszym i prostszym narzędziem. Jak powinienem przygotować się do tego? Rozumiem, że w "make menuconfig" powiniem zaznaczyć, że chce zbudować ImageBuilder. Ale po zbudowaniu go w obecnym stanie nie będę chyba miał w nim dostępnych żadnych dodatkowych pakietów. Czy jeśli w pliku ".config" zamienie wszystkie:
# CONFIG_PACKAGE_xxxxxxxx is not setna:
CONFIG_PACKAGE_xxxxxxxx=y...i skompiluje to, to czy będzie mi służył taki ImageBuilder TYLKO do kolejnego dodawania i usuwania pakietów oraz nadpisywania plików?
1. Tworzone są dynamicznie z https://github.com/openwrt/openwrt/blob … _leds#L435 tam sobie zmień
2. tak, imagebuilder zawiera to z czego został skompilowany. Jak chcesz wszystkie pakiety to kompilacja będzie trwałą wieki i może się wywalić (czego już doświadczyłeś). Mimo tego co napisałeś prościej jest zrobić make menuconfig, zaznaczyć pakiet i zrobić make. Jak już masz prekompilowany system to teraz będzie to szybko się działo.
3. Zmień sobie też bootargs = "console=ttyS0,115200"; na 57600 to będziesz miał tą samą prędkość co bootloader ma.
1. Tworzone są dynamicznie z https://github.com/openwrt/openwrt/blob … _leds#L435 tam sobie zmień.
Najlepiej byłoby, gdyby wlan pokazywał tylko link domyślnie, ponieważ tak działa cała reszta LEDów. Czym różni się ucidef oraz set? Zrobiłem tak jak poniżej (usunąłem "usb"), ale nie widzę żadnych zmian w /etc/config/system po skompilowaniu.
u7628-01-128M-16M)
ucidef_set_led_switch "lan1" "lan1" "u7628-01:green:lan1" "switch0" "0x2"
ucidef_set_led_switch "lan2" "lan2" "u7628-01:green:lan2" "switch0" "0x4"
ucidef_set_led_switch "lan3" "lan3" "u7628-01:green:lan3" "switch0" "0x8"
ucidef_set_led_switch "lan4" "lan4" "u7628-01:green:lan4" "switch0" "0x10"
ucidef_set_led_switch "wan" "wan" "u7628-01:green:wan" "switch0" "0x01"
set_wifi_led "u7628-01:green:wlan"
;;2. tak, imagebuilder zawiera to z czego został skompilowany. Jak chcesz wszystkie pakiety to kompilacja będzie trwałą wieki i może się wywalić (czego już doświadczyłeś). Mimo tego co napisałeś prościej jest zrobić make menuconfig, zaznaczyć pakiet i zrobić make. Jak już masz prekompilowany system to teraz będzie to szybko się działo.
Spróbuje, jak już skompiluje prawidłowo wszystkie potrzebne zmiany
3. Zmień sobie też bootargs = "console=ttyS0,115200"; na 57600 to będziesz miał tą samą prędkość co bootloader ma.
Który plik masz na myśli:
./target/linux/imx6/patches-4.14/100-bootargs.patch
./target/linux/generic/pending-4.14/920-mangle_bootargs.patch
./target/linux/generic/pending-4.9/920-mangle_bootargs.patch
./target/linux/oxnas/patches-4.14/010-add-console-to-pogoplogv3-bootargs.patch
./target/linux/bcm53xx/patches-4.14/320-ARM-dts-BCM5301X-Add-serial-to-the-bootargs.patch
./target/linux/gemini/patches-4.14/0033-ARM-dts-Fix-bootargs-for-Gemini-D-Link-devices.patch
DTS, ten który przerabiałeś. Zresztą - po co szukasz po innych architekturach, przecież to nie dotyczy tego sprzętu.
Kilka linii wyżej w tym samym plików w którym masz definicję ledów jest definicja set_wifi_led - to też jest ucidef które ustawia właśnie triger na link/tx/rx (a z kolei definicja tego jest w /lib/functions/uci-defaults.sh)
Zmieniając na chwilę temat - czy wiesz co się dzieje z repozytorium? Nie jestem w stanie praktycznie niczego zainstalować, skompilować...
Obecnie wprowadziłem poniższe zmiany:
# nano target/linux/ramips/base-files/etc/board.d/01_leds
(...)
u7628-01-128M-16M)
ucidef_set_led_switch "lan1" "lan1" "u7628-01:green:lan1" "switch0" "0x2"
ucidef_set_led_switch "lan2" "lan2" "u7628-01:green:lan2" "switch0" "0x4"
ucidef_set_led_switch "lan3" "lan3" "u7628-01:green:lan3" "switch0" "0x8"
ucidef_set_led_switch "lan4" "lan4" "u7628-01:green:lan4" "switch0" "0x10"
ucidef_set_led_switch "wan" "wan" "u7628-01:green:wan" "switch0" "0x01"
ucidef_set_led_netdev "wlan" "wlan" "u7628-01:green:wlan" "wlan0" "link"
;;
(...)I wygląda to następująco:
(...)
config led 'led_wlan'
option name 'wlan'
option sysfs 'u7628-01:green:wlan'
option trigger 'netdev'
option mode 'link'
option dev 'wlan0'
config led 'led_usb'
option name 'USB'
option sysfs 'u7628-01:green:usb'
option trigger 'usbdev'
option interval '50'
option dev '1-1'
config led 'led_wifi_led'
option name 'wifi'
option sysfs 'u7628-01:green:wlan'
option trigger 'netdev'
option mode 'link tx rx'
option dev 'wlan0'Nowy wpis "led_wlan" jest ok. Nie mogę pozbyć się tych dwóch wpisów: "led_usb" oraz "led_wifi_led".
Serial Port - podłączam konwerter do routera, podaje zasilanie routera, jak mrugną LEDy od LANów (po ok. 5 sek) podłączam konwerter pod usb komputera, uruchamiam PuTTy i jest ok. Nie działa mi klawiatura niestety
https://forum.openwrt.org/t/openwrt-org … en/39486/5
EDIT: naprawili właśnie.
Wszystkie ledy tworzone są w w/w skryptu - jesteś pewien że czegoś nie zostawiłeś? Robisz oczywiście flashowanie bez zachowania konfiguracji za każdym razem?
Będę musiał to sprawdzić, czy sprawdzili każdego .ipk z osobna. To że listy nie było, to najmniejszy problem. Chciałem doinstalować nano to nie było do niej dostępnej zależnej biblioteki, przy luci to chyba wszystkie ipk były niedostępne.
Tak, "sysugrade -n file". Mam wrażenie, że jest jakiś bug w skryptach, do czego służy ten led usb, skoro nie ma fizycznie takiego leda w tym routerze
To raczej pytanie retoryczne - ty nie masz led USB, pepe2k widocznie go miał w swoim modelu.
Ok, ale czemu to się nie chce usunąć? Mam teraz dwa wpisy od wlan i jeden od usb. Przeszukałem pliki tej architektury i nigdzie nie znalazłem u7628-01:green:usb. Mam wrażenie, że jest jakaś konfiguracja globalna, która dodaje mi te dwa wpisy.
Czy wiesz może dlaczego po dodaniu jednej jedynej paczki, po zmianie w .config z:
# CONFIG_PACKAGE_openvpn-openssl is not set
# CONFIG_PACKAGE_openvpn-easy-rsa is not set
# CONFIG_PACKAGE_luci-app-openvpn is not setyna:
CONFIG_PACKAGE_openvpn-openssl=y
CONFIG_PACKAGE_openvpn-easy-rsa=y
CONFIG_PACKAGE_luci-app-openvpn=ywychodzi mi taki błąd podczas kompilacji:
buffer.h:1020:34: note: in definition of macro 'ALLOC_OBJ_CLEAR'
memset((dptr), 0, sizeof(type)); \
^~~~
In file included from crypto_openssl.c:44:0:
openssl_compat.h:446:13: error: dereferencing pointer to incomplete type 'RSA_METHOD {aka struct rsa_meth_st}'
rsa_meth->name = string_alloc(name, NULL);
^~
openssl_compat.h: In function 'RSA_meth_get0_app_data':
openssl_compat.h:637:23: error: dereferencing pointer to incomplete type 'RSA_METHOD {aka const struct rsa_meth_st}'
return meth ? meth->app_data : NULL;
^~
Makefile:672: recipe for target 'crypto_openssl.o' failed
make[7]: *** [crypto_openssl.o] Error 1
make[7]: Leaving directory '/home/root/openwrt/sdk/openwrt/build_dir/target-mipsel_24kc_musl/openvpn-openssl/openvpn-2.4.5/src/openvpn'
Makefile:428: recipe for target 'all-recursive' failed
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory '/home/root/openwrt/sdk/openwrt/build_dir/target-mipsel_24kc_musl/openvpn-openssl/openvpn-2.4.5/src'
Makefile:613: recipe for target 'all-recursive' failed
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory '/home/root/openwrt/sdk/openwrt/build_dir/target-mipsel_24kc_musl/openvpn-openssl/openvpn-2.4.5'
Makefile:501: recipe for target 'all' failed
make[4]: *** [all] Error 2
make[4]: Leaving directory '/home/root/openwrt/sdk/openwrt/build_dir/target-mipsel_24kc_musl/openvpn-openssl/openvpn-2.4.5'
Makefile:137: recipe for target '/home/root/openwrt/sdk/openwrt/build_dir/target-mipsel_24kc_musl/openvpn-openssl/openvpn-2.4.5/.built' failed
make[3]: *** [/home/root/openwrt/sdk/openwrt/build_dir/target-mipsel_24kc_musl/openvpn-openssl/openvpn-2.4.5/.built] Error 2
make[3]: Leaving directory '/home/root/openwrt/sdk/openwrt/package/network/services/openvpn'
time: package/network/services/openvpn/openssl/compile#0.46#0.62#1.24
package/Makefile:107: recipe for target 'package/network/services/openvpn/compile' failed
make[2]: *** [package/network/services/openvpn/compile] Error 2
make[2]: Leaving directory '/home/root/openwrt/sdk/openwrt'
package/Makefile:103: recipe for target '/home/root/openwrt/sdk/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.package_compile' failed
make[1]: *** [/home/root/openwrt/sdk/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/root/openwrt/sdk/openwrt'
/home/root/openwrt/sdk/openwrt/include/toplevel.mk:216: polecenia dla obiektu 'world' nie powiodły się
make: *** [world] Błąd 2Nie. Co więcej - ja kompiluję openvpn-openssl w swoich obrazach i normalnie przechodzi.
Robisz to z palca czy za pomocą "make menuconfig"?
Z palca robię te zmiany. Zauważyłem, że wiele paczek, które chce dodać wywołują mi problem podczas kompilacji. Na chwilę obecną openvpn i mwan3 nie kompilują się, udało mi się dokompilować tylko nano. Przykład:
Collected errors:
* satisfy_dependencies_for: Cannot satisfy the following dependencies for luci-app-mwan3:
* ip
* ipset
* iptables-mod-conntrack-extra
* iptables-mod-ipopt
* libuci-lua
* luci-mod-admin-full
* luci-app-firewall
* luci-lib-nixio
* opkg_install_cmd: Cannot install package luci-app-mwan3.
package/Makefile:65: recipe for target 'package/install' failed
make[2]: *** [package/install] Error 255
make[2]: Leaving directory '/home/root/openwrt/sdk/openwrt'
package/Makefile:104: recipe for target '/home/root/openwrt/sdk/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.package_install' failed
make[1]: *** [/home/root/openwrt/sdk/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.package_install] Error 2
make[1]: Leaving directory '/home/root/openwrt/sdk/openwrt'
/home/root/openwrt/sdk/openwrt/include/toplevel.mk:216: polecenia dla obiektu 'world' nie powiodły się
make: *** [world] Błąd 2Mój niepokój wzbudza aktualizacja paczek - Bad file descriptor:
# make package/symlinks
Updating feed 'packages' from 'https://git.openwrt.org/feed/packages.git^911bbd6bb4856f1e28ae00af37df62e4fa3529e5' ...
Create index file './feeds/packages.index'
Updating feed 'luci' from 'https://git.openwrt.org/project/luci.git^6f6641d97de2c85ee5d87beda92ae8437d1dbdf5' ...
Create index file './feeds/luci.index'
Updating feed 'routing' from 'https://git.openwrt.org/feed/routing.git^ea345d16a6e27c2a8fdf67bf543cc36a5f189131' ...
Create index file './feeds/routing.index'
Updating feed 'telephony' from 'https://git.openwrt.org/feed/telephony.git^cb939d9677d6e38c428f9f297641d07611edeb04' ...
Create index file './feeds/telephony.index'
/bin/sh: 1: 8: Bad file descriptor
Collecting package info: done
Installing all packages from feed packages.
Installing all packages from feed luci.
Installing all packages from feed routing.
Installing all packages from feed telephony.Strony Poprzednia 1 2 3 4 5 6 Następna
Zaloguj się lub zarejestruj by napisać odpowiedź
eko.one.pl → Oprogramowanie / Software → Nie działa GPIO, Serial Port i LEDy - U7628-01
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc