Pokaż przykład jak to zrobić?
Coś tutaj: /sys/class/net ?
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Posty przez tinware
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 upPo 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 foreverTutaj 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...
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.
Odległość punktu w kilometrach od południka policzyłem tak:

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 );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'' ESiemka,
Jako że piszę sobie do LuCi mapę:
... potrzebuję przeliczyć odległość w kilometrach od równika i południka:
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 kmTak 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
#
#
#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.
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 msTest-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 msDział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
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.
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?
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 uqmi2. 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
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./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 ++ */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ć?
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 ++ */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 modemsneryba @ 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;
donethis 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
doneA 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/ttyUSB2Nastę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...
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.
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?
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'
[...]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.
eko.one.pl → Posty przez tinware
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc