Pokaż przykład jak to zrobić?
Coś tutaj: /sys/class/net ?

Nazwy fizyczne interfejsów udało mi się zmienić za pomocą poniższych komend:

ip link set eth2 down
ip link set eth2 name mob0
ip link set mob0 up

Po takim zabiegu interfejs pojawia się (ip addr show) jako:

...
mob0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel 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 forever

Tutaj są dwa problemy, najpierw pierwszy:
1. Jak mogę podnieść ten interfejs po takiej zmianie bez resetowania wszystkiego /etc/init.d/network restart ?
ifdown wan2 oraz ifup wan2 nie pomaga...

428

(123 odpowiedzi, napisanych Inne)

Tak wygląda obecnie moja konfiguracja tego interface:

# nano /etc/config/network

config interface 'mobile'
        option delay '30'
        option proto 'qmi'
        option device '/dev/cdc-wdm0'
        option apn 'internet'
        option peerdns '0'
        option dns '8.8.8.8 8.8.4.4'
        option metric '30'

Dodałem skrypt, aby podczas startu uqmi było ubijane - inaczej połączenie się nie nawiązuje.
Problem zauważyłem w mwan3 - tak działa, dhcp rozdaje adres dns routera i "Internet" działa:

config interface 'mobile'
        ...
        list track_ip '8.8.8.8'
        list track_ip 'speedtest.pl'

Tak nie działa - łącze uznawane jest jako offline:

config interface 'mobile'
        ...
        list track_ip 'speedtest.pl'

Mam wrażenie, że mwan3 nie zna żadnego serwera DNS, ale jeśli uzna łącze jako online, to dns działa prawidłowo w routerze.

429

(4 odpowiedzi, napisanych Inne)

Odległość punktu w kilometrach od południka policzyłem tak:

https://images90.fotosik.pl/227/1b6f225d63a391f0gen.png


I jeszcze przykład w JavaScript:

var palac_lat = 52.2319155;
var palac_lng = 21.0061687;
var odleglosc = Math.sqrt(Math.pow((Math.cos((palac_lat*Math.PI)/180)*palac_lng),2))*111.3214;
console.log( odleglosc );

430

(4 odpowiedzi, napisanych Inne)

Dzięki, to też mi się przyda, zwłaszcza że znalazłem coś takiego i jest to bardzo niedokładny pomiar:

distance = Math.sqrt( Math.pow( latitude - user_latitude, 2 ) + Math.pow( longitude - user_longitude, 2 ) ) * 73;

Czyli będę podstawiał to tak:
# ZERO - 52,2319155°N x 00,0000000°E
# Pałac - 52,2319155°N x 21,0061687°E


Może znasz też dobry wzór na przeliczenie tego:

Stopnie dziesiętne: 
52,2319155°N x 21,0061687°E

Stopnie, minuty i sekundy: 
52° 13' 54.896'' N x 21° 0' 22.207'' E

431

(4 odpowiedzi, napisanych Inne)

Siemka,

Jako że piszę sobie do LuCi mapę:

https://images91.fotosik.pl/227/734c93cf259e958agen.png

... potrzebuję przeliczyć odległość w kilometrach od równika i południka:

https://images92.fotosik.pl/228/09d8955aa789954agen.png

Przykładem byłby tutaj: Pałac Kultury i Nauki w Warszawie


Jego lokalizacja poniżej:

Stopnie dziesiętne:
52,2319155°N x 21,0061687°E

Stopnie, minuty i sekundy:
52° 13' 54.896'' N x 21° 0' 22.207'' E


Poniżej obliczenia:

1. Od równika:

Długość równika: 40030,80192 km
40030,80192 km / 360° = ?
1 st. => 111,196672 km
52,2319155 x 111,196672 = 5 808,015 km
Według GoogleMaps: 5 807,930 km


2. Od południka:

?
Według GoogleMaps: 1 425,560 km


Potrzebuje Waszej pomocy w obliczeniu odległości od południka w kilometrach.

ODP:

var palac_lat = 52.2319155;
var palac_lng = 21.0061687;
var odleglosc = Math.sqrt(Math.pow((Math.cos((palac_lat*Math.PI)/180)*palac_lng),2))*111.196672;
console.log( odleglosc ); // 1 430.610 km

432

(123 odpowiedzi, napisanych Inne)

Tak wygląda przykładowy start routera:

# ping -I wwan0 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
ping: sendto: Network unreachable
#
#
# ip addr show wwan0
6: wwan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 92:5a:cb:33:bb:2d brd ff:ff:ff:ff:ff:ff
#
#
# killall uqmi
#
#
# ip addr show wwan0
6: wwan0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc hfsc state UNKNOWN group default qlen 1000
    link/none
    inet 10.94.211.213/30 brd 10.94.211.215 scope global wwan0
       valid_lft forever preferred_lft forever
    inet6 fe80::7e4d:c7f8:8bc0:3ac/64 scope link stable-privacy
       valid_lft forever preferred_lft forever
#
#
# ping -I wwan0 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=52 time=208.124 ms
64 bytes from 8.8.8.8: seq=1 ttl=52 time=53.145 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 53.145/130.634/208.124 ms
#
#
#
# ping -I wwan0 wp.pl
^C
#
#
#

433

(123 odpowiedzi, napisanych Inne)

Aha, no DNSem jest router, do którego podłączony jest mój u7628-01.
Ale docelowo będzie tylko modem mpcie. Bardziej liczyłem na to, że DNSy będę dostawał od operatora, jak zawsze było, zamiast deklarowania ich ręcznie.

434

(123 odpowiedzi, napisanych Inne)

Jeszcze raz... Mam w routerze cztery WANy - to cały czas testy - 2x wifi, rj45, mpcie.
Jeśli uruchomię router tylko na mpcie to nie działają mi pingi z nazwą, jeśli uruchomię mpice + wifi client, a potem wifi client wyłącze to działa mpcie działa, zapewne dostaje wczesniej nazwy od wfi client.

# ping -I wwan0 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=51 time=40.965 ms
^C
--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 40.965/40.965/40.965 ms

Test-2:~# ping -I wwan0 wp.pl
PING wp.pl (212.77.98.9): 56 data bytes
64 bytes from 212.77.98.9: seq=0 ttl=47 time=44.752 ms
64 bytes from 212.77.98.9: seq=1 ttl=47 time=48.154 ms
^C
--- wp.pl ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 44.752/46.453/48.154 ms

Działa, bo wczesniej chodził wan jako wifi client, gdybym go wylaczyl i rebootował router to odpowie mi tylko 8.8.8.8, adres z nazwa nie odpowie, czyli nie mam  DNSów.

Dodam, że konfigurację opieram tylko na DNSach od operatora, szczerze mówiąć nawet nie wiem gdzie na sztywno ją wpisać, na pewno w luci przy interface się da, ale w wypadku "Komórkowy QMI" luci nie ma opcji dodania dnsów

435

(123 odpowiedzi, napisanych Inne)

no tak, ale:
ping -I wwan0 8.8.8.8 - działa
ping -I wwan0 wp.pl - nie działa

# cat /etc/resolv.conf
search lan
nameserver 127.0.0.1

Nie mam nigdzie wpisywanych ręcznie DNSów, liczę tylko na te od dostawcy.
w DHCP - DNSy nakierowane są na router.

436

(123 odpowiedzi, napisanych Inne)

Na chwilę obecną dodałem opcje delay, ale nic nie testuje w tej sprawie. Połączenie jest nawiązywane, otrzymuje adres od operatora, ale w luci Siec/interfejsy jest offline. Dopiero kiedy zrobie "killall uqmi" interface w luci się podnosi i zaczynają działać pingi. Zauważyłem zaś problem z DNSami - pinguje tylko adresy IP. Więc dodałem je ręcznie do konfiguracji, ale to nie robi żadnych zmian.

# nano /etc/config/network
[...]
config interface 'mobile'
    option delay '30'
    option proto 'qmi'
    option device '/dev/cdc-wdm0'
    option apn 'internet'
    option peerdns '0'
    option dns '8.8.8.8 8.8.4.4'
    option metric '30'
[...]

# uqmi -d /dev/cdc-wdm0 --get-current-settings
{
        "pdp-type": "ipv4",
        "ip-family": "ipv4",
        "mtu": 1500,
        "ipv4": {
                "ip": "10.80.106.153",
                "dns1": "194.204.159.1",
                "dns2": "194.204.152.34",
                "gateway": "10.80.106.154",
                "subnet": "255.255.255.252"
        },
        "ipv6": {

        },
        "domain-names": {

        }
}

Czy to kwestia modemu, że domain-names jest pusty?
Może powinienem zmienić coś za pomocą komend AT?

437

(123 odpowiedzi, napisanych Inne)

Złożyło się tutaj kilka problemów:
1. killall uqmi - dopiero wtedy rusza połączenie

# ps | grep uqmi
 1510 root      1220 S    uqmi -s -d /dev/cdc-wdm0 --get-pin-status
 5092 root      1200 S    grep uqmi

2. okazało się, że w konfiguracji miałem dwa takie same interface wwan0 - od modemu i od modułu WiFi w trybie klienta
3. konto karty sim straciło właśnie pakiet danych

Karta zarejestrowała się prawidłowo, dostałem IP od operatora.
Zauważyłem, że dosyć losowo mam odpowiedzi na pingi z tego interface.

Jaki proces może uruchamiać mi tą komendę?:
uqmi -s -d /dev/cdc-wdm0 --get-pin-status

438

(123 odpowiedzi, napisanych Inne)

To niestety, nie działa mi uqmi:

# uqmi -d /dev/cdc-wdm0 --get-data-status
^C"Failed to connect to service"

On jest wymagany do prawidłowego połączenia? Przecież raz udało mi się połączyć ten modem z siecią...
Może komendami AT sprawdzę co jest grane?

# ip addr show wwan0
6: wwan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 8c:88:2b:00:12:84 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::8e88:2bff:fe00:1284/64 scope link
       valid_lft forever preferred_lft forever

439

(123 odpowiedzi, napisanych Inne)

./build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/linux-4.14.95/drivers/net/usb/qmi_wwan.c ?
Ale ja już mam w nim tą zmienioną linię:

-    {QMI_FIXED_INTF(0x1e0e, 0x9001, 5)},    /* SIMCom 7230E */
+    {QMI_QUIRK_SET_DTR(0x1e0e, 0x9001, 5)},    /* SIMCom 7100E, 7230E, 7600E ++ */

440

(123 odpowiedzi, napisanych Inne)

Czyli mam dodać ten plik?
target\linux\ramips\patches-4.14\950-0415-qmi_wwan-apply-SET-DRT-quirk-to-the-SIMCOM-shared-de.patch

Jaką zawartość mam tam dodać?

441

(123 odpowiedzi, napisanych Inne)

Daniele @ forum.openwrt.org:

No way...
patch was already in the right place on my repository:

target\linux\ramips\patches-4.14\950-0415-qmi_wwan-apply-SET-DRT-quirk-to-the-SIMCOM-shared-de.patch

but behaviour is the same...

Trochę chyba nie rozumiem tego problemu. Pod powyższym patchem nie mam żadnego pliku - czy to miałeś na myśli? Co miałbym tam wstawić?

Czy ta zmiana ma dotyczyć tego pliku:
./build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/linux-4.14.95/drivers/net/usb/qmi_wwan.c
jeśli tak, to mam tam:

{QMI_QUIRK_SET_DTR(0x1e0e, 0x9001, 5)}, /* SIMCom 7100E, 7230E, 7600E ++ */

442

(123 odpowiedzi, napisanych Inne)

daprakas @ forum.openwrt.org:
I did nothing other than checking out the main and firing a custom build with qmi enabled on the menuconfig and bunch of other network drivers. Hurray it works now..

Daniele @ forum.openwrt.org:
Do you mean you set your uqmi as embedded inside kernel <*> instead than compile as module ?

Tutaj mam chyba wszystko w porządku:

< > adb-enablemodem..................................... Enable modem via adb
-*- comgt............................... Option/Vodafone 3G/GPRS control tool
< > comgt-directip......................... Sierra Wireless Direct-IP support
< > comgt-ncm.............................................. NCM 3G/4G Support
<*> uqmi......................... Control utility for mobile broadband modems



neryba @ forum.openwrt.org:

just edit qmi.sh and add this strings

uqmi -s -d "$device" --get-pin-status &
sleep 3
killall uqmi || echo "UQMI works fine!"

before

while uqmi -s -d "$device" --get-pin-status | grep '"UIM uninitialized"' > /dev/null; do
    [ -e "$device" ] || return 1
    sleep 1;
done

this workaround works for me.

Wiesz może, gdzie znajduje się ten plik?
Przeszukałem te poniżej i nie znalazłem takiej frazy...

./package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
./build_dir/target-mipsel_24kc_musl/root.orig-ramips/lib/netifd/proto/qmi.sh
./build_dir/target-mipsel_24kc_musl/uqmi-2016-12-19-8ceeab69/.pkgdir/uqmi/lib/netifd/proto/qmi.sh
./build_dir/target-mipsel_24kc_musl/uqmi-2016-12-19-8ceeab69/ipkg-mipsel_24kc/uqmi/lib/netifd/proto/qmi.sh
./build_dir/target-mipsel_24kc_musl/root-ramips/lib/netifd/proto/qmi.sh
./staging_dir/target-mipsel_24kc_musl/root-ramips/lib/netifd/proto/qmi.sh

Znalazłem tylko to w każdym z plików:

while uqmi -s -d "$device" --get-pin-status | grep '"UIM uninitialized"' > /dev/null; do
        [ -e "$device" ] || return 1
        if [ "$uninitialized_timeout" -lt "$timeout" ]; then
                let uninitialized_timeout++
                sleep 1;
        else
                echo "SIM not initialized"
                proto_notify_error "$interface" SIM_NOT_INITIALIZED
                proto_block_restart "$interface"
                return 1
        fi
done

443

(123 odpowiedzi, napisanych Inne)

A w między czasie, żeby gugiel znalazł osobą szukającym frazę "jak uruchomić gps w modemie SimCOM 7600E-H". Wydajemy poniższe polecenie - GPS uruchomi się od razu i będzie uruchamiał się automatycznie za każdym uruchomieniem routera:

# echo "AT+CGPSAUTO=1" | dd of=/dev/ttyUSB2
# echo "AT+CGPS=1" | dd of=/dev/ttyUSB2

Następnie odczytujemy pozycję:

# cat /dev/ttyUSB1 | grep "^\$GPRMC\|^\$GPGGA"

GPS działa rewelacyjnie. Nie ma problemu ze złapaniem fixa, ani urządzenie nie wyrzuca błędnych ramek NMEA.

Dzięki za link, zaraz zapoznam się z tematem od Ciebie...

444

(123 odpowiedzi, napisanych Inne)

Przyszedł, jest... SimCOM SIM7600E-H! Na początek:

# ls /dev/cdc* /dev/ttyACM* /dev/ttyUSB*
/dev/cdc-wdm0
/dev/ttyACM1
/dev/ttyUSB0
/dev/ttyUSB1
/dev/ttyUSB2
/dev/ttyUSB3
/dev/ttyUSB4

W trybie QMI udało mi się połączyć testowanego Orange, ale tylko raz, później już się nie chciał połączyć.
Testowanego Aero2 nie udało się połączyć ani razu.

uQMI działa tak, czekałem na odpowiedź do 1 minuty:
# uqmi -d /dev/cdc-wdm0 --get-data-status
^C"Failed to connect to service"


W trybie RAS nie udało mi się połączyć ani tesowanego Orange ani Aero2.

Wyszło mi coś takiego i działają oba schematy:

https://images92.fotosik.pl/221/d7b4956a996fedecgen.png

Czyli coś takiego:

https://images90.fotosik.pl/219/7e4601f1c5596217gen.png

Podanie +12V daje logiczne zero na gpio. Jak mogę to zamienić?
Brak zasilania to zero
Zasilanie +12V to log jedynka.

EDIT:
Chyba tak:

https://images89.fotosik.pl/220/dc7846aeb23247afgen.png

Cezary napisał/a:

Albo przekaźnik albo jakiś transoptor, coś musisz dać.

https://images89.fotosik.pl/219/3fb3dff360258b96gen.png
Wiesz może, na czym polega mój błąd? Złożyłem ten zestaw i nie działa.

448

(31 odpowiedzi, napisanych Oprogramowanie / Software)

Czyli to działa na zasadzie "jeden po drugim", a nie każdy interface działa w oddzielnym procesie?
Pinguje również wszystkie 10 serwerów z listy, mimo iż uznanie jako "up" wymaga tylko jednego?

449

(31 odpowiedzi, napisanych Oprogramowanie / Software)

Mam wrażenie, że mwan3 działa stanowczo wolniej wraz ze wzrostem liczby interfaceów. Już przy czterech przełączanie pomiędzy WANami trwa ok. 60-70 sekund. Moja konfiguracja, identyczna dla wszystkich interfaców, na liście serwerów do pingowania mam 10 serwerów:

[...]
option track_method 'ping'
option reliability '1'
option count '1'
option size '56'
option check_quality '0'
option timeout '3'
option interval '1'
option failure_interval '1'
option recovery_interval '1'
option down '2'
option up '4'
option flush_conntrack 'never'
[...]

450

(123 odpowiedzi, napisanych Inne)

Jak będę kupował do domu to pewnie tak. Na razie potrzebuje moduł np. max. 20/20 + GPS, tylko dobrego. Widzę, że te SIMCOMy są takie, w baardzo przystępnej cenie, ale musiałbym czekać miesiąc na przesyłkę, nie ma ich w Polsce.