26

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

tinware napisał/a:

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.

27

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

Cezary napisał/a:

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.

pepe2k napisał/a:

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.

28 (edytowany przez Królik 2019-06-23 11:58:04)

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

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.

Mam i używam: Fujitsu Futro S720, Netgear R6220, Unielec U7621-06, TP-Linki 1043 V1, V2, Linksysy EA7500v2, AeroHive AP350, Linksys EA8500, ZTE MF286d.
Mam: D-Linki DWR-921, DWR-118, DWR-116, TP-Link WDR-4900 v1, Checkpoint L-50, Linksysy 1900ACS, LB-Link BL-W1200,

29 (edytowany przez tinware 2019-06-23 13:26:08)

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

Cezary napisał/a:

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 2

Po sześciu godzinach kompilacji wyskoczył taki błąd. Co on oznacza i co muszę zrobić, aby go uniknąć w kolejnej wielogodzinnej kompilacji?

30

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

A po co kompilowałeś w ogóle omcproxy?

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

31 (edytowany przez tinware 2019-06-23 13:35:28)

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

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 -j1

32

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

Jassne, 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?

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

33

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

Zrób tak: http://eko.one.pl/?p=openwrt-kompilacja

i wybierz w menu tylko swoje urządzenie na początek.

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

34

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

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

35

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

Ehhh, a może byś wybrał... MediaTek Ralink MIPS?

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

36

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

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 -j1


i 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 2

37

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

1. 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ę.

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

38

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

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";
};

&ethernet {
    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:wlan

Zmiany 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
unexport

Takie 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/system

2. 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 set

na:

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?

39

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

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.

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

40

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

Cezary napisał/a:

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"
;;


Cezary napisał/a:

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



Cezary napisał/a:

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

41

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

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)

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

42 (edytowany przez tinware 2019-06-26 03:32:09)

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

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

43

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

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?

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

44

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

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

45

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

To raczej pytanie retoryczne - ty nie masz led USB, pepe2k widocznie go miał w swoim modelu.

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

46 (edytowany przez tinware 2019-06-26 08:35:05)

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

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.

47

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

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 sety

na:

CONFIG_PACKAGE_openvpn-openssl=y
CONFIG_PACKAGE_openvpn-easy-rsa=y
CONFIG_PACKAGE_luci-app-openvpn=y

wychodzi 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 2

48

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

Nie. Co więcej - ja kompiluję openvpn-openssl w swoich obrazach i normalnie przechodzi.

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

49

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

Robisz to z palca czy za pomocą "make menuconfig"?

Mam i używam: Fujitsu Futro S720, Netgear R6220, Unielec U7621-06, TP-Linki 1043 V1, V2, Linksysy EA7500v2, AeroHive AP350, Linksys EA8500, ZTE MF286d.
Mam: D-Linki DWR-921, DWR-118, DWR-116, TP-Link WDR-4900 v1, Checkpoint L-50, Linksysy 1900ACS, LB-Link BL-W1200,

50

Odp: Nie działa GPIO, Serial Port i LEDy - U7628-01

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 2

Mó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.