Odp: Hotplug: Nazwa interfejsów dla kart sieciowych o tym samym Mac Address
A jak pomyliłeś się z napięciem? Odwrotnie czy za duże?
Mam: D-Linki DWR-921, DWR-118, DWR-116, TP-Link WDR-4900 v1, Checkpoint L-50, Linksysy 1900ACS, LB-Link BL-W1200,
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Oprogramowanie / Software → Hotplug: Nazwa interfejsów dla kart sieciowych o tym samym Mac Address
Strony Poprzednia 1 2 3 4 5 6 7 8 Następna
Zaloguj się lub zarejestruj by napisać odpowiedź
A jak pomyliłeś się z napięciem? Odwrotnie czy za duże?
Już mówię... 5V z zasilacza laboratoryjnego na wejście routera, potem USB->HUB, a huba zasiliłem też z tych samych 5V - to moja pomyłka. Sam dziwie się czemu spaliłem ten układ, ale podejrzewam że przy tak niskim napięciu, prąd wzrósł, temperatura wzrosła i zwęgliła układ po ok. 1 min pracy. Na chwile obecną wylutowałem zwęglony układ (wyszedł w kilku częsciach), miałem nadzieję że robi zwarcie i bez niego router ruszy (np. jest odpowiedzialny tylko za usb), ale się tak nie stało. Nie wiem za co odpowiada ten układ, nie mam schematu tej płyty, a nie chce mi się też przedzwaniać całej płyty, aby to rozszyfrowywać. Przed wylutowaniem widziałem na nim oznaczenie A... potem zwęglona część i na końcu D, a obok tego układu inny układ w takiej samej obudowie o numerze AS11D, więc myślę że ten zwęglony to właśnie AS11D.
Kolejny u7621-06 już w drodze
Tego może kiedyś naprawie...
Mam jeszcze zapytanie o OpenVPN i mwan3.
Obecnie mam skonfigurowany mwan3 dla 4 interfejsów wan, każdy z nich jest oddzielną metryką - ten ostatni to Aero2 jako wan4 zawsze online, bez sprawdzania hostów:
config interface 'wan4'
option enabled '1'
option initial_state 'online'
option family 'ipv4'
option flush_conntrack 'never'Dodatkowo router jest klientem serwera OpenVPN. Zauważyłem, że czasem nie może się połączyć z serwerem. Okazało się, że OpenVPN zawsze korzysta z dostępu do sieci przez wan4 zamiast korzystać z reguł mwan3. Okazało się, że zapomniałem zadeklarować metryk interfejsów w /etc/config/network - zrobiłem to, ale widzę jeszcze jeden problem.
Kiedy rozłączam wan1, mwan3 przełącza mnie na wan2 - OpenVPN również się przełącza. Kiedy łącze ponownie wan1, mwan3 przełącza mnie na wan1, ale OpenVPN korzysta dalej z wan2 - taka sytuacja ma miejsce aż do zresetowania OpenVPN lub rozłączenia wan2. Jak mogę spowodować, aby OpenVPN korzystał zawsze z obecnie aktywnego WANu?
Może tu coś znajdziesz przydatnego: https://openwrt.org/docs/guide-user/net … n3#openvpn
Z tego co zrozumiałem chodzi o przekierowanie portu 1194 strefy WAN na strefę LAN, a OpenVPN ma nasłuchiwać na interfejsie LAN. Tak to wygląda:
/etc/config/openvpn
config openvpn 'Client'
(...)
option local '192.168.212.1'
option nobind '0'/etc/config/firewall
config redirect
option target 'DNAT'
option dest 'lan'
option proto 'udp'
option src_dport '1194'
option dest_port '1194'
option name 'OpenVPN'
option src 'wan'
option dest_ip '192.168.212.1'Niestety, ale to nie działa...
Chyba nic nie znalazłem przydatnego w tym linku.
Jak mogę przepuścić tun0 przez br-lan, zamiast bezpośrednio do interfejsów wanowych?
To chyba powinno rozwiązać problem
Zrozumiałem jak to działa... W testach: router z mwan3 oraz klient w sieci LAN jako Win10 z OpenVPN GUI.
Po rozłączeniu wan1 -> router przełącza się na wan2 oraz klienta Win10 i OpenVPN przełącza się na wan2.
Po ponownym połączeniu wan1, klient Win10 rozpoczyna korzystanie z wan1, ale OpenVPN GUI korzysta dalej z wan2.
Wywnioskowałem:
1. W przypadku Failover na mwan3 potrzeba będzie resetowania OpenVPN -> jeśli interfejs o mniejszej lub równej metryce ulegnie zmianie statusu z offline na online. Najprościej przez sprawdzenie "mwan3 policies" -> reset w razie zmian.
2. W przypadku balansu na mwan3, trzeba byłoby połączyć OpenVPN -> klient_1 przez wan1, klient_2 przez wan2 itd. do tego samego serwera i zrobić drugi loadballancing tylko dla OpenVPN. Nie testowałem tego, nie wiem czy zadziała...
Aktualnie prowadzę dwa zbliżone tematy, choć jednak inne (modemów i hotplugów dla modemów). Wszystkie te posty powinienem napisać w tym temacie, dlatego podrzucam link.
Skrypt musi być bardzo uniwersalny i potrafić przeszukiwać dostępne urządzenia USB, aby można było uruchomić go ręcznie, nawet bez zdarzenia hotplug podczas podłączenia urządzenia usb do portu.
Rzeźba niesamowita, ale działa...
Jeśli się okaże, że jest jakiś prosty soft, który by mi to wylistował takie coś to chyba strzele sobie w głowę ![]()
CMD=$( find /sys/devices/platform/*/usb* )
for LINE in $CMD; do
LINE2=$LINE
LINE2=$( echo $LINE2 | awk -F ':' '{print $1}' )
LINE3=$LINE2
LINE3=$( echo $LINE3 | awk -F '/' '{print $NF}' )
LINE3=$( echo $LINE3 | grep -E '^[0-9\.\-]+$' )
if [ "$LINE3" != "" ] && [ "$LINE2_OLD" != "$LINE2" ]; then
FIND=$LINE2":*"
echo "> "$FIND""
LINE2_OLD=$LINE2
fi
doneOutput:
> /sys/devices/platform/1e1c0000.xhci/usb1/1-1:*
> /sys/devices/platform/1e1c0000.xhci/usb1/1-1/1-1:*
> /sys/devices/platform/1e1c0000.xhci/usb1/1-0:*
> /sys/devices/platform/1e1c0000.xhci/usb2/2-0:*Przyszedł Unielec u7621-06... OpenWRT v19.07.0 z kernelem v4.14.156.
Po podłączeniu czwartego modemu USB dostaje to:
kern.info kernel: [ 473.707550] usb 1-2.4.1: new high-speed USB device number 15 using xhci-mtk
kern.warn kernel: [ 473.851836] usb 1-2.4.1: Not enough host controller resources for new device state.
kern.err kernel: [ 473.859737] usb 1-2.4.1: can't set config #1, error -12
Wydaje mi się, że wtedy dostawałem taką zwrotkę już po podłączeniu drugiego...
Dodatkowo wpiąłem w HUBa dysk i 6 pendrivów i... działa. Nic już nie rozumiem
Problem ze sterownikiem xhci-mtk i pewnie zbytnio nie ma jak go naprawić.
Jestem teraz na wersji v19.07.2 i problem cały czas jest. Czy jeśli wykompilowałbym xhci-mtk z systemu, czy moje usb zaczną działać tylko w 2.0? Jest szansa na pozbycie się tego problemu w ten sposób?
Jak to wywalisz z systemu to najpewniej w ogóle nie będzie działać USB.
Inna sprawa - w 19.07 już mało się dzieje, co najwyżej krytyczne rzeczy są poprawiane. Całość sił przerzucona jest na wersję rozwojową, więc jak chcesz to sprawdź wersję rozwojową i jak są problemy to wtedy im zgłaszaj. Tylko pamiętaj że wersja rozwojowa zwykle nie nadaje się do użytkowania na co dzień.
Mówisz o najnowszym snapshocie?
Sprawdzałem to kilka tygodni temu, sprawdzałem też na v19 oraz v18.
W każdym wydaniu jest ten sam problem.
Zgłaszałem to tutaj:
Oraz poruszałem temat tutaj:
Na ten moment zauważyłem, że w przypadku e3372h mogę użyć: czterech w trybie HiLink lub dwóch w trybie HiLink oraz jednego w trybie RAS/NCM, aby nie doszło do tego crashu jądra.
Wiem, że ten problem można połowicznie rozwiązać na tradycyjnych płytach głównych poprzez przełączenie w BIOS portów usb z wersji 3.0 na wersję 2.0. Jestem w stanie przełączyć moje porty w u7621-06? W jaki sposób?
W 7621 nie możesz, xhci jest sterownikiem kontrolera który jest w chipie, do usb 2.0 i usb 3.0. Nie ma jak tego zrobić.
Zastanawiam się jeszcze nad takim stanem rzeczy: po restarcie routera zawsze mam dostęp do swoich HiLink'owych Huawei, ale jeśli podczas pracy routera OpenWRT:
1. wejdę w WebGUI modemu lub konsolą po Telnet, aby go zresetować
2. wyjmę go i włożę z portu USB
...to czasami po takim restarcie samego modemu -> modem nie działa.
Hotplug w OpenWRT robi tylko:
/sbin/ip link set $NAME1 down
/sbin/ip link set $NAME1 name $NAME2
/sbin/ip link set $NAME2 upI teraz jak wygląda ta sytuacja i co nie pomaga:
ip link set usb5 down && sleep 5 && ip link set usb5 up
ifdown PlayodNOWA && sleep 5 && ifup PlayodNOWAifstatus PlayOdNOWA
{
"up": true,
"pending": false,
"available": true,
"autostart": true,
"dynamic": false,
"uptime": 37,
"l3_device": "usb5~if0",
"proto": "dhcp",
"device": "usb5~if0",
"updated": [
"addresses",
"routes",
"data"
],
"metric": 140,
"dns_metric": 0,
"delegation": true,
"ipv4-address": [
{
"address": "192.168.211.232",
"mask": 28
}
],
"ipv6-address": [
],
"ipv6-prefix": [
],
"ipv6-prefix-assignment": [
],
"route": [
{
"target": "0.0.0.0",
"mask": 0,
"nexthop": "192.168.211.231",
"source": "192.168.211.232/32"
}
],
"dns-server": [
"192.168.211.231",
"192.168.211.231"
],
"dns-search": [
],
"neighbors": [
],
"inactive": {
"ipv4-address": [
],
"ipv6-address": [
],
"route": [
],
"dns-server": [
],
"dns-search": [
],
"neighbors": [
]
},
"data": {
"leasetime": 86400
}
}ip addr
(...)
32: usb5~if0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc hfsc state UP group default qlen 1000
link/ether 0c:5b:8f:27:9a:64 brd ff:ff:ff:ff:ff:ff
inet6 fe80::e5b:8fff:fe27:9a64/64 scope link
valid_lft forever preferred_lft foreverroute
tutaj nie mam żadnych wpisów od tego interfejsuip route show
tutaj nie mam żadnych wpisów od tego interfejsuuci show network.PlayOdNOWA
network.PlayOdNOWA=interface
network.PlayOdNOWA.ifname='usb5~if0'
network.PlayOdNOWA.proto='dhcp'
network.PlayOdNOWA.metric='140'Podsumowanie:
Widzę, że mój interfejs PlayOdNOWA ma adres IP, zaś moje urządzenie usb5~if0 nie ma nadanego adresu, tablica rutingu nie istnieje dla urządzenia przez co nie mam do niego dostępu. Jedyne co pomaga na ten stan rzeczy to:
/etc/init.d/network restart...ale nie tędy droga... Co byś radził dodać do mojego skryptu hotplug?
Nigdy się z takim problemem nie spotkałem. Swoje modemy wyciągam/wkładam kiedy mam potrzebę i zawsze był wykrywany i wznawiane połączanie.
Przypomnij mi na czym to robisz? Na netgearze wndr4300?
Aktualnie jestem na UniElec u7621-06 / OpenWrt 19.07.2 / Jądro 4.14.171.
Właśnie próbuję jeszcze opcji:
uci set network.PlayOdNOWA.force_link='1'Tak, potwierdzam -> to załatwiło sprawę:
uci set network.PlayOdNOWA.force_link='1'Cezary, rozwiążmy to - wracając jeszcze do tego momentu:
https://eko.one.pl/forum/viewtopic.php? … 91#p230291
Kilka ciekawych linków na ten temat:
1. https://unix.stackexchange.com/question … ash-drives
2. https://superuser.com/questions/731751/ … vice-state
3. https://forums.gentoo.org/viewtopic-t-1 … art-0.html
4. https://patchwork.ozlabs.org/project/op … refly.com/
5. https://forum.openwrt.org/t/how-to-disa … ce/30473/4
6. https://community.intel.com/t5/Embedded … d-p/264556
A więc zrobię pomiary w v19.07.3 dla wcześniej stosowanych urządzeń:
opkg update
opkg install usbutils
lsusb -v | grep bEndpointAddress | wc -lW takich liczbach występuje "bEndpointAddress" dla poszczególnych urządzeń:
2 - nic nie podłączone do USB, to pewnie wewnętrzny hub usb na płycie
0 - przejściówka z Mini PCI-e do USB (w sumie czysta elektryka, nie ma żadnych układów "informatycznych"
0 - Hub USB 3.0
2 - HUB USB 2.0
2 - Pendrive 2.0 32GB
2 - Dysk 2.5" HDD Seagate ST9120822AS 120GB
5 - Modem Huawei E3372h-153 w trybie HiLink
5 - Tethering USB z telefonu z systemem Android
13 - Modem Huawei E3372h-153 w trybie NDIS/NCM
17 - Modem SimCOM SIM7600E-H
27 - Modem Ericsson DW5550 2XGNJ
46 - Modem Ericsson F5321Przykład 1:
2 (płyta) + 2 (hub 2.0) + 4x 5 (Hilink) = 24 (działa)
Przykład 2:
2 (płyta) + 2 (hub 2.0) + 3x 5 (Hilink) + 5 (tethering) = 24 (działa)
Przykład 3:
2 (płyta) + 2 (hub 2.0) + 4x 4 (Hilink) + 2 (pendrive) = 26 (działa)
Przykład 4:
2 (płyta) + 2 (hub 2.0) + 13 (ndis/ncm) + 2x 5 (Hilink) = 27 (działa)
Przykład 5:
2 (płyta) + 2 (hub 2.0) + 4x 4 (Hilink) + 2 (pendrive) + 2 (hdd) = 28 (nie działa)
Przykład 6:
2 (płyta) + 2 (hub 2.0) + 5x 5 (Hilink) = 29 (nie działa)
Przykład 7:
2 (płyta) + 2 (hub 2.0) + 4x 5 (Hilink) + 5 (tethering) = 29 (nie działa)
Przykład 8:
2 (płyta) + 2 (hub 2.0) + 13 (ndis/ncm) + 2x 5 (Hilink) + 2 (hdd) = 29 (działa)
Przykład 9:
2 (płyta) + 2 (hub 2.0) + 13 (ndis/ncm) + 2x 5 (Hilink) + 2 (hdd) + 2 (pendrive) = 29, ale nie wykrywa pendrive, coś nowego (gniazda usb urządzeń zasilane bezpośrednio z zasilacza laboratoryjnego, wspólna masa gniazd i huba):
[ 587.817329] usb 1-2.4.2: new high-speed USB device number 11 using xhci-mtk
[ 587.824343] xhci-mtk 1e1c0000.xhci: ERROR: unexpected setup context command completion code 0x7.
[ 587.833178] usb 1-2.4.2: hub failed to enable device, error -22
[ 587.937292] usb 1-2.4.2: new high-speed USB device number 12 using xhci-mtk
[ 587.944294] xhci-mtk 1e1c0000.xhci: ERROR: unexpected setup context command completion code 0x7.
[ 587.953202] usb 1-2.4.2: hub failed to enable device, error -22
[ 587.959534] usb 1-2.4-port2: attempt power cycle
[ 588.617319] usb 1-2.4.2: new high-speed USB device number 13 using xhci-mtk
[ 588.624353] xhci-mtk 1e1c0000.xhci: ERROR: unexpected setup address command completion code 0x7.
[ 588.847348] xhci-mtk 1e1c0000.xhci: ERROR: unexpected setup address command completion code 0x7.
[ 589.067334] usb 1-2.4.2: device not accepting address 13, error -22
[ 589.167310] usb 1-2.4.2: new high-speed USB device number 14 using xhci-mtk
[ 589.174324] xhci-mtk 1e1c0000.xhci: ERROR: unexpected setup address command completion code 0x7.
[ 589.397374] xhci-mtk 1e1c0000.xhci: ERROR: unexpected setup address command completion code 0x7.
[ 589.617292] usb 1-2.4.2: device not accepting address 14, error -22
[ 589.623719] usb 1-2.4-port2: unable to enumerate USB device
Przykład 10:
2 (płyta) + 2 (hub 2.0) + 27 (DW5550) = 31 (działa)
Przykład 11:
2 (płyta) + 2 (hub 2.0) + 27 (DW5550) + 2 (hdd) = 33 (działa)
To wszystko wyjaśnia trochę mój post sprzed 10 miesięcy:
Na ten moment zauważyłem, że w przypadku e3372h mogę użyć: czterech w trybie HiLink lub dwóch w trybie HiLink oraz jednego w trybie RAS/NCM, aby nie doszło do tego crashu jądra.
Usb 1.1 - oHCI
Usb 1.x - uHCI
Usb 2.0 - eHCI
Usb 3.0 - xHCI
opkg list-installed | grep 'usb\|hci'
kmod-ata-ahci - 4.14.180-1
kmod-sdhci-mt7620 - 4.14.180-1
kmod-usb-core - 4.14.180-1
kmod-usb-ehci - 4.14.180-1
kmod-usb-net - 4.14.180-1
kmod-usb-net-cdc-ether - 4.14.180-1
kmod-usb-net-cdc-ncm - 4.14.180-1
kmod-usb-net-huawei-cdc-ncm - 4.14.180-1
kmod-usb-serial - 4.14.180-1
kmod-usb-serial-option - 4.14.180-1
kmod-usb-serial-wwan - 4.14.180-1
kmod-usb-storage - 4.14.180-1
kmod-usb-wdm - 4.14.180-1
kmod-usb2 - 4.14.180-1
kmod-usb3 - 4.14.180-1
libusb-1.0-0 - 1.0.22-2
usb-modeswitch - 2017-12-19-f40f84c2-2
usbutils - 007-10
Czy wystarczy wykompilować pakiet "kmod-usb3" z jądra, aby wszystkie USB zaczęły działać w trybie eHCI co powinno zmniejszyć prędkość ich transferu oraz zwiększyć liczbę "bEndpointAddress"?
Wyrzuciłem jeszcze z jądra "kmod-usb3", ale wtedy USB nie działają już wcale.
Próbowałem robić zmiany w xhci.c, ale z miernym skutkiem.
Zastanawiam się nad tym, co wnosi ta zmiana napisana 6 lat temu, nie mam jej w swojej kompilacji:
https://github.com/qdk0901/openwrt-mt76 … 7621.patch
Dodanie wsparcia dla USB 3.0. Tyle że to była łatka dla kernela 3.10, teraz jesteś kilometry dalej i wsparcie dla usb 3.0 masz "natywnie" w jądrze, więc żadnej dodatkowej łątki nie potrzebujesz.
A czy jesli wymusze pracę routera w usb 2.0 to zwieksze limit urzadzen koncowych? Co mogę jeszcze zrobić?
Pewnie nie. Napisz na listę dyskusyjna kernela linux-usb, ktoś od nich powinien wiedzieć co z tym zrobić.
Wrzuciłem już to tutaj rok temu. Minął rok i błąd cały czas jest...
https://bugs.openwrt.org/index.php?do=d … sk_id=2638
Z mojej strony wszystko gotowe, napracowałem się cholernie, a to i tak nie działa...
Może coś nie tak z moim zgłoszeniem?
Na listę usb kernela linuksowego, nie openwrt. Jeżeli się jeszcze nie zorientowałeś to chyba żaden z tych głównych deweloperów nie zagląda na listę błędów i maja to głęboko w poważaniu.
Podaj mi link proszę gdzie powinienem to dodać
Strony Poprzednia 1 2 3 4 5 6 7 8 Następna
Zaloguj się lub zarejestruj by napisać odpowiedź
eko.one.pl → Oprogramowanie / Software → Hotplug: Nazwa interfejsów dla kart sieciowych o tym samym Mac Address
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc