1

(1,197 odpowiedzi, napisanych Sprzęt / Hardware)

kmaras77 napisał/a:

Będę miał lepsze WiFi?

Bo WAN na ethernecie i tak na oficjalnym openwrt wysycam łącze 600/100, na lanie mam 950 Gb.

Nie, wifi w sensie sterowników jest nietknięte (chodź teoretycznie są patche na ath11k aby w połączeniu z NSS wspierał enkrypcje pakietów wifi (ciężkie patche na hostapd) ), jednak w kwestii przepustowości, zasięgu, połączenia wifi to nic nie zmieni.

jedyne co aktualnie NSS daje to mniejsze uzycie procesora operacyjnego przy NATowaniu wan-lan, lan-vpn jeśli akurat rodzaj szyfrowania jest wpierany przez nss (cat /proc/crypto | grep nss | grep driver)

sama platforma ipq807x ma 4 rdzenia na procesor ARM + 2 rdzenie dedykowane (jeden na offload szyfrowania, jeden na offload ruchu sieciowego). Oficjalne wydania nie korzystają z dedykowanych rdzeni, wszytko idzie przez rdzenie operacyjne.

jesli wszytko dobrze działa z NSS to przy zuzyciu cpu (htop) powinieneś zauwazyć różnicę z NSS i bez.
Bez NSS - mało przerwań, wysokie zuzycie procesora
z NSS - dużo przerwań, małe zużycie CPU, wynikające z przełączania wątków na inny dedykowany procesor.

2

(1,197 odpowiedzi, napisanych Sprzęt / Hardware)

a wyłączyłeś repozytoria oficjalne i instalujesz z tych samych co budowałeś? Ja tez miałem dziwne zachowania, w końcu wywaliłem oficjalne snapshot i ze swoich wszytko instaluje i działa jak ma.
U mnie działa bardzo stabilnie, nawet bardziej niż oficjalny snapshot.

3

(1,197 odpowiedzi, napisanych Sprzęt / Hardware)

U mnie jest tak:

config defaults
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option flow_offloading '1'
        option fullcone '1'
        option fullcone6 '0'
        option synflood_protect '1'

option flow_offloading_hw '1' działa tylko na mediateku, nss offload realizuje inaczej. jakie masz moduły załadowane?


lsmod | grep nss

# lsmod | grep nss
bonding               126976  5 ecm,qca_nss_pppoe,qca_nss_lag_mgr,qca_nss_bridge_mgr,qca_nss_vlan
ip6_tunnel             32768  2 qca_nss_tunipip6,ip6_gre
nat46                  40960  2 ecm,qca_nss_map_t
nss_ifb                16384  0
ppp_generic            40960  9 ecm,ppp_async,l2tp_ppp,qca_nss_pptp,pptp,qca_nss_pppoe,pppoe,pppox,qca_nss_l2tpv2
pppoe                  24576  2 ecm,qca_nss_pppoe
pptp                   28672  2 ecm,qca_nss_pptp
qca_nss_bridge_mgr     20480  0
qca_nss_cfi_cryptoapi   53248  0
qca_nss_crypto         40960  1 qca_nss_cfi_cryptoapi
qca_nss_dp             45056  1 qca_nss_drv
qca_nss_drv          1060864 15 nss_ifb,ecm,qca_nss_tunipip6,qca_nss_tun6rd,qca_nss_crypto,qca_nss_qdisc,qca_nss_vxlanmgr,qca_nss_pptp,qca_nss_pppoe,qca_nss_map_t,qca_nss_lag_mgr,qca_nss_l2tpv2,qca_nss_gre,qca_nss_bridge_mgr,qca_nss_vlan
qca_nss_gre            24576  0
qca_nss_l2tpv2         20480  0
qca_nss_lag_mgr        16384  0
qca_nss_map_t          16384  0
qca_nss_pppoe          16384  0
qca_nss_pptp           16384  0
qca_nss_qdisc          94208  5
qca_nss_tun6rd         16384  0
qca_nss_tunipip6       20480  0
qca_nss_vlan           28672  1 qca_nss_bridge_mgr
qca_nss_vxlanmgr       28672  0
qca_ssdk             1425408  5 qca_nss_qdisc,qca_nss_bridge_mgr,qca_nss_vlan,qca_nss_drv,qca_nss_dp
sit                    28672  1 qca_nss_tun6rd
vxlan                  73728  2 ecm,qca_nss_vxlanmgr

lsmod | grep nft

nf_conntrack           90112 28 ecm,nft_redir,nft_nat,nft_masq,nft_fullcone,nft_flow_offload,nft_ct,nf_nat_tftp,nf_nat_snmp_basic,nf_nat_sip,nf_nat_pptp,nf_nat_irc,nf_nat_h323,nf_nat_ftp,nf_nat_amanda,nf_nat,nf_flow_table,nf_conntrack_tftp,nf_conntrack_snmp,nf_conntrack_sip,nf_conntrack_pptp,nf_conntrack_netlink,nf_conntrack_irc,nf_conntrack_h323,nf_conntrack_ftp,nf_conntrack_broadcast,nf_conntrack_bridge,nf_conntrack_amanda
nf_dup_netdev          16384  2 nft_fwd_netdev,nft_dup_netdev
nf_flow_table          32768  2 nf_flow_table_inet,nft_flow_offload
nf_nat                 36864 12 nft_redir,nft_nat,nft_masq,nft_fullcone,nft_chain_nat,nf_nat_tftp,nf_nat_sip,nf_nat_pptp,nf_nat_irc,nf_nat_h323,nf_nat_ftp,nf_nat_amanda
nf_reject_ipv4         16384  3 nft_reject_ipv4,nft_reject_inet,nft_reject_bridge
nf_reject_ipv6         16384  3 nft_reject_ipv6,nft_reject_inet,nft_reject_bridge
nf_tables             176128431 nft_fib_inet,nf_flow_table_inet,nft_reject_ipv6,nft_reject_ipv4,nft_reject_inet,nft_reject_bridge,nft_reject,nft_redir,nft_quota,nft_objref,nft_numgen,nft_nat,nft_meta_bridge,nft_masq,nft_log,nft_limit,nft_hash,nft_fwd_netdev,nft_fullcone,nft_flow_offload,nft_fib_ipv6,nft_fib_ipv4,nft_fib,nft_dup_netdev,nft_ct,nft_chain_nat
nft_chain_nat          16384  2
nft_ct                 20480 17
nft_dup_netdev         16384  0
nft_fib                16384  3 nft_fib_inet,nft_fib_ipv6,nft_fib_ipv4
nft_fib_inet           16384  0
nft_fib_ipv4           16384  1 nft_fib_inet
nft_fib_ipv6           16384  1 nft_fib_inet
nft_flow_offload       16384  1
nft_fullcone           57344  2
nft_fwd_netdev         16384  0
nft_hash               16384  0
nft_limit              16384  5
nft_log                16384  0
nft_masq               16384  0
nft_meta_bridge        16384  0
nft_nat                16384  0
nft_numgen             16384  0
nft_objref             16384  0
nft_quota              16384  0
nft_redir              16384  2
nft_reject             16384  4 nft_reject_ipv6,nft_reject_ipv4,nft_reject_inet,nft_reject_bridge
nft_reject_bridge      16384  0
nft_reject_inet        16384  2
nft_reject_ipv4        16384  0
nft_reject_ipv6        16384  0

cat /etc/config/nss

config nss_firmware 'qca_nss_0'

config nss_firmware 'qca_nss_1'

config general
        option enable_rps       '1'

# cat /etc/config/ecm

config ecm 'global'
        option acceleration_engine 'auto'

config general
        option enable_bridge_filtering  '1'
        option disable_offloads '0'
        option disable_flow_control '0'
        option disable_interrupt_moderation '0'

4

(1,197 odpowiedzi, napisanych Sprzęt / Hardware)

upewnij się, że w twoim configu jest

CONFIG_TARGET_MULTI_PROFILE=y
CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_xiaomi_ax3600=y

Zauważyłem, że inne pakiety są dobierane z multiprofile vs device profile - nie wiem dlaczego tak jest nie wnikałem

5

(1,197 odpowiedzi, napisanych Sprzęt / Hardware)

kmaras77 napisał/a:

i się nie kompiluje, jest error.

Przy kompilacji z j1 V=s
pyta o

Connection tracking extension for dscp remark target (NF_CONNTRACK_DSCPREMARK_EXT) [N/y/?] (NEW)

Mam dać Yes?

Jak to obejść, aby się kompilowało normalnie na wszystkie rdzenie?

tu masz mój defconfig - mam tam dodatkowe rzeczy pod siebie
wklej zawartość do .defconfig, potem make clean, make defconfig, make menuconfig, powinno pojść od strzała

CONFIG_TARGET_qualcommax=y\n
CONFIG_TARGET_qualcommax_ipq807x=y\n
CONFIG_TARGET_MULTI_PROFILE=y\n
CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_xiaomi_ax3600=y\n
CONFIG_TARGET_DEVICE_PACKAGES_qualcommax_ipq807x_DEVICE_xiaomi_ax3600=""\n
CONFIG_ALL_KMODS=y\n
CONFIG_TARGET_PER_DEVICE_ROOTFS=y\n
CONFIG_HTOP_LMSENSORS=y\n
CONFIG_LIBCURL_COOKIES=y\n
CONFIG_LIBCURL_FILE=y\n
CONFIG_LIBCURL_FTP=y\n
CONFIG_LIBCURL_HTTP=y\n
CONFIG_LIBCURL_MBEDTLS=y\n
CONFIG_LIBCURL_NGHTTP2=y\n
CONFIG_LIBCURL_NO_SMB="!"\n
CONFIG_LIBCURL_PROXY=y\n
CONFIG_LIBCURL_UNIX_SOCKETS=y\n
CONFIG_NSS_DRV_EDMA_ENABLE=y\n
CONFIG_NSS_DRV_GRE_TUNNEL_ENABLE=y\n
CONFIG_NSS_DRV_L2TP_ENABLE=y\n
CONFIG_NSS_DRV_MIRROR_ENABLE=y\n
CONFIG_NSS_DRV_PORTID_ENABLE=y\n
CONFIG_NSS_DRV_QVPN_ENABLE=y\n
CONFIG_NSS_DRV_SJACK_ENABLE=y\n
CONFIG_NSS_DRV_TRUSTSEC_ENABLE=y\n
CONFIG_NSS_DRV_TRUSTSEC_RX_ENABLE=y\n
CONFIG_NSS_DRV_WIFI_EXT_VDEV_ENABLE=y\n
CONFIG_NSS_DRV_WIFI_MESH_ENABLE=y\n
CONFIG_PACKAGE_6rd=y\n
CONFIG_PACKAGE_6to4=y\n
CONFIG_PACKAGE_cgi-io=y\n
CONFIG_PACKAGE_ddns-scripts=y\n
CONFIG_PACKAGE_ddns-scripts-services=y\n
CONFIG_PACKAGE_dnsmasq=m\n
CONFIG_PACKAGE_dnsmasq-full=y\n
CONFIG_PACKAGE_dnsmasq_full_auth=y\n
CONFIG_PACKAGE_dnsmasq_full_conntrack=y\n
CONFIG_PACKAGE_dnsmasq_full_dhcp=y\n
CONFIG_PACKAGE_dnsmasq_full_dhcpv6=y\n
CONFIG_PACKAGE_dnsmasq_full_dnssec=y\n
CONFIG_PACKAGE_dnsmasq_full_nftset=y\n
CONFIG_PACKAGE_dnsmasq_full_noid=y\n
CONFIG_PACKAGE_dnsmasq_full_tftp=y\n
CONFIG_PACKAGE_hostapd=m\n
CONFIG_PACKAGE_hostapd-basic-mbedtls=m\n
CONFIG_PACKAGE_hostapd-utils=m\n
CONFIG_PACKAGE_htop=m\n
CONFIG_PACKAGE_https-dns-proxy=y\n
CONFIG_PACKAGE_ip6tables-nft=m\n
CONFIG_PACKAGE_ipq-wifi-redmi_ax6=m\n
CONFIG_PACKAGE_iptables-mod-conntrack-extra=m\n
CONFIG_PACKAGE_kmod-asn1-decoder=y\n
CONFIG_PACKAGE_kmod-bonding=y\n
CONFIG_PACKAGE_kmod-crypto-authenc=y\n
CONFIG_PACKAGE_kmod-crypto-kpp=y\n
CONFIG_PACKAGE_kmod-crypto-lib-chacha20=y\n
CONFIG_PACKAGE_kmod-crypto-lib-chacha20poly1305=y\n
CONFIG_PACKAGE_kmod-crypto-lib-curve25519=y\n
CONFIG_PACKAGE_kmod-crypto-lib-poly1305=y\n
CONFIG_PACKAGE_kmod-gre=y\n
CONFIG_PACKAGE_kmod-gre6=y\n
CONFIG_PACKAGE_kmod-ifb=y\n
CONFIG_PACKAGE_kmod-ip6-tunnel=y\n
CONFIG_PACKAGE_kmod-iptunnel=y\n
CONFIG_PACKAGE_kmod-iptunnel4=y\n
CONFIG_PACKAGE_kmod-iptunnel6=y\n
CONFIG_PACKAGE_kmod-l2tp=y\n
CONFIG_PACKAGE_kmod-lib-textsearch=y\n
CONFIG_PACKAGE_kmod-nat46=y\n
CONFIG_PACKAGE_kmod-nf-conntrack-netlink=y\n
CONFIG_PACKAGE_kmod-nf-nathelper=y\n
CONFIG_PACKAGE_kmod-nf-nathelper-extra=y\n
CONFIG_PACKAGE_kmod-nft-bridge=y\n
CONFIG_PACKAGE_kmod-nft-netdev=y\n
CONFIG_PACKAGE_kmod-pppol2tp=y\n
CONFIG_PACKAGE_kmod-pptp=y\n
CONFIG_PACKAGE_kmod-qca-mcs=y\n
CONFIG_PACKAGE_kmod-qca-nss-cfi-cryptoapi=y\n
CONFIG_PACKAGE_kmod-qca-nss-crypto=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-bridge-mgr=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-clmapmgr=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-dtlsmgr=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-eogremgr=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-gre=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-igs=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-l2tpv2=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-lag-mgr=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-map-t=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-match=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-netlink=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-pppoe=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-pptp=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-pvxlanmgr=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-qdisc=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-tlsmgr=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-tun6rd=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-tunipip6=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-vlan-mgr=y\n
CONFIG_PACKAGE_kmod-qca-nss-drv-vxlanmgr=y\n
CONFIG_PACKAGE_kmod-qca-nss-ecm=y\n
CONFIG_PACKAGE_kmod-sched-core=y\n
CONFIG_PACKAGE_kmod-sit=y\n
CONFIG_PACKAGE_kmod-tls=y\n
CONFIG_PACKAGE_kmod-udptunnel4=y\n
CONFIG_PACKAGE_kmod-udptunnel6=y\n
CONFIG_PACKAGE_kmod-vxlan=y\n
CONFIG_PACKAGE_kmod-wireguard=y\n
CONFIG_PACKAGE_libatomic=m\n
CONFIG_PACKAGE_libbpf=m\n
CONFIG_PACKAGE_libcares=y\n
CONFIG_PACKAGE_libcurl=y\n
CONFIG_PACKAGE_libelf=m\n
CONFIG_PACKAGE_libev=y\n
CONFIG_PACKAGE_libgmp=y\n
CONFIG_PACKAGE_libip4tc=m\n
CONFIG_PACKAGE_libip6tc=m\n
CONFIG_PACKAGE_libiptext=m\n
CONFIG_PACKAGE_libiptext-nft=m\n
CONFIG_PACKAGE_libiptext6=m\n
CONFIG_PACKAGE_libiwinfo-lua=m\n
CONFIG_PACKAGE_liblua=y\n
CONFIG_PACKAGE_liblucihttp=y\n
CONFIG_PACKAGE_liblucihttp-lua=y\n
CONFIG_PACKAGE_liblucihttp-ucode=y\n
CONFIG_PACKAGE_libncurses=m\n
CONFIG_PACKAGE_libnetfilter-conntrack=y\n
CONFIG_PACKAGE_libnettle=y\n
CONFIG_PACKAGE_libnfnetlink=y\n
CONFIG_PACKAGE_libnghttp2=y\n
CONFIG_PACKAGE_libnl=m\n
CONFIG_PACKAGE_libnl-core=m\n
CONFIG_PACKAGE_libnl-genl=m\n
CONFIG_PACKAGE_libnl-nf=m\n
CONFIG_PACKAGE_libnl-nss=m\n
CONFIG_PACKAGE_libnl-route=m\n
CONFIG_PACKAGE_libpcap=m\n
CONFIG_PACKAGE_libstdcpp=m\n
CONFIG_PACKAGE_libubus-lua=y\n
CONFIG_PACKAGE_libuci-lua=m\n
CONFIG_PACKAGE_libwolfsslcpu-crypto=y\n
CONFIG_PACKAGE_lua=y\n
CONFIG_PACKAGE_lua-bit32=m\n
CONFIG_PACKAGE_lua-cjson=m\n
CONFIG_PACKAGE_luabitop=m\n
CONFIG_PACKAGE_luasocket=m\n
CONFIG_PACKAGE_luci=y\n
CONFIG_PACKAGE_luci-app-ddns=y\n
CONFIG_PACKAGE_luci-app-firewall=y\n
CONFIG_PACKAGE_luci-app-https-dns-proxy=y\n
CONFIG_PACKAGE_luci-app-nft-qos=y\n
CONFIG_PACKAGE_luci-app-opkg=y\n
CONFIG_PACKAGE_luci-base=y\n
CONFIG_PACKAGE_luci-compat=y\n
CONFIG_PACKAGE_luci-lib-base=y\n
CONFIG_PACKAGE_luci-lib-ip=y\n
CONFIG_PACKAGE_luci-lib-jsonc=y\n
CONFIG_PACKAGE_luci-lib-nixio=y\n
CONFIG_PACKAGE_luci-light=y\n
CONFIG_PACKAGE_luci-lua-runtime=y\n
CONFIG_PACKAGE_luci-mod-admin-full=y\n
CONFIG_PACKAGE_luci-mod-network=y\n
CONFIG_PACKAGE_luci-mod-status=y\n
CONFIG_PACKAGE_luci-mod-system=y\n
CONFIG_PACKAGE_luci-proto-ipv6=y\n
CONFIG_PACKAGE_luci-proto-ppp=y\n
CONFIG_PACKAGE_luci-proto-wireguard=y\n
CONFIG_PACKAGE_luci-theme-bootstrap=y\n
CONFIG_PACKAGE_nft-qos=y\n
CONFIG_PACKAGE_nss-eip-firmware=y\n
CONFIG_PACKAGE_nss-firmware-ipq8074=y\n
CONFIG_PACKAGE_nssinfo=m\n
CONFIG_PACKAGE_prometheus-node-exporter-lua=m\n
CONFIG_PACKAGE_prometheus-node-exporter-lua-dawn=m\n
CONFIG_PACKAGE_prometheus-node-exporter-lua-hostapd_stations=m\n
CONFIG_PACKAGE_prometheus-node-exporter-lua-hostapd_ubus_stations=m\n
CONFIG_PACKAGE_prometheus-node-exporter-lua-nat_traffic=m\n
CONFIG_PACKAGE_prometheus-node-exporter-lua-netstat=m\n
CONFIG_PACKAGE_prometheus-node-exporter-lua-openwrt=m\n
CONFIG_PACKAGE_prometheus-node-exporter-lua-snmp6=m\n
CONFIG_PACKAGE_prometheus-node-exporter-lua-textfile=m\n
CONFIG_PACKAGE_prometheus-node-exporter-lua-ubnt-manager=m\n
CONFIG_PACKAGE_prometheus-node-exporter-lua-uci_dhcp_host=m\n
CONFIG_PACKAGE_prometheus-node-exporter-lua-wifi=m\n
CONFIG_PACKAGE_prometheus-node-exporter-lua-wifi_stations=m\n
CONFIG_PACKAGE_qca-ssdk-shell=y\n
CONFIG_PACKAGE_rpcd=y\n
CONFIG_PACKAGE_rpcd-mod-file=y\n
CONFIG_PACKAGE_rpcd-mod-iwinfo=y\n
CONFIG_PACKAGE_rpcd-mod-luci=y\n
CONFIG_PACKAGE_rpcd-mod-rrdns=y\n
CONFIG_PACKAGE_rpcd-mod-ucode=y\n
CONFIG_PACKAGE_tcpdump=m\n
CONFIG_PACKAGE_tcpdump-mini=m\n
CONFIG_PACKAGE_terminfo=m\n
CONFIG_PACKAGE_ubnt-manager=m\n
CONFIG_PACKAGE_ucode-mod-html=y\n
CONFIG_PACKAGE_ucode-mod-lua=y\n
CONFIG_PACKAGE_ucode-mod-math=y\n
CONFIG_PACKAGE_uhttpd=y\n
CONFIG_PACKAGE_uhttpd-mod-lua=m\n
CONFIG_PACKAGE_uhttpd-mod-ubus=y\n
CONFIG_PACKAGE_wireguard-tools=y\n
CONFIG_PACKAGE_wireless-tools=y\n
CONFIG_PACKAGE_xtables-nft=m\n
CONFIG_PACKAGE_zlib=m\n
CONFIG_NSS_DRV_IPSEC_ENABLE=y\n
CONFIG_NSS_DRV_OVPN_ENABLE=y\n
CONFIG_NSS_DRV_TSTAMP_ENABLE=y\n

6

(1,197 odpowiedzi, napisanych Sprzęt / Hardware)

gdyby ktoś na dniach chciał wymieniać soft to polecam zbudowanie wydania snapshot wzbogaconego o NSS (akceleracje sprzętowe) z repo: https://github.com/bitthief/openwrt/tre … ax-6.1-nss oraz dorzucenie patcha (bez niego u mnie wysyłanie po wifi jest w granicach 40-80Mbit) https://raw.githubusercontent.com/rmand … patc.patch
i po instalacji dodanie do /etc/sysctl.d/qca-nss-ecm.conf

net.netfilter.nf_conntrack_tcp_no_window_check=1

Jest to niewspirane openwrt, ponieważ zawiera dodatki od producenta do sprzętowej akceleracji NAT, szyfrowania - wykorzystujemy w nim normalnie niewykorzystane 2 rdzenie w procesorze dedykowane dla w/w czynności.
U mnie działa bardzo stabilnie - żadnych wycieków pamięci, uzycie procesora w graniach 1,3% 980/980Mbit wyciąga, po wifi (3m od routera jest 890/890 na ax210 (80Mhz pasmo). Dodatkowo sprzętowa możliwość traffic shapingu zgodna z firewall4.

U mnie wygląda tak:

insmod nss-ifb nss_dev_name=wan
ip link set up nssifb

# Polaczenia przychodzace na 960MBit z podlaczonym NSSFQ_CODEL
tc qdisc add dev nssifb root handle 1: nsstbl rate 960Mbit burst 4Mb
tc qdisc add dev nssifb parent 1: handle 10: nssfq_codel limit 10240 flows 1024 quantum 1514 target 5ms interval 100ms set_default

# Polaczenia wychodzace na 960MBit z podlaczonym NSSFQ_CODEL
tc qdisc add dev wan root handle 1: nsstbl rate 960Mbit burst 4Mb
tc qdisc add dev wan parent 1: handle 10: nssfq_codel limit 10240 flows 1024 quantum 1514 target 5ms interval 100ms set_default

7

(18 odpowiedzi, napisanych Sprzęt / Hardware)

1. Z tego co widzę z logów to poprawny flash layout powininen być:
[    3.840000] Creating 13 MTD partitions on "MT7621-NAND":
[    3.850000] 0x000000000000-0x00000ff80000 : "ALL"
[    3.850000] 0x000000000000-0x000000040000 : "Bootloader"
[    3.860000] 0x000000040000-0x000000080000 : "Config"
[    3.870000] 0x000000080000-0x0000000c0000 : "Bdata"
[    3.870000] 0x0000000c0000-0x000000100000 : "Factory"
[    3.880000] 0x000000100000-0x000000140000 : "crash"
[    3.890000] 0x000000140000-0x0000001c0000 : "crash_syslog"
[    3.890000] 0x0000001c0000-0x000000200000 : "reserved0"
[    3.900000] 0x000000200000-0x000000600000 : "kernel0"
[    3.910000] 0x000000600000-0x000000a00000 : "kernel1"
[    3.910000] 0x000000a00000-0x000003200000 : "rootfs0"
[    3.920000] 0x000003200000-0x000005a00000 : "rootfs1"
[    3.920000] 0x000005a00000-0x00000ff80000 : "overlay"
Sprawdź binwalkiem swój backup czy pasuje layout do powyższego.
2. Jeśli pasuje to może flash uwalony (ludzie piszą że NAND Micron lubił padać-backblocki i wymieniali go na ESMT)
3. Jeśli nie pasuje to znaczy, że podczas robienia backupu coś poszło nie tak i masz błąd. Tutaj proponuje zacząć od wgrania partycji bootloader programatorem i wczytania jej do pliku- ta operacja potwierdzi, że pamięć w obszarze partycji uboot jest ok.
4. bez programatora ni rusz, jak znajdziesz kogoś kto potrafi dobrze programować tę pamięć to nasi przyjaciele chyba mieli już podobny problem tu: https://www.right.com.cn/forum/forum.ph … id=7142537
5. jak będzie już uboot startował to najbardziej krytyczne do odtworzenia (może z backupu) będą partycje bdata oraz config z uwzględnieniem ustawień urządzenia (m.in adresy MAC, serial) - potem dopiero brać się za resztę.

8

(1,197 odpowiedzi, napisanych Sprzęt / Hardware)

Mi przyszedł w wersji int, za pomocą instrukcji przefleshowałem do najnowszej wersji z dostępem uart + ssh z wykluczeniem usług potencjalnie mogących naruszać prywatność (skrypt xqrepack) - czyli jest openwrt z obciętą funcjonalnością (bez wifi IoT)  z działającymi rdzeniami NSS (pełna funcjonalność).

Teraz mam egzystencjalny dylemat - niestety na razie platforma jest dość zamknięta - i nie wiadomo czy na 100% poszła cała "telemetria" którą producent zbiera. Jako że nie ufam do końca dostawcą sprzętu (bez względu na kraj pochodzenia), czy jest jakaś dodatkowa możliwość aby się upewnić/znaleźć/identyfikować, że żadne "nadmiarowe" dane nie opuszczają mojego routera? Problem jest o tyle aktualny, że pojawia się dobry sprzęt w przystępnych cenach (niestety kosztem prywatności) - a jako polak-cebulak chciałbym najlepiej mieć tani dobry sprzęt w zamian nie poświęcając swojej prywatności i telemetrii nadmiernie.
Macie pomysły jak do tematu najlepiej podejść od strony routera (np. w ostatnim łańcuchu wychodzącym iptables stworzyć zestaw reguł który by odrzucał połączenia do znanych serwerów telemetrii np po akresach IP)?

śmiga aż miło
https://zapodaj.net/555a03320ea35.png.html
https://zapodaj.net/fa2d9296a4225.png.html
ale pod cięższym obciążeniem (połączenie po kabli 1Gbps full duplex, cat6e nie ma 1 Gbita.
https://zapodaj.net/2ea00f2cfc0cf.png.html

test openssla:
# openssl speed -evp aes-128-cbc -elapsed
You have chosen to measure elapsed time instead of user CPU time.
Doing aes-128-cbc for 3s on 16 size blocks: 9103271 aes-128-cbc's in 3.01s
Doing aes-128-cbc for 3s on 64 size blocks: 3588897 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 256 size blocks: 984493 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 1024 size blocks: 254079 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 8192 size blocks: 31698 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 16384 size blocks: 15720 aes-128-cbc's in 3.00s

The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-cbc      48389.48k    76563.14k    84010.07k    86725.63k    86556.67k    85852.16k

zauważyłem też, że na oryginalnym sofcie procesor wpiera dla klientów podłączonych po wifi akceleracje szyfrowania - tu jeszcze chyba tego brakuje

Cieszę się, że widać znaczny postęp, może doczekam dnia żeby pełen zestaw akceleracji sprzętowych był w openwrt dla tego modelu.
Człowiek to od razu chchiałby mieć wszytko ... szkoda że sie nie da.

Zrobiłem forka twojego repo do siebie (https://github.com/adamhnat/openwrt/tre … nss-qsdk10) i dodałem obsługę bliźniaczego modelu xr500. W najbliższych dniach będe testował.

zmieniałem kanał na 11 i HT40-, sprzet odbiorczy wczesniej komunikowal sie na 300Mbit, próbowałem nakłonić ich do wyłączenia sieci - nie pomogło.

edit: faktycznie wina sąsiadów, poskanowałem sieci i ktos zaczal uzywac tych samych kanalow co ja. juz ni zadne wieksze wolne pasmo nie zostało.

pokaż /etc/opkg.conf.
Powinien wyglądać mniej-więcej tak(dla wersji cezarego):

src/gz attitude_adjustment http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages
dest root /
dest ram /tmp
dest plugin_root /plugin_root
lists_dir ext /var/opkg-lists
option overlay_root /overlay
src/gz eko1 http://ecco.selfip.net/attitude_adjustment/ar71xx/packages
src/gz gargoylepl http://ecco.selfip.net/gargoyle-pl/attitude_adjustment/ar71xx/packages

Witam,
Problem jak w temacie. config byl sobie kopiowany pomiędzy wersjami az zauważyłem że łączył mi się z prędkością 300Mbit (ok), potem max 130Mbit, a teraz już jest 65Mbit.
Poniżej config

config wifi-device 'radio0'
    option type 'mac80211'
    option macaddr 'b0:48:7a:aa:bb:cc'
    option hwmode '11ng'
    list ht_capab 'SHORT-GI-40'
    list ht_capab 'DSSS_CCK-40'
    option country 'PL'
    option country_ie '1'
    option noscan '1'
    option htmode 'HT40+'
    option channel '6'
    option bursting '1'
    option ff '1'
    option compression '1'
    option xr '1'
    option ar '1'

config wifi-iface 'ap_g'
    option device 'radio0'
    option mode 'ap'
    option network 'lan'
    option ssid 'MojeSSID'
    option isolate '1'
    option encryption 'psk2'
    option key 'hakunaMaTata!'  #oczywiście zmieniłem :)
# iw wlan0 info
Interface wlan0
    ifindex 12
    wdev 0x2
    addr b0:48:7a:aa:bb:cc
    type AP
    wiphy 0
    channel 6 (2437 MHz) HT40+

Używam wersji Attitude Adjustment 12.09.1 (r37768) / Gargoyle.

ostatnio były zmiany ze sterownikiem ath9k, wiec moze jakies opcje doszły ktore nalezy dopisac zeby miec znow 300Mbit?
Wcześniej ten sam sprzęt łączył się na 300Mbit, potem 65Mbit lub 130Mbit. Jakieś pomysły co mogę jeszcze sprawdzić?

Osobom które twierdzą że źle robię bo sieje na 8 kanałach-odpowiadam: docelowo mam skręconą moc(pier myslalem ze to wina tego ale nie). wiec innym nie sieję. Zdaje sobie sprawę że źle robię korzystająćz 40MHz pasma.

14

(22 odpowiedzi, napisanych Oprogramowanie / Software)

ja ze swojej strony proponuje jako rozwiazanie problemu:
1. uruchomienie routera bez wtykania czego kolwiek w USB (ważne!)
2. przejść przez procedure resetu fabrycznego (firstboot)
3. przekopiować dane z usb na komputer, sformatowac karte sd
4. zrobic nowego extroota
5. zrobic nowa konfiguracje na extroocie

zebrałem się w sobie i przepisałem firewalla do ichniego, jak Cezary polecił, ostatnio duzo zmian w firewallu ipv6 wiec na chwile obecna jest to aktualne dla wersji openwrt r37267.

16

(28 odpowiedzi, napisanych Oprogramowanie / Software)

ja miałem podobny problem... rzeczywistym problem okazało się ... zasilanie... po podłączeniu zasilania 3V (wziąłem naładowaną baterię ze starej nokii 3.6V i podłączyłem i wtedy zaskoczył mi RX i mogłem reanimować).
Używałem do tego kabla CA-42 (chińczyk)

Nimloth napisał/a:

Tak z ciekawosci sprawdzilem 6to4 (dotychczas korzystam z tunelu HE) i czasy sa gorsze:

Poza wyzszym czasem sa jeszcze timeouty

różnice są, ale końcowy transfer jest większy. ja na na 6to4 osiągam prędkości ~20Mbps Niestety na tunelu nigdy tyle nie będzie(a przynajmniej ja sie nie spotkałem).  Ale fakt - łącze ipv6 jest mniej stabilne na 6to4
Pozatym tu dostajemy pule /48 więc mamy do dyspozycji 2^80 adresów, co daje 1.2089258e+24, więc z jednej takiej puli więc gdybyśmy każdemu człowiekowi na świecie dali po 1 ip z naszej puli to byśmy nawet 1% jej nie wykorzystali smile (swoją drogą co za marnotrastwo...)
Poztym napisałem to bo nóż znajdzie się ktoś kto chce pogrzebąc w konfigach i dać swoim userom zew. ipv6 - wtedy kończy się problem z przekierowywaniem portów, vpn'a mi.
A inny wątek to nigdzie nie znalazłem na internecie połączenia openwrt, 6to4 i dnsmasq. są opisy z radvd (ale radvd jest ciężkie w porównaniu do dnsmasq)

Cezary napisał/a:

Prawie super, ale pozbyłeś się firewalla na rzecz własnego. I pół rzeczy z openwrt nie będzie przez to działać. Przerób to żeby korzystało z ichniego firewalla.

nie do końca bo domyślnie w /etc/config/firewall jest

config include
    option path '/etc/firewall.user'

więc dopisuje swojego do już działającego, domyślny dla ipv6 jest trochę łysy..
Mi wszystko z openwrt/gargoyle działa smile

Edit: faktycznie nadpisywałem go, ale po dopisaniu wan6 do zone wan cały firewall na v6 z forwardingiem sie sam konfiguruje.
Edit2: domyślny działa, ale końcówki nie mają autonomiczności jeśli chodzi o porty. Jak sie zbiore w sobie to przepisze swojego firewalla na ichniechniego.

szybkie howto dla ipv6 w openwrt.

Generalnie celem tego howto jest przydzielenie na końcówkach sieci zewnętrznego adresu ipv6.
Wstęp:
1. Zapoznajemy się jak działa protokół ipv6
2. Jak już większość zignorowała 1 punkt to tak w skrócie jakie mamy drogi:
   a) provider daje nam adres ipv6 z pulą /64 (native ipv6)
   b) tworzymy tunel (tun6)
   c) generujemy sobie sami ipv6 na podstawie ipv4 (6to4)

aby dowiedzieć się w której jesteśmy sytuacji wykonujemy polecenie ipconfig i patrzymy czy mamy jakieś zewnętrzne adresy ipv6. Adresy zaczynające się od fe80 oraz ::1, się nie liczą.

2a - przypadek nieciekawy bo już router posiada ipv6 - idź do punktu 3
2b - przypadek w którym rozpisywanie się jak ustawić tunel ipv6 i jakie są typy zajęło by za wiele czasu - w ramach tego puntu pytać wujka google o dostawców tunelu i jak już się na jakiegoś zdecydujemy to poszukać jak taki tunel ustawić na swoim routerze. Wadą tego rozwiązania jest niska prędkość. Po ustanowieniu tunelu przechodzimy do punktu 3.
2c - przypadek 'ciekawy' którym się zajmę. Jeśli nasz provider przydziela nam adres ipv4 to na jego podstawie możemy wygenerować adres ipv6 np. adresowi 80.90.100.110 odpowiada adres 2002:505A:646E:: z pulą /48. Jak to się dzieje? aby dostać swoje ipv6 korzystamy z bramy 6to4 dostepnej w internecie (192.88.99.1). Nasz router staje się routeren typu dual stack tzn. obsługuję stos ipv4 oraz ipv6. Dość teori, pora na działanie.

opkg update
opkg install kmod-ipv6 6to4 6rd
opkg remove dnsmasq
opkg install dnsmasq-dhcpv6

plik /etc/config/network:
   w sekcji   config interface 'lan' dopisujemy następujące linie:

   option ip6assign '64'
   option ip6hint '10'

  na końcu dopisujemy:

  config interface 'wan6'
    option proto '6to4'
 

 
kilka słów komentarza: option ip6assign '64' mówi jaki prefix dostanie interfejs br-lan. ip6hint w której podsieci będziem nasz br-lan (ta liczba która następuje po wygenerowanym adresie). interface wan6 bedzie odpowiadał nam za stos ipv6. Po podniesieniu ten interfejs bedzie miał maskę /16.

uci del firewall.@zone[1].network=wan6
uci add firewall zone
uci set firewall.@zone[-1]._name=wan6
uci set firewall.@zone[-1].network=wan6
uci set firewall.@zone[-1].family=ipv6
uci set firewall.@zone[-1].input=ACCEPT
uci set firewall.@zone[-1].output=ACCEPT
uci set firewall.@zone[-1].forward=REJECT
uci commit

uci add firewall forwarding
uci set firewall.@forwarding[-1].src=wan6
uci set firewall.@forwarding[-1].dest=lan
uci commit

uci add firewall forwarding
uci set firewall.@forwarding[-1].src=lan
uci set firewall.@forwarding[-1].dest=wan6
uci commit

uci add firewall rule
uci set firewall.@rule[-1]._name='Allow Multicast v6'
uci set firewall.@rule[-1].src=wan
uci set firewall.@rule[-1].src_ip=ff00::/8
uci set firewall.@rule[-1].dest_ip=ff00::/8
uci set firewall.@rule[-1].family=ipv6
uci set firewall.@rule[-1]target=ACCEPT
uci commit

uci add firewall rule
uci set firewall.@rule[-1]._name=6to4
uci set firewall.@rule[-1].src=wan
uci set firewall.@rule[-1].proto=41
uci set firewall.@rule[-1].target=ACCEPT
uci commit

zapisujemy wszystko i robimy

 /etc/init.d/network restart 

sprawdzamy poleceniem ifconfig czy jest interfejs 6to4-wan6 (poniżej przykład)

6to4-wan6 Link encap:IPv6-in-IPv4  
          inet6 addr: 2002:505A:646E::::1/16 Scope:Global
          inet6 addr: ::80.90.100.110/128 Scope:Compat

3. sparwdzamy czy działa ping6 ipv6.google.com (jak odpowiada to znaczy ze router ma ipv6) można przejść do punktu 4
4. jak już mamy pulę to trzeba ją rozgłosić dla naszych klientów w tym celu:


edytujemy plik: /etc/sysclt.conf
upewniamy się że są opcje ustawione jak poniżej:

net.ipv6.conf.default.forwarding=1
net.ipv6.conf.all.forwarding=1

plik: /etc/dnsmasq.conf (nasza wisieńka na torcie)

dhcp-range=2002:505A:646E:10::,ra-names
enable-ra

uwaga dhcp-range to podany przez nas ipv6 oraz sieć (/etc/config/network ->    option ip6hint '10' - tak to właśnie to "10" i powinno być tu i tu to samo, oczywiście 10 można zmienić na coś innego np. 1, dead, beef, cafe tylko trzeba pamiętać aby to zrobić w obydwóch miejscach).


po tym wszystkim

/etc/init.d/sysctl restart
/etc/init.d/network restart
/etc/init.d/dnsmasq restart

i sprawdzamy czy końcówki otrzymują ipv6 i mogą pingować inne ipv6 (test z punktu 3).

edit: zgodnie z zaleceniami cezarego przepisałem firewalla do uci firewall.