Do /etc/hotplug.d/net/ mam wrzucone dwa pliki:

20-smp (wymaga włączenia packet_steering)

#!/bin/sh

NPROCS="$(grep -c "^processor.*:" /proc/cpuinfo)"
[ "$NPROCS" -gt 1 ] || exit

PROC_MASK="$(( (1 << $NPROCS) - 1 ))"

find_irq_cpu() {
    local dev="$1"
    local match="$(grep -m 1 "$dev\$" /proc/interrupts)"
    local cpu=0

    [ -n "$match" ] && {
        set -- $match
        shift
        for cur in $(seq 1 $NPROCS); do
            [ "$1" -gt 0 ] && {
                cpu=$(($cur - 1))
                break
            }
            shift
        done
    }

    echo "$cpu"
}

set_hex_val() {
    local file="$1"
    local val="$2"
    val="$(printf %x "$val")"
    [ -n "$DEBUG" ] && echo "$file = $val"
    echo "$val" > "$file"
}

packet_steering="$(uci get "network.@globals[0].packet_steering")"
[ "$packet_steering" != 1 ] && exit 0

exec 512>/var/lock/smp_tune.lock
flock 512 || exit 1

for dev in /sys/class/net/*; do
    [ -d "$dev" ] || continue

    # ignore virtual interfaces
    [ -n "$(ls "${dev}/" | grep '^lower_')" ] && continue
    [ -d "${dev}/device" ] || continue

    device="$(readlink "${dev}/device")"
    device="$(basename "$device")"
    irq_cpu="$(find_irq_cpu "$device")"
    irq_cpu_mask="$((1 << $irq_cpu))"

    for q in ${dev}/queues/tx-*; do
        set_hex_val "$q/xps_cpus" "$PROC_MASK"
    done

    # ignore dsa slave ports for RPS
    subsys="$(readlink "${dev}/device/subsystem")"
    subsys="$(basename "$subsys")"
    [ "$subsys" = "mdio_bus" ] && continue

    for q in ${dev}/queues/rx-*; do
        set_hex_val "$q/rps_cpus" "$PROC_MASK"
    done
done

10-usb (wymaga doinstalowania pakietu ethtool)

#!/bin/sh

log() {
    logger -t "NET" "$@"
}

NP=$(grep -c ^processor /proc/cpuinfo )
if [ "$NP" -gt 1 ]; then
    log "hotplug (iface): action='$ACTION' interface='$INTERFACE'"
    if [ "$ACTION" = "add" ]; then
        IFACE=$(ls /sys/class/net)
        for i in ${IFACE}; do
            ethtool -K $i gro on 2>/dev/null
            if [[ -e /sys/class/net/$i/queues/rx-0/rps_cpus ]]; then
                echo f > /sys/class/net/$i/queues/rx-0/rps_cpus
            fi
        done
        
        INTERRUPT=$(ls /proc/irq/ | sed '/default/d')
        USB3_NUMBER=$(grep xhci /proc/interrupts | awk -F: '{print $1}' | sed 's/^ //')

        for i in ${INTERRUPT}; do
            if [[ $i = ${USB3_NUMBER} ]]; then
                echo f > /proc/irq/$i/smp_affinity 2>/dev/null
            else
                echo e > /proc/irq/$i/smp_affinity 2>/dev/null
            fi
        done

        #inter=$(grep . /sys/class/net/$INTERFACE/queues/?x-0/?ps_cpus)
        #log "$inter"
    fi
fi
rhqq napisał/a:

jeden wątek tyra. nie wiem co zrobić

Daj mi moment podeślę ci to co ja mam dodane w systemie.

smereka napisał/a:

No ciekawe ile go pociśnie jak już rozwiąże czemu tak nisko. Ja ostatnio testowałem mc801a na orange na N78 to szło pod 600mbit/s. Zyxel  nr7101 na OFW  coś koło 550 latał. Jutro wezmę tego zyxela co lata na openwrt i zobacze ile zapnie na N78 orange

Załamujecie Mnie yikes, Ja też chcę tak szybko... smile U mnie w Play max było ponad 500mbit/s. Jeszcze pozostaje ten niewyjaśniony bug ze spadkiem wydajności na OpenWrt.

Cezary napisał/a:

Wg danych jesteś połączy na 5GNSA, masz agregowane bandy (choć też pytanie czemu tylko tyle).

U mnie też tylko tyle ogarnia, nie łączy więcej. Na modemie LTE-A miałem 4 pasma. Ten modem po wyłączeniu pasm 5G już 4 przy LTE-A nie spina.

rhqq napisał/a:

Pytanie czemu telefon ciśnie spokojnie 800Mbit+ a modem 70? Trochę to bez sensu...

Wejdź w USB Debug w 3ginfo-lite i sprawdź czy w sekcji z modemem masz Spd=5000?
Do jakiego sprzętu masz podłączony ten modem?

rhqq napisał/a:

Tak, dobrze, i to wlasnie to pomogło, jak teraz przydusić 5G, w końcu po to mam ten modem big_smile

Jak masz OpenWrt to zainstaluj 3ginfo-lite i będziesz widział co łapie. Jak nie będzie 5G (a karta obsługuje i telefon działa) to później można znów poleceniami at się bawić.

@rhqq masz ustawione ideolo, tak jak u mnie smile

P.S.
Czyli dobrze kombinowałem.

rhqq napisał/a:

Ale, siedzi na 4G zamiast 5G, co widać w transferach (telefon ciśnie 1.1Gbit, tutaj 60Mbit)

Może tak działa "#5GBardziej" big_smile smile

@rhqq

Wykonaj:

AT+QMBNCFG="List"

i sprawdź czy się przestawiło na to co u mnie.

AT+CFUN=1,1

Zrobiło restart modemu.

Tu jest zestaw poleceń co wklepać:

AT+QMBNCFG="AutoSel",0
AT+QMBNCFG="Deactivate"
AT+QMBNCFG="Select","ROW_Commercial"
AT+CFUN=1,1
rhqq napisał/a:

Jak?

Poleceniami at, tylko potrzebny jest port do komunikacji z modemem ttyUSB2 lub ttyUSB3 lub przez MM (o ile pamiętam też to umożliwia).

np.:

Deactivate MBN File:
AT+QMBNCFG="Deactivate"

Edit:
Cezary mnie uprzedził smile

Sprawdziłem u Siebie i ja mam aktywny:

AT+QMBNCFG="LIST"
+QMBNCFG: "List",0,1,1,"ROW_Commercial",0x0A010809,202111051
OK

Spróbowałbym wpierw przestawić modem na to co u mnie, jeżeli istnieje na liście i nie jest aktywny.

AT+QMBNCFG="AutoSel",0
AT+QMBNCFG="Deactivate"
AT+QMBNCFG="Select","ROW_Commercial"
AT+CFUN=1,1
rhqq napisał/a:

Przyznam, że zadanie pytania na tym forum przyszło mi na myśl po zobaczeniu twojego repo dla minimalnie starszego modemu z tej serii. Mógłbyś rozwinąć temat? Szczerze całe życie używałem MBIM, po raz pierwszy robię coś z QMI i do tego takie nowe urządzenie mam w rękach.

Sam jadę cały czas na MBIM i złego słowa nie mogę powiedzieć.

Rzuciłeś na początku co pokazał MM:

carrier config: Commercial-DT-VOLTE

Zastanawiam się czy to ustawienie to nie problem. Może trzeba na auto przestawić lub całkowicie deaktywować?

Ja swojego modemu nie musiałem nic konfigurować, działał mi od strzała (jak wszystkie od firmy na Q.).

Nie wiem czy dobrze myślę, ale może trzeba by się pobawić poleceniem AT+QMBNCFG "MBN File Configuration Setting". Może wybrany profil komplikuje sprawę?

615

(696 odpowiedzi, napisanych Sprzęt / Hardware)

MiG25 napisał/a:

Także tak już jest ustawione.

Ustawione jest zatem tak, że to powinno działać (sprawdziłem i mam te same wartości).

616

(696 odpowiedzi, napisanych Sprzęt / Hardware)

MiG25 napisał/a:

Albo wklejasz jakieś inne cudzysłowy , jakieś pod kątem : “  , a mają być proste -takie " smile
Zamienione cudzysłowy dają odpowiedź:

Nie ma to jak kopiować z pdf-a wink.

617

(696 odpowiedzi, napisanych Sprzęt / Hardware)

MiG25 napisał/a:

Orginał i Voxel do LBR20 obsługi SMSów nie miał wcale.

Jak producent nie dodał to co my się będziemy wysilać..

Zerknij czy te polecenia coś zmienią:

AT+CSMS=0,1,1,1
AT+CMGF=0

618

(696 odpowiedzi, napisanych Sprzęt / Hardware)

MiG25 napisał/a:

EDIT: Na to AT+QCFG=“nwscanmode”,0 też odpowiada błędem... Tylko nie kojażę ,czy pierszym azem odpowiedział OK ,czy nie , nie wiem czy nacisnąłem przycisk ,czy mi się zdawało smile

Dziwne, w pdf-ie jest takie polecenie (chyba że jest jakiś nowszy i pozmieniali). Może trzeba jeszcze coś przestawić, to już zapewne Cezary będzie wiedział.

619

(205 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

Płodny jest quectel, nie?

Wolałbym aby wypuszczali mniej, ale bardziej dopracowane (i z aktualizacją FW bez błagania).

620

(205 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary jak coś leci kolejny pacjent do dodania.

2c7c0800RM505Q-AE

_DEVICE=/dev/ttyUSB2
_DEFAULT_LTE_BANDS="1 2 3 4 5 8 12 13 14 17 18 19 20 25 26 28 29 30 32 34 39 40 41 42 43 46 48 66 71"
_DEFAULT_5GNSA_BANDS="1 2 3 5 7 8 12 14 20 25 28 38 40 41 48 66 71 77 78 79"
_DEFAULT_5GSA_BANDS="1 2 3 5 7 8 12 14 20 25 28 38 40 41 48 66 71 77 78 79"

getinfo() {
    echo "Quectel RM505Q-AE"
}

# +QNWPREFCFG: "lte_band",1:3:7:8:20:28:38

. $RES/_quectel_common2

621

(696 odpowiedzi, napisanych Sprzęt / Hardware)

MiG25 napisał/a:

Natomiast co to AT+CPMS? Dostaje :+CPMS: "SM",0,25,"ME",3,127,"ME",3,127 . Nie wiem ,czy to 3 wiadomości są do wysłania , czy odebrane , ale mifi ich nie wyświetla...

Ustaw sobie SM lub ME, czyli wyślij polecenie at (z mifi) np:

AT+CPMS="ME","ME","ME"
następnie
AT+CSAS
nie pamiętam czy tu restart modemu jest potrzebny

powinno być dla tego modemu (ustawiamy na Auto z myślą o kodach USSD)

AT+QCFG=“nwscanmode”,0

zamiast

Scan all modes ➜ AT+QNWPREFCFG="mode_pref",AUTO

622

(696 odpowiedzi, napisanych Sprzęt / Hardware)

@MiG25 bawiles sie moze ustawieniami od smsow? Wskazales poleceniem at preferowane miejsce na poszukiwania smsow?

SIM Preferred Message Storage ➜ AT+CPMS="SM","SM","SM"
Modem memory preferred Message Storage ➜ AT+CPMS="ME","ME","ME"
Save SMS Settings ➜ AT+CSAS

Scan all modes ➜ AT+QNWPREFCFG="mode_pref",AUTO

623

(102 odpowiedzi, napisanych Oprogramowanie / Software)

Dokładnie, już bangla.

Edit:
Jakoś nie rzuciło mi się wcześniej w oczy, że dla 5G SA było bez *.

624

(102 odpowiedzi, napisanych Oprogramowanie / Software)

@Cezary mamy błąd, skrypty 3ginfo niepoprawnie wyliczają szerokość pasm(-a) dla 5G.

AT+QCAINFO
+QCAINFO: "PCC",3350,100,"LTE BAND 7",1,482,-78,-12,-43,19
+QCAINFO: "SCC",525,75,"LTE BAND 1",1,482,-79,-10,-59,17,0,-,-
+QCAINFO: "SCC",637632,12,"NR5G BAND 78",481

Dla n78 szerokość pasma to 100MHz, czyli "12" jak widać z wyniku wyżej. Wydaje się być to opisane poprawnie:

            *"NR5G BAND"*)
                B=$(echo $T | sed 's/"NR5G BAND \(.*\)"/\1/')
                T2=$(band5g ${B})
                case $T3 in
                    0*) T4="5";;
                    1*) T4="10";;
                    2*) T4="15";;
                    3*) T4="20";;
                    4*) T4="25";;
                    5*) T4="30";;
                    6*) T4="40";;
                    7*) T4="50";;
                    8*) T4="60";;
                    9*) T4="70";;
                    10*) T4="80";;
                    11*) T4="90";;
                    12*) T4="100";;
                    13*) T4="200";;
                    14*) T4="400";;
                    *) T4="";;
                esac

ale dostajemy na wyjściu "n78 (3500 MHz) @10 MHz".

I po "internecie bez limitu" smile, takie 20GB znika na momencie.

Wracając do tematu to na ten moment mam już chyba 4/5 wersję skryptu do optymalizacji usb (to co dodają do fw ROOTer) do tego parę skryptów wygrzebanych z chińskiego fw które miałem na początku (ich fork OpenWrt), skrypty podobne do tego z tego tematu ale zrobione pod mtk. Na forum ROOTer ludzie zgłaszają że skrypt od usb coś poprawił, ale to dalej przepaść względem OFW.

Nie wiem czy są jakieś nowe pomysły co z tym dalej zrobić.