151

(101 odpowiedzi, napisanych Oprogramowanie / Software)

A takie coś co od strzała zadziała?

152

(101 odpowiedzi, napisanych Oprogramowanie / Software)

Odświeżę sobie po 5 latach smile

Przejrzałem wszystkie oferty w Ali na hasło "usb wifi" (ufff oj było tego) i obecnie dostępne Wi-Fi na interfejs USB 2.0/3.0 od majfrendów w 99% dostępnych ofert oparte są o poniższe chipy:
1. RTL8811AU
2. RTL8812BU
3. RTL8812UA

RTL8811AU sobie zakupiłem, dostałem nawet taką płytkę ze sterownikiem (link).

Czy jestem w stanie uruchomić takie cudo w OpenWRT?
Jeśli tak - jakie czynności muszę podjąć? Jakie są możliwości?
Jeśli nie - to jaki moduł wybrać z:
1. anteną SMA, 2.4+5.8GHz i USB 3.0
2. anteną SMA, 2.4GHz i USB 2.0

Cezary, mówisz o metrykach /etc/config/network czy /etc/config/mwan3 ?
Mi zależy na zmianach metryk i wag w mwan3 bez resetowania go.

Ok, myślę że temat rozwiązany.

1. Wybrać x86 / 64
2. Pobrać combined ext4
3. Rozszerzyć drugą partycję z systemem plików EXT4 za pomocą drugiego systemu operacyjnego

Obrazy były stąd: https://downloads.openwrt.org/releases/ … 86/legacy/
Teraz zainstalowałem stąd: https://downloads.openwrt.org/releases/ … ts/x86/64/
...i bez problemu miałem dwie partycje ext4, drugą sobie rozszerzyłem... a karta sieciowa działa

Rozumiem, nagrałem squashfs i stąd pewnie ten problem. Teraz zmianiłem na ext4 i jest ok, udało się bez problemu rozszerzyć. Zauważyłem inny problem: w obrazie ext4 nie działa mi karta sieciowa, w squashfs działała, tzn.: "ip a" widzę tylko loopback

Cześć, kolega manguscik ma rację... OpenWRT x86 nagrywa dwie partycję:
1. ext4 z flagą bootującą
2. partycja 250MB bez systemu plików (inny Linux nie widzi tutaj systemu plików)
3. wolne miejsce - 14GB

Drugą partycję można co najwyżej usunąć, a nie coś w niej przesuwać, rozszerzać.
Po jej usunięciu OpenWRT się nie uruchamia.

O co tutaj chodzi?

Niewierze... Pech? Przeznaczenie?

[  428.089601] usb 1-1.1: new high-speed USB device number 5 using xhci-mtk
[  428.309104] usb 1-1.1: USB disconnect, device number 5
[  428.809682] usb 1-1.1: new high-speed USB device number 6 using xhci-mtk
[  428.945625] cdc_ether 1-1.1:1.0 eth2: register 'cdc_ether' at usb-1a1c0000.usb-1.1, CDC Ethernet Device, 0c:5b:8f:27:9a:64
[  469.560408] usb 1-1.3: new high-speed USB device number 7 using xhci-mtk
[  469.781060] usb 1-1.3: USB disconnect, device number 7
[  470.290408] usb 1-1.3: new high-speed USB device number 8 using xhci-mtk
[  470.426214] cdc_ether 1-1.3:1.0 eth3: register 'cdc_ether' at usb-1a1c0000.usb-1.3, CDC Ethernet Device, 0c:5b:8f:27:9a:64
[  498.190818] usb 1-1.4.1: new high-speed USB device number 9 using xhci-mtk
[  498.453355] usb 1-1.4.1: USB disconnect, device number 9
[  498.950884] usb 1-1.4.1: new high-speed USB device number 10 using xhci-mtk
[  499.087122] cdc_ether 1-1.4.1:1.0 eth4: register 'cdc_ether' at usb-1a1c0000.usb-1.4.1, CDC Ethernet Device, 0c:5b:8f:27:9a:64
[  531.771276] usb 1-1.4.2: new high-speed USB device number 11 using xhci-mtk
[  532.245295] usb 1-1.4.2: USB disconnect, device number 11
[  532.551234] usb 1-1.4.2: new high-speed USB device number 12 using xhci-mtk
[  532.683248] usb 1-1.4.2: Not enough host controller resources for new device state.
[  532.690962] usb 1-1.4.2: can't set config #1, error -12


/usr/bin/lsusb -v | /bin/grep "EndpointAddress" | /usr/bin/wc -l

29

Na u7628 napędziłem sporo ponad 100, na u7621 lipa - myślałem że to wyjątek od reguły, ale widzę że u7623 to ten sam śmieć.
Chyba masz rację, i w moim przypadku czas na jakiegoś MiniITX'a

Obym wyrobił się w czasie...

Zanim dostanę od nich soft chciałem jeszcze sprawdzić v14.x
https://archive.openwrt.org/barrier_breaker/14.07/

Gdzie znajdę Barrier Breaker dla tej płyty?

Czyli już przegrałem:
u7621 - 2,3 modemy i koniec, bo endpointy
u7623 - 0 modemów, bo w najnowszym OpenWRT nie działa USB na gnieździe MiniPCIe

Rozumiem, ale nie rozumiem co powinienem zmienić, aby zaczęło działać USB w gnieździe MiniPCIe...

Czyli łatki (pliki .patch) też się kompilują podczas kompilacji?

Właśnie to analizuje ze swoim kompilatorem i ja to mam już...
Doszedłem do tego momentu...
https://github.com/openwrt/openwrt/comm … 402363de94

Każda linijka kodu zaczyna się od "plusa" (że trzeba dodać linijkę, rozumiem) oraz drugiego "plusa"...
i mój plik target/linux/mediatek/patches-4.14/0225-arm-dts-Add-missing-mt7623-pcie-nodes.patch

Wygląda tak:

From d31800ff6ed81f44488b590fe372e7b6572d2896 Mon Sep 17 00:00:00 2001
From: Kristian Evensen <kristian.evensen@gmail.com>
Date: Sun, 17 Jun 2018 14:18:45 +0200
Subject: [PATCH] arm: dts: Add missing mt7623 pcie nodes

---
 arch/arm/boot/dts/mt7623.dtsi | 105 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 105 insertions(+)

--- a/arch/arm/boot/dts/mt7623.dtsi
+++ b/arch/arm/boot/dts/mt7623.dtsi
@@ -674,6 +674,111 @@
                #reset-cells = <1>;
        };

+       pcie: pcie@1a140000 {
+               compatible = "mediatek,mt7623-pcie";
+               device_type = "pci";
+               reg = <0 0x1a140000 0 0x1000>, /* PCIe shared registers */
+                     <0 0x1a142000 0 0x1000>, /* Port0 registers */
+                     <0 0x1a143000 0 0x1000>, /* Port1 registers */
+                     <0 0x1a144000 0 0x1000>; /* Port2 registers */
+               reg-names = "subsys", "port0", "port1", "port2";
+               #address-cells = <3>;
+               #size-cells = <2>;
+               #interrupt-cells = <1>;
+               interrupt-map-mask = <0xf800 0 0 0>;
+               interrupt-map = <0x0000 0 0 0 &sysirq GIC_SPI 193 IRQ_TYPE_LEVEL_LOW>,
+                               <0x0800 0 0 0 &sysirq GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>,
+                               <0x1000 0 0 0 &sysirq GIC_SPI 195 IRQ_TYPE_LEVEL_LOW>;
+               clocks = <&topckgen CLK_TOP_ETHIF_SEL>,
+                        <&hifsys CLK_HIFSYS_PCIE0>,
+                        <&hifsys CLK_HIFSYS_PCIE1>,
+                        <&hifsys CLK_HIFSYS_PCIE2>;
+               clock-names = "free_ck", "sys_ck0", "sys_ck1", "sys_ck2";
+               resets = <&hifsys MT2701_HIFSYS_PCIE0_RST>,
+                        <&hifsys MT2701_HIFSYS_PCIE1_RST>,
+                        <&hifsys MT2701_HIFSYS_PCIE2_RST>;
+               reset-names = "pcie-rst0", "pcie-rst1", "pcie-rst2";
+               phys = <&pcie0_port PHY_TYPE_PCIE>,
+                      <&pcie1_port PHY_TYPE_PCIE>,
+                      <&u3port1 PHY_TYPE_PCIE>;
+               phy-names = "pcie-phy0", "pcie-phy1", "pcie-phy2";
+               power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>;
+               bus-range = <0x00 0xff>;
+               status = "disabled";
+               ranges = <0x81000000 0 0x1a160000 0 0x1a160000 0 0x00010000
+                         0x83000000 0 0x60000000 0 0x60000000 0 0x10000000>;
+
+               pcie@0,0 {
+                       reg = <0x0000 0 0 0 0>;
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       #interrupt-cells = <1>;
+                       interrupt-map-mask = <0 0 0 0>;
+                       interrupt-map = <0 0 0 0 &sysirq GIC_SPI 193 IRQ_TYPE_LEVEL_LOW>;
+                       ranges;
+                       num-lanes = <1>;
+                       status = "disabled";
+               };
+               pcie@1,0 {
+                       reg = <0x0800 0 0 0 0>;
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       #interrupt-cells = <1>;
+                       interrupt-map-mask = <0 0 0 0>;
+                       interrupt-map = <0 0 0 0 &sysirq GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>;
+                       ranges;
+                       num-lanes = <1>;
+                       status = "disabled";
+               };
+
+               pcie@2,0 {
+                       reg = <0x1000 0 0 0 0>;
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       #interrupt-cells = <1>;
+                       interrupt-map-mask = <0 0 0 0>;
+                       interrupt-map = <0 0 0 0 &sysirq GIC_SPI 195 IRQ_TYPE_LEVEL_LOW>;
+                       ranges;
+                       num-lanes = <1>;
+                       status = "disabled";
+               };
+       };
+
+       pcie0_phy: pcie-phy@1a149000 {
+               compatible = "mediatek,generic-tphy-v1";
+               reg = <0 0x1a149000 0 0x0700>;
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+               status = "disabled";
+
+               pcie0_port: pcie-phy@1a149900 {
+                       reg = <0 0x1a149900 0 0x0700>;
+                       clocks = <&clk26m>;
+                       clock-names = "ref";
+                       #phy-cells = <1>;
+                       status = "okay";
+               };
+       };
+
+       pcie1_phy: pcie-phy@1a14a000 {
+               compatible = "mediatek,generic-tphy-v1";
+               reg = <0 0x1a14a000 0 0x0700>;
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+               status = "disabled";
+
+               pcie1_port: pcie-phy@1a14a900 {
+                       reg = <0 0x1a14a900 0 0x0700>;
+                       clocks = <&clk26m>;
+                       clock-names = "ref";
+                       #phy-cells = <1>;
+                       status = "okay";
+               };
+       };
+
+
        usb1: usb@1a1c0000 {
                compatible = "mediatek,mt7623-xhci",
                             "mediatek,mt8173-xhci";

Co ja powinienem z tym zrobić?
Gdzie jest mój plik DTS w kompilatorze od u7623-06?
Te pliki .patch nie wyglądają jak kod, który byłby uwzględniany podczas kompilacji tylko jak notatka/informacja

Muszę wprowadzić ręcznie wszystkie te zmiany?
https://github.com/openwrt/openwrt/comm … 1dd6b3c3d9

https://images91.fotosik.pl/453/22cc4e055200a053gen.png

https://images89.fotosik.pl/455/b30e903456556043gen.png

I co to za gniazdo MiniUSB?

* 1x miniPCIe slot that is connected via an internal USB OTG port

Not working:
* The miniPCIe connected via USB OTG. For the port to work, some MUSB
glue must be added. I am currently in the process of porting the glue
from the vendor SDK.

* In order to support the miniPCIe-slots, I needed to add missing
pcie-nodes to mt7623.dtsi. The nodes are just c&p from the upstream
dtsi.

Dzięki, coś temat nie pociągnięty do końca.
Też właśnie mam problem z tym, że po wgraniu 19.07.4 zamiast 8GB mam 250MB dostępnych, ale to później...
Priorytet dla mnie to USB na MiniPCIe.

Co to jest "OpenWRT w wersji bb" (tutaj) ?
Czyli czeka mnie poprawka w DTS?

Ok, czyli oba te wpisy:

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/1p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/1p, 480M

... dotyczą mojego przedniego gniazda?

Gniazda MiniPCIe tutaj nie widać?

Dobra, tak zrobie bo fakt jest taki, że był tam 18.x, zainstalowałem 19.07.4 i dopiero zacząłem sprawdzanie wszystkiego po kolei...

Zobacz jaka dziwna sprawa...

Jest sobie płyta:

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/1p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/1p, 480M

Pod przednie gniazdo podłączam pendrive 3.0:

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/1p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=, 5000M <--- to ten
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/1p, 480M

A teraz pod przednie gniazdo podłączam pendrive 2.0:

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/1p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/1p, 480M
    |__ Port 1: Dev 6, If 0, Class=Mass Storage, Driver=, 480M <--- to ten

Tylko dlaczego on zgłasza się pod drugim hubem... właśnie tym od MiniPCIe hmm

Rozumiem, że brakuje tutaj czegoś takiego jak to:

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/1p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/2p, 480M <---

Wygląda Ci to na problem hardware czy softu OpenWRT?

Jest i on ---> u7623-06 - szyyybki jest, nieeeeźle zaaasuwa, ale...

Przednie USB 3.0 działa.

Zainstalowałem mu moduły MiniPCI-e w gnieździe przy karcie SIM (linie USB i SATA):
1. Kilka sztuk WWANów
2. dysk mSATA
OpenWRT tego nie widzi... na modułach jest zasilanie, świeci się nawet dioda na przednim panelu wyprowadzona z PIN-42 modułu MiniPCIe.

W oficjalnej kompilacji zauważyłem, że brakuje kilku paczek, które doinstalowałem:

kmod-usb-core
kmod-usb-ehci
kmod-usb2
kmod-usb3

i drzewo USB wygląda tak:

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/1p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/1p, 480M <--- to nie działa

logread i dmesg ---> cisza, brak zdarzeń po podłączeniu modułu WWAN...

Problemy z liniami usb 2.0 DATA RX/TX - Płyta do kosza?
Czy coś w systemie może być nie tak?

Ostatnio zastanawiałem się nad pewną ofertą Internetu nocnego smile Mój mwan3 działałby w failoverze:
1. Wan-1 - jakieś tam łącze
2. Wan-2 - jakieś tam łącze + korzystna oferta na noc

Musiałbym odwrócić metryki dla tych łącz na noc:
1. Wan-2 - jakieś tam łącze + korzystna oferta na noc
2. Wan-1 - jakieś tam łącze

I przełączać nad ranem:
1. Wan-1 - jakieś tam łącze
2. Wan-2 - jakieś tam łącze + korzystna oferta na noc

Czy jestem w stanie to jakoś zrobić "dynamicznie" bez /etc/init.d/mwan3 restart ?

Mógłbym zrobić balans 50:50 i wyłączać łącze, ale to nie wchodzi w grę, ponieważ wan-1 nie jest tylko łączem dziennym, a wan-2 tylko nocnym

Ok, dzięki smile

Do serwera webowego już ma na porcie 80/443, na którym jest LuCi.
Chciałbym teraz aby GUEST nie mógł się tu zalogować /cgi-bin/luci/

Czyli mój GUEST będzie w sieci lokalnej miał dostęp tylko do www routera.
Luci ma jakąś opcję dla logowania z określonych stref tak jak SSH?
W sumie chciałbym, aby mój GUEST zatrzymał się właśnie na stronie logowania i nie mógł zalogować nawet znając hasło

To było banalne, nie wiem czemu wczoraj mi to nie działało:

uci add firewall rule
uci set firewall.@rule[-1].name='Guest-Gateway'
uci set firewall.@rule[-1].src='guest'
uci set firewall.@rule[-1].family='ipv4'
uci add_list firewall.@rule[-1].dest_ip='192.168.1.1'
uci set firewall.@rule[-1].dest_port='80 443'
uci set firewall.@rule[-1].target='ACCEPT'
uci set firewall.@rule[-1].enabled='1'

Przyłącze się do tematu, aby nie zakładać nowego wątku...

Chodzi mi o zaporę... Obecna konfiguracja strefy:

uci add firewall zone
uci set firewall.@zone[-1].name='guest'
uci add_list firewall.@zone[-1].network='guest'
uci set firewall.@zone[-1].input='REJECT'
uci set firewall.@zone[-1].output='ACCEPT'
uci set firewall.@zone[-1].forward='REJECT'

Zezwolenie na przekazywanie ze strefy GUEST do strefy WAN

uci add firewall forwarding
uci set firewall.@forwarding[-1].src='guest'
uci set firewall.@forwarding[-1].dest='wan'

Ze strefy LAN i VPN mam mieć dostęp do strefy GUEST

uci add firewall forwarding
uci set firewall.@forwarding[-1].src='lan'
uci set firewall.@forwarding[-1].dest='guest'

uci add firewall forwarding
uci set firewall.@forwarding[-1].src='vpn'
uci set firewall.@forwarding[-1].dest='guest'

Następnie umożliwiam dostęp gości do serwera DHCP oraz DNS

uci add firewall rule
uci set firewall.@rule[-1].name='Guest-DHCP'
uci set firewall.@rule[-1].src='guest'
uci set firewall.@rule[-1].family='ipv4'
uci add_list firewall.@rule[-1].proto='udp'
uci set firewall.@rule[-1].src_port='67-68'
uci set firewall.@rule[-1].dest_port='67-68'
uci set firewall.@rule[-1].target='ACCEPT'

uci add firewall rule
uci set firewall.@rule[-1].name='Guest-DNS'
uci set firewall.@rule[-1].src='guest'
uci add_list firewall.@rule[-1].proto='udp'
uci add_list firewall.@rule[-1].proto='tcp'
uci set firewall.@rule[-1].family='ipv4'
uci set firewall.@rule[-1].dest_port='53'
uci set firewall.@rule[-1].target='ACCEPT'

GUEST ma dostęp do strefy WAN, przez co widzi:
- inny router/routery, które nie są w trybie bridge
- modemy hilink bez hasła dostępu, otwarty telnet
- hotspoty z telefonów

uci add firewall rule
uci set firewall.@rule[-1].name='Guest-Wan'
uci set firewall.@rule[-1].src='guest'
uci set firewall.@rule[-1].dest='wan'
uci set firewall.@rule[-1].family='ipv4'
uci add_list firewall.@rule[-1].dest_ip='192.168.0.0/16'
uci set firewall.@rule[-1].dest_port='1-65535'
uci set firewall.@rule[-1].target='DROP'

Jak mogę teraz otworzyć dostęp tylko do www routera dla GUESTów ?

Niestety, tylko tyle zachowałem logów przed resetem, było jeszcze tylko to w logread:

Thu Nov  5 06:28:11 2020 daemon.notice openvpn(MOJA_NAZWA_test_1)[6320]: Outgoing Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
Thu Nov  5 06:28:11 2020 daemon.notice openvpn(MOJA_NAZWA_test_1)[6320]: Incoming Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
Thu Nov  5 06:28:11 2020 daemon.notice netifd: Interface 'MOJA_NAZWA' is enabled
Thu Nov  5 06:28:11 2020 daemon.notice netifd: Interface 'MOJA_NAZWA' is setting up now
Thu Nov  5 06:28:11 2020 daemon.notice netifd: Interface 'MOJA_NAZWA' is now up
Thu Nov  5 06:28:11 2020 daemon.notice netifd: Network device 'tun0' link is up
Thu Nov  5 06:28:11 2020 daemon.notice netifd: Interface 'MOJA_NAZWA' has link connectivity
Thu Nov  5 06:28:11 2020 daemon.notice openvpn(MOJA_NAZWA_test_1)[6320]: TUN/TAP device tun0 opened
Thu Nov  5 06:28:11 2020 daemon.notice openvpn(MOJA_NAZWA_test_1)[6320]: TUN/TAP TX queue length set to 100
Thu Nov  5 06:28:11 2020 daemon.notice openvpn(MOJA_NAZWA_test_1)[6320]: /sbin/ifconfig tun0 192.168.180.211 netmask 255.255.192.0 mtu 1500 broadcast 192.168.191.255
Thu Nov  5 06:28:11 2020 daemon.notice openvpn(MOJA_NAZWA_test_1)[6320]: /sbin/route add -net 192.168.192.0 netmask 255.255.192.0 gw 192.168.180.1
Thu Nov  5 06:28:11 2020 daemon.notice openvpn(MOJA_NAZWA_test_1)[6320]: Initialization Sequence Completed
Thu Nov  5 06:28:11 2020 daemon.info procd: - init complete -
Thu Nov  5 08:25:45 2020 daemon.notice hostapd: wlan0-1: interface state ENABLED->DISABLED

...ale tutaj tylko VPN się połączył (pewnie po rozłączeniu) i to na 2 godziny przed awarią (dlatego olałem udostępniać ten fragment dziennika w poście wyżej).

Dodam, że router nie był jakoś "używany" od wczoraj tzn. nikt aktywnie z niego nie korzystał, stoi sobie bo stoi, bardziej dla testów, ale fakt jest taki, że w u7621-06 przez ostatnie 1.5 roku zdarzyły mi się z 20 razy zresetować go (dwa egzemplarze w różnych miejscach) właśnie z podobnego powodu czyli brak komunikacji po LAN, WLAN i VPN, połączyłem się kiedyś tylko raz po konsoli aby właśnie zrobić network restart i router odżył, tym razem powyciągałem logi.

Czy mogłoby to wyglądać na problem z hardwarem? Jakieś napięcie się wyłączyło?
Dodam, że router jest zasilany z naprawdę konkretnego zasilacza Meanwell SGA40E12-P1J
OpenWRT v19.07.3