mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Merge branch 'develop'
This commit is contained in:
commit
676eeef761
53 changed files with 1942 additions and 20634 deletions
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
|
@ -9,7 +9,7 @@ jobs:
|
|||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
OMR_TARGET: [rpi2, rpi4, x86_64, 4018, 4019]
|
||||
OMR_TARGET: [bpi-r1, bpi-r2, bpi-r64, rpi2, rpi4, x86_64, 4018, 4019]
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2020-12-15 14:46+0000\n"
|
||||
"PO-Revision-Date: 2021-03-31 15:07+0000\n"
|
||||
"Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n"
|
||||
"Language-Team: French <http://weblate.openmptcprouter.com/projects/omr/"
|
||||
"luciapplicationsdsvpn/fr/>\n"
|
||||
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.0.4\n"
|
||||
"X-Generator: Weblate 4.5.2\n"
|
||||
|
||||
#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:35
|
||||
msgid "Client"
|
||||
|
@ -21,7 +21,7 @@ msgstr "DSVPN"
|
|||
|
||||
#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:31
|
||||
msgid "Enabled"
|
||||
msgstr "Activer"
|
||||
msgstr "Activé"
|
||||
|
||||
#: luci-app-dsvpn/root/usr/share/rpcd/acl.d/luci-app-dsvpn.json:3
|
||||
msgid "Grant access to DSVPN"
|
||||
|
|
|
@ -32,6 +32,7 @@ return L.view.extend({
|
|||
s.tab('advanced', _('Advanced Settings'));
|
||||
|
||||
o = s.taboption('general', form.Flag, 'enable', _('Enabled'));
|
||||
o.rmempty = false;
|
||||
|
||||
o = s.taboption('general',form.Value, 'label', _('Label'));
|
||||
o.rmempty = true;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2021-03-28 18:23+0000\n"
|
||||
"PO-Revision-Date: 2021-03-31 15:07+0000\n"
|
||||
"Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n"
|
||||
"Language-Team: French <http://weblate.openmptcprouter.com/projects/omr/"
|
||||
"glorytun-tcp/fr/>\n"
|
||||
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.0.4\n"
|
||||
"X-Generator: Weblate 4.5.2\n"
|
||||
|
||||
#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:32
|
||||
msgid "Advanced Settings"
|
||||
|
@ -20,7 +20,7 @@ msgstr "Client"
|
|||
|
||||
#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:34
|
||||
msgid "Enabled"
|
||||
msgstr "Activer"
|
||||
msgstr "Activé"
|
||||
|
||||
#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:68
|
||||
msgid "Force fallback cipher"
|
||||
|
|
|
@ -40,11 +40,11 @@ return L.view.extend({
|
|||
s.tab('advanced', _('Advanced Settings'));
|
||||
|
||||
o = s.taboption('general', form.Flag, 'enable', _('Enabled'));
|
||||
o.rmempty = false;
|
||||
|
||||
o = s.taboption('general',form.Value, 'label', _('Label'));
|
||||
o.rmempty = true;
|
||||
|
||||
|
||||
o = s.taboption('general', form.ListValue, 'mode', _('Mode'));
|
||||
o.value('to',_('Client'));
|
||||
o.value('from',_('Server'));
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2020-12-15 14:46+0000\n"
|
||||
"PO-Revision-Date: 2021-03-31 15:07+0000\n"
|
||||
"Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n"
|
||||
"Language-Team: French <http://weblate.openmptcprouter.com/projects/omr/"
|
||||
"luciapplicationsglorytun-udp/fr/>\n"
|
||||
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.0.4\n"
|
||||
"X-Generator: Weblate 4.5.2\n"
|
||||
|
||||
#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:40
|
||||
msgid "Advanced Settings"
|
||||
|
@ -28,7 +28,7 @@ msgstr "Détection dynamique de la vitesse"
|
|||
|
||||
#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:42
|
||||
msgid "Enabled"
|
||||
msgstr "Activer"
|
||||
msgstr "Activé"
|
||||
|
||||
#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:76
|
||||
msgid "Force fallback cipher"
|
||||
|
|
|
@ -74,6 +74,7 @@ return L.view.extend({
|
|||
|
||||
o = s.taboption('advanced', form.Flag, 'cleartext_data', _('Disable encryption'));
|
||||
o.default = o.disabled;
|
||||
o.rmempty = false;
|
||||
|
||||
o = s.taboption('advanced', form.Value, 'loss_tolerance', _('Loss tolerance'));
|
||||
o.default = '50';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2020-12-15 14:46+0000\n"
|
||||
"PO-Revision-Date: 2021-03-31 15:07+0000\n"
|
||||
"Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n"
|
||||
"Language-Team: French <http://weblate.openmptcprouter.com/projects/omr/"
|
||||
"luciapplicationsmlvpn/fr/>\n"
|
||||
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.0.4\n"
|
||||
"X-Generator: Weblate 4.5.2\n"
|
||||
|
||||
#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:32
|
||||
msgid "Advanced Settings"
|
||||
|
@ -20,7 +20,7 @@ msgstr "Client"
|
|||
|
||||
#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:34
|
||||
msgid "Enabled"
|
||||
msgstr "Activer"
|
||||
msgstr "Activé"
|
||||
|
||||
#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:45
|
||||
msgid "First Port"
|
||||
|
|
|
@ -49,6 +49,7 @@ _bypass_domains() {
|
|||
domain="$(echo '"$domain"' | sed 's:*::')"
|
||||
domainlist=""
|
||||
# construct list of domains to query
|
||||
i=0
|
||||
for tld in $tlds; do
|
||||
i=$((i+1))
|
||||
# trim off header
|
||||
|
@ -365,6 +366,7 @@ _bypass_proto() {
|
|||
if [ "$(echo $domain | grep '\.$')" != "" ]; then
|
||||
domainlist=""
|
||||
# construct list of domains to query
|
||||
i=0
|
||||
for tld in $tlds; do
|
||||
i=$((i+1))
|
||||
# trim off header
|
||||
|
|
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2020-08-03 12:39+0000\n"
|
||||
"PO-Revision-Date: 2021-03-31 15:07+0000\n"
|
||||
"Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n"
|
||||
"Language-Team: French <http://weblate.openmptcprouter.com/projects/omr/"
|
||||
"luciapplicationsomr-dscp/fr/>\n"
|
||||
|
@ -11,7 +11,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.0.4\n"
|
||||
"X-Generator: Weblate 4.5.2\n"
|
||||
|
||||
#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:21
|
||||
#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:72
|
||||
|
@ -89,7 +89,7 @@ msgstr "Ports de destination"
|
|||
|
||||
#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:10
|
||||
msgid "Differentiated services"
|
||||
msgstr ""
|
||||
msgstr "Services différenciés"
|
||||
|
||||
#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:28
|
||||
msgid "Direction"
|
||||
|
|
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2020-09-30 08:50+0000\n"
|
||||
"PO-Revision-Date: 2021-03-31 15:07+0000\n"
|
||||
"Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n"
|
||||
"Language-Team: French <http://weblate.openmptcprouter.com/projects/omr/"
|
||||
"luciapplicationsomr-quota/fr/>\n"
|
||||
|
@ -11,7 +11,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.0.4\n"
|
||||
"X-Generator: Weblate 4.5.2\n"
|
||||
|
||||
#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:8
|
||||
msgid "Add"
|
||||
|
@ -43,7 +43,7 @@ msgstr "Quota"
|
|||
|
||||
#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:27
|
||||
msgid "RX quota (kbit)"
|
||||
msgstr ""
|
||||
msgstr "Quota de réception (RX en kbit)"
|
||||
|
||||
#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8
|
||||
msgid "Set monthly quota, when quota is reached interface state is set to down"
|
||||
|
@ -51,11 +51,11 @@ msgstr "Configurer le quota mensuel, quand le quota est atteint l'interface est
|
|||
|
||||
#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:24
|
||||
msgid "TX quota (kbit)"
|
||||
msgstr ""
|
||||
msgstr "Quota de transmission (TX en kbit)"
|
||||
|
||||
#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:30
|
||||
msgid "TX+RX quota (kbit)"
|
||||
msgstr ""
|
||||
msgstr "Quota de transmission+réception (TX+RX en kbit)"
|
||||
|
||||
#~ msgid "Set quota, when quota is reached interface state is set to down"
|
||||
#~ msgstr "Configurer le quota, quand le quota est atteint l'interface est désactivée"
|
||||
|
|
|
@ -546,6 +546,7 @@ function wizard_add()
|
|||
if sectionname:match("^sss.*") then
|
||||
ucic:delete("shadowsocks-libev",sectionname,"ip")
|
||||
ucic:set("shadowsocks-libev",sectionname,"disabled","1")
|
||||
ucic:delete("openmptcprouter","omr","ss_" .. sectionname)
|
||||
end
|
||||
end)
|
||||
|
||||
|
@ -882,6 +883,7 @@ function wizard_add()
|
|||
if gostatus == true then
|
||||
luci.sys.call("/etc/init.d/macvlan restart >/dev/null 2>/dev/null")
|
||||
luci.sys.call("(env -i /bin/ubus call network reload) >/dev/null 2>/dev/null")
|
||||
luci.sys.call("ip addr flush dev tun0 >/dev/null 2>/dev/null")
|
||||
luci.sys.call("/etc/init.d/omr-tracker stop >/dev/null 2>/dev/null")
|
||||
luci.sys.call("/etc/init.d/mptcp restart >/dev/null 2>/dev/null")
|
||||
--if openmptcprouter_vps_key ~= "" then
|
||||
|
|
|
@ -261,7 +261,7 @@ local statuslogo = ucic:get("openmptcprouter","settings","statuslogo") or "openm
|
|||
}
|
||||
if (mArray.openmptcprouter.wan_addr == "" && mArray.openmptcprouter.wan_addr6 == "" && mArray.openmptcprouter.proxy_addr == "" && mArray.openmptcprouter.external_check == true)
|
||||
{
|
||||
statusMessage += '<%:No server IP address, No WAN IP address%>' + '<br/>';
|
||||
statusMessage += '<%:No server IP address, No public IP address%>' + '<br/>';
|
||||
}
|
||||
if (mArray.openmptcprouter.service_addr !== "" && (mArray.openmptcprouter.wan_addr !== "" || mArray.openmptcprouter.wan_addr6 !== "") && mArray.openmptcprouter.vps_status == "DOWN")
|
||||
{
|
||||
|
@ -287,7 +287,7 @@ local statuslogo = ucic:get("openmptcprouter","settings","statuslogo") or "openm
|
|||
statusMessage += '<%:Can\'t get public IP address from V2Ray%>' + '<br/>';
|
||||
} else if (mArray.openmptcprouter.wan_addr == "" && mArray.openmptcprouter.wan_addr6 == "" && mArray.openmptcprouter.external_check == true)
|
||||
{
|
||||
statusMessage += '<%:No WAN IP address detected in less than 1 second%>' + '<br/>';
|
||||
statusMessage += '<%:No public IP address detected in less than 1 second%>' + '<br/>';
|
||||
}
|
||||
if (mArray.openmptcprouter.vps_admin == false)
|
||||
{
|
||||
|
@ -570,6 +570,11 @@ local statuslogo = ucic:get("openmptcprouter","settings","statuslogo") or "openm
|
|||
{
|
||||
statusMessage += '<%:No Server http response after 1 second%>' + '<br />';
|
||||
}
|
||||
if(zonewan == "NO")
|
||||
{
|
||||
statusMessage += '<%:Network interface not in WAN firewall zone%>' + '<br />';
|
||||
statusMessageClass = "warning";
|
||||
}
|
||||
if (istatus == 'ERROR' && ipaddr != '' && ipaddr == mArray.wans[i].gateway)
|
||||
{
|
||||
statusMessage += '<%:Wan IP and gateway are identical%>' + '<br />';
|
||||
|
@ -614,11 +619,6 @@ local statuslogo = ucic:get("openmptcprouter","settings","statuslogo") or "openm
|
|||
statusMessage += '<%:Network interface MAC address duplicated%>' + '<br />';
|
||||
statusMessageClass = "error";
|
||||
}
|
||||
if(zonewan == "NO")
|
||||
{
|
||||
statusMessage += '<%:Network interface not in WAN firewall zone%>' + '<br />';
|
||||
statusMessageClass = "error";
|
||||
}
|
||||
if(ipv6_discover == 'DETECTED')
|
||||
{
|
||||
statusMessage += '<%:IPv6 route received%>' + '<br />'
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -29,11 +29,11 @@ msgid "API username to retrieve personnalized settings from the server."
|
|||
msgstr ""
|
||||
"Nome utente API per recuperare le impostazioni personalizzate dal server."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:776
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:794
|
||||
msgid "APN"
|
||||
msgstr "APN"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:695
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:713
|
||||
msgid "Accept IPv6 RA"
|
||||
msgstr ""
|
||||
|
||||
|
@ -41,7 +41,7 @@ msgstr ""
|
|||
msgid "Add a new server"
|
||||
msgstr "Aggiungi un nuovo server"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:956
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:974
|
||||
msgid "Add an interface"
|
||||
msgstr "Aggiungi un'interfaccia"
|
||||
|
||||
|
@ -50,7 +50,7 @@ msgstr "Aggiungi un'interfaccia"
|
|||
msgid "Advanced Settings"
|
||||
msgstr "Impostazioni avanzate"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:152
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:150
|
||||
msgid "Advanced settings"
|
||||
msgstr "Impostazioni avanzate"
|
||||
|
||||
|
@ -74,12 +74,12 @@ msgstr ""
|
|||
"Un set di istruzioni Advanced Encryption Standard (AES) è integrato nel "
|
||||
"processore."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:802
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:820
|
||||
msgid "Authentication Type"
|
||||
msgstr "Tipo di autenticazione"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:840
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:856
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:858
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:874
|
||||
msgid "Backup"
|
||||
msgstr "Backup"
|
||||
|
||||
|
@ -88,7 +88,7 @@ msgstr "Backup"
|
|||
msgid "Backup on server"
|
||||
msgstr "Backup su server"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:310
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:320
|
||||
msgid "Balancing"
|
||||
msgstr "Bilanciamento"
|
||||
|
||||
|
@ -100,11 +100,11 @@ msgstr "Beta"
|
|||
msgid "Big time difference between the server and the router"
|
||||
msgstr "Grande differenza di fuso orario tra il server e il router"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:525
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:543
|
||||
msgid "Bridge"
|
||||
msgstr "Ponte"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:602
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:614
|
||||
msgid "Bridge can't have multipath enabled"
|
||||
msgstr ""
|
||||
|
||||
|
@ -121,7 +121,7 @@ msgstr ""
|
|||
"Per impostazione predefinita, il proxy viene utilizzato per qualsiasi "
|
||||
"traffico che sia TCP (e UDP per V2Ray)."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:807
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:825
|
||||
msgid "CHAP"
|
||||
msgstr "CHAP"
|
||||
|
||||
|
@ -147,7 +147,11 @@ msgstr "Impossibile ottenere un indirizzo IP pubblico da ShadowSocks"
|
|||
msgid "Can\\'t ping server"
|
||||
msgstr "Impossibile eseguire il ping del server"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:529
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:394
|
||||
msgid "China"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:547
|
||||
msgid ""
|
||||
"Choose MacVLAN if you want to create a virtual interface based on a physical "
|
||||
"interface."
|
||||
|
@ -155,26 +159,32 @@ msgstr ""
|
|||
"Scegli MacVLAN se desideri creare un'interfaccia virtuale basata su "
|
||||
"un'interfaccia fisica."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:463
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:549
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:608
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:481
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:567
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:626
|
||||
msgid "Choose physical interface."
|
||||
msgstr "Scegli l'interfaccia fisica."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:150
|
||||
msgid "Common server settings"
|
||||
msgstr "Impostazioni comuni del server"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:135
|
||||
msgid "Core temp:"
|
||||
msgstr "Temp. Nucleo:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:415
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:560
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:389
|
||||
msgid "Country"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:386
|
||||
#, fuzzy
|
||||
#| msgid "All router settings"
|
||||
msgid "Country settings"
|
||||
msgstr "Impostazioni del router"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:433
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:578
|
||||
msgid "DHCP"
|
||||
msgstr "DHCP"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:561
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:579
|
||||
#, fuzzy
|
||||
#| msgid "DHCP"
|
||||
msgid "DHCPv6"
|
||||
|
@ -184,7 +194,7 @@ msgstr "DHCP"
|
|||
msgid "DNS issue: can\\'t resolve hostname"
|
||||
msgstr "Problema DNS: impossibile risolvere il nome host"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:294
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:304
|
||||
msgid "Debug"
|
||||
msgstr "Debug"
|
||||
|
||||
|
@ -197,16 +207,22 @@ msgid "Default VPN"
|
|||
msgstr "VPN predefinita"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:66
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:504
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:522
|
||||
msgid "Delete"
|
||||
msgstr "Elimina"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:702
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:729
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:750
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:720
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:747
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:768
|
||||
msgid "Device"
|
||||
msgstr "Dispositivo"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:253
|
||||
#, fuzzy
|
||||
#| msgid "Disable server ping status check"
|
||||
msgid "Disable HTTP test on Server API in status page"
|
||||
msgstr "Disabilitare il controllo dello stato del ping del server"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:203
|
||||
msgid "Disable TCP Fast Open"
|
||||
msgstr "Disabilita TCP Fast Open"
|
||||
|
@ -215,11 +231,11 @@ msgstr "Disabilita TCP Fast Open"
|
|||
msgid "Disable TCP Fast Open on Linux and Shadowsocks configuration"
|
||||
msgstr "Disabilita TCP Fast Open su Linux e configurazione Shadowsocks"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:264
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:274
|
||||
msgid "Disable default gateway"
|
||||
msgstr "Disabilita il gateway predefinito"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:269
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:279
|
||||
msgid "Disable default gateway, no internet if VPS are down"
|
||||
msgstr ""
|
||||
"Disabilita il gateway predefinito, niente Internet se i VPS sono inattivi"
|
||||
|
@ -233,16 +249,18 @@ msgid "Disable gateway ping"
|
|||
msgstr "Disabilita il ping del gateway"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:243
|
||||
msgid "Disable gateway ping status check"
|
||||
#, fuzzy
|
||||
#| msgid "Disable gateway ping status check"
|
||||
msgid "Disable gateway ping check in status page"
|
||||
msgstr "Disabilitare il controllo dello stato del ping del gateway"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:248
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:258
|
||||
#, fuzzy
|
||||
#| msgid "Disable tracebox test"
|
||||
msgid "Disable interfaces auto rename"
|
||||
msgstr "Disabilita il test Tracebox"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:289
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:299
|
||||
msgid "Disable multipath test using tracebox"
|
||||
msgstr "Disabilita il test multipath usando tracebox"
|
||||
|
||||
|
@ -253,7 +271,7 @@ msgstr ""
|
|||
"Disabilita il reindirizzamento delle porte definito nel firewall dal server "
|
||||
"a questo router"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:253
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:263
|
||||
#, fuzzy
|
||||
#| msgid "Label for the interface"
|
||||
msgid "Disable renaming interfaces"
|
||||
|
@ -263,29 +281,35 @@ msgstr "Etichetta per l'interfaccia"
|
|||
msgid "Disable server"
|
||||
msgstr "Disabilita il server"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:274
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:248
|
||||
#, fuzzy
|
||||
#| msgid "Disable server ping"
|
||||
msgid "Disable server http test"
|
||||
msgstr "Disabilita il ping del server"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:284
|
||||
msgid "Disable server ping"
|
||||
msgstr "Disabilita il ping del server"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:279
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:289
|
||||
msgid "Disable server ping status check"
|
||||
msgstr "Disabilitare il controllo dello stato del ping del server"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:284
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:294
|
||||
msgid "Disable tracebox test"
|
||||
msgstr "Disabilita il test Tracebox"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:178
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:838
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:854
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:856
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:872
|
||||
msgid "Disabled"
|
||||
msgstr "Disabilitato"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:900
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:918
|
||||
msgid "Download speed (Kb/s)"
|
||||
msgstr "Velocità di download (Kb / s)"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:308
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:318
|
||||
msgid "Dynamic change"
|
||||
msgstr "Cambiamento dinamico"
|
||||
|
||||
|
@ -294,7 +318,7 @@ msgstr "Cambiamento dinamico"
|
|||
msgid "Enable IPv6"
|
||||
msgstr "Abilita IPv6"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:890
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:908
|
||||
msgid "Enable SQM"
|
||||
msgstr "Abilita MQ"
|
||||
|
||||
|
@ -306,13 +330,13 @@ msgstr "Abilita l'offuscamento di ShadowSocks"
|
|||
msgid "Enable TCP Low Latency"
|
||||
msgstr "Abilita TCP bassa latenza"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:299
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:309
|
||||
msgid "Enable debug logs"
|
||||
msgstr "Abilita registro di debug"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:179
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:837
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:853
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:855
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:871
|
||||
msgid "Enabled"
|
||||
msgstr "Abilitato"
|
||||
|
||||
|
@ -330,6 +354,10 @@ msgstr ""
|
|||
msgid "Filesystem is readonly"
|
||||
msgstr "Il filesystem è di sola lettura"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:398
|
||||
msgid "For China, set an accessible DNS and disable DNSSEC."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:167
|
||||
msgid "Force retrieve all keys from server."
|
||||
msgstr "Forza il recupero di tutte le chiavi dal server."
|
||||
|
@ -338,16 +366,16 @@ msgstr "Forza il recupero di tutte le chiavi dal server."
|
|||
msgid "Force retrieve settings"
|
||||
msgstr "Forza il recupero delle impostazioni"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:796
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:814
|
||||
msgid "GPRS only"
|
||||
msgstr "Solo GPRS"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:554
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:739
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:557
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:756
|
||||
msgid "Gateway DOWN"
|
||||
msgstr "Tipi di pagamento"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:557
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:560
|
||||
#, fuzzy
|
||||
#| msgid "Gateway DOWN"
|
||||
msgid "Gateway IPv6 DOWN"
|
||||
|
@ -401,17 +429,17 @@ msgstr "IPv4 TCP SYN retries1"
|
|||
msgid "IPv4 TCP SYN retries2"
|
||||
msgstr "IPv4 TCP SYN retries2"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:471
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:614
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:489
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:632
|
||||
msgid "IPv4 address"
|
||||
msgstr "Indirizzi IPv4"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:630
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:648
|
||||
msgid "IPv4 gateway"
|
||||
msgstr "Gateway IPv4"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:477
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:624
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:495
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:642
|
||||
msgid "IPv4 netmask"
|
||||
msgstr "Netmask IPv4"
|
||||
|
||||
|
@ -419,22 +447,22 @@ msgstr "Netmask IPv4"
|
|||
msgid "IPv6 Prefix"
|
||||
msgstr "Prefisso IPv6"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:644
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:671
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:662
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:689
|
||||
#, fuzzy
|
||||
#| msgid "IPv4 address"
|
||||
msgid "IPv6 address"
|
||||
msgstr "Indirizzi IPv4"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:658
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:681
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:676
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:699
|
||||
#, fuzzy
|
||||
#| msgid "IPv4 gateway"
|
||||
msgid "IPv6 gateway"
|
||||
msgstr "Gateway IPv4"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:612
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:779
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:624
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:796
|
||||
msgid "IPv6 route received"
|
||||
msgstr "Instradamento IPv6 ricevuto"
|
||||
|
||||
|
@ -450,7 +478,7 @@ msgstr "Tunnel IPv6 GIÙ"
|
|||
msgid "IPv6:"
|
||||
msgstr "IPv6:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:490
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:508
|
||||
msgid "Interfaces settings"
|
||||
msgstr "Impostazioni delle interfacce"
|
||||
|
||||
|
@ -473,21 +501,21 @@ msgstr ""
|
|||
"Tasto per configurare e recuperare altre chiavi dal server e per impostare "
|
||||
"le impostazioni del server da OpenMPTCProuter."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:388
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:406
|
||||
msgid "LAN interfaces settings"
|
||||
msgstr "Impostazioni delle interfacce LAN"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:794
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:812
|
||||
msgid "LTE"
|
||||
msgstr "LTE"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:399
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:510
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:417
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:528
|
||||
msgid "Label"
|
||||
msgstr "Etichetta"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:405
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:515
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:423
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:533
|
||||
msgid "Label for the interface"
|
||||
msgstr "Etichetta per l'interfaccia"
|
||||
|
||||
|
@ -523,7 +551,7 @@ msgid "MPTCP may not be enabled on the server"
|
|||
msgstr "MPTCP non è abilitato sul server"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:372
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:880
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:898
|
||||
msgid "MPTCP over VPN"
|
||||
msgstr "MPTCP su VPN"
|
||||
|
||||
|
@ -539,36 +567,36 @@ msgid ""
|
|||
"connection."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:524
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:542
|
||||
msgid "MacVLAN"
|
||||
msgstr "MacVLAN"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:839
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:855
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:857
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:873
|
||||
msgid "Master"
|
||||
msgstr "Principale"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:304
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:314
|
||||
msgid "Master interface selection"
|
||||
msgstr "Selezione dell'interfaccia principale"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:326
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:336
|
||||
msgid "Maximum scaling CPU frequency"
|
||||
msgstr "Frequenza CPU di ridimensionamento massima"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:320
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:330
|
||||
msgid "Minimum scaling CPU frequency"
|
||||
msgstr "Frequenza CPU con ridimensionamento minimo"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:791
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:809
|
||||
msgid "Modem default"
|
||||
msgstr "Impostazione predefinita del modem"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:825
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:843
|
||||
msgid "Modem init timeout"
|
||||
msgstr "Timeout inizializzazione modem"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:562
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:580
|
||||
msgid "ModemManager"
|
||||
msgstr "ModemManager"
|
||||
|
||||
|
@ -576,49 +604,55 @@ msgstr "ModemManager"
|
|||
msgid "More than one default VPN is enabled"
|
||||
msgstr "È abilitata più di una VPN predefinita"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:834
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:850
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:852
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:868
|
||||
msgid "Multipath TCP"
|
||||
msgstr "Multipath TCP"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:585
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:591
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:762
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:768
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:597
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:603
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:779
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:785
|
||||
msgid "Multipath current state is"
|
||||
msgstr "Lo stato corrente di Multipath è"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:580
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:757
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:592
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:774
|
||||
msgid "Multipath master already defined"
|
||||
msgstr "Multipath master già definito"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:560
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:742
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:563
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:759
|
||||
msgid "Multipath seems to be blocked on the connection"
|
||||
msgstr "Multipath sembra essere bloccato sulla connessione"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:563
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:581
|
||||
msgid "NCM"
|
||||
msgstr "NCM"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:805
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:823
|
||||
msgid "NONE"
|
||||
msgstr "NESSUNO"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:607
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:619
|
||||
#, fuzzy
|
||||
#| msgid "Network interface duplicated"
|
||||
msgid "Network interface MAC address duplicated"
|
||||
msgstr "Interfaccia di rete duplicata"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:597
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:774
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:609
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:791
|
||||
msgid "Network interface duplicated"
|
||||
msgstr "Interfaccia di rete duplicata"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:874
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:876
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:575
|
||||
#, fuzzy
|
||||
#| msgid "Network interface duplicated"
|
||||
msgid "Network interface not in WAN firewall zone"
|
||||
msgstr "Interfaccia di rete duplicata"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:891
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:893
|
||||
msgid "Network overview"
|
||||
msgstr "Panoramica della rete"
|
||||
|
||||
|
@ -626,8 +660,8 @@ msgstr "Panoramica della rete"
|
|||
msgid "Networks settings"
|
||||
msgstr "Impostazioni reti"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:547
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:732
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:550
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:749
|
||||
msgid "No IP defined"
|
||||
msgstr "Nessun IP definito"
|
||||
|
||||
|
@ -635,8 +669,14 @@ msgstr "Nessun IP definito"
|
|||
msgid "No IPv6 access"
|
||||
msgstr "Nessun accesso IPv6"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:564
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:746
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:571
|
||||
#, fuzzy
|
||||
#| msgid "No Server ping response after 1 second"
|
||||
msgid "No Server http response after 1 second"
|
||||
msgstr "Nessuna risposta al ping del server dopo 1 secondo"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:567
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:763
|
||||
msgid "No Server ping response after 1 second"
|
||||
msgstr "Nessuna risposta al ping del server dopo 1 secondo"
|
||||
|
||||
|
@ -644,7 +684,7 @@ msgstr "Nessuna risposta al ping del server dopo 1 secondo"
|
|||
msgid "No WAN IP address detected in less than 1 second"
|
||||
msgstr "Nessun indirizzo IP WAN rilevato in meno di 1 secondo"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:631
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:648
|
||||
msgid "No WAN with multipath enabled:"
|
||||
msgstr ""
|
||||
|
||||
|
@ -652,16 +692,16 @@ msgstr ""
|
|||
msgid "No available backup on server."
|
||||
msgstr "Nessun backup disponibile sul server."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:309
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:319
|
||||
msgid "No change"
|
||||
msgstr "Nessun cambiamento"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:794
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:811
|
||||
msgid "No data"
|
||||
msgstr "Nessun dato"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:551
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:736
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:554
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:753
|
||||
msgid "No gateway defined"
|
||||
msgstr "Nessun gateway definito"
|
||||
|
||||
|
@ -679,10 +719,11 @@ msgid "No server defined"
|
|||
msgstr "Nessun server definito"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:244
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:392
|
||||
msgid "None"
|
||||
msgstr "Nessuno"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:523
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:541
|
||||
msgid "Normal"
|
||||
msgstr "Normale"
|
||||
|
||||
|
@ -706,7 +747,7 @@ msgstr "Tipo di offuscamento"
|
|||
msgid "Obfuscating will be enabled on both side"
|
||||
msgstr "L'offuscamento sarà abilitato su entrambi i lati"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:307
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:317
|
||||
msgid "On wizard change"
|
||||
msgstr "Al cambio della procedura guidata"
|
||||
|
||||
|
@ -714,7 +755,7 @@ msgstr "Al cambio della procedura guidata"
|
|||
msgid "Only ShadowSocks is supported with server multiple IPs for now."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:844
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:862
|
||||
msgid ""
|
||||
"Only one interface must be set as \"Master\", this should be the most stable "
|
||||
"interface."
|
||||
|
@ -738,8 +779,8 @@ msgstr "OpenVPN non può essere utilizzato nella configurazione multi VPS."
|
|||
msgid "Optimize for latency instead of bandwidth"
|
||||
msgstr "Ottimizza per la latenza invece che per la larghezza di banda"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:416
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:566
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:434
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:584
|
||||
msgid "Other"
|
||||
msgstr "Altro"
|
||||
|
||||
|
@ -747,41 +788,41 @@ msgstr "Altro"
|
|||
msgid "Other settings"
|
||||
msgstr "Altre impostazioni"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:806
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:824
|
||||
msgid "PAP"
|
||||
msgstr "PAP"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:808
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:826
|
||||
msgid "PAP/CHAP"
|
||||
msgstr "PAP/CHAP"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:819
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:837
|
||||
msgid "PAP/CHAP password"
|
||||
msgstr "PAP/CHAP password"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:813
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:831
|
||||
msgid "PAP/CHAP username"
|
||||
msgstr "Nome utente PAP/CHAP"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:782
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:800
|
||||
msgid "PIN code"
|
||||
msgstr "Codice PIN"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:564
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:582
|
||||
msgid "PPPoE"
|
||||
msgstr "PPPoE"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:428
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:534
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:575
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:446
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:552
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:593
|
||||
msgid "Physical interface"
|
||||
msgstr "Interfaccia fisica"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:792
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:810
|
||||
msgid "Prefer LTE"
|
||||
msgstr "Preferisci LTE"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:793
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:811
|
||||
msgid "Prefer UMTS"
|
||||
msgstr "Preferisci UMTS"
|
||||
|
||||
|
@ -791,8 +832,8 @@ msgstr "Preferisci UMTS"
|
|||
msgid "Primary server IP"
|
||||
msgstr "Indirizzo IP del server"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:410
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:555
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:428
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:573
|
||||
msgid "Protocol"
|
||||
msgstr "Protocollo"
|
||||
|
||||
|
@ -808,7 +849,7 @@ msgstr "Impostazioni Proxy"
|
|||
msgid "Proxy traffic:"
|
||||
msgstr "Traffico proxy:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:565
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:583
|
||||
msgid "QMI"
|
||||
msgstr "QMI"
|
||||
|
||||
|
@ -816,7 +857,7 @@ msgstr "QMI"
|
|||
msgid "Redirects all ports from server to this router"
|
||||
msgstr "Reindirizza tutte le porte dal server a questo router"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:966
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:984
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
|
@ -828,8 +869,8 @@ msgstr "Ripristina backup"
|
|||
msgid "Retrieve settings from server"
|
||||
msgstr "Recupera le impostazioni dal server"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:352
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:965
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:362
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:983
|
||||
msgid "Save & Apply"
|
||||
msgstr "Salva e applica"
|
||||
|
||||
|
@ -841,7 +882,7 @@ msgstr "Salva le statistiche di vnstats su disco"
|
|||
msgid "Save vnstats stats"
|
||||
msgstr "Salva le statistiche di vnstats"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:332
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:342
|
||||
msgid "Scaling governor"
|
||||
msgstr "Governatore in scala"
|
||||
|
||||
|
@ -851,7 +892,7 @@ msgstr "Governatore in scala"
|
|||
msgid "Secondary server IP"
|
||||
msgstr "Indirizzo IP del server"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:959
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:977
|
||||
msgid "Select the device you want to base the interface on."
|
||||
msgstr "Seleziona il dispositivo su cui vuoi basare l'interfaccia."
|
||||
|
||||
|
@ -885,7 +926,7 @@ msgstr "Impostazioni server"
|
|||
msgid "Server username"
|
||||
msgstr "Nome utente del server"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:788
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:806
|
||||
msgid "Service Type"
|
||||
msgstr "Tipo di servizio"
|
||||
|
||||
|
@ -893,15 +934,19 @@ msgstr "Tipo di servizio"
|
|||
msgid "Set VPN to use for MPTCP over VPN."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:619
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:649
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:676
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:637
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:667
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:694
|
||||
msgid "Set an IP in the same network as the modem"
|
||||
msgstr "Imposta un IP nella stessa rete del modem"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:635
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:663
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:686
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:387
|
||||
msgid "Set configuration for countries with some specificities."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:653
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:681
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:704
|
||||
msgid "Set here IP of the modem"
|
||||
msgstr "Imposta qui l'IP del modem"
|
||||
|
||||
|
@ -929,14 +974,14 @@ msgstr ""
|
|||
"Imposta la VPN predefinita utilizzata per UDP e ICMP quando ShadowSocks è "
|
||||
"abilitato, per tutto il traffico se ShadowSocks è disabilitato."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:910
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:928
|
||||
msgid ""
|
||||
"Set value between 80-95% of max download speed link. 0 to disable SQM/QoS."
|
||||
msgstr ""
|
||||
"Impostare il valore tra l'80 e il 95% della velocità massima di download "
|
||||
"del collegamento"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:926
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:944
|
||||
msgid ""
|
||||
"Set value between 80-95% of max upload speed link. 0 to disable SQM/QoS."
|
||||
msgstr ""
|
||||
|
@ -960,12 +1005,18 @@ msgstr "ShadowSocks viene utilizzato per TCP."
|
|||
msgid "ShadowSocks key"
|
||||
msgstr "Chiave ShadowSocks"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:152
|
||||
#, fuzzy
|
||||
#| msgid "Advanced settings"
|
||||
msgid "Show advanced settings"
|
||||
msgstr "Impostazioni avanzate"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua:23
|
||||
msgid "Show all settings"
|
||||
msgstr "Mostra tutte le impostazioni"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:414
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:559
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:432
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:577
|
||||
msgid "Static address"
|
||||
msgstr "Indirizzo statico"
|
||||
|
||||
|
@ -973,7 +1024,7 @@ msgstr "Indirizzo statico"
|
|||
msgid "Status"
|
||||
msgstr "Stato proprietà"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:317
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:327
|
||||
msgid "Systems settings"
|
||||
msgstr "Impostazioni di sistema"
|
||||
|
||||
|
@ -1017,7 +1068,7 @@ msgstr ""
|
|||
msgid "Total traffic:"
|
||||
msgstr "Traffico globale:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:520
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:538
|
||||
msgid "Type"
|
||||
msgstr "Tipo"
|
||||
|
||||
|
@ -1030,7 +1081,7 @@ msgstr "UBOND può sostituire Glorytun con connessioni con la stessa latenza"
|
|||
msgid "UBOND password"
|
||||
msgstr "Password UBOND"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:795
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:813
|
||||
msgid "UMTS/GPRS"
|
||||
msgstr "UMTS/GPRS"
|
||||
|
||||
|
@ -1050,7 +1101,7 @@ msgstr ""
|
|||
msgid "Update server"
|
||||
msgstr "Aggiorna server"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:916
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:934
|
||||
msgid "Upload speed (Kb/s)"
|
||||
msgstr "Velocità di caricamento (Kb / s)"
|
||||
|
||||
|
@ -1059,8 +1110,8 @@ msgstr "Velocità di caricamento (Kb / s)"
|
|||
msgid "Uptime:"
|
||||
msgstr "Tempo di funzionamento:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:905
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:921
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:923
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:939
|
||||
msgid "Used by Glorytun UDP and SQM/QoS if enabled. 0 to use default value."
|
||||
msgstr "Utilizzato da Glorytun UDP e SQM / QoS se abilitato."
|
||||
|
||||
|
@ -1080,8 +1131,8 @@ msgstr "Utente V2Ray"
|
|||
msgid "V2Ray user id"
|
||||
msgstr "ID utente V2Ray"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:604
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:605
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:622
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:623
|
||||
#, fuzzy
|
||||
#| msgid "MacVLAN"
|
||||
msgid "VLAN"
|
||||
|
@ -1107,9 +1158,9 @@ msgstr "Tunnel VPN non stabilito"
|
|||
msgid "Version"
|
||||
msgstr "Versione"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:568
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:573
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:750
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:580
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:585
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:767
|
||||
msgid "Wan IP and gateway are identical"
|
||||
msgstr "IP Wan e gateway sono identici"
|
||||
|
||||
|
@ -1121,7 +1172,7 @@ msgstr ""
|
|||
"Quando si abilita il controllo viene eseguito su siti esterni per ottenere "
|
||||
"ogni IP WAN e l'IP utilizzato per uscire."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:258
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:268
|
||||
msgid "When proxy shadowsocks is used, use it for UDP if VPN down"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1129,20 +1180,24 @@ msgstr ""
|
|||
msgid "Wizard"
|
||||
msgstr "Wizard"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:393
|
||||
msgid "World"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:80
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:85
|
||||
msgid "You"
|
||||
msgstr "Ti"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:885
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:903
|
||||
msgid "You can enable MPTCP over VPN if your provider filter Multipath TCP."
|
||||
msgstr "Puoi abilitare MPTCP su VPN se il tuo provider filtra Multipath TCP."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:420
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:438
|
||||
msgid "You can use DHCP if you have multiple real ethernet ports."
|
||||
msgstr "Puoi usare DHCP se hai più porte ethernet reali."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:570
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:588
|
||||
msgid ""
|
||||
"You can use DHCP if you have multiple real ethernet ports. Select other if "
|
||||
"you want to use another protocol available in Network Interfaces page."
|
||||
|
@ -1154,7 +1209,7 @@ msgstr ""
|
|||
"È possibile utilizzare un prefisso IPv6 pubblico solo se si imposta un solo "
|
||||
"server."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:491
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:509
|
||||
msgid "You must disable DHCP on your modems and set IP in different networks."
|
||||
msgstr ""
|
||||
"È necessario disabilitare il DHCP sui modem e impostare l'IP in reti "
|
||||
|
@ -1164,7 +1219,7 @@ msgstr ""
|
|||
msgid "You should disable IPv6 here if server doesn't provide IPv6."
|
||||
msgstr "Dovresti disabilitare IPv6 qui se il server non fornisce IPv6."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:895
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:913
|
||||
msgid "You should disable SQM for LTE or any interfaces with variable speed."
|
||||
msgstr ""
|
||||
"È necessario disabilitare SQM per LTE o qualsiasi interfaccia con velocità "
|
||||
|
@ -1182,7 +1237,7 @@ msgstr "Il tuo IP non è stato affittato da questo router"
|
|||
msgid "address:"
|
||||
msgstr "Indirizzo:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:797
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:815
|
||||
msgid "auto"
|
||||
msgstr "Auto"
|
||||
|
||||
|
@ -1190,39 +1245,39 @@ msgstr "Auto"
|
|||
msgid "empty key"
|
||||
msgstr "chiave vuota"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:497
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:500
|
||||
#, fuzzy
|
||||
#| msgid "Add an interface"
|
||||
msgid "interface:"
|
||||
msgstr "Aggiungi un'interfaccia"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:481
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:712
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:484
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:729
|
||||
msgid "ip address:"
|
||||
msgstr "Indirizzo IP:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:485
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:488
|
||||
#, fuzzy
|
||||
#| msgid "ip address:"
|
||||
msgid "ipv6 address:"
|
||||
msgstr "Indirizzo IP:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:509
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:724
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:512
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:741
|
||||
msgid "latency:"
|
||||
msgstr "latenza:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:513
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:728
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:516
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:745
|
||||
msgid "mtu:"
|
||||
msgstr "mtu:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:619
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:781
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:636
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:798
|
||||
msgid "multipath:"
|
||||
msgstr "multipath:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:517
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:520
|
||||
msgid "operator:"
|
||||
msgstr "operatore:"
|
||||
|
||||
|
@ -1230,7 +1285,7 @@ msgstr "operatore:"
|
|||
msgid "other"
|
||||
msgstr "Altro"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:521
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:524
|
||||
msgid "phone number:"
|
||||
msgstr "numero di telefono:"
|
||||
|
||||
|
@ -1238,32 +1293,35 @@ msgstr "numero di telefono:"
|
|||
msgid "range:"
|
||||
msgstr "intervallo:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:525
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:528
|
||||
msgid "state:"
|
||||
msgstr "stato:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:622
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:784
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:639
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:801
|
||||
msgid "traffic control:"
|
||||
msgstr "controllo del traffico:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:489
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:716
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:492
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:733
|
||||
msgid "wan address:"
|
||||
msgstr "indirizzo wan:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:493
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:496
|
||||
#, fuzzy
|
||||
#| msgid "wan address:"
|
||||
msgid "wan ipv6 address:"
|
||||
msgstr "indirizzo wan:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:501
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:505
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:720
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:504
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:508
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:737
|
||||
msgid "whois:"
|
||||
msgstr "whois:"
|
||||
|
||||
#~ msgid "Common server settings"
|
||||
#~ msgstr "Impostazioni comuni del server"
|
||||
|
||||
#~ msgid "Update VPS"
|
||||
#~ msgstr "Aggiorna VPS"
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -19,11 +19,11 @@ msgstr ""
|
|||
msgid "API username to retrieve personnalized settings from the server."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:776
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:794
|
||||
msgid "APN"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:695
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:713
|
||||
msgid "Accept IPv6 RA"
|
||||
msgstr ""
|
||||
|
||||
|
@ -31,7 +31,7 @@ msgstr ""
|
|||
msgid "Add a new server"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:956
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:974
|
||||
msgid "Add an interface"
|
||||
msgstr ""
|
||||
|
||||
|
@ -40,7 +40,7 @@ msgstr ""
|
|||
msgid "Advanced Settings"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:152
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:150
|
||||
msgid "Advanced settings"
|
||||
msgstr ""
|
||||
|
||||
|
@ -60,12 +60,12 @@ msgid ""
|
|||
"processor."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:802
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:820
|
||||
msgid "Authentication Type"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:840
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:856
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:858
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:874
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
|
@ -74,7 +74,7 @@ msgstr ""
|
|||
msgid "Backup on server"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:310
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:320
|
||||
msgid "Balancing"
|
||||
msgstr ""
|
||||
|
||||
|
@ -86,11 +86,11 @@ msgstr ""
|
|||
msgid "Big time difference between the server and the router"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:525
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:543
|
||||
msgid "Bridge"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:602
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:614
|
||||
msgid "Bridge can't have multipath enabled"
|
||||
msgstr ""
|
||||
|
||||
|
@ -103,7 +103,7 @@ msgid ""
|
|||
"By default proxy is used for any traffic that is TCP (and UDP for V2Ray)."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:807
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:825
|
||||
msgid "CHAP"
|
||||
msgstr ""
|
||||
|
||||
|
@ -127,32 +127,40 @@ msgstr ""
|
|||
msgid "Can\\'t ping server"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:529
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:394
|
||||
msgid "China"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:547
|
||||
msgid ""
|
||||
"Choose MacVLAN if you want to create a virtual interface based on a physical "
|
||||
"interface."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:463
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:549
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:608
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:481
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:567
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:626
|
||||
msgid "Choose physical interface."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:150
|
||||
msgid "Common server settings"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:135
|
||||
msgid "Core temp:"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:415
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:560
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:389
|
||||
msgid "Country"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:386
|
||||
msgid "Country settings"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:433
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:578
|
||||
msgid "DHCP"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:561
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:579
|
||||
msgid "DHCPv6"
|
||||
msgstr ""
|
||||
|
||||
|
@ -160,7 +168,7 @@ msgstr ""
|
|||
msgid "DNS issue: can\\'t resolve hostname"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:294
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:304
|
||||
msgid "Debug"
|
||||
msgstr ""
|
||||
|
||||
|
@ -173,16 +181,20 @@ msgid "Default VPN"
|
|||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:66
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:504
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:522
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:702
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:729
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:750
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:720
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:747
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:768
|
||||
msgid "Device"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:253
|
||||
msgid "Disable HTTP test on Server API in status page"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:203
|
||||
msgid "Disable TCP Fast Open"
|
||||
msgstr ""
|
||||
|
@ -191,11 +203,11 @@ msgstr ""
|
|||
msgid "Disable TCP Fast Open on Linux and Shadowsocks configuration"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:264
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:274
|
||||
msgid "Disable default gateway"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:269
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:279
|
||||
msgid "Disable default gateway, no internet if VPS are down"
|
||||
msgstr ""
|
||||
|
||||
|
@ -208,14 +220,14 @@ msgid "Disable gateway ping"
|
|||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:243
|
||||
msgid "Disable gateway ping status check"
|
||||
msgid "Disable gateway ping check in status page"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:248
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:258
|
||||
msgid "Disable interfaces auto rename"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:289
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:299
|
||||
msgid "Disable multipath test using tracebox"
|
||||
msgstr ""
|
||||
|
||||
|
@ -224,7 +236,7 @@ msgid ""
|
|||
"Disable ports redirection defined in firewall from server to this router"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:253
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:263
|
||||
msgid "Disable renaming interfaces"
|
||||
msgstr ""
|
||||
|
||||
|
@ -232,29 +244,33 @@ msgstr ""
|
|||
msgid "Disable server"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:274
|
||||
msgid "Disable server ping"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:279
|
||||
msgid "Disable server ping status check"
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:248
|
||||
msgid "Disable server http test"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:284
|
||||
msgid "Disable server ping"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:289
|
||||
msgid "Disable server ping status check"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:294
|
||||
msgid "Disable tracebox test"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:178
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:838
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:854
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:856
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:872
|
||||
msgid "Disabled"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:900
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:918
|
||||
msgid "Download speed (Kb/s)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:308
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:318
|
||||
msgid "Dynamic change"
|
||||
msgstr ""
|
||||
|
||||
|
@ -263,7 +279,7 @@ msgstr ""
|
|||
msgid "Enable IPv6"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:890
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:908
|
||||
msgid "Enable SQM"
|
||||
msgstr ""
|
||||
|
||||
|
@ -275,13 +291,13 @@ msgstr ""
|
|||
msgid "Enable TCP Low Latency"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:299
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:309
|
||||
msgid "Enable debug logs"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:179
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:837
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:853
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:855
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:871
|
||||
msgid "Enabled"
|
||||
msgstr ""
|
||||
|
||||
|
@ -297,6 +313,10 @@ msgstr ""
|
|||
msgid "Filesystem is readonly"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:398
|
||||
msgid "For China, set an accessible DNS and disable DNSSEC."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:167
|
||||
msgid "Force retrieve all keys from server."
|
||||
msgstr ""
|
||||
|
@ -305,16 +325,16 @@ msgstr ""
|
|||
msgid "Force retrieve settings"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:796
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:814
|
||||
msgid "GPRS only"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:554
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:739
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:557
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:756
|
||||
msgid "Gateway DOWN"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:557
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:560
|
||||
msgid "Gateway IPv6 DOWN"
|
||||
msgstr ""
|
||||
|
||||
|
@ -363,17 +383,17 @@ msgstr ""
|
|||
msgid "IPv4 TCP SYN retries2"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:471
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:614
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:489
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:632
|
||||
msgid "IPv4 address"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:630
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:648
|
||||
msgid "IPv4 gateway"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:477
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:624
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:495
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:642
|
||||
msgid "IPv4 netmask"
|
||||
msgstr ""
|
||||
|
||||
|
@ -381,18 +401,18 @@ msgstr ""
|
|||
msgid "IPv6 Prefix"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:644
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:671
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:662
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:689
|
||||
msgid "IPv6 address"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:658
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:681
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:676
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:699
|
||||
msgid "IPv6 gateway"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:612
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:779
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:624
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:796
|
||||
msgid "IPv6 route received"
|
||||
msgstr ""
|
||||
|
||||
|
@ -408,7 +428,7 @@ msgstr ""
|
|||
msgid "IPv6:"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:490
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:508
|
||||
msgid "Interfaces settings"
|
||||
msgstr ""
|
||||
|
||||
|
@ -427,21 +447,21 @@ msgid ""
|
|||
"settings from OpenMPTCProuter."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:388
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:406
|
||||
msgid "LAN interfaces settings"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:794
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:812
|
||||
msgid "LTE"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:399
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:510
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:417
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:528
|
||||
msgid "Label"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:405
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:515
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:423
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:533
|
||||
msgid "Label for the interface"
|
||||
msgstr ""
|
||||
|
||||
|
@ -477,7 +497,7 @@ msgid "MPTCP may not be enabled on the server"
|
|||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:372
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:880
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:898
|
||||
msgid "MPTCP over VPN"
|
||||
msgstr ""
|
||||
|
||||
|
@ -491,36 +511,36 @@ msgid ""
|
|||
"connection."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:524
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:542
|
||||
msgid "MacVLAN"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:839
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:855
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:857
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:873
|
||||
msgid "Master"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:304
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:314
|
||||
msgid "Master interface selection"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:326
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:336
|
||||
msgid "Maximum scaling CPU frequency"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:320
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:330
|
||||
msgid "Minimum scaling CPU frequency"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:791
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:809
|
||||
msgid "Modem default"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:825
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:843
|
||||
msgid "Modem init timeout"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:562
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:580
|
||||
msgid "ModemManager"
|
||||
msgstr ""
|
||||
|
||||
|
@ -528,47 +548,51 @@ msgstr ""
|
|||
msgid "More than one default VPN is enabled"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:834
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:850
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:852
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:868
|
||||
msgid "Multipath TCP"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:585
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:591
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:762
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:768
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:597
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:603
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:779
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:785
|
||||
msgid "Multipath current state is"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:580
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:757
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:592
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:774
|
||||
msgid "Multipath master already defined"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:560
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:742
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:563
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:759
|
||||
msgid "Multipath seems to be blocked on the connection"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:563
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:581
|
||||
msgid "NCM"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:805
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:823
|
||||
msgid "NONE"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:607
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:619
|
||||
msgid "Network interface MAC address duplicated"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:597
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:774
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:609
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:791
|
||||
msgid "Network interface duplicated"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:874
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:876
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:575
|
||||
msgid "Network interface not in WAN firewall zone"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:891
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:893
|
||||
msgid "Network overview"
|
||||
msgstr ""
|
||||
|
||||
|
@ -576,8 +600,8 @@ msgstr ""
|
|||
msgid "Networks settings"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:547
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:732
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:550
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:749
|
||||
msgid "No IP defined"
|
||||
msgstr ""
|
||||
|
||||
|
@ -585,16 +609,16 @@ msgstr ""
|
|||
msgid "No IPv6 access"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:564
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:746
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:571
|
||||
msgid "No Server http response after 1 second"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:567
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:763
|
||||
msgid "No Server ping response after 1 second"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:290
|
||||
msgid "No WAN IP address detected in less than 1 second"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:631
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:648
|
||||
msgid "No WAN with multipath enabled:"
|
||||
msgstr ""
|
||||
|
||||
|
@ -602,16 +626,16 @@ msgstr ""
|
|||
msgid "No available backup on server."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:309
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:319
|
||||
msgid "No change"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:794
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:811
|
||||
msgid "No data"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:551
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:736
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:554
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:753
|
||||
msgid "No gateway defined"
|
||||
msgstr ""
|
||||
|
||||
|
@ -620,8 +644,12 @@ msgstr ""
|
|||
msgid "No output"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:290
|
||||
msgid "No public IP address detected in less than 1 second"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:264
|
||||
msgid "No server IP address, No WAN IP address"
|
||||
msgid "No server IP address, No public IP address"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:277
|
||||
|
@ -629,10 +657,11 @@ msgid "No server defined"
|
|||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:244
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:392
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:523
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:541
|
||||
msgid "Normal"
|
||||
msgstr ""
|
||||
|
||||
|
@ -654,7 +683,7 @@ msgstr ""
|
|||
msgid "Obfuscating will be enabled on both side"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:307
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:317
|
||||
msgid "On wizard change"
|
||||
msgstr ""
|
||||
|
||||
|
@ -662,7 +691,7 @@ msgstr ""
|
|||
msgid "Only ShadowSocks is supported with server multiple IPs for now."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:844
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:862
|
||||
msgid ""
|
||||
"Only one interface must be set as \"Master\", this should be the most stable "
|
||||
"interface."
|
||||
|
@ -684,8 +713,8 @@ msgstr ""
|
|||
msgid "Optimize for latency instead of bandwidth"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:416
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:566
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:434
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:584
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
|
@ -693,41 +722,41 @@ msgstr ""
|
|||
msgid "Other settings"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:806
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:824
|
||||
msgid "PAP"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:808
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:826
|
||||
msgid "PAP/CHAP"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:819
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:837
|
||||
msgid "PAP/CHAP password"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:813
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:831
|
||||
msgid "PAP/CHAP username"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:782
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:800
|
||||
msgid "PIN code"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:564
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:582
|
||||
msgid "PPPoE"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:428
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:534
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:575
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:446
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:552
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:593
|
||||
msgid "Physical interface"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:792
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:810
|
||||
msgid "Prefer LTE"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:793
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:811
|
||||
msgid "Prefer UMTS"
|
||||
msgstr ""
|
||||
|
||||
|
@ -735,8 +764,8 @@ msgstr ""
|
|||
msgid "Primary server IP"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:410
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:555
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:428
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:573
|
||||
msgid "Protocol"
|
||||
msgstr ""
|
||||
|
||||
|
@ -752,7 +781,7 @@ msgstr ""
|
|||
msgid "Proxy traffic:"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:565
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:583
|
||||
msgid "QMI"
|
||||
msgstr ""
|
||||
|
||||
|
@ -760,7 +789,7 @@ msgstr ""
|
|||
msgid "Redirects all ports from server to this router"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:966
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:984
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
|
@ -772,8 +801,8 @@ msgstr ""
|
|||
msgid "Retrieve settings from server"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:352
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:965
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:362
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:983
|
||||
msgid "Save & Apply"
|
||||
msgstr ""
|
||||
|
||||
|
@ -785,7 +814,7 @@ msgstr ""
|
|||
msgid "Save vnstats stats"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:332
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:342
|
||||
msgid "Scaling governor"
|
||||
msgstr ""
|
||||
|
||||
|
@ -793,7 +822,7 @@ msgstr ""
|
|||
msgid "Secondary server IP"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:959
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:977
|
||||
msgid "Select the device you want to base the interface on."
|
||||
msgstr ""
|
||||
|
||||
|
@ -827,7 +856,7 @@ msgstr ""
|
|||
msgid "Server username"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:788
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:806
|
||||
msgid "Service Type"
|
||||
msgstr ""
|
||||
|
||||
|
@ -835,15 +864,19 @@ msgstr ""
|
|||
msgid "Set VPN to use for MPTCP over VPN."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:619
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:649
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:676
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:637
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:667
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:694
|
||||
msgid "Set an IP in the same network as the modem"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:635
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:663
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:686
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:387
|
||||
msgid "Set configuration for countries with some specificities."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:653
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:681
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:704
|
||||
msgid "Set here IP of the modem"
|
||||
msgstr ""
|
||||
|
||||
|
@ -863,12 +896,12 @@ msgid ""
|
|||
"for all traffic if proxy is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:910
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:928
|
||||
msgid ""
|
||||
"Set value between 80-95% of max download speed link. 0 to disable SQM/QoS."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:926
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:944
|
||||
msgid ""
|
||||
"Set value between 80-95% of max upload speed link. 0 to disable SQM/QoS."
|
||||
msgstr ""
|
||||
|
@ -890,12 +923,16 @@ msgstr ""
|
|||
msgid "ShadowSocks key"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:152
|
||||
msgid "Show advanced settings"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua:23
|
||||
msgid "Show all settings"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:414
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:559
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:432
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:577
|
||||
msgid "Static address"
|
||||
msgstr ""
|
||||
|
||||
|
@ -903,7 +940,7 @@ msgstr ""
|
|||
msgid "Status"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:317
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:327
|
||||
msgid "Systems settings"
|
||||
msgstr ""
|
||||
|
||||
|
@ -937,7 +974,7 @@ msgstr ""
|
|||
msgid "Total traffic:"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:520
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:538
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
|
@ -950,7 +987,7 @@ msgstr ""
|
|||
msgid "UBOND password"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:795
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:813
|
||||
msgid "UMTS/GPRS"
|
||||
msgstr ""
|
||||
|
||||
|
@ -967,7 +1004,7 @@ msgstr ""
|
|||
msgid "Update server"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:916
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:934
|
||||
msgid "Upload speed (Kb/s)"
|
||||
msgstr ""
|
||||
|
||||
|
@ -976,8 +1013,8 @@ msgstr ""
|
|||
msgid "Uptime:"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:905
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:921
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:923
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:939
|
||||
msgid "Used by Glorytun UDP and SQM/QoS if enabled. 0 to use default value."
|
||||
msgstr ""
|
||||
|
||||
|
@ -997,8 +1034,8 @@ msgstr ""
|
|||
msgid "V2Ray user id"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:604
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:605
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:622
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:623
|
||||
msgid "VLAN"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1022,9 +1059,9 @@ msgstr ""
|
|||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:568
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:573
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:750
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:580
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:585
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:767
|
||||
msgid "Wan IP and gateway are identical"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1034,7 +1071,7 @@ msgid ""
|
|||
"used to go outside."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:258
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:268
|
||||
msgid "When proxy shadowsocks is used, use it for UDP if VPN down"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1042,20 +1079,24 @@ msgstr ""
|
|||
msgid "Wizard"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:393
|
||||
msgid "World"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:80
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:85
|
||||
msgid "You"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:885
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:903
|
||||
msgid "You can enable MPTCP over VPN if your provider filter Multipath TCP."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:420
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:438
|
||||
msgid "You can use DHCP if you have multiple real ethernet ports."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:570
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:588
|
||||
msgid ""
|
||||
"You can use DHCP if you have multiple real ethernet ports. Select other if "
|
||||
"you want to use another protocol available in Network Interfaces page."
|
||||
|
@ -1065,7 +1106,7 @@ msgstr ""
|
|||
msgid "You can use a public IPv6 prefix only if you set only one server."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:491
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:509
|
||||
msgid "You must disable DHCP on your modems and set IP in different networks."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1073,7 +1114,7 @@ msgstr ""
|
|||
msgid "You should disable IPv6 here if server doesn't provide IPv6."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:895
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:913
|
||||
msgid "You should disable SQM for LTE or any interfaces with variable speed."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1089,7 +1130,7 @@ msgstr ""
|
|||
msgid "address:"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:797
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:815
|
||||
msgid "auto"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1097,35 +1138,35 @@ msgstr ""
|
|||
msgid "empty key"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:497
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:500
|
||||
msgid "interface:"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:481
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:712
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:484
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:729
|
||||
msgid "ip address:"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:485
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:488
|
||||
msgid "ipv6 address:"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:509
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:724
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:512
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:741
|
||||
msgid "latency:"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:513
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:728
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:516
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:745
|
||||
msgid "mtu:"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:619
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:781
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:636
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:798
|
||||
msgid "multipath:"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:517
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:520
|
||||
msgid "operator:"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1133,7 +1174,7 @@ msgstr ""
|
|||
msgid "other"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:521
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:524
|
||||
msgid "phone number:"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1141,26 +1182,26 @@ msgstr ""
|
|||
msgid "range:"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:525
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:528
|
||||
msgid "state:"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:622
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:784
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:639
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:801
|
||||
msgid "traffic control:"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:489
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:716
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:492
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:733
|
||||
msgid "wan address:"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:493
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:496
|
||||
msgid "wan ipv6 address:"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:501
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:505
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:720
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:504
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:508
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:737
|
||||
msgid "whois:"
|
||||
msgstr ""
|
||||
|
|
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2021-03-12 22:45+0000\n"
|
||||
"PO-Revision-Date: 2021-03-31 15:07+0000\n"
|
||||
"Last-Translator: antrouter <xinyangla@188.com>\n"
|
||||
"Language-Team: Chinese (Simplified) <http://weblate.openmptcprouter.com/"
|
||||
"projects/omr/luciapplicationsopenmptcprouter/zh_Hans/>\n"
|
||||
|
@ -11,7 +11,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 4.0.4\n"
|
||||
"X-Generator: Weblate 4.5.2\n"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:286
|
||||
msgid "A Dead Simple VPN is a TCP VPN that can replace Glorytun TCP"
|
||||
|
@ -31,11 +31,11 @@ msgstr "如果设置了WAN IPv6,则可以为设置第二台服务器的IP双IP
|
|||
msgid "API username to retrieve personnalized settings from the server."
|
||||
msgstr "API用户名,从聚合服务器检索个性化设置."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:776
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:794
|
||||
msgid "APN"
|
||||
msgstr "APN"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:695
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:713
|
||||
msgid "Accept IPv6 RA"
|
||||
msgstr "接受IPv6 RA"
|
||||
|
||||
|
@ -43,7 +43,7 @@ msgstr "接受IPv6 RA"
|
|||
msgid "Add a new server"
|
||||
msgstr "添加一个新聚合服务器"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:956
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:974
|
||||
msgid "Add an interface"
|
||||
msgstr "添加网卡"
|
||||
|
||||
|
@ -52,7 +52,7 @@ msgstr "添加网卡"
|
|||
msgid "Advanced Settings"
|
||||
msgstr "高级设置"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:152
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:150
|
||||
msgid "Advanced settings"
|
||||
msgstr "高级设置"
|
||||
|
||||
|
@ -72,12 +72,12 @@ msgid ""
|
|||
"processor."
|
||||
msgstr "处理器中集成了高级加密标准(AES)指令集."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:802
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:820
|
||||
msgid "Authentication Type"
|
||||
msgstr "认证类型"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:840
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:856
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:858
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:874
|
||||
msgid "Backup"
|
||||
msgstr "备份"
|
||||
|
||||
|
@ -86,7 +86,7 @@ msgstr "备份"
|
|||
msgid "Backup on server"
|
||||
msgstr "备份到服务器"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:310
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:320
|
||||
msgid "Balancing"
|
||||
msgstr "均衡"
|
||||
|
||||
|
@ -98,11 +98,11 @@ msgstr "测试版"
|
|||
msgid "Big time difference between the server and the router"
|
||||
msgstr "服务器和路由器之间的时间差距很大"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:525
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:543
|
||||
msgid "Bridge"
|
||||
msgstr "桥接"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:602
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:614
|
||||
msgid "Bridge can't have multipath enabled"
|
||||
msgstr "网桥无法启用多路径聚合"
|
||||
|
||||
|
@ -115,7 +115,7 @@ msgid ""
|
|||
"By default proxy is used for any traffic that is TCP (and UDP for V2Ray)."
|
||||
msgstr "默认情况下,代理用于任何TCP(对于V2Ray是UDP)流量。"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:807
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:825
|
||||
msgid "CHAP"
|
||||
msgstr "CHAP"
|
||||
|
||||
|
@ -139,32 +139,40 @@ msgstr "无法通过聚合服务器ShadowSocks获取公网IP地址"
|
|||
msgid "Can\\'t ping server"
|
||||
msgstr "无法ping聚合服务器"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:529
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:394
|
||||
msgid "China"
|
||||
msgstr "中国专属"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:547
|
||||
msgid ""
|
||||
"Choose MacVLAN if you want to create a virtual interface based on a physical "
|
||||
"interface."
|
||||
msgstr "如果要基于物理接口创建虚拟接口,请选择MacVLAN。"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:463
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:549
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:608
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:481
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:567
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:626
|
||||
msgid "Choose physical interface."
|
||||
msgstr "选择物理接口。"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:150
|
||||
msgid "Common server settings"
|
||||
msgstr "通用服务器设置聚合"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:135
|
||||
msgid "Core temp:"
|
||||
msgstr "核心温度:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:415
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:560
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:389
|
||||
msgid "Country"
|
||||
msgstr "国家"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:386
|
||||
msgid "Country settings"
|
||||
msgstr "国家设置"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:433
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:578
|
||||
msgid "DHCP"
|
||||
msgstr "DHCP"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:561
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:579
|
||||
msgid "DHCPv6"
|
||||
msgstr "DHCPV6"
|
||||
|
||||
|
@ -172,7 +180,7 @@ msgstr "DHCPV6"
|
|||
msgid "DNS issue: can\\'t resolve hostname"
|
||||
msgstr "DNS问题:无法解析主机名"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:294
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:304
|
||||
msgid "Debug"
|
||||
msgstr "调试模式"
|
||||
|
||||
|
@ -185,16 +193,20 @@ msgid "Default VPN"
|
|||
msgstr "默认VPN"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:66
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:504
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:522
|
||||
msgid "Delete"
|
||||
msgstr "删除"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:702
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:729
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:750
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:720
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:747
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:768
|
||||
msgid "Device"
|
||||
msgstr "设备"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:253
|
||||
msgid "Disable HTTP test on Server API in status page"
|
||||
msgstr "在状态页面中禁用服务器API上的HTTP测试"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:203
|
||||
msgid "Disable TCP Fast Open"
|
||||
msgstr "禁用TCP Fast Open"
|
||||
|
@ -203,11 +215,11 @@ msgstr "禁用TCP Fast Open"
|
|||
msgid "Disable TCP Fast Open on Linux and Shadowsocks configuration"
|
||||
msgstr "在Linux和Shadowsocks配置上禁用TCP快速打开"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:264
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:274
|
||||
msgid "Disable default gateway"
|
||||
msgstr "关闭默认网关"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:269
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:279
|
||||
msgid "Disable default gateway, no internet if VPS are down"
|
||||
msgstr "禁用默认网关,如果VPS关闭,则没办法链接互联网"
|
||||
|
||||
|
@ -220,14 +232,14 @@ msgid "Disable gateway ping"
|
|||
msgstr "禁用网关ping"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:243
|
||||
msgid "Disable gateway ping status check"
|
||||
msgstr "禁用网关ping状态检查"
|
||||
msgid "Disable gateway ping check in status page"
|
||||
msgstr "禁用状态页面网关ping检查"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:248
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:258
|
||||
msgid "Disable interfaces auto rename"
|
||||
msgstr "禁用接口自动重命名"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:289
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:299
|
||||
msgid "Disable multipath test using tracebox"
|
||||
msgstr "禁止使用tracebox多路径测试"
|
||||
|
||||
|
@ -236,7 +248,7 @@ msgid ""
|
|||
"Disable ports redirection defined in firewall from server to this router"
|
||||
msgstr "禁用防火墙中定义的从服务器到此路由器的端口重定向"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:253
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:263
|
||||
msgid "Disable renaming interfaces"
|
||||
msgstr "禁用网卡重命名"
|
||||
|
||||
|
@ -244,29 +256,33 @@ msgstr "禁用网卡重命名"
|
|||
msgid "Disable server"
|
||||
msgstr "关闭禁用聚合服务器"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:274
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:248
|
||||
msgid "Disable server http test"
|
||||
msgstr "禁用服务器http 测试"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:284
|
||||
msgid "Disable server ping"
|
||||
msgstr "禁用服务器ping"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:279
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:289
|
||||
msgid "Disable server ping status check"
|
||||
msgstr "禁用服务器ping状态检查"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:284
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:294
|
||||
msgid "Disable tracebox test"
|
||||
msgstr "禁用蚂蚁聚合检测"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:178
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:838
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:854
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:856
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:872
|
||||
msgid "Disabled"
|
||||
msgstr "关闭"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:900
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:918
|
||||
msgid "Download speed (Kb/s)"
|
||||
msgstr "下载速度 (Kb/s)"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:308
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:318
|
||||
msgid "Dynamic change"
|
||||
msgstr "动态变化"
|
||||
|
||||
|
@ -275,7 +291,7 @@ msgstr "动态变化"
|
|||
msgid "Enable IPv6"
|
||||
msgstr "开启 IPv6"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:890
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:908
|
||||
msgid "Enable SQM"
|
||||
msgstr "开启 SQM"
|
||||
|
||||
|
@ -287,13 +303,13 @@ msgstr "启用ShadowSocks混淆"
|
|||
msgid "Enable TCP Low Latency"
|
||||
msgstr "启用TCP低延迟"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:299
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:309
|
||||
msgid "Enable debug logs"
|
||||
msgstr "启用调试日志"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:179
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:837
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:853
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:855
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:871
|
||||
msgid "Enabled"
|
||||
msgstr "开启"
|
||||
|
||||
|
@ -309,6 +325,10 @@ msgstr "加密方法用于Shadowsocks,V2Ray,Glorytun和OpenVPN。"
|
|||
msgid "Filesystem is readonly"
|
||||
msgstr "文件系统处于只读状态/重新刷机吧"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:398
|
||||
msgid "For China, set an accessible DNS and disable DNSSEC."
|
||||
msgstr "对于中国,设置专属的DNS并禁用DNSSEC."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:167
|
||||
msgid "Force retrieve all keys from server."
|
||||
msgstr "强制从服务器检索并应用所有密钥。"
|
||||
|
@ -317,16 +337,16 @@ msgstr "强制从服务器检索并应用所有密钥。"
|
|||
msgid "Force retrieve settings"
|
||||
msgstr "强制检索设置"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:796
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:814
|
||||
msgid "GPRS only"
|
||||
msgstr "仅GPRS"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:554
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:739
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:557
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:756
|
||||
msgid "Gateway DOWN"
|
||||
msgstr "网关不通"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:557
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:560
|
||||
msgid "Gateway IPv6 DOWN"
|
||||
msgstr "IPV6网关不通"
|
||||
|
||||
|
@ -375,17 +395,17 @@ msgstr "IPv4 TCP SYN重试1"
|
|||
msgid "IPv4 TCP SYN retries2"
|
||||
msgstr "IPv4 TCP SYN重试2"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:471
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:614
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:489
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:632
|
||||
msgid "IPv4 address"
|
||||
msgstr "IPv4地址"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:630
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:648
|
||||
msgid "IPv4 gateway"
|
||||
msgstr "IPv4网关"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:477
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:624
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:495
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:642
|
||||
msgid "IPv4 netmask"
|
||||
msgstr "IPv4网络掩码"
|
||||
|
||||
|
@ -393,18 +413,18 @@ msgstr "IPv4网络掩码"
|
|||
msgid "IPv6 Prefix"
|
||||
msgstr "IPv6前缀"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:644
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:671
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:662
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:689
|
||||
msgid "IPv6 address"
|
||||
msgstr "IPv6地址"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:658
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:681
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:676
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:699
|
||||
msgid "IPv6 gateway"
|
||||
msgstr "IPv6网关"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:612
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:779
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:624
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:796
|
||||
msgid "IPv6 route received"
|
||||
msgstr "经过的IPv6路由"
|
||||
|
||||
|
@ -420,7 +440,7 @@ msgstr "IPv6隧道DOWN"
|
|||
msgid "IPv6:"
|
||||
msgstr "IPv6 :"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:490
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:508
|
||||
msgid "Interfaces settings"
|
||||
msgstr "接口设置"
|
||||
|
||||
|
@ -439,21 +459,21 @@ msgid ""
|
|||
"settings from OpenMPTCProuter."
|
||||
msgstr "用于服务器配置密钥以及设置的密钥."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:388
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:406
|
||||
msgid "LAN interfaces settings"
|
||||
msgstr "局域网接口设置"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:794
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:812
|
||||
msgid "LTE"
|
||||
msgstr "4G LTE制式"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:399
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:510
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:417
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:528
|
||||
msgid "Label"
|
||||
msgstr "标签"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:405
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:515
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:423
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:533
|
||||
msgid "Label for the interface"
|
||||
msgstr "接口标签"
|
||||
|
||||
|
@ -489,7 +509,7 @@ msgid "MPTCP may not be enabled on the server"
|
|||
msgstr "服务器上可能未启用MPTCP"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:372
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:880
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:898
|
||||
msgid "MPTCP over VPN"
|
||||
msgstr "通过MPTCP的VPN"
|
||||
|
||||
|
@ -503,36 +523,36 @@ msgid ""
|
|||
"connection."
|
||||
msgstr "仅当在链路上阻止多路径TCP时,才应该使用基于VPN的MPTCP。"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:524
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:542
|
||||
msgid "MacVLAN"
|
||||
msgstr "Macvlan"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:839
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:855
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:857
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:873
|
||||
msgid "Master"
|
||||
msgstr "主"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:304
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:314
|
||||
msgid "Master interface selection"
|
||||
msgstr "主网卡选择"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:326
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:336
|
||||
msgid "Maximum scaling CPU frequency"
|
||||
msgstr "最大扩展CPU频率"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:320
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:330
|
||||
msgid "Minimum scaling CPU frequency"
|
||||
msgstr "最小扩展CPU频率"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:791
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:809
|
||||
msgid "Modem default"
|
||||
msgstr "调制解调器默认"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:825
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:843
|
||||
msgid "Modem init timeout"
|
||||
msgstr "调制解调器初始化超时"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:562
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:580
|
||||
msgid "ModemManager"
|
||||
msgstr "调制解调器管理器"
|
||||
|
||||
|
@ -540,47 +560,51 @@ msgstr "调制解调器管理器"
|
|||
msgid "More than one default VPN is enabled"
|
||||
msgstr "启用了多个默认VPN"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:834
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:850
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:852
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:868
|
||||
msgid "Multipath TCP"
|
||||
msgstr "多路径TCP"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:585
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:591
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:762
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:768
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:597
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:603
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:779
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:785
|
||||
msgid "Multipath current state is"
|
||||
msgstr "多路径当前状态为"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:580
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:757
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:592
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:774
|
||||
msgid "Multipath master already defined"
|
||||
msgstr "已定义多路径主机"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:560
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:742
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:563
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:759
|
||||
msgid "Multipath seems to be blocked on the connection"
|
||||
msgstr "多路径似乎在连接上被阻止"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:563
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:581
|
||||
msgid "NCM"
|
||||
msgstr "NCM"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:805
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:823
|
||||
msgid "NONE"
|
||||
msgstr "无"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:607
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:619
|
||||
msgid "Network interface MAC address duplicated"
|
||||
msgstr "网络接口MAC地址重复"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:597
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:774
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:609
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:791
|
||||
msgid "Network interface duplicated"
|
||||
msgstr "网络接口重复"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:874
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:876
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:575
|
||||
msgid "Network interface not in WAN firewall zone"
|
||||
msgstr "网络接口不在WAN防火墙区域中"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:891
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:893
|
||||
msgid "Network overview"
|
||||
msgstr "网络概览"
|
||||
|
||||
|
@ -588,8 +612,8 @@ msgstr "网络概览"
|
|||
msgid "Networks settings"
|
||||
msgstr "网络设置"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:547
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:732
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:550
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:749
|
||||
msgid "No IP defined"
|
||||
msgstr "没有定义IP"
|
||||
|
||||
|
@ -597,8 +621,12 @@ msgstr "没有定义IP"
|
|||
msgid "No IPv6 access"
|
||||
msgstr "没有IPv6地址"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:564
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:746
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:571
|
||||
msgid "No Server http response after 1 second"
|
||||
msgstr "1秒后无服务器HTTP响应"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:567
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:763
|
||||
msgid "No Server ping response after 1 second"
|
||||
msgstr "1秒后无服务器ping响应"
|
||||
|
||||
|
@ -606,7 +634,7 @@ msgstr "1秒后无服务器ping响应"
|
|||
msgid "No WAN IP address detected in less than 1 second"
|
||||
msgstr "不到1秒内未检测到WAN IP地址"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:631
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:648
|
||||
msgid "No WAN with multipath enabled:"
|
||||
msgstr "没有启用多路径的WAN:"
|
||||
|
||||
|
@ -614,16 +642,16 @@ msgstr "没有启用多路径的WAN:"
|
|||
msgid "No available backup on server."
|
||||
msgstr "服务器上没有可用的备份."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:309
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:319
|
||||
msgid "No change"
|
||||
msgstr "没有改变"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:794
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:811
|
||||
msgid "No data"
|
||||
msgstr "没有数据"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:551
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:736
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:554
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:753
|
||||
msgid "No gateway defined"
|
||||
msgstr "未定义网关"
|
||||
|
||||
|
@ -641,10 +669,11 @@ msgid "No server defined"
|
|||
msgstr "未定义聚合服务器"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:244
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:392
|
||||
msgid "None"
|
||||
msgstr "没有"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:523
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:541
|
||||
msgid "Normal"
|
||||
msgstr "正常"
|
||||
|
||||
|
@ -666,7 +695,7 @@ msgstr "混淆类型"
|
|||
msgid "Obfuscating will be enabled on both side"
|
||||
msgstr "双方都将启用混淆"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:307
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:317
|
||||
msgid "On wizard change"
|
||||
msgstr "通过向导更改"
|
||||
|
||||
|
@ -674,7 +703,7 @@ msgstr "通过向导更改"
|
|||
msgid "Only ShadowSocks is supported with server multiple IPs for now."
|
||||
msgstr "目前服务器如果有多个公网IP仅支持ShadowSocks."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:844
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:862
|
||||
msgid ""
|
||||
"Only one interface must be set as \"Master\", this should be the most stable "
|
||||
"interface."
|
||||
|
@ -696,8 +725,8 @@ msgstr "OpenVPN不能用于多VPS配置."
|
|||
msgid "Optimize for latency instead of bandwidth"
|
||||
msgstr "优化延迟而不是带宽"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:416
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:566
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:434
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:584
|
||||
msgid "Other"
|
||||
msgstr "其他"
|
||||
|
||||
|
@ -705,41 +734,41 @@ msgstr "其他"
|
|||
msgid "Other settings"
|
||||
msgstr "聚合其他设置"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:806
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:824
|
||||
msgid "PAP"
|
||||
msgstr "PAP"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:808
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:826
|
||||
msgid "PAP/CHAP"
|
||||
msgstr "PAP/CHAP"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:819
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:837
|
||||
msgid "PAP/CHAP password"
|
||||
msgstr "PAP/CHAP 密码"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:813
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:831
|
||||
msgid "PAP/CHAP username"
|
||||
msgstr "PAP/CHAP 账号"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:782
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:800
|
||||
msgid "PIN code"
|
||||
msgstr "PIN码"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:564
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:582
|
||||
msgid "PPPoE"
|
||||
msgstr "PPPoE拨号"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:428
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:534
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:575
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:446
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:552
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:593
|
||||
msgid "Physical interface"
|
||||
msgstr "物理接口"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:792
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:810
|
||||
msgid "Prefer LTE"
|
||||
msgstr "首选4G LTE制式"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:793
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:811
|
||||
msgid "Prefer UMTS"
|
||||
msgstr "首选3G UMTS"
|
||||
|
||||
|
@ -747,8 +776,8 @@ msgstr "首选3G UMTS"
|
|||
msgid "Primary server IP"
|
||||
msgstr "主服务器IP"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:410
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:555
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:428
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:573
|
||||
msgid "Protocol"
|
||||
msgstr "协议"
|
||||
|
||||
|
@ -764,7 +793,7 @@ msgstr "代理设置"
|
|||
msgid "Proxy traffic:"
|
||||
msgstr "代理流量:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:565
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:583
|
||||
msgid "QMI"
|
||||
msgstr "QMI"
|
||||
|
||||
|
@ -772,7 +801,7 @@ msgstr "QMI"
|
|||
msgid "Redirects all ports from server to this router"
|
||||
msgstr "将所有端口从服务器重定向到此路由器"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:966
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:984
|
||||
msgid "Reset"
|
||||
msgstr "复位"
|
||||
|
||||
|
@ -784,8 +813,8 @@ msgstr "恢复备份"
|
|||
msgid "Retrieve settings from server"
|
||||
msgstr "从服务器检索设置"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:352
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:965
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:362
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:983
|
||||
msgid "Save & Apply"
|
||||
msgstr "保存并且应用设置"
|
||||
|
||||
|
@ -797,7 +826,7 @@ msgstr "将vnstats统计信息保存在磁盘上"
|
|||
msgid "Save vnstats stats"
|
||||
msgstr "保存vnstats统计信息"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:332
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:342
|
||||
msgid "Scaling governor"
|
||||
msgstr "超频"
|
||||
|
||||
|
@ -805,7 +834,7 @@ msgstr "超频"
|
|||
msgid "Secondary server IP"
|
||||
msgstr "辅助服务器IP"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:959
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:977
|
||||
msgid "Select the device you want to base the interface on."
|
||||
msgstr "选择要作为基础的接口."
|
||||
|
||||
|
@ -839,7 +868,7 @@ msgstr "聚合服务器设定"
|
|||
msgid "Server username"
|
||||
msgstr "服务器用户名"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:788
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:806
|
||||
msgid "Service Type"
|
||||
msgstr "服务类型"
|
||||
|
||||
|
@ -847,15 +876,19 @@ msgstr "服务类型"
|
|||
msgid "Set VPN to use for MPTCP over VPN."
|
||||
msgstr "设置VPN以用于通过VPN的MPTCP。"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:619
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:649
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:676
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:637
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:667
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:694
|
||||
msgid "Set an IP in the same network as the modem"
|
||||
msgstr "在与调制解调器相同的网络中设置IP"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:635
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:663
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:686
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:387
|
||||
msgid "Set configuration for countries with some specificities."
|
||||
msgstr "设置具有某些特殊性的国家/地区的配置。"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:653
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:681
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:704
|
||||
msgid "Set here IP of the modem"
|
||||
msgstr "在此处设置调制解调器的IP"
|
||||
|
||||
|
@ -879,12 +912,12 @@ msgstr ""
|
|||
"启用ShadowSocks时,为所有流量设置默认的VPN,用于UDP和ICMP,如果禁用"
|
||||
"ShadowSocks."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:910
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:928
|
||||
msgid ""
|
||||
"Set value between 80-95% of max download speed link. 0 to disable SQM/QoS."
|
||||
msgstr "设置最大下载速度链接的80-95%之间的值。 0禁用SQM / QoS."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:926
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:944
|
||||
msgid ""
|
||||
"Set value between 80-95% of max upload speed link. 0 to disable SQM/QoS."
|
||||
msgstr "设置为最大上传速度链接的80-95%之间的值。 0禁用SQM / QoS."
|
||||
|
@ -906,12 +939,16 @@ msgstr "ShadowSocks用于TCP."
|
|||
msgid "ShadowSocks key"
|
||||
msgstr "ShadowSocks密钥"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:152
|
||||
msgid "Show advanced settings"
|
||||
msgstr "显示高级设置"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua:23
|
||||
msgid "Show all settings"
|
||||
msgstr "显示所有设定"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:414
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:559
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:432
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:577
|
||||
msgid "Static address"
|
||||
msgstr "静态地址"
|
||||
|
||||
|
@ -919,7 +956,7 @@ msgstr "静态地址"
|
|||
msgid "Status"
|
||||
msgstr "状态"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:317
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:327
|
||||
msgid "Systems settings"
|
||||
msgstr "系统设定"
|
||||
|
||||
|
@ -957,7 +994,7 @@ msgstr "当未确认RTO重传时,此值会影响有效TCP连接的超时。"
|
|||
msgid "Total traffic:"
|
||||
msgstr "总流量:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:520
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:538
|
||||
msgid "Type"
|
||||
msgstr "类型"
|
||||
|
||||
|
@ -970,7 +1007,7 @@ msgstr "UBOND可以用具有相同延迟的连接替换Glorytun"
|
|||
msgid "UBOND password"
|
||||
msgstr "UBOND密码"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:795
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:813
|
||||
msgid "UMTS/GPRS"
|
||||
msgstr "UMTS/GPRS"
|
||||
|
||||
|
@ -987,7 +1024,7 @@ msgstr "远程将服务器更新到最新版本并重置它们。"
|
|||
msgid "Update server"
|
||||
msgstr "更新服务器"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:916
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:934
|
||||
msgid "Upload speed (Kb/s)"
|
||||
msgstr "上传速度 (Kb/s)"
|
||||
|
||||
|
@ -996,8 +1033,8 @@ msgstr "上传速度 (Kb/s)"
|
|||
msgid "Uptime:"
|
||||
msgstr "运行时间:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:905
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:921
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:923
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:939
|
||||
msgid "Used by Glorytun UDP and SQM/QoS if enabled. 0 to use default value."
|
||||
msgstr "如果启用,则由Glorytun UDP和使用SQM / QoS, 默认值0."
|
||||
|
||||
|
@ -1017,8 +1054,8 @@ msgstr "V2Ray账号"
|
|||
msgid "V2Ray user id"
|
||||
msgstr "V2Ray账号ID"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:604
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:605
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:622
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:623
|
||||
msgid "VLAN"
|
||||
msgstr "VLAN"
|
||||
|
||||
|
@ -1042,9 +1079,9 @@ msgstr "VPN隧道关闭"
|
|||
msgid "Version"
|
||||
msgstr "版本"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:568
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:573
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:750
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:580
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:585
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:767
|
||||
msgid "Wan IP and gateway are identical"
|
||||
msgstr "WAN IP和网关相同"
|
||||
|
||||
|
@ -1054,7 +1091,7 @@ msgid ""
|
|||
"used to go outside."
|
||||
msgstr "启用后,将在外部站点上进行检查,以获取每个WAN IP和用于外出的IP."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:258
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:268
|
||||
msgid "When proxy shadowsocks is used, use it for UDP if VPN down"
|
||||
msgstr "当使用代理shadowsocks时,如果VPN关闭,将其用于UDP"
|
||||
|
||||
|
@ -1062,20 +1099,24 @@ msgstr "当使用代理shadowsocks时,如果VPN关闭,将其用于UDP"
|
|||
msgid "Wizard"
|
||||
msgstr "蚂蚁聚合向导"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:393
|
||||
msgid "World"
|
||||
msgstr "世界"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:80
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:85
|
||||
msgid "You"
|
||||
msgstr "你"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:885
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:903
|
||||
msgid "You can enable MPTCP over VPN if your provider filter Multipath TCP."
|
||||
msgstr "如果提供商过滤多路径TCP,则可以启用VPN上的MPTCP."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:420
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:438
|
||||
msgid "You can use DHCP if you have multiple real ethernet ports."
|
||||
msgstr "如果您有多个真实的以太网端口,则可以使用DHCP。"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:570
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:588
|
||||
msgid ""
|
||||
"You can use DHCP if you have multiple real ethernet ports. Select other if "
|
||||
"you want to use another protocol available in Network Interfaces page."
|
||||
|
@ -1087,7 +1128,7 @@ msgstr ""
|
|||
msgid "You can use a public IPv6 prefix only if you set only one server."
|
||||
msgstr "仅当您仅设置一台服务器时,才能使用公共IPv6前缀。"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:491
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:509
|
||||
msgid "You must disable DHCP on your modems and set IP in different networks."
|
||||
msgstr "您必须在调制解调器上禁用DHCP并在其他网络中设置IP."
|
||||
|
||||
|
@ -1095,7 +1136,7 @@ msgstr "您必须在调制解调器上禁用DHCP并在其他网络中设置IP."
|
|||
msgid "You should disable IPv6 here if server doesn't provide IPv6."
|
||||
msgstr "如果服务器不提供IPv6,则应在此处禁用IPv6."
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:895
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:913
|
||||
msgid "You should disable SQM for LTE or any interfaces with variable speed."
|
||||
msgstr "您应该为LTE或任何网速不稳的接口禁用SQM."
|
||||
|
||||
|
@ -1111,7 +1152,7 @@ msgstr "您访问的IP来源未通过此路由器"
|
|||
msgid "address:"
|
||||
msgstr "地址:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:797
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:815
|
||||
msgid "auto"
|
||||
msgstr "自动"
|
||||
|
||||
|
@ -1119,35 +1160,35 @@ msgstr "自动"
|
|||
msgid "empty key"
|
||||
msgstr "空键"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:497
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:500
|
||||
msgid "interface:"
|
||||
msgstr "接口:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:481
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:712
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:484
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:729
|
||||
msgid "ip address:"
|
||||
msgstr "IP地址:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:485
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:488
|
||||
msgid "ipv6 address:"
|
||||
msgstr "IPV6地址:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:509
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:724
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:512
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:741
|
||||
msgid "latency:"
|
||||
msgstr "时延:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:513
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:728
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:516
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:745
|
||||
msgid "mtu:"
|
||||
msgstr "mtu :"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:619
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:781
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:636
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:798
|
||||
msgid "multipath:"
|
||||
msgstr "多路聚合:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:517
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:520
|
||||
msgid "operator:"
|
||||
msgstr "运营商:"
|
||||
|
||||
|
@ -1155,7 +1196,7 @@ msgstr "运营商:"
|
|||
msgid "other"
|
||||
msgstr "其他"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:521
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:524
|
||||
msgid "phone number:"
|
||||
msgstr "电话号码:"
|
||||
|
||||
|
@ -1163,30 +1204,33 @@ msgstr "电话号码:"
|
|||
msgid "range:"
|
||||
msgstr "漫游:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:525
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:528
|
||||
msgid "state:"
|
||||
msgstr "状态:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:622
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:784
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:639
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:801
|
||||
msgid "traffic control:"
|
||||
msgstr "流量控制:"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:489
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:716
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:492
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:733
|
||||
msgid "wan address:"
|
||||
msgstr "互联网地址 :"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:493
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:496
|
||||
msgid "wan ipv6 address:"
|
||||
msgstr "IPV6互联网地址 :"
|
||||
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:501
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:505
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:720
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:504
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:508
|
||||
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:737
|
||||
msgid "whois:"
|
||||
msgstr "whois查询 :"
|
||||
|
||||
#~ msgid "Common server settings"
|
||||
#~ msgstr "通用服务器设置聚合"
|
||||
|
||||
#~ msgid "Update VPS"
|
||||
#~ msgstr "更新VPS"
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ uci show | \
|
|||
-e "/publicip=/s/......$/xxxxxx'/" \
|
||||
-e "/\.host=/s/......$/xxxxxx'/" \
|
||||
-e "/\.ip=/s/......$/xxxxxx'/" \
|
||||
-e "/\.ipv6=/s/......$/xxxxxx'/" \
|
||||
-e "/\.ipv6='2/s/=....../='xxxxxx/" \
|
||||
-e "/user_id=/s/......$/xxxxxx'/" \
|
||||
-e "/openvpn\.omr\.remote=/s/......$/xxxxxx'/" \
|
||||
-e "/shadowsocks-libev\.sss.*\.server=/s/......$/xxxxxx'/" \
|
||||
|
@ -21,4 +21,5 @@ uci show | \
|
|||
-e "/vpn\.key=/s/......$/xxxxxx'/" \
|
||||
-e "/vps\.key=/s/......$/xxxxxx'/" \
|
||||
-e "/wgkey=/s/......$/xxxxxx'/" \
|
||||
-e "/ula_prefix=2/s/=.........../='xxxxxxxxxxx/" \
|
||||
-e "/token=/s/............$/xxxxxx'/"
|
|
@ -1390,7 +1390,7 @@ function interfaces_status()
|
|||
end
|
||||
|
||||
local zonewan = "NO"
|
||||
if ut.trim(sys.exec("uci -q get firewall.zone_wan.network | grep '" .. interface .. "'")) ~= "" then
|
||||
if ut.trim(sys.exec("uci -q get firewall.zone_wan.network | grep '" .. interface .. "'")) ~= "" or interface:match("^wg.*") or interface:match("^ovpn.*") then
|
||||
zonewan = "OK"
|
||||
end
|
||||
|
||||
|
|
99
luci-app-packet-capture/po/fr/packet-capture.po
Normal file
99
luci-app-packet-capture/po/fr/packet-capture.po
Normal file
|
@ -0,0 +1,99 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2021-03-31 15:07+0000\n"
|
||||
"Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n"
|
||||
"Language-Team: French <http://weblate.openmptcprouter.com/projects/omr/"
|
||||
"luciapplicationspacket-capture/fr/>\n"
|
||||
"Language: fr\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.5.2\n"
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:177
|
||||
msgid "Capture packets with tcpdump."
|
||||
msgstr "Capturez des paquets avec tcpdump."
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:247
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:201
|
||||
msgid "Convert host addresses to names."
|
||||
msgstr "Convertissez les adresses d'hôte en noms."
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:277
|
||||
msgid "Download"
|
||||
msgstr "Téléchargement"
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:275
|
||||
msgid "Download capture file"
|
||||
msgstr "Télécharger le fichier de capture"
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:193
|
||||
msgid "Duration"
|
||||
msgstr "Durée"
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:193
|
||||
msgid "Duration of packet capturing in seconds."
|
||||
msgstr "Durée de la capture des paquets en secondes."
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:189
|
||||
msgid "Filter"
|
||||
msgstr "Filtre"
|
||||
|
||||
#: luci-app-packet-capture/root/usr/share/rpcd/acl.d/luci-app-packet-capture.json:3
|
||||
msgid "Grant access to tcpdump ubus object"
|
||||
msgstr "Accorder l'accès à l'objet ubus tcpdump"
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:181
|
||||
msgid "Interface"
|
||||
msgstr "Interface"
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:197
|
||||
msgid "Number of packets to be captured."
|
||||
msgstr "Nombre de paquets à capturer."
|
||||
|
||||
#: luci-app-packet-capture/root/usr/share/luci/menu.d/luci-app-packet-capture.json:3
|
||||
msgid "Packet Capture"
|
||||
msgstr "Capture de paquets"
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:177
|
||||
msgid "Packet Capture - Tcpdump"
|
||||
msgstr "Capture de paquets - Tcpdump"
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:197
|
||||
msgid "Packets"
|
||||
msgstr "Paquets"
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:203
|
||||
msgid "Print the link-level header on each dump line."
|
||||
msgstr "Imprimez l'en-tête du lien sur chaque ligne de capture."
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:201
|
||||
msgid "Resolve domains"
|
||||
msgstr "Résoudre les domaines"
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:205
|
||||
msgid "Save capture to pcap file."
|
||||
msgstr "Enregistrez la capture dans le fichier pcap."
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:205
|
||||
msgid "Save to file"
|
||||
msgstr "Enregistrer dans un fichier"
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:207
|
||||
msgid "Start tcpdump"
|
||||
msgstr "Démarrez tcpdump"
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:263
|
||||
msgid "Stop tcpdump"
|
||||
msgstr "Arrêter tcpdump"
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:189
|
||||
msgid "Tcpdump filter like protocol, port etc."
|
||||
msgstr "Filtre pour tcpdump comme le protocole, le port, etc."
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:203
|
||||
msgid "Verbose output"
|
||||
msgstr "Sortie verbeuse"
|
90
luci-app-packet-capture/po/templates/packet-capture.pot
Normal file
90
luci-app-packet-capture/po/templates/packet-capture.pot
Normal file
|
@ -0,0 +1,90 @@
|
|||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=UTF-8"
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:177
|
||||
msgid "Capture packets with tcpdump."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:247
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:201
|
||||
msgid "Convert host addresses to names."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:277
|
||||
msgid "Download"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:275
|
||||
msgid "Download capture file"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:193
|
||||
msgid "Duration"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:193
|
||||
msgid "Duration of packet capturing in seconds."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:189
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/root/usr/share/rpcd/acl.d/luci-app-packet-capture.json:3
|
||||
msgid "Grant access to tcpdump ubus object"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:181
|
||||
msgid "Interface"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:197
|
||||
msgid "Number of packets to be captured."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/root/usr/share/luci/menu.d/luci-app-packet-capture.json:3
|
||||
msgid "Packet Capture"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:177
|
||||
msgid "Packet Capture - Tcpdump"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:197
|
||||
msgid "Packets"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:203
|
||||
msgid "Print the link-level header on each dump line."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:201
|
||||
msgid "Resolve domains"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:205
|
||||
msgid "Save capture to pcap file."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:205
|
||||
msgid "Save to file"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:207
|
||||
msgid "Start tcpdump"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:263
|
||||
msgid "Stop tcpdump"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:189
|
||||
msgid "Tcpdump filter like protocol, port etc."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-packet-capture/htdocs/luci-static/resources/view/packet_capture/tcpdump.js:203
|
||||
msgid "Verbose output"
|
||||
msgstr ""
|
184
luci-app-snmpd/po/fr/snmpd.po
Normal file
184
luci-app-snmpd/po/fr/snmpd.po
Normal file
|
@ -0,0 +1,184 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2021-03-31 15:07+0000\n"
|
||||
"Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n"
|
||||
"Language-Team: French <http://weblate.openmptcprouter.com/projects/omr/"
|
||||
"luciapplicationssnmpd/fr/>\n"
|
||||
"Language: fr\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.5.2\n"
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:82
|
||||
msgid "Access"
|
||||
msgstr "Accès"
|
||||
|
||||
#: luci-app-snmpd/luasrc/view/snmpd.htm:81
|
||||
#: luci-app-snmpd/luasrc/view/snmpd.htm:122
|
||||
msgid "Add"
|
||||
msgstr "Ajouter"
|
||||
|
||||
#: luci-app-snmpd/luasrc/view/snmpd.htm:66
|
||||
#: luci-app-snmpd/luasrc/view/snmpd.htm:116
|
||||
msgid "All"
|
||||
msgstr "Tout"
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:139
|
||||
msgid "Arguments"
|
||||
msgstr "Arguments"
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:42
|
||||
msgid "Community"
|
||||
msgstr "Communauté"
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:23
|
||||
msgid "Contact"
|
||||
msgstr "Contact"
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:97
|
||||
msgid "Context"
|
||||
msgstr "Contexte"
|
||||
|
||||
#: luci-app-snmpd/luasrc/view/snmpd.htm:54
|
||||
msgid "Domain, IP or network"
|
||||
msgstr "Domaine, IP ou réseau"
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:9
|
||||
#: luci-app-snmpd/luasrc/view/snmpd.htm:24
|
||||
msgid "Enabled"
|
||||
msgstr "Activé"
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:132
|
||||
msgid "Exec"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:6
|
||||
#: luci-app-snmpd/luasrc/view/snmpd.htm:21
|
||||
#: luci-app-snmpd/luasrc/view/snmpd.htm:48
|
||||
msgid "General"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/root/usr/share/rpcd/acl.d/luci-app-snmpd.json:3
|
||||
msgid "Grant UCI access for luci-app-snmpd"
|
||||
msgstr "Accorder l'accès UCI pour luci-app-snmpd"
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:63
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:72
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:86
|
||||
msgid "Group"
|
||||
msgstr "Groupe"
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:63
|
||||
msgid "Groups help define access methods"
|
||||
msgstr "Les groupes aident à définir les méthodes d'accès"
|
||||
|
||||
#: luci-app-snmpd/luasrc/view/snmpd.htm:64
|
||||
#: luci-app-snmpd/luasrc/view/snmpd.htm:114
|
||||
msgid "Interface"
|
||||
msgstr "Interface"
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:101
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:22
|
||||
msgid "Location"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:24
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:137
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:12
|
||||
msgid "Networks"
|
||||
msgstr "Réseaux"
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:116
|
||||
msgid "Notify"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:136
|
||||
msgid "ObjectID"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/view/snmpd.htm:55
|
||||
#: luci-app-snmpd/luasrc/view/snmpd.htm:90
|
||||
msgid "Output interface"
|
||||
msgstr "Interface de sortie"
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:138
|
||||
msgid "Program"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/view/snmpd.htm:85
|
||||
#: luci-app-snmpd/luasrc/view/snmpd.htm:89
|
||||
msgid "Protocols"
|
||||
msgstr "Protocoles"
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:106
|
||||
msgid "Read"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:34
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:69
|
||||
msgid "Read-only"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:35
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:70
|
||||
msgid "Read-write"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/controller/snmpd.lua:6
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:4
|
||||
#: luci-app-snmpd/luasrc/view/snmpd.htm:19
|
||||
#: luci-app-snmpd/root/usr/share/luci/menu.d/luci-app-snmpd.json:3
|
||||
msgid "SNMPd"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:4
|
||||
msgid "SNMPd settings interface (Beta)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:32
|
||||
msgid "Server"
|
||||
msgstr "Serveur"
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:37
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:19
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:111
|
||||
msgid "Write"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:92
|
||||
msgid "any"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:104
|
||||
msgid "auth"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:29
|
||||
msgid "com2sec security"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:103
|
||||
msgid "noauth"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:67
|
||||
msgid "secname"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:76
|
||||
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:90
|
||||
msgid "version"
|
||||
msgstr ""
|
97
luci-app-sysupgrade/po/fr/sysupgrade.po
Normal file
97
luci-app-sysupgrade/po/fr/sysupgrade.po
Normal file
|
@ -0,0 +1,97 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2021-03-31 15:07+0000\n"
|
||||
"Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n"
|
||||
"Language-Team: French <http://weblate.openmptcprouter.com/projects/omr/"
|
||||
"luciapplicationssysupgrade/fr/>\n"
|
||||
"Language: fr\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.5.2\n"
|
||||
|
||||
#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:90
|
||||
msgid "Check \"Keep settings\" to retain the current configuration."
|
||||
msgstr ""
|
||||
"Cochez \"Conserver les paramètres\" pour conserver la configuration actuelle."
|
||||
|
||||
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:344
|
||||
msgid "Downloading firmware to web browser memory"
|
||||
msgstr "Téléchargement du micrologiciel dans la mémoire du navigateur Web"
|
||||
|
||||
#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:78
|
||||
msgid "Easily search and install new releases and package upgrades."
|
||||
msgstr ""
|
||||
"Recherchez et installez facilement les nouvelles versions et les mises à "
|
||||
"niveau des paquets."
|
||||
|
||||
#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:99
|
||||
msgid "Edit installed packages"
|
||||
msgstr "Modifier les packages installés"
|
||||
|
||||
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:269
|
||||
msgid "Flashing firmware. Don't unpower device"
|
||||
msgstr "Mise à jour du micrologiciel. Ne débranchez pas l'appareil"
|
||||
|
||||
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:192
|
||||
msgid "Installed version:"
|
||||
msgstr "Version installée :"
|
||||
|
||||
#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:92
|
||||
msgid "Keep settings:"
|
||||
msgstr "Conserver les paramètres :"
|
||||
|
||||
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:215
|
||||
msgid "No upgrades available"
|
||||
msgstr "Pas de mise à jour disponible"
|
||||
|
||||
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:285
|
||||
msgid "Rebooting device - please wait!"
|
||||
msgstr "Redémarrage de l'appareil - veuillez patienter !"
|
||||
|
||||
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:209
|
||||
msgid "Request firmware"
|
||||
msgstr "Demander le micrologiciel"
|
||||
|
||||
#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:110
|
||||
msgid "Search for upgrades"
|
||||
msgstr "Rechercher des mises à jour"
|
||||
|
||||
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:165
|
||||
msgid "Searching for upgrades"
|
||||
msgstr "Recherche des mises à jour"
|
||||
|
||||
#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:103
|
||||
msgid "Server:"
|
||||
msgstr "Serveur :"
|
||||
|
||||
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:289
|
||||
msgid "Success! Please reload web interface"
|
||||
msgstr "Succès ! Veuillez recharger l'interface Web"
|
||||
|
||||
#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:76
|
||||
#: luci-app-sysupgrade/root/usr/share/luci/menu.d/luci-app-sysupgrade.json:3
|
||||
msgid "Sysupgrade"
|
||||
msgstr "Mise à jour système"
|
||||
|
||||
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:320
|
||||
msgid "Upload of firmware failed, please retry by reloading web interface"
|
||||
msgstr ""
|
||||
"Le téléchargement du micrologiciel a échoué, veuillez réessayer en "
|
||||
"rechargeant l'interface Web"
|
||||
|
||||
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:305
|
||||
msgid "Uploading firmware to device"
|
||||
msgstr "Téléchargement du micrologiciel sur l'appareil"
|
||||
|
||||
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:299
|
||||
msgid ""
|
||||
"Web interface could not reconnect to your device. Please reload web "
|
||||
"interface or check device manually"
|
||||
msgstr ""
|
||||
"L'interface Web n'a pas pu se reconnecter à votre appareil. Recharger "
|
||||
"l'interface"
|
||||
|
||||
#: luci-app-sysupgrade/root/usr/share/rpcd/acl.d/sysupgrade.json:3
|
||||
msgid "sysupgrade via rpcd and luci"
|
||||
msgstr "Mise à jour système via rpcd et luci"
|
|
@ -803,7 +803,7 @@ header p {
|
|||
header .fill {
|
||||
background-color: #000;
|
||||
background-repeat: repeat-x;
|
||||
background-image: linear-gradient(to bottom, #3f78b7, #3f78b7);
|
||||
background-image: linear-gradient(to bottom, #6089d4, #6089d4);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
@ -868,7 +868,7 @@ header div > ul .menu-dropdown,
|
|||
.nav .menu-dropdown,
|
||||
header div > ul .dropdown-menu,
|
||||
.nav .dropdown-menu {
|
||||
background-color: #3f78b7;
|
||||
background-color: #6089d4;
|
||||
}
|
||||
|
||||
header div > ul .menu-dropdown a.menu,
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 15 KiB |
|
@ -8,7 +8,7 @@
|
|||
<% local ver = require "luci.version" %>
|
||||
|
||||
<footer>
|
||||
<a href="https://55860.com">Powered by openmptcprouter路由器特别定制优化版 官方支持群140215026 <%= ver.distversion %></a>
|
||||
<a href="https://55860.com">Powered by openmptcprouter business <%= ver.distversion %></a>
|
||||
<ul class="breadcrumb pull-right" id="modemenu" style="display:none"></ul>
|
||||
</footer>
|
||||
</div>
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
<header>
|
||||
<div class="fill">
|
||||
<div class="container">
|
||||
<a class="brand" href="#" alt="openmptcprouter路由器特别定制优化版"><img src="<%=resource%>/openmptcprouter/images/omr-logo.png" height="50" width="300" alt="openmptcprouter路由器特别定制优化版" /></a>
|
||||
<a class="brand" href="#" alt="openmptcprouter business"><img src="<%=resource%>/openmptcprouter/images/omr-logo.png" height="50" width="300" alt="openmptcprouter business" /></a>
|
||||
<ul class="nav" id="topmenu" style="display:none"></ul>
|
||||
<div id="indicators" class="pull-right"></div>
|
||||
</div>
|
||||
|
@ -66,7 +66,7 @@
|
|||
<%- end -%>
|
||||
<%- if current_omr_version ~= "" and latest_omr_version ~= "" and current_omr_version < latest_omr_version then -%>
|
||||
<div class="alert-message notice">
|
||||
<p><%=translatef("You have OMR特别定制优化版 官方支持群140215026 version %s and version %s is now available",current_omr_version,latest_omr_version)%></p>
|
||||
<p><%=translatef("You have openmptcprouter business version %s and version %s is now available",current_omr_version,latest_omr_version)%></p>
|
||||
<div class="right"><a class="btn" href="https://www.55860.com/"><%:Download latest version...%></a></div>
|
||||
</div>
|
||||
<%- end -%>
|
||||
|
|
|
@ -876,7 +876,9 @@ if [ "$multipath_config" = "master" ]; then
|
|||
routesbalancing=""
|
||||
routesbalancingbackup=""
|
||||
nbintf=0
|
||||
nbintfb=0
|
||||
nbintf6=0
|
||||
nbintfb6=0
|
||||
config_load network
|
||||
config_foreach set_route_balancing interface
|
||||
config_foreach set_route_balancing6 interface
|
||||
|
@ -893,13 +895,13 @@ if [ "$multipath_config" = "master" ]; then
|
|||
}
|
||||
}
|
||||
[ -n "$routesbalancingbackup" ] && {
|
||||
([ "$nbintf" -gt "1" ] && [ "$(ip r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancingbackup " ]) || ([ "$nbintf" = "1" ] && ([ "$(ip r show default metric 999 | grep $OMR_TRACKER_DEVICE)" = "" ] || [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" = "1" ]) && [ -n "$OMR_TRACKER_DEVICE_IP" ]) && {
|
||||
([ "$nbintfb" -gt "1" ] && [ "$(ip r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancingbackup " ]) || ([ "$nbintf" = "1" ] && ([ "$(ip r show default metric 999 | grep $OMR_TRACKER_DEVICE)" = "" ] || [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" = "1" ]) && [ -n "$OMR_TRACKER_DEVICE_IP" ]) && {
|
||||
_log "Set backup ip route replace default scope global $routesbalancingbackup"
|
||||
ip route replace default scope global metric 999 $routesbalancingbackup 2>&1 >/dev/null
|
||||
}
|
||||
}
|
||||
[ -n "$routesbalancingbackup6" ] && {
|
||||
([ "$nbintf6" -gt "1" ] && [ "$(ip -6 r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancingbackup6 " ]) || ([ "$nbintf6" = "1" ] && [ "$(ip -6 r show default metric 999 | grep $OMR_TRACKER_DEVICE)" = "" ] && [ -n "$OMR_TRACKER_DEVICE_IP6" ]) && {
|
||||
([ "$nbintfb6" -gt "1" ] && [ "$(ip -6 r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancingbackup6 " ]) || ([ "$nbintf6" = "1" ] && [ "$(ip -6 r show default metric 999 | grep $OMR_TRACKER_DEVICE)" = "" ] && [ -n "$OMR_TRACKER_DEVICE_IP6" ]) && {
|
||||
_log "Set backup ip -6 route replace default scope global $routesbalancingbackup6"
|
||||
ip -6 route replace default scope global metric 999 $routesbalancingbackup6 2>&1 >/dev/null
|
||||
}
|
||||
|
@ -1342,7 +1344,7 @@ if [ -n "$(logread | tail -n 2 | grep 'Ring expansion failed')" ]; then
|
|||
echo 1 > /sys/bus/pci/rescan
|
||||
fi
|
||||
|
||||
if [ "$(iptables-save | grep omr-bypass)" = "" ]; then
|
||||
if [ "$(iptables-save | grep omr-bypass)" = "" ] && [ "$(pgrep omr-bypass)" = "" ]; then
|
||||
_log "Can't find omr-bypass rules, restart omr-bypass..."
|
||||
/etc/init.d/omr-bypass
|
||||
fi
|
||||
|
|
|
@ -363,7 +363,6 @@ while true; do
|
|||
if $(exit $statusb); then
|
||||
OMR_TRACKER_STATUS_MSG=""
|
||||
OMR_TRACKER_STATUS="OK"
|
||||
break
|
||||
else
|
||||
if [ "$OMR_TRACKER_LIST_HOSTS" = "" ]; then
|
||||
OMR_TRACKER_LIST_HOSTS="$OMR_TRACKER_HOST"
|
||||
|
@ -375,25 +374,25 @@ while true; do
|
|||
else
|
||||
OMR_TRACKER_STATUS_MSG=""
|
||||
OMR_TRACKER_STATUS="OK"
|
||||
break
|
||||
fi
|
||||
else
|
||||
OMR_TRACKER_STATUS_MSG=""
|
||||
OMR_TRACKER_STATUS="OK"
|
||||
fi
|
||||
if [ "$server_ping" != false ] && [ "$OMR_TRACKER_STATUS" = "OK" ] && [ "$OMR_TRACKER_TYPE" != "httping" ] && [ "$OMR_TRACKER_SERVER_HTTP_TEST" = "1" ]; then
|
||||
if [ "$serverip_ping" != false ] && [ "$OMR_TRACKER_STATUS" = "OK" ] && [ "$OMR_TRACKER_TYPE" != "httping" ] && [ "$OMR_TRACKER_SERVER_HTTP_TEST" = "1" ]; then
|
||||
serverip_ping=false
|
||||
config_load openmptcprouter
|
||||
config_foreach _httping_server server $OMR_TRACKER_DEVICE_IP
|
||||
if [ "$serverip_ping" = false ]; then
|
||||
OMR_TRACKER_STATUS="ERROR"
|
||||
OMR_TRACKER_STATUS_MSG="No access to server API"
|
||||
else
|
||||
OMR_TRACKER_STATUS_MSG=""
|
||||
OMR_TRACKER_STATUS="OK"
|
||||
break
|
||||
fi
|
||||
else
|
||||
OMR_TRACKER_STATUS_MSG=""
|
||||
OMR_TRACKER_STATUS="OK"
|
||||
break
|
||||
fi
|
||||
[ "$OMR_TRACKER_STATUS" = "OK" ] && break
|
||||
elif ! $(exit $status); then
|
||||
OMR_TRACKER_STATUS_MSG="gateway down"
|
||||
fi
|
||||
|
@ -407,7 +406,7 @@ while true; do
|
|||
sleep "$OMR_TRACKER_INTERVAL_TRIES"
|
||||
done
|
||||
fi
|
||||
if [ -n "$OMR_TRACKER_DEVICE_IP6" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ]; then
|
||||
if [ "$(uci -q get openmptcprouter.settings.disable_ipv6)" = "0" ] && [ -n "$OMR_TRACKER_DEVICE_IP6" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ]; then
|
||||
# setup loop variable
|
||||
tries="$OMR_TRACKER_TRIES"
|
||||
# loop until tries attempts have been reached
|
||||
|
@ -464,7 +463,6 @@ while true; do
|
|||
if $(exit $statusb); then
|
||||
OMR_TRACKER_STATUS_MSG=""
|
||||
OMR_TRACKER_STATUS="OK"
|
||||
break
|
||||
else
|
||||
if [ "$OMR_TRACKER_LIST_HOSTS6" = "" ]; then
|
||||
OMR_TRACKER_LIST_HOSTS6="$OMR_TRACKER_HOST6"
|
||||
|
@ -476,25 +474,25 @@ while true; do
|
|||
else
|
||||
OMR_TRACKER_STATUS_MSG=""
|
||||
OMR_TRACKER_STATUS="OK"
|
||||
break
|
||||
fi
|
||||
else
|
||||
OMR_TRACKER_STATUS_MSG=""
|
||||
OMR_TRACKER_STATUS="OK"
|
||||
fi
|
||||
if [ "$server_ping" != false ] && [ "$OMR_TRACKER_STATUS" = "OK" ] && [ "$OMR_TRACKER_TYPE" != "httping" ] && [ "$OMR_TRACKER_SERVER_HTTP_TEST" = "1" ]; then
|
||||
if [ "$serverip_ping" != false ] && [ "$OMR_TRACKER_STATUS" = "OK" ] && [ "$OMR_TRACKER_TYPE" != "httping" ] && [ "$OMR_TRACKER_SERVER_HTTP_TEST" = "1" ]; then
|
||||
serverip_ping=false
|
||||
config_load openmptcprouter
|
||||
config_foreach _httping_server server $OMR_TRACKER_DEVICE_IP
|
||||
if [ "$serverip_ping" = false ]; then
|
||||
OMR_TRACKER_STATUS_MSG="No access to server API"
|
||||
OMR_TRACKER_STATUS="ERROR"
|
||||
else
|
||||
OMR_TRACKER_STATUS_MSG=""
|
||||
OMR_TRACKER_STATUS="OK"
|
||||
break
|
||||
fi
|
||||
else
|
||||
OMR_TRACKER_STATUS_MSG=""
|
||||
OMR_TRACKER_STATUS="OK"
|
||||
break
|
||||
fi
|
||||
[ "$OMR_TRACKER_STATUS" = "OK" ] && break
|
||||
elif ! $(exit $status); then
|
||||
OMR_TRACKER_STATUS_MSG="gateway down"
|
||||
fi
|
||||
|
@ -508,12 +506,14 @@ while true; do
|
|||
sleep "$OMR_TRACKER_INTERVAL_TRIES"
|
||||
done
|
||||
fi
|
||||
if [ -z "$OMR_TRACKER_DEVICE_IP" ] || [ -z "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ -z "$OMR_TRACKER_DEVICE_IP6" ] || [ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ]; then
|
||||
[ -z "$OMR_TRACKER_STATUS_MSG" ] && OMR_TRACKER_STATUS_MSG="$OMR_TRACKER_INTERFACE have ip issues"
|
||||
if [ -z "$OMR_TRACKER_DEVICE_IP" ] || [ -z "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ -z "$OMR_TRACKER_DEVICE_IP6" ] || [ -z "$OMR_TRACKER_DEVICE_GATEWAY6" ]; then
|
||||
[ -z "$OMR_TRACKER_STATUS_MSG" ] && OMR_TRACKER_STATUS_MSG="$OMR_TRACKER_INTERFACE may have ip issues"
|
||||
[ -z "$OMR_TRACKER_DEVICE_IP" ] && OMR_TRACKER_STATUS_MSG="$OMR_TRACKER_STATUS_MSG, interface have no IPv4"
|
||||
[ -z "$OMR_TRACKER_DEVICE_GATEWAY" ] && OMR_TRACKER_STATUS_MSG="$OMR_TRACKER_STATUS_MSG, interface have no IPv4 gateway"
|
||||
[ -z "$OMR_TRACKER_DEVICE_IP6" ] && OMR_TRACKER_STATUS_MSG="$OMR_TRACKER_STATUS_MSG, interface have no IPv6"
|
||||
[ -z "$OMR_TRACKER_DEVICE_GATEWAY6" ] && OMR_TRACKER_STATUS_MSG="$OMR_TRACKER_STATUS_MSG, interface have no IPv6 gateway"
|
||||
if [ "$(uci -q get openmptcprouter.settings.disable_ipv6)" = "0" ]; then
|
||||
[ -z "$OMR_TRACKER_DEVICE_IP6" ] && OMR_TRACKER_STATUS_MSG="$OMR_TRACKER_STATUS_MSG, interface have no IPv6"
|
||||
[ -z "$OMR_TRACKER_DEVICE_GATEWAY6" ] && OMR_TRACKER_STATUS_MSG="$OMR_TRACKER_STATUS_MSG, interface have no IPv6 gateway"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
OMR_TRACKER_STATUS_MSG="link down"
|
||||
|
|
|
@ -91,7 +91,7 @@ while true; do
|
|||
_log "Shadowsocks ${server} is down (can't contact via http ${nocontact})"
|
||||
uci -q set openmptcprouter.omr.ss_${server}="down"
|
||||
uci -q commit openmptcprouter.omr
|
||||
[ "$(uci show openmptcprouter.omr | grep ss | grep up)" = "" ] && /etc/init.d/shadowsocks-libev rules_down 2> /dev/null
|
||||
[ "$(uci show openmptcprouter.omr | grep ss_ | grep up)" = "" ] && /etc/init.d/shadowsocks-libev rules_down 2> /dev/null
|
||||
_get_ip
|
||||
server_ping=false
|
||||
serverip="$(uci -q get shadowsocks-libev.${server}.server)"
|
||||
|
|
|
@ -65,6 +65,7 @@ _launch_tracker() {
|
|||
config_get proto "$1" proto
|
||||
|
||||
[ -z "$ifname" ] || [ -z "$multipath" ] || [ "$multipath" = "off" ] && [ "$1" != "glorytun" ] && [ "$1" != "omrvpn" ] && [ "$( uci -q get openmptcprouter.$1.multipathvpn)" != "1" ] && return
|
||||
[ "$1" = "omrvpn" ] && [ "$(uci -q get openmptcprouter.settings.vpn)" = "none" ] && return
|
||||
[ "${ifenabled}" = "0" ] && return
|
||||
[ "${enabled}" = "0" ] && return
|
||||
[ -z "${hosts}" ] && [ "$type" != "none" ] && return
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (C) 2018-2019 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
|
||||
# Copyright (C) 2018-2021 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
|
@ -8,7 +8,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=openmptcprouter-full
|
||||
PKG_VERSION:=0.13
|
||||
PKG_VERSION:=0.14
|
||||
PKG_RELEASE:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
@ -82,7 +82,7 @@ MY_DEPENDS := \
|
|||
luci-app-mlvpn mlvpn 464xlat !TARGET_mvebu:kmod-usb-net-smsc75xx kmod-zram kmod-swconfig swconfig kmod-ipt-nat kmod-ipt-nat6 luci-app-https-dns-proxy kmod-tcp-nanqinlang (TARGET_x86_64||aarch64):kmod-tcp-bbr2 iptables-mod-ipopt igmpproxy ss iptraf-ng \
|
||||
luci-app-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre tcptraceroute luci-proto-mbim kmod-rtl8xxxu kmod-ath9k-htc luci-app-ttyd luci-mod-dashboard (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware kmod-usb2 libustream-wolfssl (TARGET_x86||TARGET_x86_64):kmod-ixgbevf \
|
||||
hwinfo (TARGET_x86||TARGET_x86_64):dmidecode luci-app-packet-capture kmod-bonding luci-proto-bonding luci-app-sysupgrade \
|
||||
luci-theme-openwrt-2020 luci-proto-wireguard luci-app-wireguard (TARGET_x86||TARGET_x86_64):r8125
|
||||
luci-theme-openwrt-2020 luci-proto-wireguard luci-app-wireguard (TARGET_x86||TARGET_x86_64):kmod-r8125
|
||||
# luci-theme-bootstrap luci-theme-openwrt-2020 luci-theme-openwrt luci-app-status
|
||||
# luci-proto-bonding luci-app-statistics luci-proto-gre
|
||||
# softethervpn5-client softethervpn5-server luci-app-nginx-ha
|
||||
|
|
|
@ -34,24 +34,27 @@ MY_DEPENDS := \
|
|||
iptables-mod-ipsec kmod-crypto-authenc kmod-ipsec kmod-ipsec4 kmod-ipsec6 kmod-ipt-ipsec \
|
||||
wireless-tools \
|
||||
libiwinfo-lua \
|
||||
ca-bundle ca-certificates libustream-openssl \
|
||||
luci-mod-admin-full luci-app-firewall luci-app-glorytun-tcp luci-app-glorytun-udp luci-app-shadowsocks-libev luci-app-unbound luci-theme-openmptcprouter luci-base \
|
||||
ca-bundle ca-certificates \
|
||||
luci-mod-admin-full luci-app-firewall luci-app-glorytun-tcp luci-app-glorytun-udp luci-app-shadowsocks-libev luci-app-unbound luci-theme-openmptcprouter luci-theme-argon luci-base \
|
||||
luci-app-omr-tracker luci-app-omr-dscp \
|
||||
luci-app-sqm sqm-scripts-extra \
|
||||
luci-app-vnstat2 omr-quota luci-app-omr-quota \
|
||||
luci-app-mptcp luci-app-openmptcprouter luci-app-omr-bypass luci-app-mail luci-app-upnp \
|
||||
luci-app-opkg \
|
||||
luci-app-wol luci-app-opkg \
|
||||
luci-app-uhttpd \
|
||||
luci-mod-rpc rpcd-mod-rpcsys rpcd-mod-file rpcd-mod-iwinfo \
|
||||
luci-app-openvpn \
|
||||
macvlan \
|
||||
shadowsocks-libev-ss-server shadowsocks-libev-ss-tunnel \
|
||||
omr-6in4 ip6tables-mod-nat luci-proto-ipv6 6to4 6in4 6rd ip6tables \
|
||||
speedtestc \
|
||||
iftop \
|
||||
htop \
|
||||
nano \
|
||||
tcpdump \
|
||||
ethtool \
|
||||
iputils-ping \
|
||||
tracebox \
|
||||
!TARGET_mvebu:luci-proto-3g \
|
||||
!TARGET_mvebu:comgt-ncm !TARGET_mvebu:luci-proto-ncm \
|
||||
!TARGET_mvebu:luci-proto-modemmanager \
|
||||
|
@ -63,24 +66,25 @@ MY_DEPENDS := \
|
|||
libimobiledevice \
|
||||
comgt \
|
||||
kmod-random-core \
|
||||
kmod-netem \
|
||||
ca-bundle openssl-util \
|
||||
dejavu-fonts-ttf-DejaVuSerif dejavu-fonts-ttf-DejaVuSerif-Bold dejavu-fonts-ttf-DejaVuSerif-Italic dejavu-fonts-ttf-DejaVuSerif-BoldItalic \
|
||||
iputils-tracepath netcat adb-enablemodem \
|
||||
luci-app-snmpd \
|
||||
iputils-tracepath netcat adb-enablemodem simple-obfs \
|
||||
(TARGET_x86||TARGET_x86_64):kmod-iwlwifi (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl1000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl100 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl105 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl135 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2030 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3160 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3168 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5150 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2a (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2b (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6050 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7260 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265d (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8260c (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8265 \
|
||||
(TARGET_x86||TARGET_x86_64):kmod-e1000 (TARGET_x86||TARGET_x86_64):kmod-e1000e (TARGET_x86||TARGET_x86_64):kmod-igb (TARGET_x86||TARGET_x86_64):kmod-ne2k-pci (TARGET_x86||TARGET_x86_64):kmod-r8169 (TARGET_x86||TARGET_x86_64):kmod-8139too (TARGET_x86||TARGET_x86_64):kmod-bnx2 \
|
||||
TARGET_mvebu:kmod-mwlwifi TARGET_mvebu:mwlwifi-firmware-88w8864 TARGET_mvebu:mwlwifi-firmware-88w8897 TARGET_mvebu:mwlwifi-firmware-88w8964 TARGET_mvebu:mwlwifi-firmware-88w8997 \
|
||||
!TARGET_mvebu:kmod-usb-serial !TARGET_mvebu:kmod-usb-serial-option !TARGET_mvebu:kmod-usb-serial-wwan !TARGET_mvebu:usb-modeswitch !TARGET_mvebu:uqmi \
|
||||
!TARGET_mvebu:umbim !TARGET_mvebu:kmod-mii !TARGET_mvebu:kmod-usb-net !TARGET_mvebu:kmod-usb-wdm !TARGET_mvebu:kmod-usb-net-qmi-wwan !TARGET_mvebu:kmod-usb-net-cdc-mbim !TARGET_mvebu:umbim \
|
||||
!TARGET_mvebu:kmod-usb-net-huawei-cdc-ncm !TARGET_mvebu:kmod-usb-net-rndis !TARGET_mvebu:kmod-usb-net-cdc-ether !TARGET_mvebu:kmod-usb-net-ipheth !TARGET_mvebu:usbmuxd \
|
||||
!TARGET_mvebu:luci-proto-qmi wpad-basic \
|
||||
luci-app-mlvpn mlvpn 464xlat !TARGET_mvebu:kmod-zram kmod-swconfig swconfig kmod-ipt-nat kmod-ipt-nat6 luci-app-https-dns-proxy kmod-tcp-nanqinlang iptables-mod-ipopt ss \
|
||||
kmod-usb-dwc3-qcom kmod-gpio-button-hotplug kmod-hwmon-gpiofan kmod-i2c-gpio kmod-i2c-mux-gpio kmod-input-gpio-encoder \
|
||||
kmod-input-gpio-keys kmod-input-gpio-keys-polled kmod-leds-gpio kmod-ledtrig-gpio kmod-gpio-beeper kmod-gpio-button-hotplug \
|
||||
kmod-gpio-dev kmod-pps-gpio kmod-ledtrig-activity kmod-ledtrig-default-on kmod-ledtrig-heartbeat kmod-ledtrig-netdev \
|
||||
kmod-ledtrig-oneshot kmod-ledtrig-timer kmod-ledtrig-transient kmod-usb-ledtrig-usbport \
|
||||
luci-app-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre
|
||||
kmod-rt2800-usb kmod-rtl8xxxu kmod-rtl8192cu kmod-net-rtl8192su \
|
||||
!TARGET_mvebu:luci-proto-qmi wpad-basic kmod-mt7601u kmod-rtl8187 \
|
||||
luci-app-mlvpn mlvpn 464xlat !TARGET_mvebu:kmod-usb-net-smsc75xx kmod-zram kmod-swconfig swconfig kmod-ipt-nat kmod-ipt-nat6 luci-app-https-dns-proxy kmod-tcp-nanqinlang (TARGET_x86_64||aarch64):kmod-tcp-bbr2 iptables-mod-ipopt igmpproxy ss iptraf-ng \
|
||||
luci-app-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre tcptraceroute luci-proto-mbim kmod-rtl8xxxu kmod-ath9k-htc luci-app-ttyd luci-mod-dashboard (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware kmod-usb2 libustream-wolfssl (TARGET_x86||TARGET_x86_64):kmod-ixgbevf \
|
||||
hwinfo (TARGET_x86||TARGET_x86_64):dmidecode luci-app-packet-capture kmod-bonding luci-proto-bonding luci-app-sysupgrade \
|
||||
luci-theme-openwrt-2020 luci-proto-wireguard luci-app-wireguard (TARGET_x86||TARGET_x86_64):kmod-r8125
|
||||
|
||||
OMR_SUPPORTED_LANGS := en
|
||||
OMR_SUPPORTED_LANGS := zh-cn zh-tw oc
|
||||
|
||||
define Package/$(PKG_NAME)
|
||||
SECTION:=OMR
|
||||
|
|
|
@ -23,7 +23,7 @@ wget -c -4 -T 10 -P /etc/config https://55860.com/bak/rtty
|
|||
fi
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
delete openmptcprouter.vps.ip
|
||||
set openmptcprouter.vps.ip="$serverip"
|
||||
add_list openmptcprouter.vps.ip="$serverip"
|
||||
set openmptcprouter.vps.username="$serveromrusername"
|
||||
set openmptcprouter.vps.password="$serverkey"
|
||||
set openmptcprouter.vps.get_config=1
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2020 goldkeyber112
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
|
@ -1,56 +0,0 @@
|
|||
# Come from https://github.com/goldkeyber112/openwrt-r8125
|
||||
#Download realtek r8125 linux driver from official site
|
||||
#Unpack source file
|
||||
#Replace orginal Makefile with this file
|
||||
#Put this source to 'package' folder of OpenWRT SDK
|
||||
#Build(make menuconfig, make defconfig, make)
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=r8125
|
||||
PKG_VERSION:=9.005.01
|
||||
PKG_RELEASE:=1
|
||||
|
||||
#PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
#PKG_CAT:=bzcat
|
||||
|
||||
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define KernelPackage/r8125
|
||||
SUBMENU:=Network Devices
|
||||
TITLE:=Driver for Realtek r8125 chipsets
|
||||
VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
|
||||
FILES:= $(PKG_BUILD_DIR)/r8125.ko
|
||||
AUTOLOAD:=$(call AutoProbe,r8125)
|
||||
DEFAULT:=y
|
||||
endef
|
||||
|
||||
define Package/r8125/description
|
||||
This package contains a driver for Realtek r8125 chipsets.
|
||||
endef
|
||||
|
||||
R8125_MAKEOPTS= -C $(PKG_BUILD_DIR) \
|
||||
PATH="$(TARGET_PATH)" \
|
||||
ARCH="$(LINUX_KARCH)" \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
TARGET="$(HAL_TARGET)" \
|
||||
TOOLPREFIX="$(KERNEL_CROSS)" \
|
||||
TOOLPATH="$(KERNEL_CROSS)" \
|
||||
KERNELPATH="$(LINUX_DIR)" \
|
||||
KERNELDIR="$(LINUX_DIR)" \
|
||||
LDOPTS=" " \
|
||||
DOMULTI=1
|
||||
|
||||
define Build/Prepare
|
||||
mkdir -p $(PKG_BUILD_DIR)
|
||||
$(CP) ./src/* $(PKG_BUILD_DIR)
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) $(R8125_MAKEOPTS) modules
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,r8125))
|
|
@ -1,8 +0,0 @@
|
|||
# Realtek RTL8125 Driver for Openwrt
|
||||
|
||||
Download realtek r8125 linux driver from official site
|
||||
https://www.realtek.com/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software
|
||||
Unpack source file
|
||||
Replace orginal Makefile with this file
|
||||
Put this source to 'package' folder of OpenWRT SDK
|
||||
Build(make menuconfig, make defconfig, make)
|
|
@ -1,184 +0,0 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
################################################################################
|
||||
#
|
||||
# r8125 is the Linux device driver released for Realtek 2.5Gigabit Ethernet
|
||||
# controllers with PCI-Express interface.
|
||||
#
|
||||
# Copyright(c) 2021 Realtek Semiconductor Corp. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation; either version 2 of the License, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
# more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Author:
|
||||
# Realtek NIC software team <nicfae@realtek.com>
|
||||
# No. 2, Innovation Road II, Hsinchu Science Park, Hsinchu 300, Taiwan
|
||||
#
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# This product is covered by one or more of the following patents:
|
||||
# US6,570,884, US6,115,776, and US6,327,625.
|
||||
################################################################################
|
||||
|
||||
CONFIG_SOC_LAN = n
|
||||
ENABLE_REALWOW_SUPPORT = n
|
||||
ENABLE_DASH_SUPPORT = n
|
||||
ENABLE_DASH_PRINTER_SUPPORT = n
|
||||
CONFIG_DOWN_SPEED_100 = n
|
||||
CONFIG_ASPM = y
|
||||
ENABLE_S5WOL = y
|
||||
ENABLE_S5_KEEP_CURR_MAC = n
|
||||
ENABLE_EEE = y
|
||||
ENABLE_S0_MAGIC_PACKET = n
|
||||
ENABLE_TX_NO_CLOSE = y
|
||||
ENABLE_MULTIPLE_TX_QUEUE = n
|
||||
ENABLE_PTP_SUPPORT = n
|
||||
ENABLE_PTP_MASTER_MODE = n
|
||||
ENABLE_RSS_SUPPORT = n
|
||||
ENABLE_LIB_SUPPORT = n
|
||||
|
||||
ifneq ($(KERNELRELEASE),)
|
||||
obj-m := r8125.o
|
||||
r8125-objs := r8125_n.o rtl_eeprom.o rtltool.o
|
||||
ifeq ($(CONFIG_SOC_LAN), y)
|
||||
EXTRA_CFLAGS += -DCONFIG_SOC_LAN
|
||||
endif
|
||||
ifeq ($(ENABLE_REALWOW_SUPPORT), y)
|
||||
r8125-objs += r8125_realwow.o
|
||||
EXTRA_CFLAGS += -DENABLE_REALWOW_SUPPORT
|
||||
endif
|
||||
ifeq ($(ENABLE_DASH_SUPPORT), y)
|
||||
r8125-objs += r8125_dash.o
|
||||
EXTRA_CFLAGS += -DENABLE_DASH_SUPPORT
|
||||
endif
|
||||
ifeq ($(ENABLE_DASH_PRINTER_SUPPORT), y)
|
||||
r8125-objs += r8125_dash.o
|
||||
EXTRA_CFLAGS += -DENABLE_DASH_SUPPORT -DENABLE_DASH_PRINTER_SUPPORT
|
||||
endif
|
||||
EXTRA_CFLAGS += -DCONFIG_R8125_NAPI
|
||||
EXTRA_CFLAGS += -DCONFIG_R8125_VLAN
|
||||
ifeq ($(CONFIG_DOWN_SPEED_100), y)
|
||||
EXTRA_CFLAGS += -DCONFIG_DOWN_SPEED_100
|
||||
endif
|
||||
ifeq ($(CONFIG_ASPM), y)
|
||||
EXTRA_CFLAGS += -DCONFIG_ASPM
|
||||
endif
|
||||
ifeq ($(ENABLE_S5WOL), y)
|
||||
EXTRA_CFLAGS += -DENABLE_S5WOL
|
||||
endif
|
||||
ifeq ($(ENABLE_S5_KEEP_CURR_MAC), y)
|
||||
EXTRA_CFLAGS += -DENABLE_S5_KEEP_CURR_MAC
|
||||
endif
|
||||
ifeq ($(ENABLE_EEE), y)
|
||||
EXTRA_CFLAGS += -DENABLE_EEE
|
||||
endif
|
||||
ifeq ($(ENABLE_S0_MAGIC_PACKET), y)
|
||||
EXTRA_CFLAGS += -DENABLE_S0_MAGIC_PACKET
|
||||
endif
|
||||
ifeq ($(ENABLE_TX_NO_CLOSE), y)
|
||||
EXTRA_CFLAGS += -DENABLE_TX_NO_CLOSE
|
||||
endif
|
||||
ifeq ($(ENABLE_MULTIPLE_TX_QUEUE), y)
|
||||
EXTRA_CFLAGS += -DENABLE_MULTIPLE_TX_QUEUE
|
||||
endif
|
||||
ifeq ($(ENABLE_PTP_SUPPORT), y)
|
||||
r8125-objs += r8125_ptp.o
|
||||
EXTRA_CFLAGS += -DENABLE_PTP_SUPPORT
|
||||
endif
|
||||
ifeq ($(ENABLE_PTP_MASTER_MODE), y)
|
||||
EXTRA_CFLAGS += -DENABLE_PTP_MASTER_MODE
|
||||
endif
|
||||
ifeq ($(ENABLE_RSS_SUPPORT), y)
|
||||
r8125-objs += r8125_rss.o
|
||||
EXTRA_CFLAGS += -DENABLE_RSS_SUPPORT
|
||||
endif
|
||||
ifeq ($(ENABLE_LIB_SUPPORT), y)
|
||||
r8125-objs += r8125_lib.o
|
||||
EXTRA_CFLAGS += -DENABLE_LIB_SUPPORT
|
||||
endif
|
||||
else
|
||||
BASEDIR := /lib/modules/$(shell uname -r)
|
||||
KERNELDIR ?= $(BASEDIR)/build
|
||||
PWD :=$(shell pwd)
|
||||
DRIVERDIR := $(shell find $(BASEDIR)/kernel/drivers/net/ethernet -name realtek -type d)
|
||||
ifeq ($(DRIVERDIR),)
|
||||
DRIVERDIR := $(shell find $(BASEDIR)/kernel/drivers/net -name realtek -type d)
|
||||
endif
|
||||
ifeq ($(DRIVERDIR),)
|
||||
DRIVERDIR := $(BASEDIR)/kernel/drivers/net
|
||||
endif
|
||||
RTKDIR := $(subst $(BASEDIR)/,,$(DRIVERDIR))
|
||||
|
||||
KERNEL_GCC_VERSION := $(shell cat /proc/version | sed -n 's/.*gcc version \([[:digit:]]\.[[:digit:]]\.[[:digit:]]\).*/\1/p')
|
||||
CCVERSION = $(shell $(CC) -dumpversion)
|
||||
|
||||
KVER = $(shell uname -r)
|
||||
KMAJ = $(shell echo $(KVER) | \
|
||||
sed -e 's/^\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*.*/\1/')
|
||||
KMIN = $(shell echo $(KVER) | \
|
||||
sed -e 's/^[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*.*/\1/')
|
||||
KREV = $(shell echo $(KVER) | \
|
||||
sed -e 's/^[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/')
|
||||
|
||||
kver_ge = $(shell \
|
||||
echo test | awk '{if($(KMAJ) < $(1)) {print 0} else { \
|
||||
if($(KMAJ) > $(1)) {print 1} else { \
|
||||
if($(KMIN) < $(2)) {print 0} else { \
|
||||
if($(KMIN) > $(2)) {print 1} else { \
|
||||
if($(KREV) < $(3)) {print 0} else { print 1 } \
|
||||
}}}}}' \
|
||||
)
|
||||
|
||||
.PHONY: all
|
||||
all: print_vars clean modules install
|
||||
|
||||
print_vars:
|
||||
@echo
|
||||
@echo "CC: " $(CC)
|
||||
@echo "CCVERSION: " $(CCVERSION)
|
||||
@echo "KERNEL_GCC_VERSION: " $(KERNEL_GCC_VERSION)
|
||||
@echo "KVER: " $(KVER)
|
||||
@echo "KMAJ: " $(KMAJ)
|
||||
@echo "KMIN: " $(KMIN)
|
||||
@echo "KREV: " $(KREV)
|
||||
@echo "BASEDIR: " $(BASEDIR)
|
||||
@echo "DRIVERDIR: " $(DRIVERDIR)
|
||||
@echo "PWD: " $(PWD)
|
||||
@echo "RTKDIR: " $(RTKDIR)
|
||||
@echo
|
||||
|
||||
.PHONY:modules
|
||||
modules:
|
||||
#ifeq ($(call kver_ge,5,0,0),1)
|
||||
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
|
||||
#else
|
||||
# $(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) modules
|
||||
#endif
|
||||
|
||||
.PHONY:clean
|
||||
clean:
|
||||
#ifeq ($(call kver_ge,5,0,0),1)
|
||||
$(MAKE) -C $(KERNELDIR) M=$(PWD) clean
|
||||
#else
|
||||
# $(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) clean
|
||||
#endif
|
||||
|
||||
.PHONY:install
|
||||
install:
|
||||
#ifeq ($(call kver_ge,5,0,0),1)
|
||||
$(MAKE) -C $(KERNELDIR) M=$(PWD) INSTALL_MOD_DIR=$(RTKDIR) modules_install
|
||||
#else
|
||||
# $(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) INSTALL_MOD_DIR=$(RTKDIR) modules_install
|
||||
#endif
|
||||
|
||||
endif
|
|
@ -1,75 +0,0 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
################################################################################
|
||||
#
|
||||
# r8125 is the Linux device driver released for Realtek 2.5Gigabit Ethernet
|
||||
# controllers with PCI-Express interface.
|
||||
#
|
||||
# Copyright(c) 2021 Realtek Semiconductor Corp. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation; either version 2 of the License, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
# more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Author:
|
||||
# Realtek NIC software team <nicfae@realtek.com>
|
||||
# No. 2, Innovation Road II, Hsinchu Science Park, Hsinchu 300, Taiwan
|
||||
#
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# This product is covered by one or more of the following patents:
|
||||
# US6,570,884, US6,115,776, and US6,327,625.
|
||||
################################################################################
|
||||
|
||||
CC := gcc
|
||||
LD := ld
|
||||
ARCH := $(shell uname -m | sed 's/i.86/i386/')
|
||||
KSRC := /lib/modules/$(shell uname -r)/build
|
||||
CONFIG_FILE := $(KSRC)/include/linux/autoconf.h
|
||||
KMISC := /lib/modules/$(shell uname -r)/kernel/drivers/net/
|
||||
|
||||
|
||||
ifeq ($(ARCH),x86_64)
|
||||
MODCFLAGS += -mcmodel=kernel -mno-red-zone
|
||||
endif
|
||||
|
||||
#standard flags for module builds
|
||||
MODCFLAGS += -DLINUX -D__KERNEL__ -DMODULE -O2 -pipe -Wall
|
||||
MODCFLAGS += -I$(KSRC)/include -I.
|
||||
MODCFLAGS += -DMODVERSIONS -DEXPORT_SYMTAB -include $(KSRC)/include/linux/modversions.h
|
||||
SOURCE := r8125_n.c rtl_eeprom.c rtltool.c
|
||||
OBJS := $(SOURCE:.c=.o)
|
||||
|
||||
|
||||
SMP := $(shell $(CC) $(MODCFLAGS) -E -dM $(CONFIG_FILE) | \
|
||||
grep CONFIG_SMP | awk '{print $$3}')
|
||||
|
||||
ifneq ($(SMP),1)
|
||||
SMP := 0
|
||||
endif
|
||||
|
||||
ifeq ($(SMP),1)
|
||||
MODCFLAGS += -D__SMP__
|
||||
endif
|
||||
|
||||
modules: $(OBJS)
|
||||
$(LD) -r $^ -o r8125.o
|
||||
strip --strip-debug r8125.o
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(MODCFLAGS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm *.o -f
|
||||
|
||||
install:
|
||||
install -m 744 -c r8125.o $(KMISC)
|
2265
r8125/src/r8125.h
2265
r8125/src/r8125.h
File diff suppressed because it is too large
Load diff
|
@ -1,261 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
################################################################################
|
||||
#
|
||||
# r8125 is the Linux device driver released for Realtek 2.5Gigabit Ethernet
|
||||
# controllers with PCI-Express interface.
|
||||
#
|
||||
# Copyright(c) 2021 Realtek Semiconductor Corp. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation; either version 2 of the License, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
# more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Author:
|
||||
# Realtek NIC software team <nicfae@realtek.com>
|
||||
# No. 2, Innovation Road II, Hsinchu Science Park, Hsinchu 300, Taiwan
|
||||
#
|
||||
################################################################################
|
||||
*/
|
||||
|
||||
/************************************************************************************
|
||||
* This product is covered by one or more of the following patents:
|
||||
* US6,570,884, US6,115,776, and US6,327,625.
|
||||
***********************************************************************************/
|
||||
|
||||
#ifndef _LINUX_R8125_DASH_H
|
||||
#define _LINUX_R8125_DASH_H
|
||||
|
||||
#include <linux/if.h>
|
||||
|
||||
#define SIOCDEVPRIVATE_RTLDASH SIOCDEVPRIVATE+2
|
||||
|
||||
enum rtl_dash_cmd {
|
||||
RTL_DASH_ARP_NS_OFFLOAD = 0,
|
||||
RTL_DASH_SET_OOB_IPMAC,
|
||||
RTL_DASH_NOTIFY_OOB,
|
||||
|
||||
RTL_DASH_SEND_BUFFER_DATA_TO_DASH_FW,
|
||||
RTL_DASH_CHECK_SEND_BUFFER_TO_DASH_FW_COMPLETE,
|
||||
RTL_DASH_GET_RCV_FROM_FW_BUFFER_DATA,
|
||||
RTL_DASH_OOB_REQ,
|
||||
RTL_DASH_OOB_ACK,
|
||||
RTL_DASH_DETACH_OOB_REQ,
|
||||
RTL_DASH_DETACH_OOB_ACK,
|
||||
|
||||
RTL_FW_SET_IPV4 = 0x10,
|
||||
RTL_FW_GET_IPV4,
|
||||
RTL_FW_SET_IPV6,
|
||||
RTL_FW_GET_IPV6,
|
||||
RTL_FW_SET_EXT_SNMP,
|
||||
RTL_FW_GET_EXT_SNMP,
|
||||
RTL_FW_SET_WAKEUP_PATTERN,
|
||||
RTL_FW_GET_WAKEUP_PATTERN,
|
||||
RTL_FW_DEL_WAKEUP_PATTERN,
|
||||
|
||||
RTLT_DASH_COMMAND_INVALID,
|
||||
};
|
||||
|
||||
struct rtl_dash_ip_mac {
|
||||
struct sockaddr ifru_addr;
|
||||
struct sockaddr ifru_netmask;
|
||||
struct sockaddr ifru_hwaddr;
|
||||
};
|
||||
|
||||
struct rtl_dash_ioctl_struct {
|
||||
__u32 cmd;
|
||||
__u32 offset;
|
||||
__u32 len;
|
||||
union {
|
||||
__u32 data;
|
||||
void *data_buffer;
|
||||
};
|
||||
};
|
||||
|
||||
struct settings_ipv4 {
|
||||
__u32 IPv4addr;
|
||||
__u32 IPv4mask;
|
||||
__u32 IPv4Gateway;
|
||||
};
|
||||
|
||||
struct settings_ipv6 {
|
||||
__u32 reserved;
|
||||
__u32 prefixLen;
|
||||
__u16 IPv6addr[8];
|
||||
__u16 IPv6Gateway[8];
|
||||
};
|
||||
|
||||
struct settings_ext_snmp {
|
||||
__u16 index;
|
||||
__u16 oid_get_len;
|
||||
__u8 oid_for_get[24];
|
||||
__u8 reserved0[26];
|
||||
__u16 value_len;
|
||||
__u8 value[256];
|
||||
__u8 supported;
|
||||
__u8 reserved1[27];
|
||||
};
|
||||
|
||||
struct wakeup_pattern {
|
||||
__u8 index;
|
||||
__u8 valid;
|
||||
__u8 start;
|
||||
__u8 length;
|
||||
__u8 name[36];
|
||||
__u8 mask[16];
|
||||
__u8 pattern[128];
|
||||
__u32 reserved[2];
|
||||
};
|
||||
|
||||
typedef struct _RX_DASH_FROM_FW_DESC {
|
||||
u16 length;
|
||||
u8 statusLowByte;
|
||||
u8 statusHighByte;
|
||||
u32 resv;
|
||||
u64 BufferAddress;
|
||||
}
|
||||
RX_DASH_FROM_FW_DESC, *PRX_DASH_FROM_FW_DESC;
|
||||
|
||||
typedef struct _TX_DASH_SEND_FW_DESC {
|
||||
u16 length;
|
||||
u8 statusLowByte;
|
||||
u8 statusHighByte;
|
||||
u32 resv;
|
||||
u64 BufferAddress;
|
||||
}
|
||||
TX_DASH_SEND_FW_DESC, *PTX_DASH_SEND_FW_DESC;
|
||||
|
||||
typedef struct _OSOOBHdr {
|
||||
u32 len;
|
||||
u8 type;
|
||||
u8 flag;
|
||||
u8 hostReqV;
|
||||
u8 res;
|
||||
}
|
||||
OSOOBHdr, *POSOOBHdr;
|
||||
|
||||
typedef struct _RX_DASH_BUFFER_TYPE_2 {
|
||||
OSOOBHdr oobhdr;
|
||||
u8 RxDataBuffer[0];
|
||||
}
|
||||
RX_DASH_BUFFER_TYPE_2, *PRX_DASH_BUFFER_TYPE_2;
|
||||
|
||||
#define ALIGN_8 (0x7)
|
||||
#define ALIGN_16 (0xf)
|
||||
#define ALIGN_32 (0x1f)
|
||||
#define ALIGN_64 (0x3f)
|
||||
#define ALIGN_256 (0xff)
|
||||
#define ALIGN_4096 (0xfff)
|
||||
|
||||
#define OCP_REG_CONFIG0 (0x10)
|
||||
#define OCP_REG_CONFIG0_REV_F (0xB8)
|
||||
#define OCP_REG_DASH_POLL (0x30)
|
||||
#define OCP_REG_HOST_REQ (0x34)
|
||||
#define OCP_REG_DASH_REQ (0x35)
|
||||
#define OCP_REG_CR (0x36)
|
||||
#define OCP_REG_DMEMSTA (0x38)
|
||||
#define OCP_REG_GPHYAR (0x60)
|
||||
|
||||
|
||||
#define OCP_REG_CONFIG0_DASHEN BIT_15
|
||||
#define OCP_REG_CONFIG0_OOBRESET BIT_14
|
||||
#define OCP_REG_CONFIG0_APRDY BIT_13
|
||||
#define OCP_REG_CONFIG0_FIRMWARERDY BIT_12
|
||||
#define OCP_REG_CONFIG0_DRIVERRDY BIT_11
|
||||
#define OCP_REG_CONFIG0_OOB_WDT BIT_9
|
||||
#define OCP_REG_CONFIG0_DRV_WAIT_OOB BIT_8
|
||||
#define OCP_REG_CONFIG0_TLSEN BIT_7
|
||||
|
||||
#define HW_DASH_SUPPORT_DASH(_M) ((_M)->HwSuppDashVer > 0 )
|
||||
#define HW_DASH_SUPPORT_TYPE_1(_M) ((_M)->HwSuppDashVer == 1 )
|
||||
#define HW_DASH_SUPPORT_TYPE_2(_M) ((_M)->HwSuppDashVer == 2 )
|
||||
#define HW_DASH_SUPPORT_TYPE_3(_M) ((_M)->HwSuppDashVer == 3 )
|
||||
|
||||
#define RECV_FROM_FW_BUF_SIZE (1520)
|
||||
#define SEND_TO_FW_BUF_SIZE (1520)
|
||||
|
||||
#define RX_DASH_FROM_FW_OWN BIT_15
|
||||
#define TX_DASH_SEND_FW_OWN BIT_15
|
||||
#define TX_DASH_SEND_FW_OWN_HIGHBYTE BIT_7
|
||||
|
||||
#define TXS_CC3_0 (BIT_0|BIT_1|BIT_2|BIT_3)
|
||||
#define TXS_EXC BIT_4
|
||||
#define TXS_LNKF BIT_5
|
||||
#define TXS_OWC BIT_6
|
||||
#define TXS_TES BIT_7
|
||||
#define TXS_UNF BIT_9
|
||||
#define TXS_LGSEN BIT_11
|
||||
#define TXS_LS BIT_12
|
||||
#define TXS_FS BIT_13
|
||||
#define TXS_EOR BIT_14
|
||||
#define TXS_OWN BIT_15
|
||||
|
||||
#define TPPool_HRDY 0x20
|
||||
|
||||
#define HostReqReg (0xC0)
|
||||
#define SystemMasterDescStartAddrLow (0xF0)
|
||||
#define SystemMasterDescStartAddrHigh (0xF4)
|
||||
#define SystemSlaveDescStartAddrLow (0xF8)
|
||||
#define SystemSlaveDescStartAddrHigh (0xFC)
|
||||
|
||||
//DASH Request Type
|
||||
#define WSMANREG 0x01
|
||||
#define OSPUSHDATA 0x02
|
||||
|
||||
#define RXS_OWN BIT_15
|
||||
#define RXS_EOR BIT_14
|
||||
#define RXS_FS BIT_13
|
||||
#define RXS_LS BIT_12
|
||||
|
||||
#define ISRIMR_DP_DASH_OK BIT_15
|
||||
#define ISRIMR_DP_HOST_OK BIT_13
|
||||
#define ISRIMR_DP_REQSYS_OK BIT_11
|
||||
|
||||
#define ISRIMR_DASH_INTR_EN BIT_12
|
||||
#define ISRIMR_DASH_INTR_CMAC_RESET BIT_15
|
||||
|
||||
#define ISRIMR_DASH_TYPE2_ROK BIT_0
|
||||
#define ISRIMR_DASH_TYPE2_RDU BIT_1
|
||||
#define ISRIMR_DASH_TYPE2_TOK BIT_2
|
||||
#define ISRIMR_DASH_TYPE2_TDU BIT_3
|
||||
#define ISRIMR_DASH_TYPE2_TX_FIFO_FULL BIT_4
|
||||
#define ISRIMR_DASH_TYPE2_TX_DISABLE_IDLE BIT_5
|
||||
#define ISRIMR_DASH_TYPE2_RX_DISABLE_IDLE BIT_6
|
||||
|
||||
#define CMAC_OOB_STOP 0x25
|
||||
#define CMAC_OOB_INIT 0x26
|
||||
#define CMAC_OOB_RESET 0x2a
|
||||
|
||||
#define NO_BASE_ADDRESS 0x00000000
|
||||
#define RTL8168FP_OOBMAC_BASE 0xBAF70000
|
||||
#define RTL8168FP_CMAC_IOBASE 0xBAF20000
|
||||
#define RTL8168FP_KVM_BASE 0xBAF80400
|
||||
#define CMAC_SYNC_REG 0x20
|
||||
#define CMAC_RXDESC_OFFSET 0x90 //RX: 0x90 - 0x98
|
||||
#define CMAC_TXDESC_OFFSET 0x98 //TX: 0x98 - 0x9F
|
||||
|
||||
/* cmac write/read MMIO register */
|
||||
#define RTL_CMAC_W8(tp, reg, val8) writeb ((val8), tp->cmac_ioaddr + (reg))
|
||||
#define RTL_CMAC_W16(tp, reg, val16) writew ((val16), tp->cmac_ioaddr + (reg))
|
||||
#define RTL_CMAC_W32(tp, reg, val32) writel ((val32), tp->cmac_ioaddr + (reg))
|
||||
#define RTL_CMAC_R8(tp, reg) readb (tp->cmac_ioaddr + (reg))
|
||||
#define RTL_CMAC_R16(tp, reg) readw (tp->cmac_ioaddr + (reg))
|
||||
#define RTL_CMAC_R32(tp, reg) ((unsigned long) readl (tp->cmac_ioaddr + (reg)))
|
||||
|
||||
int rtl8125_dash_ioctl(struct net_device *dev, struct ifreq *ifr);
|
||||
void HandleDashInterrupt(struct net_device *dev);
|
||||
int AllocateDashShareMemory(struct net_device *dev);
|
||||
void FreeAllocatedDashShareMemory(struct net_device *dev);
|
||||
void DashHwInit(struct net_device *dev);
|
||||
|
||||
|
||||
#endif /* _LINUX_R8125_DASH_H */
|
14487
r8125/src/r8125_n.c
14487
r8125/src/r8125_n.c
File diff suppressed because it is too large
Load diff
|
@ -1,594 +0,0 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
################################################################################
|
||||
#
|
||||
# r8125 is the Linux device driver released for Realtek 2.5Gigabit Ethernet
|
||||
# controllers with PCI-Express interface.
|
||||
#
|
||||
# Copyright(c) 2021 Realtek Semiconductor Corp. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation; either version 2 of the License, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
# more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Author:
|
||||
# Realtek NIC software team <nicfae@realtek.com>
|
||||
# No. 2, Innovation Road II, Hsinchu Science Park, Hsinchu 300, Taiwan
|
||||
#
|
||||
################################################################################
|
||||
*/
|
||||
|
||||
/************************************************************************************
|
||||
* This product is covered by one or more of the following patents:
|
||||
* US6,570,884, US6,115,776, and US6,327,625.
|
||||
***********************************************************************************/
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/version.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/mii.h>
|
||||
#include <linux/in.h>
|
||||
#include <linux/ethtool.h>
|
||||
|
||||
#include "r8125.h"
|
||||
#include "r8125_ptp.h"
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
|
||||
static inline struct timespec timespec64_to_timespec(const struct timespec64 ts64)
|
||||
{
|
||||
return *(const struct timespec *)&ts64;
|
||||
}
|
||||
|
||||
static inline struct timespec64 timespec_to_timespec64(const struct timespec ts)
|
||||
{
|
||||
return *(const struct timespec64 *)&ts;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int _rtl8125_phc_gettime(struct rtl8125_private *tp, struct timespec64 *ts64)
|
||||
{
|
||||
//get local time
|
||||
RTL_W16(tp, PTP_TIME_CORRECT_CMD_8125, (PTP_CMD_LATCHED_LOCAL_TIME | PTP_EXEC_CMD));
|
||||
|
||||
/* nanoseconds */
|
||||
//0x6808[29:0]
|
||||
ts64->tv_nsec = (RTL_R32(tp, PTP_SOFT_CONFIG_Time_NS_8125) & 0x3fffffff) +
|
||||
tp->ptp_adjust;
|
||||
|
||||
/* seconds */
|
||||
//0x680C[47:0]
|
||||
ts64->tv_sec = RTL_R16(tp, PTP_SOFT_CONFIG_Time_S_8125 + 4);
|
||||
ts64->tv_sec <<= 32;
|
||||
ts64->tv_sec |= RTL_R32(tp, PTP_SOFT_CONFIG_Time_S_8125);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int _rtl8125_phc_settime(struct rtl8125_private *tp, const struct timespec64 *ts64)
|
||||
{
|
||||
/* nanoseconds */
|
||||
//0x6808[29:0]
|
||||
RTL_W32(tp, PTP_SOFT_CONFIG_Time_NS_8125, (ts64->tv_nsec & 0x3fffffff));
|
||||
|
||||
/* seconds */
|
||||
//0x680C[47:0]
|
||||
RTL_W32(tp, PTP_SOFT_CONFIG_Time_S_8125, ts64->tv_sec);
|
||||
RTL_W16(tp, PTP_SOFT_CONFIG_Time_S_8125 + 4, (ts64->tv_sec >> 32));
|
||||
|
||||
//set local time
|
||||
RTL_W16(tp, PTP_TIME_CORRECT_CMD_8125, (PTP_CMD_SET_LOCAL_TIME | PTP_EXEC_CMD));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if 0
|
||||
static int _rtl8125_phc_adjtime(struct rtl8125_private *tp, s64 delta)
|
||||
{
|
||||
struct timespec64 now, then = ns_to_timespec64(delta);
|
||||
u32 nsec;
|
||||
u64 sec;
|
||||
|
||||
_rtl8125_phc_gettime(tp, &now);
|
||||
now = timespec64_add(now, then);
|
||||
|
||||
nsec = now.tv_nsec & 0x3fffffff;
|
||||
sec = now.tv_sec & 0x0000ffffffffffff;
|
||||
|
||||
/* nanoseconds */
|
||||
//0x6808[29:0]
|
||||
RTL_W32(tp, PTP_SOFT_CONFIG_Time_NS_8125, nsec);
|
||||
|
||||
/* seconds */
|
||||
//0x680C[47:0]
|
||||
RTL_W32(tp, PTP_SOFT_CONFIG_Time_S_8125, sec);
|
||||
RTL_W16(tp, PTP_SOFT_CONFIG_Time_S_8125 + 4, (sec >> 32));
|
||||
|
||||
//adjust local time
|
||||
//RTL_W16(tp, PTP_TIME_CORRECT_CMD_8125, (PTP_CMD_DRIFT_LOCAL_TIME | PTP_EXEC_CMD));
|
||||
RTL_W16(tp, PTP_TIME_CORRECT_CMD_8125, (PTP_CMD_SET_LOCAL_TIME | PTP_EXEC_CMD));
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int rtl8125_phc_adjtime(struct ptp_clock_info *ptp, s64 delta)
|
||||
{
|
||||
struct rtl8125_private *tp = container_of(ptp, struct rtl8125_private, ptp_clock_info);
|
||||
unsigned long flags;
|
||||
//int ret = 0;
|
||||
|
||||
//netif_info(tp, drv, tp->dev, "phc adjust time\n");
|
||||
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
//ret = _rtl8125_phc_adjtime(tp, delta);
|
||||
tp->ptp_adjust += delta;
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
1ppm means every 125MHz plus 125Hz. It also means every 8ns minus 8ns*10^(-6)
|
||||
|
||||
1ns=2^30 sub_ns
|
||||
|
||||
8ns*10^(-6) = 8 * 2^30 sub_ns * 10^(-6) = 2^33 sub_ns * 10^(-6) = 8590 = 0x218E sub_ns
|
||||
|
||||
1ppb means every 125MHz plus 0.125Hz. It also means every 8ns minus 8ns*10^(-9)
|
||||
|
||||
1ns=2^30 sub_ns
|
||||
|
||||
8ns*10^(-9) = 8 * 2^30 sub_ns * 10^(-9) = 2^33 sub_ns * 10^(-9) = 8.59 sub_ns = 9 sub_ns
|
||||
*/
|
||||
static int _rtl8125_phc_adjfreq(struct ptp_clock_info *ptp, s32 ppb)
|
||||
{
|
||||
struct rtl8125_private *tp = container_of(ptp, struct rtl8125_private, ptp_clock_info);
|
||||
bool negative = false;
|
||||
u32 sub_ns;
|
||||
|
||||
if (ppb < 0) {
|
||||
negative = true;
|
||||
ppb = -ppb;
|
||||
}
|
||||
|
||||
sub_ns = ppb * 9;
|
||||
if (negative) {
|
||||
sub_ns = -sub_ns;
|
||||
sub_ns &= 0x3fffffff;
|
||||
sub_ns |= PTP_ADJUST_TIME_NS_NEGATIVE;
|
||||
} else
|
||||
sub_ns &= 0x3fffffff;
|
||||
|
||||
/* nanoseconds */
|
||||
//0x6808[29:0]
|
||||
RTL_W32(tp, PTP_SOFT_CONFIG_Time_NS_8125, sub_ns);
|
||||
|
||||
//adjust local time
|
||||
RTL_W16(tp, PTP_TIME_CORRECT_CMD_8125, (PTP_CMD_DRIFT_LOCAL_TIME | PTP_EXEC_CMD));
|
||||
//RTL_W16(tp, PTP_TIME_CORRECT_CMD_8125, (PTP_CMD_SET_LOCAL_TIME | PTP_EXEC_CMD));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rtl8125_phc_adjfreq(struct ptp_clock_info *ptp, s32 delta)
|
||||
{
|
||||
//struct rtl8125_private *tp = container_of(ptp, struct rtl8125_private, ptp_clock_info);
|
||||
|
||||
//netif_info(tp, drv, tp->dev, "phc adjust freq\n");
|
||||
|
||||
if (delta > ptp->max_adj || delta < -ptp->max_adj)
|
||||
return -EINVAL;
|
||||
|
||||
_rtl8125_phc_adjfreq(ptp, delta);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rtl8125_phc_gettime(struct ptp_clock_info *ptp, struct timespec64 *ts64)
|
||||
{
|
||||
struct rtl8125_private *tp = container_of(ptp, struct rtl8125_private, ptp_clock_info);
|
||||
unsigned long flags;
|
||||
int ret;
|
||||
|
||||
//netif_info(tp, drv, tp->dev, "phc get ts\n");
|
||||
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
ret = _rtl8125_phc_gettime(tp, ts64);
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int rtl8125_phc_settime(struct ptp_clock_info *ptp,
|
||||
const struct timespec64 *ts64)
|
||||
{
|
||||
struct rtl8125_private *tp = container_of(ptp, struct rtl8125_private, ptp_clock_info);
|
||||
unsigned long flags;
|
||||
int ret;
|
||||
|
||||
//netif_info(tp, drv, tp->dev, "phc set ts\n");
|
||||
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
ret = _rtl8125_phc_settime(tp, ts64);
|
||||
tp->ptp_adjust = 0;
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int rtl8125_phc_enable(struct ptp_clock_info *ptp,
|
||||
struct ptp_clock_request *rq, int on)
|
||||
{
|
||||
struct rtl8125_private *tp = container_of(ptp, struct rtl8125_private, ptp_clock_info);
|
||||
unsigned long flags;
|
||||
u16 ptp_ctrl;
|
||||
|
||||
//netif_info(tp, drv, tp->dev, "phc enable type %x on %d\n", rq->type, on);
|
||||
|
||||
switch (rq->type) {
|
||||
case PTP_CLK_REQ_PPS:
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
ptp_ctrl = RTL_R16(tp, PTP_CTRL_8125);
|
||||
ptp_ctrl &= ~BIT_15;
|
||||
if (on)
|
||||
ptp_ctrl |= BIT_14;
|
||||
else
|
||||
ptp_ctrl &= ~BIT_14;
|
||||
RTL_W16(tp, PTP_CTRL_8125, ptp_ctrl);
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
return 0;
|
||||
default:
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
}
|
||||
|
||||
int rtl8125_get_ts_info(struct net_device *netdev,
|
||||
struct ethtool_ts_info *info)
|
||||
{
|
||||
struct rtl8125_private *tp = netdev_priv(netdev);
|
||||
|
||||
/* we always support timestamping disabled */
|
||||
info->rx_filters = BIT(HWTSTAMP_FILTER_NONE);
|
||||
|
||||
if (tp->HwSuppPtpVer == 0)
|
||||
return ethtool_op_get_ts_info(netdev, info);
|
||||
|
||||
info->so_timestamping = SOF_TIMESTAMPING_TX_SOFTWARE |
|
||||
SOF_TIMESTAMPING_RX_SOFTWARE |
|
||||
SOF_TIMESTAMPING_SOFTWARE |
|
||||
SOF_TIMESTAMPING_TX_HARDWARE |
|
||||
SOF_TIMESTAMPING_RX_HARDWARE |
|
||||
SOF_TIMESTAMPING_RAW_HARDWARE;
|
||||
|
||||
if (tp->ptp_clock)
|
||||
info->phc_index = ptp_clock_index(tp->ptp_clock);
|
||||
else
|
||||
info->phc_index = -1;
|
||||
|
||||
info->tx_types = BIT(HWTSTAMP_TX_OFF) | BIT(HWTSTAMP_TX_ON);
|
||||
|
||||
info->rx_filters = BIT(HWTSTAMP_FILTER_NONE) |
|
||||
BIT(HWTSTAMP_FILTER_PTP_V2_EVENT) |
|
||||
BIT(HWTSTAMP_FILTER_PTP_V2_L4_EVENT) |
|
||||
BIT(HWTSTAMP_FILTER_PTP_V2_SYNC) |
|
||||
BIT(HWTSTAMP_FILTER_PTP_V2_L4_SYNC) |
|
||||
BIT(HWTSTAMP_FILTER_PTP_V2_DELAY_REQ) |
|
||||
BIT(HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct ptp_clock_info rtl_ptp_clock_info = {
|
||||
.owner = THIS_MODULE,
|
||||
.n_alarm = 0,
|
||||
.n_ext_ts = 0,
|
||||
.n_per_out = 0,
|
||||
.n_pins = 0,
|
||||
.pps = 1,
|
||||
.adjfreq = rtl8125_phc_adjfreq,
|
||||
.adjtime = rtl8125_phc_adjtime,
|
||||
.gettime64 = rtl8125_phc_gettime,
|
||||
.settime64 = rtl8125_phc_settime,
|
||||
.enable = rtl8125_phc_enable,
|
||||
};
|
||||
|
||||
static int rtl8125_get_tx_ptp_pkt_tstamp(struct rtl8125_private *tp, struct timespec64 *ts64)
|
||||
{
|
||||
return _rtl8125_phc_gettime(tp, ts64);
|
||||
}
|
||||
|
||||
static void rtl8125_ptp_tx_hwtstamp(struct rtl8125_private *tp)
|
||||
{
|
||||
struct sk_buff *skb = tp->ptp_tx_skb;
|
||||
struct skb_shared_hwtstamps shhwtstamps = {0};
|
||||
struct timespec64 ts64;
|
||||
|
||||
RTL_W8(tp, PTP_ISR_8125, PTP_ISR_TOK | PTP_ISR_TER);
|
||||
|
||||
rtl8125_get_tx_ptp_pkt_tstamp(tp, &ts64);
|
||||
|
||||
/* Upper 32 bits contain s, lower 32 bits contain ns. */
|
||||
shhwtstamps.hwtstamp = ktime_set(ts64.tv_sec,
|
||||
ts64.tv_nsec);
|
||||
|
||||
/* Clear the lock early before calling skb_tstamp_tx so that
|
||||
* applications are not woken up before the lock bit is clear. We use
|
||||
* a copy of the skb pointer to ensure other threads can't change it
|
||||
* while we're notifying the stack.
|
||||
*/
|
||||
tp->ptp_tx_skb = NULL;
|
||||
|
||||
/* Notify the stack and free the skb after we've unlocked */
|
||||
skb_tstamp_tx(skb, &shhwtstamps);
|
||||
dev_kfree_skb_any(skb);
|
||||
}
|
||||
|
||||
#define RTL8125_PTP_TX_TIMEOUT (HZ * 15)
|
||||
static void rtl8125_ptp_tx_work(struct work_struct *work)
|
||||
{
|
||||
struct rtl8125_private *tp = container_of(work, struct rtl8125_private,
|
||||
ptp_tx_work);
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
|
||||
if (!tp->ptp_tx_skb)
|
||||
goto Exit;
|
||||
|
||||
if (time_is_before_jiffies(tp->ptp_tx_start +
|
||||
RTL8125_PTP_TX_TIMEOUT)) {
|
||||
dev_kfree_skb_any(tp->ptp_tx_skb);
|
||||
tp->ptp_tx_skb = NULL;
|
||||
tp->tx_hwtstamp_timeouts++;
|
||||
/* Clear the tx valid bit in TSYNCTXCTL register to enable
|
||||
* interrupt
|
||||
*/
|
||||
RTL_W8(tp, PTP_ISR_8125, PTP_ISR_TOK | PTP_ISR_TER);
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
if (RTL_R8(tp, PTP_ISR_8125) & (PTP_ISR_TOK))
|
||||
rtl8125_ptp_tx_hwtstamp(tp);
|
||||
else
|
||||
/* reschedule to check later */
|
||||
schedule_work(&tp->ptp_tx_work);
|
||||
|
||||
Exit:
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
}
|
||||
|
||||
static int rtl8125_hwtstamp_enable(struct rtl8125_private *tp, bool enable)
|
||||
{
|
||||
RTL_W16(tp, PTP_CTRL_8125, 0);
|
||||
if (enable) {
|
||||
u16 ptp_ctrl;
|
||||
struct timespec64 ts64;
|
||||
|
||||
//clear ptp isr
|
||||
RTL_W8(tp, PTP_ISR_8125, 0xff);
|
||||
//ptp source 0:gphy 1:mac
|
||||
rtl8125_mac_ocp_write(tp, 0xDC00, rtl8125_mac_ocp_read(tp, 0xDC00) | BIT_6);
|
||||
//enable ptp
|
||||
ptp_ctrl = (BIT_0 | BIT_3 | BIT_4 | BIT_6 | BIT_10 | BIT_12 | BIT_13);
|
||||
if (tp->ptp_master_mode) {
|
||||
ptp_ctrl &= ~BIT_13;
|
||||
ptp_ctrl |= BIT_1;
|
||||
}
|
||||
RTL_W16(tp, PTP_CTRL_8125, ptp_ctrl);
|
||||
|
||||
//set system time
|
||||
/*
|
||||
if (ktime_to_timespec64_cond(ktime_get_real(), &ts64))
|
||||
_rtl8125_phc_settime(tp, timespec64_to_timespec(ts64));
|
||||
*/
|
||||
ktime_get_real_ts64(&ts64);
|
||||
ts64.tv_nsec += tp->ptp_adjust;
|
||||
_rtl8125_phc_settime(tp, &ts64);
|
||||
tp->ptp_adjust = 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static long rtl8125_ptp_create_clock(struct rtl8125_private *tp)
|
||||
{
|
||||
struct net_device *netdev = tp->dev;
|
||||
long err;
|
||||
|
||||
if (!IS_ERR_OR_NULL(tp->ptp_clock))
|
||||
return 0;
|
||||
|
||||
if (tp->HwSuppPtpVer == 0) {
|
||||
tp->ptp_clock = NULL;
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
tp->ptp_clock_info = rtl_ptp_clock_info;
|
||||
snprintf(tp->ptp_clock_info.name, sizeof(tp->ptp_clock_info.name),
|
||||
"%pm", tp->dev->dev_addr);
|
||||
tp->ptp_clock_info.max_adj = 119304647;
|
||||
tp->ptp_clock = ptp_clock_register(&tp->ptp_clock_info, &tp->pci_dev->dev);
|
||||
if (IS_ERR(tp->ptp_clock)) {
|
||||
err = PTR_ERR(tp->ptp_clock);
|
||||
tp->ptp_clock = NULL;
|
||||
netif_err(tp, drv, tp->dev, "ptp_clock_register failed\n");
|
||||
return err;
|
||||
} else
|
||||
netif_info(tp, drv, tp->dev, "registered PHC device on %s\n", netdev->name);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void rtl8125_ptp_reset(struct rtl8125_private *tp)
|
||||
{
|
||||
if (!tp->ptp_clock)
|
||||
return;
|
||||
|
||||
netif_info(tp, drv, tp->dev, "reset PHC clock\n");
|
||||
|
||||
rtl8125_hwtstamp_enable(tp, false);
|
||||
}
|
||||
|
||||
void rtl8125_ptp_init(struct rtl8125_private *tp)
|
||||
{
|
||||
/* obtain a PTP device, or re-use an existing device */
|
||||
if (rtl8125_ptp_create_clock(tp))
|
||||
return;
|
||||
|
||||
/* we have a clock so we can initialize work now */
|
||||
INIT_WORK(&tp->ptp_tx_work, rtl8125_ptp_tx_work);
|
||||
|
||||
tp->ptp_adjust = 0;
|
||||
|
||||
/* reset the PTP related hardware bits */
|
||||
rtl8125_ptp_reset(tp);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
void rtl8125_ptp_suspend(struct rtl8125_private *tp)
|
||||
{
|
||||
if (!tp->ptp_clock)
|
||||
return;
|
||||
|
||||
netif_info(tp, drv, tp->dev, "suspend PHC clock\n");
|
||||
|
||||
rtl8125_hwtstamp_enable(tp, false);
|
||||
|
||||
/* ensure that we cancel any pending PTP Tx work item in progress */
|
||||
cancel_work_sync(&tp->ptp_tx_work);
|
||||
}
|
||||
|
||||
void rtl8125_ptp_stop(struct rtl8125_private *tp)
|
||||
{
|
||||
struct net_device *netdev = tp->dev;
|
||||
|
||||
netif_info(tp, drv, tp->dev, "stop PHC clock\n");
|
||||
|
||||
/* first, suspend PTP activity */
|
||||
rtl8125_ptp_suspend(tp);
|
||||
|
||||
/* disable the PTP clock device */
|
||||
if (tp->ptp_clock) {
|
||||
ptp_clock_unregister(tp->ptp_clock);
|
||||
tp->ptp_clock = NULL;
|
||||
netif_info(tp, drv, tp->dev, "removed PHC on %s\n",
|
||||
netdev->name);
|
||||
}
|
||||
}
|
||||
|
||||
static int rtl8125_set_tstamp(struct net_device *netdev, struct ifreq *ifr)
|
||||
{
|
||||
struct rtl8125_private *tp = netdev_priv(netdev);
|
||||
struct hwtstamp_config config;
|
||||
bool hwtstamp = 0;
|
||||
|
||||
//netif_info(tp, drv, tp->dev, "ptp set ts\n");
|
||||
|
||||
if (copy_from_user(&config, ifr->ifr_data, sizeof(config)))
|
||||
return -EFAULT;
|
||||
|
||||
if (config.flags)
|
||||
return -EINVAL;
|
||||
|
||||
switch (config.tx_type) {
|
||||
case HWTSTAMP_TX_ON:
|
||||
hwtstamp = 1;
|
||||
case HWTSTAMP_TX_OFF:
|
||||
break;
|
||||
case HWTSTAMP_TX_ONESTEP_SYNC:
|
||||
default:
|
||||
return -ERANGE;
|
||||
}
|
||||
|
||||
switch (config.rx_filter) {
|
||||
case HWTSTAMP_FILTER_PTP_V2_EVENT:
|
||||
case HWTSTAMP_FILTER_PTP_V2_L2_EVENT:
|
||||
case HWTSTAMP_FILTER_PTP_V2_L4_EVENT:
|
||||
case HWTSTAMP_FILTER_PTP_V2_SYNC:
|
||||
case HWTSTAMP_FILTER_PTP_V2_L2_SYNC:
|
||||
case HWTSTAMP_FILTER_PTP_V2_L4_SYNC:
|
||||
case HWTSTAMP_FILTER_PTP_V2_DELAY_REQ:
|
||||
case HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ:
|
||||
case HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ:
|
||||
config.rx_filter = HWTSTAMP_FILTER_PTP_V2_EVENT;
|
||||
hwtstamp = 1;
|
||||
case HWTSTAMP_FILTER_NONE:
|
||||
break;
|
||||
default:
|
||||
return -ERANGE;
|
||||
}
|
||||
|
||||
if (tp->hwtstamp_config.tx_type != config.tx_type ||
|
||||
tp->hwtstamp_config.rx_filter != config.rx_filter) {
|
||||
tp->hwtstamp_config = config;
|
||||
rtl8125_hwtstamp_enable(tp, hwtstamp);
|
||||
}
|
||||
|
||||
return copy_to_user(ifr->ifr_data, &config,
|
||||
sizeof(config)) ? -EFAULT : 0;
|
||||
}
|
||||
|
||||
static int rtl8125_get_tstamp(struct net_device *netdev, struct ifreq *ifr)
|
||||
{
|
||||
struct rtl8125_private *tp = netdev_priv(netdev);
|
||||
|
||||
//netif_info(tp, drv, tp->dev, "ptp get ts\n");
|
||||
|
||||
return copy_to_user(ifr->ifr_data, &tp->hwtstamp_config,
|
||||
sizeof(tp->hwtstamp_config)) ? -EFAULT : 0;
|
||||
}
|
||||
|
||||
int rtl8125_ptp_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
|
||||
{
|
||||
struct rtl8125_private *tp = netdev_priv(netdev);
|
||||
int ret;
|
||||
unsigned long flags;
|
||||
|
||||
//netif_info(tp, drv, tp->dev, "ptp ioctl\n");
|
||||
|
||||
ret = 0;
|
||||
switch (cmd) {
|
||||
#ifdef ENABLE_PTP_SUPPORT
|
||||
case SIOCSHWTSTAMP:
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
ret = rtl8125_set_tstamp(netdev, ifr);
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
break;
|
||||
case SIOCGHWTSTAMP:
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
ret = rtl8125_get_tstamp(netdev, ifr);
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
ret = -EOPNOTSUPP;
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void rtl8125_rx_ptp_pktstamp(struct rtl8125_private *tp, struct sk_buff *skb,
|
||||
struct RxDescV3 *descv3)
|
||||
{
|
||||
time64_t tv_sec;
|
||||
long tv_nsec;
|
||||
|
||||
tv_sec = le32_to_cpu(descv3->RxDescTimeStamp.TimeStampHigh) +
|
||||
((u64)le32_to_cpu(descv3->RxDescPTPDDWord4.TimeStampHHigh) << 32);
|
||||
tv_nsec = le32_to_cpu(descv3->RxDescTimeStamp.TimeStampLow) + tp->ptp_adjust;
|
||||
|
||||
skb_hwtstamps(skb)->hwtstamp = ktime_set(tv_sec, tv_nsec);
|
||||
}
|
|
@ -1,81 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
################################################################################
|
||||
#
|
||||
# r8125 is the Linux device driver released for Realtek 2.5Gigabit Ethernet
|
||||
# controllers with PCI-Express interface.
|
||||
#
|
||||
# Copyright(c) 2021 Realtek Semiconductor Corp. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation; either version 2 of the License, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
# more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Author:
|
||||
# Realtek NIC software team <nicfae@realtek.com>
|
||||
# No. 2, Innovation Road II, Hsinchu Science Park, Hsinchu 300, Taiwan
|
||||
#
|
||||
################################################################################
|
||||
*/
|
||||
|
||||
/************************************************************************************
|
||||
* This product is covered by one or more of the following patents:
|
||||
* US6,570,884, US6,115,776, and US6,327,625.
|
||||
***********************************************************************************/
|
||||
|
||||
#ifndef _LINUX_rtl8125_PTP_H
|
||||
#define _LINUX_rtl8125_PTP_H
|
||||
|
||||
#include <linux/ktime.h>
|
||||
#include <linux/timecounter.h>
|
||||
#include <linux/net_tstamp.h>
|
||||
#include <linux/ptp_clock_kernel.h>
|
||||
#include <linux/ptp_classify.h>
|
||||
|
||||
struct rtl8125_ptp_info {
|
||||
s64 time_sec;
|
||||
u32 time_ns;
|
||||
u16 ts_info;
|
||||
};
|
||||
|
||||
#ifndef _STRUCT_TIMESPEC
|
||||
#define _STRUCT_TIMESPEC
|
||||
struct timespec {
|
||||
__kernel_old_time_t tv_sec; /* seconds */
|
||||
long tv_nsec; /* nanoseconds */
|
||||
};
|
||||
#endif
|
||||
|
||||
enum PTP_CMD_TYPE {
|
||||
PTP_CMD_SET_LOCAL_TIME = 0,
|
||||
PTP_CMD_DRIFT_LOCAL_TIME,
|
||||
PTP_CMD_LATCHED_LOCAL_TIME,
|
||||
};
|
||||
|
||||
|
||||
struct rtl8125_private;
|
||||
struct RxDescV3;
|
||||
|
||||
int rtl8125_get_ts_info(struct net_device *netdev,
|
||||
struct ethtool_ts_info *info);
|
||||
|
||||
void rtl8125_ptp_reset(struct rtl8125_private *tp);
|
||||
void rtl8125_ptp_init(struct rtl8125_private *tp);
|
||||
void rtl8125_ptp_suspend(struct rtl8125_private *tp);
|
||||
void rtl8125_ptp_stop(struct rtl8125_private *tp);
|
||||
|
||||
int rtl8125_ptp_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd);
|
||||
|
||||
void rtl8125_rx_ptp_pktstamp(struct rtl8125_private *tp, struct sk_buff *skb,
|
||||
struct RxDescV3 *descv3);
|
||||
|
||||
#endif /* _LINUX_rtl8125_PTP_H */
|
|
@ -1,118 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
################################################################################
|
||||
#
|
||||
# r8125 is the Linux device driver released for Realtek 2.5Gigabit Ethernet
|
||||
# controllers with PCI-Express interface.
|
||||
#
|
||||
# Copyright(c) 2021 Realtek Semiconductor Corp. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation; either version 2 of the License, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
# more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Author:
|
||||
# Realtek NIC software team <nicfae@realtek.com>
|
||||
# No. 2, Innovation Road II, Hsinchu Science Park, Hsinchu 300, Taiwan
|
||||
#
|
||||
################################################################################
|
||||
*/
|
||||
|
||||
/************************************************************************************
|
||||
* This product is covered by one or more of the following patents:
|
||||
* US6,570,884, US6,115,776, and US6,327,625.
|
||||
***********************************************************************************/
|
||||
|
||||
#ifndef _LINUX_R8125_REALWOW_H
|
||||
#define _LINUX_R8125_REALWOW_H
|
||||
|
||||
#define SIOCDEVPRIVATE_RTLREALWOW SIOCDEVPRIVATE+3
|
||||
|
||||
#define MAX_RealWoW_KCP_SIZE (100)
|
||||
#define MAX_RealWoW_Payload (64)
|
||||
|
||||
#define KA_TX_PACKET_SIZE (100)
|
||||
#define KA_WAKEUP_PATTERN_SIZE (120)
|
||||
|
||||
//HwSuppKeepAliveOffloadVer
|
||||
#define HW_SUPPORT_KCP_OFFLOAD(_M) ((_M)->HwSuppKCPOffloadVer > 0)
|
||||
|
||||
enum rtl_realwow_cmd {
|
||||
|
||||
RTL_REALWOW_SET_KCP_DISABLE=0,
|
||||
RTL_REALWOW_SET_KCP_INFO,
|
||||
RTL_REALWOW_SET_KCP_CONTENT,
|
||||
|
||||
RTL_REALWOW_SET_KCP_ACKPKTINFO,
|
||||
RTL_REALWOW_SET_KCP_WPINFO,
|
||||
RTL_REALWOW_SET_KCPDHCP_TIMEOUT,
|
||||
|
||||
RTLT_REALWOW_COMMAND_INVALID
|
||||
};
|
||||
|
||||
struct rtl_realwow_ioctl_struct {
|
||||
__u32 cmd;
|
||||
__u32 offset;
|
||||
__u32 len;
|
||||
union {
|
||||
__u32 data;
|
||||
void *data_buffer;
|
||||
};
|
||||
};
|
||||
|
||||
typedef struct _MP_KCPInfo {
|
||||
u8 DIPv4[4];
|
||||
u8 MacID[6];
|
||||
u16 UdpPort[2];
|
||||
u8 PKTLEN[2];
|
||||
|
||||
u16 ackLostCnt;
|
||||
u8 KCP_WakePattern[MAX_RealWoW_Payload];
|
||||
u8 KCP_AckPacket[MAX_RealWoW_Payload];
|
||||
u32 KCP_interval;
|
||||
u8 KCP_WakePattern_Len;
|
||||
u8 KCP_AckPacket_Len;
|
||||
u8 KCP_TxPacket[2][KA_TX_PACKET_SIZE];
|
||||
} MP_KCP_INFO, *PMP_KCP_INFO;
|
||||
|
||||
typedef struct _KCPInfo {
|
||||
u32 nId; // = id
|
||||
u8 DIPv4[4];
|
||||
u8 MacID[6];
|
||||
u16 UdpPort;
|
||||
u16 PKTLEN;
|
||||
} KCPInfo, *PKCPInfo;
|
||||
|
||||
typedef struct _KCPContent {
|
||||
u32 id; // = id
|
||||
u32 mSec; // = msec
|
||||
u32 size; // =size
|
||||
u8 bPacket[MAX_RealWoW_KCP_SIZE]; // put packet here
|
||||
} KCPContent, *PKCPContent;
|
||||
|
||||
typedef struct _RealWoWAckPktInfo {
|
||||
u16 ackLostCnt;
|
||||
u16 patterntSize;
|
||||
u8 pattern[MAX_RealWoW_Payload];
|
||||
} RealWoWAckPktInfo,*PRealWoWAckPktInfo;
|
||||
|
||||
typedef struct _RealWoWWPInfo {
|
||||
u16 patterntSize;
|
||||
u8 pattern[MAX_RealWoW_Payload];
|
||||
} RealWoWWPInfo,*PRealWoWWPInfo;
|
||||
|
||||
int rtl8125_realwow_ioctl(struct net_device *dev, struct ifreq *ifr);
|
||||
void rtl8125_realwow_hw_init(struct net_device *dev);
|
||||
void rtl8125_get_realwow_hw_version(struct net_device *dev);
|
||||
void rtl8125_set_realwow_d3_para(struct net_device *dev);
|
||||
|
||||
#endif /* _LINUX_R8125_REALWOW_H */
|
|
@ -1,484 +0,0 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
################################################################################
|
||||
#
|
||||
# r8168 is the Linux device driver released for Realtek Gigabit Ethernet
|
||||
# controllers with PCI-Express interface.
|
||||
#
|
||||
# Copyright(c) 2021 Realtek Semiconductor Corp. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation; either version 2 of the License, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
# more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Author:
|
||||
# Realtek NIC software team <nicfae@realtek.com>
|
||||
# No. 2, Innovation Road II, Hsinchu Science Park, Hsinchu 300, Taiwan
|
||||
#
|
||||
################################################################################
|
||||
*/
|
||||
|
||||
/************************************************************************************
|
||||
* This product is covered by one or more of the following patents:
|
||||
* US6,570,884, US6,115,776, and US6,327,625.
|
||||
***********************************************************************************/
|
||||
|
||||
#include <linux/version.h>
|
||||
#include "r8125.h"
|
||||
|
||||
enum rtl8125_rss_register_content {
|
||||
/* RSS */
|
||||
RSS_CTRL_TCP_IPV4_SUPP = (1 << 0),
|
||||
RSS_CTRL_IPV4_SUPP = (1 << 1),
|
||||
RSS_CTRL_TCP_IPV6_SUPP = (1 << 2),
|
||||
RSS_CTRL_IPV6_SUPP = (1 << 3),
|
||||
RSS_HALF_SUPP = (1 << 7),
|
||||
RSS_CTRL_UDP_IPV4_SUPP = (1 << 11),
|
||||
RSS_CTRL_UDP_IPV6_SUPP = (1 << 12),
|
||||
RSS_QUAD_CPU_EN = (1 << 16),
|
||||
RSS_HQ_Q_SUP_R = (1 << 31),
|
||||
};
|
||||
|
||||
static int rtl8125_get_rss_hash_opts(struct rtl8125_private *tp,
|
||||
struct ethtool_rxnfc *cmd)
|
||||
{
|
||||
cmd->data = 0;
|
||||
|
||||
/* Report default options for RSS */
|
||||
switch (cmd->flow_type) {
|
||||
case TCP_V4_FLOW:
|
||||
cmd->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3;
|
||||
/* fallthrough */
|
||||
case UDP_V4_FLOW:
|
||||
if (tp->rss_flags & RTL_8125_RSS_FLAG_HASH_UDP_IPV4)
|
||||
cmd->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3;
|
||||
/* fallthrough */
|
||||
case IPV4_FLOW:
|
||||
cmd->data |= RXH_IP_SRC | RXH_IP_DST;
|
||||
break;
|
||||
case TCP_V6_FLOW:
|
||||
cmd->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3;
|
||||
/* fallthrough */
|
||||
case UDP_V6_FLOW:
|
||||
if (tp->rss_flags & RTL_8125_RSS_FLAG_HASH_UDP_IPV6)
|
||||
cmd->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3;
|
||||
/* fallthrough */
|
||||
case IPV6_FLOW:
|
||||
cmd->data |= RXH_IP_SRC | RXH_IP_DST;
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int rtl8125_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd,
|
||||
u32 *rule_locs)
|
||||
{
|
||||
struct rtl8125_private *tp = netdev_priv(dev);
|
||||
int ret = -EOPNOTSUPP;
|
||||
|
||||
netif_info(tp, drv, tp->dev, "rss get rxnfc\n");
|
||||
|
||||
if (!(dev->features & NETIF_F_RXHASH))
|
||||
return ret;
|
||||
|
||||
switch (cmd->cmd) {
|
||||
case ETHTOOL_GRXRINGS:
|
||||
cmd->data = rtl8125_tot_rx_rings(tp);
|
||||
ret = 0;
|
||||
break;
|
||||
case ETHTOOL_GRXFH:
|
||||
ret = rtl8125_get_rss_hash_opts(tp, cmd);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
u32 rtl8125_rss_indir_tbl_entries(struct rtl8125_private *tp)
|
||||
{
|
||||
return tp->HwSuppIndirTblEntries;
|
||||
}
|
||||
|
||||
#define RSS_MASK_BITS_OFFSET (8)
|
||||
#define RSS_CPU_NUM_OFFSET (16)
|
||||
#define RTL8125_UDP_RSS_FLAGS (RTL_8125_RSS_FLAG_HASH_UDP_IPV4 | \
|
||||
RTL_8125_RSS_FLAG_HASH_UDP_IPV6)
|
||||
static int _rtl8125_set_rss_hash_opt(struct rtl8125_private *tp)
|
||||
{
|
||||
u32 rss_flags = tp->rss_flags;
|
||||
u32 hash_mask_len;
|
||||
u32 rss_ctrl;
|
||||
|
||||
rss_ctrl = ilog2(rtl8125_tot_rx_rings(tp));
|
||||
rss_ctrl &= (BIT_0 | BIT_1 | BIT_2);
|
||||
rss_ctrl <<= RSS_CPU_NUM_OFFSET;
|
||||
|
||||
/* Perform hash on these packet types */
|
||||
rss_ctrl |= RSS_CTRL_TCP_IPV4_SUPP
|
||||
| RSS_CTRL_IPV4_SUPP
|
||||
| RSS_CTRL_IPV6_SUPP
|
||||
| RSS_CTRL_TCP_IPV6_SUPP;
|
||||
|
||||
if (rss_flags & RTL_8125_RSS_FLAG_HASH_UDP_IPV4)
|
||||
rss_ctrl |= RSS_CTRL_UDP_IPV4_SUPP;
|
||||
|
||||
if (rss_flags & RTL_8125_RSS_FLAG_HASH_UDP_IPV6)
|
||||
rss_ctrl |= RSS_CTRL_UDP_IPV6_SUPP;
|
||||
|
||||
hash_mask_len = ilog2(rtl8125_rss_indir_tbl_entries(tp));
|
||||
hash_mask_len &= (BIT_0 | BIT_1 | BIT_2);
|
||||
rss_ctrl |= hash_mask_len << RSS_MASK_BITS_OFFSET;
|
||||
|
||||
RTL_W32(tp, RSS_CTRL_8125, rss_ctrl);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rtl8125_set_rss_hash_opt(struct rtl8125_private *tp,
|
||||
struct ethtool_rxnfc *nfc)
|
||||
{
|
||||
u32 rss_flags = tp->rss_flags;
|
||||
|
||||
netif_info(tp, drv, tp->dev, "rss set hash\n");
|
||||
|
||||
/*
|
||||
* RSS does not support anything other than hashing
|
||||
* to queues on src and dst IPs and ports
|
||||
*/
|
||||
if (nfc->data & ~(RXH_IP_SRC | RXH_IP_DST |
|
||||
RXH_L4_B_0_1 | RXH_L4_B_2_3))
|
||||
return -EINVAL;
|
||||
|
||||
switch (nfc->flow_type) {
|
||||
case TCP_V4_FLOW:
|
||||
case TCP_V6_FLOW:
|
||||
if (!(nfc->data & RXH_IP_SRC) ||
|
||||
!(nfc->data & RXH_IP_DST) ||
|
||||
!(nfc->data & RXH_L4_B_0_1) ||
|
||||
!(nfc->data & RXH_L4_B_2_3))
|
||||
return -EINVAL;
|
||||
break;
|
||||
case UDP_V4_FLOW:
|
||||
if (!(nfc->data & RXH_IP_SRC) ||
|
||||
!(nfc->data & RXH_IP_DST))
|
||||
return -EINVAL;
|
||||
switch (nfc->data & (RXH_L4_B_0_1 | RXH_L4_B_2_3)) {
|
||||
case 0:
|
||||
rss_flags &= ~RTL_8125_RSS_FLAG_HASH_UDP_IPV4;
|
||||
break;
|
||||
case (RXH_L4_B_0_1 | RXH_L4_B_2_3):
|
||||
rss_flags |= RTL_8125_RSS_FLAG_HASH_UDP_IPV4;
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
break;
|
||||
case UDP_V6_FLOW:
|
||||
if (!(nfc->data & RXH_IP_SRC) ||
|
||||
!(nfc->data & RXH_IP_DST))
|
||||
return -EINVAL;
|
||||
switch (nfc->data & (RXH_L4_B_0_1 | RXH_L4_B_2_3)) {
|
||||
case 0:
|
||||
rss_flags &= ~RTL_8125_RSS_FLAG_HASH_UDP_IPV6;
|
||||
break;
|
||||
case (RXH_L4_B_0_1 | RXH_L4_B_2_3):
|
||||
rss_flags |= RTL_8125_RSS_FLAG_HASH_UDP_IPV6;
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
break;
|
||||
case SCTP_V4_FLOW:
|
||||
case AH_ESP_V4_FLOW:
|
||||
case AH_V4_FLOW:
|
||||
case ESP_V4_FLOW:
|
||||
case SCTP_V6_FLOW:
|
||||
case AH_ESP_V6_FLOW:
|
||||
case AH_V6_FLOW:
|
||||
case ESP_V6_FLOW:
|
||||
case IP_USER_FLOW:
|
||||
case ETHER_FLOW:
|
||||
/* RSS is not supported for these protocols */
|
||||
if (nfc->data) {
|
||||
netif_err(tp, drv, tp->dev, "Command parameters not supported\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
return 0;
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* if we changed something we need to update flags */
|
||||
if (rss_flags != tp->rss_flags) {
|
||||
u32 rss_ctrl = RTL_R32(tp, RSS_CTRL_8125);
|
||||
|
||||
if ((rss_flags & RTL8125_UDP_RSS_FLAGS) &&
|
||||
!(tp->rss_flags & RTL8125_UDP_RSS_FLAGS))
|
||||
netdev_warn(tp->dev,
|
||||
"enabling UDP RSS: fragmented packets may "
|
||||
"arrive out of order to the stack above\n");
|
||||
|
||||
tp->rss_flags = rss_flags;
|
||||
|
||||
/* Perform hash on these packet types */
|
||||
rss_ctrl |= RSS_CTRL_TCP_IPV4_SUPP
|
||||
| RSS_CTRL_IPV4_SUPP
|
||||
| RSS_CTRL_IPV6_SUPP
|
||||
| RSS_CTRL_TCP_IPV6_SUPP;
|
||||
|
||||
rss_ctrl &= ~(RSS_CTRL_UDP_IPV4_SUPP |
|
||||
RSS_CTRL_UDP_IPV6_SUPP);
|
||||
|
||||
if (rss_flags & RTL_8125_RSS_FLAG_HASH_UDP_IPV4)
|
||||
rss_ctrl |= RSS_CTRL_UDP_IPV4_SUPP;
|
||||
|
||||
if (rss_flags & RTL_8125_RSS_FLAG_HASH_UDP_IPV6)
|
||||
rss_ctrl |= RSS_CTRL_UDP_IPV6_SUPP;
|
||||
|
||||
RTL_W32(tp, RSS_CTRL_8125, rss_ctrl);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int rtl8125_set_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd)
|
||||
{
|
||||
struct rtl8125_private *tp = netdev_priv(dev);
|
||||
int ret = -EOPNOTSUPP;
|
||||
|
||||
netif_info(tp, drv, tp->dev, "rss set rxnfc\n");
|
||||
|
||||
if (!(dev->features & NETIF_F_RXHASH))
|
||||
return ret;
|
||||
|
||||
switch (cmd->cmd) {
|
||||
case ETHTOOL_SRXFH:
|
||||
ret = rtl8125_set_rss_hash_opt(tp, cmd);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static u32 _rtl8125_get_rxfh_key_size(struct rtl8125_private *tp)
|
||||
{
|
||||
return sizeof(tp->rss_key);
|
||||
}
|
||||
|
||||
u32 rtl8125_get_rxfh_key_size(struct net_device *dev)
|
||||
{
|
||||
struct rtl8125_private *tp = netdev_priv(dev);
|
||||
|
||||
netif_info(tp, drv, tp->dev, "rss get key size\n");
|
||||
|
||||
if (!(dev->features & NETIF_F_RXHASH))
|
||||
return 0;
|
||||
|
||||
return _rtl8125_get_rxfh_key_size(tp);
|
||||
}
|
||||
|
||||
u32 rtl8125_rss_indir_size(struct net_device *dev)
|
||||
{
|
||||
struct rtl8125_private *tp = netdev_priv(dev);
|
||||
|
||||
netif_info(tp, drv, tp->dev, "rss get indir tbl size\n");
|
||||
|
||||
if (!(dev->features & NETIF_F_RXHASH))
|
||||
return 0;
|
||||
|
||||
return rtl8125_rss_indir_tbl_entries(tp);
|
||||
}
|
||||
|
||||
static void rtl8125_get_reta(struct rtl8125_private *tp, u32 *indir)
|
||||
{
|
||||
int i, reta_size = rtl8125_rss_indir_tbl_entries(tp);
|
||||
|
||||
for (i = 0; i < reta_size; i++)
|
||||
indir[i] = tp->rss_indir_tbl[i];
|
||||
}
|
||||
|
||||
int rtl8125_get_rxfh(struct net_device *dev, u32 *indir, u8 *key,
|
||||
u8 *hfunc)
|
||||
{
|
||||
struct rtl8125_private *tp = netdev_priv(dev);
|
||||
|
||||
netif_info(tp, drv, tp->dev, "rss get rxfh\n");
|
||||
|
||||
if (!(dev->features & NETIF_F_RXHASH))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
if (hfunc)
|
||||
*hfunc = ETH_RSS_HASH_TOP;
|
||||
|
||||
if (indir)
|
||||
rtl8125_get_reta(tp, indir);
|
||||
|
||||
if (key)
|
||||
memcpy(key, tp->rss_key, rtl8125_get_rxfh_key_size(dev));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define RSS_KEY_8125 0x4600
|
||||
#define RSS_INDIRECTION_TBL_8125_V2 0x4700
|
||||
|
||||
static u32 rtl8125_rss_key_reg(struct rtl8125_private *tp)
|
||||
{
|
||||
return RSS_KEY_8125;
|
||||
}
|
||||
|
||||
static u32 rtl8125_rss_indir_tbl_reg(struct rtl8125_private *tp)
|
||||
{
|
||||
return RSS_INDIRECTION_TBL_8125_V2;
|
||||
}
|
||||
|
||||
static void rtl8125_store_reta(struct rtl8125_private *tp)
|
||||
{
|
||||
u16 indir_tbl_reg = rtl8125_rss_indir_tbl_reg(tp);
|
||||
u32 i, reta_entries = rtl8125_rss_indir_tbl_entries(tp);
|
||||
u32 reta = 0;
|
||||
u8 *indir_tbl = tp->rss_indir_tbl;
|
||||
|
||||
/* Write redirection table to HW */
|
||||
for (i = 0; i < reta_entries; i++) {
|
||||
reta |= indir_tbl[i] << (i & 0x3) * 8;
|
||||
if ((i & 3) == 3) {
|
||||
RTL_W32(tp, indir_tbl_reg, reta);
|
||||
|
||||
indir_tbl_reg += 4;
|
||||
reta = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void rtl8125_store_rss_key(struct rtl8125_private *tp)
|
||||
{
|
||||
const u16 rss_key_reg = rtl8125_rss_key_reg(tp);
|
||||
u32 i, rss_key_size = _rtl8125_get_rxfh_key_size(tp);
|
||||
u32 *rss_key = (u32*)tp->rss_key;
|
||||
|
||||
/* Write redirection table to HW */
|
||||
for (i = 0; i < rss_key_size; i+=4)
|
||||
RTL_W32(tp, rss_key_reg + i, *rss_key++);
|
||||
}
|
||||
|
||||
int rtl8125_set_rxfh(struct net_device *dev, const u32 *indir,
|
||||
const u8 *key, const u8 hfunc)
|
||||
{
|
||||
struct rtl8125_private *tp = netdev_priv(dev);
|
||||
int i;
|
||||
u32 reta_entries = rtl8125_rss_indir_tbl_entries(tp);
|
||||
|
||||
netif_info(tp, drv, tp->dev, "rss set rxfh\n");
|
||||
|
||||
/* We require at least one supported parameter to be changed and no
|
||||
* change in any of the unsupported parameters
|
||||
*/
|
||||
if (hfunc != ETH_RSS_HASH_NO_CHANGE && hfunc != ETH_RSS_HASH_TOP)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
/* Fill out the redirection table */
|
||||
if (indir) {
|
||||
int max_queues = tp->num_rx_rings;
|
||||
|
||||
/* Verify user input. */
|
||||
for (i = 0; i < reta_entries; i++)
|
||||
if (indir[i] >= max_queues)
|
||||
return -EINVAL;
|
||||
|
||||
for (i = 0; i < reta_entries; i++)
|
||||
tp->rss_indir_tbl[i] = indir[i];
|
||||
}
|
||||
|
||||
/* Fill out the rss hash key */
|
||||
if (key)
|
||||
memcpy(tp->rss_key, key, rtl8125_get_rxfh_key_size(dev));
|
||||
|
||||
rtl8125_store_reta(tp);
|
||||
|
||||
rtl8125_store_rss_key(tp);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static u32 rtl8125_get_rx_desc_hash(struct rtl8125_private *tp,
|
||||
struct RxDescV3 *descv3)
|
||||
{
|
||||
return le32_to_cpu(descv3->RxDescNormalDDWord2.RSSResult);
|
||||
}
|
||||
|
||||
#define RXS_8125B_RSS_UDP BIT(9)
|
||||
#define RXS_8125_RSS_IPV4 BIT(10)
|
||||
#define RXS_8125_RSS_IPV6 BIT(12)
|
||||
#define RXS_8125_RSS_TCP BIT(13)
|
||||
#define RTL8125_RXS_RSS_L3_TYPE_MASK (RXS_8125_RSS_IPV4 | RXS_8125_RSS_IPV6)
|
||||
#define RTL8125_RXS_RSS_L4_TYPE_MASK (RXS_8125_RSS_TCP | RXS_8125B_RSS_UDP)
|
||||
void rtl8125_rx_hash(struct rtl8125_private *tp,
|
||||
struct RxDescV3 *descv3,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
u16 rss_header_info;
|
||||
|
||||
if (!(tp->dev->features & NETIF_F_RXHASH))
|
||||
return;
|
||||
|
||||
rss_header_info = le16_to_cpu(descv3->RxDescNormalDDWord2.HeaderInfo);
|
||||
|
||||
if (!(rss_header_info & RTL8125_RXS_RSS_L3_TYPE_MASK))
|
||||
return;
|
||||
|
||||
skb_set_hash(skb, rtl8125_get_rx_desc_hash(tp, descv3),
|
||||
(RTL8125_RXS_RSS_L4_TYPE_MASK & rss_header_info) ?
|
||||
PKT_HASH_TYPE_L4 : PKT_HASH_TYPE_L3);
|
||||
}
|
||||
|
||||
void rtl8125_disable_rss(struct rtl8125_private *tp)
|
||||
{
|
||||
RTL_W32(tp, RSS_CTRL_8125, 0x00);
|
||||
}
|
||||
|
||||
void _rtl8125_config_rss(struct rtl8125_private *tp)
|
||||
{
|
||||
_rtl8125_set_rss_hash_opt(tp);
|
||||
|
||||
rtl8125_store_reta(tp);
|
||||
|
||||
rtl8125_store_rss_key(tp);
|
||||
}
|
||||
|
||||
void rtl8125_config_rss(struct rtl8125_private *tp)
|
||||
{
|
||||
if (!tp->EnableRss) {
|
||||
rtl8125_disable_rss(tp);
|
||||
return;
|
||||
}
|
||||
|
||||
_rtl8125_config_rss(tp);
|
||||
}
|
||||
|
||||
void rtl8125_init_rss(struct rtl8125_private *tp)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < rtl8125_rss_indir_tbl_entries(tp); i++)
|
||||
tp->rss_indir_tbl[i] = ethtool_rxfh_indir_default(i, tp->num_rx_rings);
|
||||
|
||||
netdev_rss_key_fill(tp->rss_key, RTL8125_RSS_KEY_SIZE);
|
||||
}
|
|
@ -1,66 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
################################################################################
|
||||
#
|
||||
# r8125 is the Linux device driver released for Realtek 2.5Gigabit Ethernet
|
||||
# controllers with PCI-Express interface.
|
||||
#
|
||||
# Copyright(c) 2021 Realtek Semiconductor Corp. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation; either version 2 of the License, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
# more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Author:
|
||||
# Realtek NIC software team <nicfae@realtek.com>
|
||||
# No. 2, Innovation Road II, Hsinchu Science Park, Hsinchu 300, Taiwan
|
||||
#
|
||||
################################################################################
|
||||
*/
|
||||
|
||||
/************************************************************************************
|
||||
* This product is covered by one or more of the following patents:
|
||||
* US6,570,884, US6,115,776, and US6,327,625.
|
||||
***********************************************************************************/
|
||||
|
||||
#ifndef _LINUX_rtl8125_RSS_H
|
||||
#define _LINUX_rtl8125_RSS_H
|
||||
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
enum rtl8125_rss_flag {
|
||||
RTL_8125_RSS_FLAG_HASH_UDP_IPV4 = (1 << 0),
|
||||
RTL_8125_RSS_FLAG_HASH_UDP_IPV6 = (1 << 1),
|
||||
};
|
||||
|
||||
struct rtl8125_private;
|
||||
|
||||
int rtl8125_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd,
|
||||
u32 *rule_locs);
|
||||
int rtl8125_set_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd);
|
||||
u32 rtl8125_get_rxfh_key_size(struct net_device *netdev);
|
||||
u32 rtl8125_rss_indir_size(struct net_device *netdev);
|
||||
int rtl8125_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key,
|
||||
u8 *hfunc);
|
||||
int rtl8125_set_rxfh(struct net_device *netdev, const u32 *indir,
|
||||
const u8 *key, const u8 hfunc);
|
||||
void rtl8125_rx_hash(struct rtl8125_private *tp,
|
||||
struct RxDescV3 *descv3,
|
||||
struct sk_buff *skb);
|
||||
void _rtl8125_config_rss(struct rtl8125_private *tp);
|
||||
void rtl8125_config_rss(struct rtl8125_private *tp);
|
||||
void rtl8125_init_rss(struct rtl8125_private *tp);
|
||||
u32 rtl8125_rss_indir_tbl_entries(struct rtl8125_private *tp);
|
||||
void rtl8125_disable_rss(struct rtl8125_private *tp);
|
||||
|
||||
#endif /* _LINUX_rtl8125_RSS_H */
|
|
@ -1,289 +0,0 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
################################################################################
|
||||
#
|
||||
# r8125 is the Linux device driver released for Realtek 2.5Gigabit Ethernet
|
||||
# controllers with PCI-Express interface.
|
||||
#
|
||||
# Copyright(c) 2021 Realtek Semiconductor Corp. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation; either version 2 of the License, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
# more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Author:
|
||||
# Realtek NIC software team <nicfae@realtek.com>
|
||||
# No. 2, Innovation Road II, Hsinchu Science Park, Hsinchu 300, Taiwan
|
||||
#
|
||||
################################################################################
|
||||
*/
|
||||
|
||||
/************************************************************************************
|
||||
* This product is covered by one or more of the following patents:
|
||||
* US6,570,884, US6,115,776, and US6,327,625.
|
||||
***********************************************************************************/
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/version.h>
|
||||
#include <linux/ethtool.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
|
||||
#include "r8125.h"
|
||||
#include "rtl_eeprom.h"
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
//rtl8125_eeprom_type():
|
||||
// tell the eeprom type
|
||||
//return value:
|
||||
// 0: the eeprom type is 93C46
|
||||
// 1: the eeprom type is 93C56 or 93C66
|
||||
//-------------------------------------------------------------------
|
||||
void rtl8125_eeprom_type(struct rtl8125_private *tp)
|
||||
{
|
||||
u16 magic = 0;
|
||||
|
||||
if (tp->mcfg == CFG_METHOD_DEFAULT)
|
||||
goto out_no_eeprom;
|
||||
|
||||
if(RTL_R8(tp, 0xD2)&0x04) {
|
||||
//not support
|
||||
//tp->eeprom_type = EEPROM_TWSI;
|
||||
//tp->eeprom_len = 256;
|
||||
goto out_no_eeprom;
|
||||
} else if(RTL_R32(tp, RxConfig) & RxCfg_9356SEL) {
|
||||
tp->eeprom_type = EEPROM_TYPE_93C56;
|
||||
tp->eeprom_len = 256;
|
||||
} else {
|
||||
tp->eeprom_type = EEPROM_TYPE_93C46;
|
||||
tp->eeprom_len = 128;
|
||||
}
|
||||
|
||||
magic = rtl8125_eeprom_read_sc(tp, 0);
|
||||
|
||||
out_no_eeprom:
|
||||
if ((magic != 0x8129) && (magic != 0x8128)) {
|
||||
tp->eeprom_type = EEPROM_TYPE_NONE;
|
||||
tp->eeprom_len = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void rtl8125_eeprom_cleanup(struct rtl8125_private *tp)
|
||||
{
|
||||
u8 x;
|
||||
|
||||
x = RTL_R8(tp, Cfg9346);
|
||||
x &= ~(Cfg9346_EEDI | Cfg9346_EECS);
|
||||
|
||||
RTL_W8(tp, Cfg9346, x);
|
||||
|
||||
rtl8125_raise_clock(tp, &x);
|
||||
rtl8125_lower_clock(tp, &x);
|
||||
}
|
||||
|
||||
int rtl8125_eeprom_cmd_done(struct rtl8125_private *tp)
|
||||
{
|
||||
u8 x;
|
||||
int i;
|
||||
|
||||
rtl8125_stand_by(tp);
|
||||
|
||||
for (i = 0; i < 50000; i++) {
|
||||
x = RTL_R8(tp, Cfg9346);
|
||||
|
||||
if (x & Cfg9346_EEDO) {
|
||||
udelay(RTL_CLOCK_RATE * 2 * 3);
|
||||
return 0;
|
||||
}
|
||||
udelay(1);
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
//rtl8125_eeprom_read_sc():
|
||||
// read one word from eeprom
|
||||
//-------------------------------------------------------------------
|
||||
u16 rtl8125_eeprom_read_sc(struct rtl8125_private *tp, u16 reg)
|
||||
{
|
||||
int addr_sz = 6;
|
||||
u8 x;
|
||||
u16 data;
|
||||
|
||||
if(tp->eeprom_type == EEPROM_TYPE_NONE) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (tp->eeprom_type==EEPROM_TYPE_93C46)
|
||||
addr_sz = 6;
|
||||
else if (tp->eeprom_type==EEPROM_TYPE_93C56)
|
||||
addr_sz = 8;
|
||||
|
||||
x = Cfg9346_EEM1 | Cfg9346_EECS;
|
||||
RTL_W8(tp, Cfg9346, x);
|
||||
|
||||
rtl8125_shift_out_bits(tp, RTL_EEPROM_READ_OPCODE, 3);
|
||||
rtl8125_shift_out_bits(tp, reg, addr_sz);
|
||||
|
||||
data = rtl8125_shift_in_bits(tp);
|
||||
|
||||
rtl8125_eeprom_cleanup(tp);
|
||||
|
||||
RTL_W8(tp, Cfg9346, 0);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
//rtl8125_eeprom_write_sc():
|
||||
// write one word to a specific address in the eeprom
|
||||
//-------------------------------------------------------------------
|
||||
void rtl8125_eeprom_write_sc(struct rtl8125_private *tp, u16 reg, u16 data)
|
||||
{
|
||||
u8 x;
|
||||
int addr_sz = 6;
|
||||
int w_dummy_addr = 4;
|
||||
|
||||
if(tp->eeprom_type == EEPROM_TYPE_NONE) {
|
||||
return ;
|
||||
}
|
||||
|
||||
if (tp->eeprom_type==EEPROM_TYPE_93C46) {
|
||||
addr_sz = 6;
|
||||
w_dummy_addr = 4;
|
||||
} else if (tp->eeprom_type==EEPROM_TYPE_93C56) {
|
||||
addr_sz = 8;
|
||||
w_dummy_addr = 6;
|
||||
}
|
||||
|
||||
x = Cfg9346_EEM1 | Cfg9346_EECS;
|
||||
RTL_W8(tp, Cfg9346, x);
|
||||
|
||||
rtl8125_shift_out_bits(tp, RTL_EEPROM_EWEN_OPCODE, 5);
|
||||
rtl8125_shift_out_bits(tp, reg, w_dummy_addr);
|
||||
rtl8125_stand_by(tp);
|
||||
|
||||
rtl8125_shift_out_bits(tp, RTL_EEPROM_ERASE_OPCODE, 3);
|
||||
rtl8125_shift_out_bits(tp, reg, addr_sz);
|
||||
if (rtl8125_eeprom_cmd_done(tp) < 0) {
|
||||
return;
|
||||
}
|
||||
rtl8125_stand_by(tp);
|
||||
|
||||
rtl8125_shift_out_bits(tp, RTL_EEPROM_WRITE_OPCODE, 3);
|
||||
rtl8125_shift_out_bits(tp, reg, addr_sz);
|
||||
rtl8125_shift_out_bits(tp, data, 16);
|
||||
if (rtl8125_eeprom_cmd_done(tp) < 0) {
|
||||
return;
|
||||
}
|
||||
rtl8125_stand_by(tp);
|
||||
|
||||
rtl8125_shift_out_bits(tp, RTL_EEPROM_EWDS_OPCODE, 5);
|
||||
rtl8125_shift_out_bits(tp, reg, w_dummy_addr);
|
||||
|
||||
rtl8125_eeprom_cleanup(tp);
|
||||
RTL_W8(tp, Cfg9346, 0);
|
||||
}
|
||||
|
||||
void rtl8125_raise_clock(struct rtl8125_private *tp, u8 *x)
|
||||
{
|
||||
*x = *x | Cfg9346_EESK;
|
||||
RTL_W8(tp, Cfg9346, *x);
|
||||
udelay(RTL_CLOCK_RATE);
|
||||
}
|
||||
|
||||
void rtl8125_lower_clock(struct rtl8125_private *tp, u8 *x)
|
||||
{
|
||||
|
||||
*x = *x & ~Cfg9346_EESK;
|
||||
RTL_W8(tp, Cfg9346, *x);
|
||||
udelay(RTL_CLOCK_RATE);
|
||||
}
|
||||
|
||||
void rtl8125_shift_out_bits(struct rtl8125_private *tp, int data, int count)
|
||||
{
|
||||
u8 x;
|
||||
int mask;
|
||||
|
||||
mask = 0x01 << (count - 1);
|
||||
x = RTL_R8(tp, Cfg9346);
|
||||
x &= ~(Cfg9346_EEDI | Cfg9346_EEDO);
|
||||
|
||||
do {
|
||||
if (data & mask)
|
||||
x |= Cfg9346_EEDI;
|
||||
else
|
||||
x &= ~Cfg9346_EEDI;
|
||||
|
||||
RTL_W8(tp, Cfg9346, x);
|
||||
udelay(RTL_CLOCK_RATE);
|
||||
rtl8125_raise_clock(tp, &x);
|
||||
rtl8125_lower_clock(tp, &x);
|
||||
mask = mask >> 1;
|
||||
} while(mask);
|
||||
|
||||
x &= ~Cfg9346_EEDI;
|
||||
RTL_W8(tp, Cfg9346, x);
|
||||
}
|
||||
|
||||
u16 rtl8125_shift_in_bits(struct rtl8125_private *tp)
|
||||
{
|
||||
u8 x;
|
||||
u16 d, i;
|
||||
|
||||
x = RTL_R8(tp, Cfg9346);
|
||||
x &= ~(Cfg9346_EEDI | Cfg9346_EEDO);
|
||||
|
||||
d = 0;
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
d = d << 1;
|
||||
rtl8125_raise_clock(tp, &x);
|
||||
|
||||
x = RTL_R8(tp, Cfg9346);
|
||||
x &= ~Cfg9346_EEDI;
|
||||
|
||||
if (x & Cfg9346_EEDO)
|
||||
d |= 1;
|
||||
|
||||
rtl8125_lower_clock(tp, &x);
|
||||
}
|
||||
|
||||
return d;
|
||||
}
|
||||
|
||||
void rtl8125_stand_by(struct rtl8125_private *tp)
|
||||
{
|
||||
u8 x;
|
||||
|
||||
x = RTL_R8(tp, Cfg9346);
|
||||
x &= ~(Cfg9346_EECS | Cfg9346_EESK);
|
||||
RTL_W8(tp, Cfg9346, x);
|
||||
udelay(RTL_CLOCK_RATE);
|
||||
|
||||
x |= Cfg9346_EECS;
|
||||
RTL_W8(tp, Cfg9346, x);
|
||||
}
|
||||
|
||||
void rtl8125_set_eeprom_sel_low(struct rtl8125_private *tp)
|
||||
{
|
||||
RTL_W8(tp, Cfg9346, Cfg9346_EEM1);
|
||||
RTL_W8(tp, Cfg9346, Cfg9346_EEM1 | Cfg9346_EESK);
|
||||
|
||||
udelay(20);
|
||||
|
||||
RTL_W8(tp, Cfg9346, Cfg9346_EEM1);
|
||||
}
|
|
@ -1,53 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
################################################################################
|
||||
#
|
||||
# r8125 is the Linux device driver released for Realtek 2.5Gigabit Ethernet
|
||||
# controllers with PCI-Express interface.
|
||||
#
|
||||
# Copyright(c) 2021 Realtek Semiconductor Corp. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation; either version 2 of the License, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
# more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Author:
|
||||
# Realtek NIC software team <nicfae@realtek.com>
|
||||
# No. 2, Innovation Road II, Hsinchu Science Park, Hsinchu 300, Taiwan
|
||||
#
|
||||
################################################################################
|
||||
*/
|
||||
|
||||
/************************************************************************************
|
||||
* This product is covered by one or more of the following patents:
|
||||
* US6,570,884, US6,115,776, and US6,327,625.
|
||||
***********************************************************************************/
|
||||
|
||||
//EEPROM opcodes
|
||||
#define RTL_EEPROM_READ_OPCODE 06
|
||||
#define RTL_EEPROM_WRITE_OPCODE 05
|
||||
#define RTL_EEPROM_ERASE_OPCODE 07
|
||||
#define RTL_EEPROM_EWEN_OPCODE 19
|
||||
#define RTL_EEPROM_EWDS_OPCODE 16
|
||||
|
||||
#define RTL_CLOCK_RATE 3
|
||||
|
||||
void rtl8125_eeprom_type(struct rtl8125_private *tp);
|
||||
void rtl8125_eeprom_cleanup(struct rtl8125_private *tp);
|
||||
u16 rtl8125_eeprom_read_sc(struct rtl8125_private *tp, u16 reg);
|
||||
void rtl8125_eeprom_write_sc(struct rtl8125_private *tp, u16 reg, u16 data);
|
||||
void rtl8125_shift_out_bits(struct rtl8125_private *tp, int data, int count);
|
||||
u16 rtl8125_shift_in_bits(struct rtl8125_private *tp);
|
||||
void rtl8125_raise_clock(struct rtl8125_private *tp, u8 *x);
|
||||
void rtl8125_lower_clock(struct rtl8125_private *tp, u8 *x);
|
||||
void rtl8125_stand_by(struct rtl8125_private *tp);
|
||||
void rtl8125_set_eeprom_sel_low(struct rtl8125_private *tp);
|
|
@ -1,359 +0,0 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
################################################################################
|
||||
#
|
||||
# r8125 is the Linux device driver released for Realtek 2.5Gigabit Ethernet
|
||||
# controllers with PCI-Express interface.
|
||||
#
|
||||
# Copyright(c) 2021 Realtek Semiconductor Corp. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation; either version 2 of the License, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
# more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Author:
|
||||
# Realtek NIC software team <nicfae@realtek.com>
|
||||
# No. 2, Innovation Road II, Hsinchu Science Park, Hsinchu 300, Taiwan
|
||||
#
|
||||
################################################################################
|
||||
*/
|
||||
|
||||
/************************************************************************************
|
||||
* This product is covered by one or more of the following patents:
|
||||
* US6,570,884, US6,115,776, and US6,327,625.
|
||||
***********************************************************************************/
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/version.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/in.h>
|
||||
#include <linux/ethtool.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include "r8125.h"
|
||||
#include "rtl_eeprom.h"
|
||||
#include "rtltool.h"
|
||||
|
||||
int rtl8125_tool_ioctl(struct rtl8125_private *tp, struct ifreq *ifr)
|
||||
{
|
||||
struct rtltool_cmd my_cmd;
|
||||
unsigned long flags;
|
||||
int ret;
|
||||
|
||||
if (copy_from_user(&my_cmd, ifr->ifr_data, sizeof(my_cmd)))
|
||||
return -EFAULT;
|
||||
|
||||
ret = 0;
|
||||
switch (my_cmd.cmd) {
|
||||
case RTLTOOL_READ_MAC:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
if (my_cmd.len==1)
|
||||
my_cmd.data = readb(tp->mmio_addr+my_cmd.offset);
|
||||
else if (my_cmd.len==2)
|
||||
my_cmd.data = readw(tp->mmio_addr+(my_cmd.offset&~1));
|
||||
else if (my_cmd.len==4)
|
||||
my_cmd.data = readl(tp->mmio_addr+(my_cmd.offset&~3));
|
||||
else {
|
||||
ret = -EOPNOTSUPP;
|
||||
break;
|
||||
}
|
||||
|
||||
if (copy_to_user(ifr->ifr_data, &my_cmd, sizeof(my_cmd))) {
|
||||
ret = -EFAULT;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case RTLTOOL_WRITE_MAC:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
if (my_cmd.len==1)
|
||||
writeb(my_cmd.data, tp->mmio_addr+my_cmd.offset);
|
||||
else if (my_cmd.len==2)
|
||||
writew(my_cmd.data, tp->mmio_addr+(my_cmd.offset&~1));
|
||||
else if (my_cmd.len==4)
|
||||
writel(my_cmd.data, tp->mmio_addr+(my_cmd.offset&~3));
|
||||
else {
|
||||
ret = -EOPNOTSUPP;
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case RTLTOOL_READ_PHY:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
my_cmd.data = rtl8125_mdio_prot_read(tp, my_cmd.offset);
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
|
||||
if (copy_to_user(ifr->ifr_data, &my_cmd, sizeof(my_cmd))) {
|
||||
ret = -EFAULT;
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case RTLTOOL_WRITE_PHY:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
rtl8125_mdio_prot_write(tp, my_cmd.offset, my_cmd.data);
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
break;
|
||||
|
||||
case RTLTOOL_READ_EPHY:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
my_cmd.data = rtl8125_ephy_read(tp, my_cmd.offset);
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
|
||||
if (copy_to_user(ifr->ifr_data, &my_cmd, sizeof(my_cmd))) {
|
||||
ret = -EFAULT;
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case RTLTOOL_WRITE_EPHY:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
rtl8125_ephy_write(tp, my_cmd.offset, my_cmd.data);
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
break;
|
||||
|
||||
case RTLTOOL_READ_ERI:
|
||||
my_cmd.data = 0;
|
||||
if (my_cmd.len==1 || my_cmd.len==2 || my_cmd.len==4) {
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
my_cmd.data = rtl8125_eri_read(tp, my_cmd.offset, my_cmd.len, ERIAR_ExGMAC);
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
} else {
|
||||
ret = -EOPNOTSUPP;
|
||||
break;
|
||||
}
|
||||
|
||||
if (copy_to_user(ifr->ifr_data, &my_cmd, sizeof(my_cmd))) {
|
||||
ret = -EFAULT;
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case RTLTOOL_WRITE_ERI:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
if (my_cmd.len==1 || my_cmd.len==2 || my_cmd.len==4) {
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
rtl8125_eri_write(tp, my_cmd.offset, my_cmd.len, my_cmd.data, ERIAR_ExGMAC);
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
} else {
|
||||
ret = -EOPNOTSUPP;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case RTLTOOL_READ_PCI:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
my_cmd.data = 0;
|
||||
if (my_cmd.len==1)
|
||||
pci_read_config_byte(tp->pci_dev, my_cmd.offset,
|
||||
(u8 *)&my_cmd.data);
|
||||
else if (my_cmd.len==2)
|
||||
pci_read_config_word(tp->pci_dev, my_cmd.offset,
|
||||
(u16 *)&my_cmd.data);
|
||||
else if (my_cmd.len==4)
|
||||
pci_read_config_dword(tp->pci_dev, my_cmd.offset,
|
||||
&my_cmd.data);
|
||||
else {
|
||||
ret = -EOPNOTSUPP;
|
||||
break;
|
||||
}
|
||||
|
||||
if (copy_to_user(ifr->ifr_data, &my_cmd, sizeof(my_cmd))) {
|
||||
ret = -EFAULT;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case RTLTOOL_WRITE_PCI:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
if (my_cmd.len==1)
|
||||
pci_write_config_byte(tp->pci_dev, my_cmd.offset,
|
||||
my_cmd.data);
|
||||
else if (my_cmd.len==2)
|
||||
pci_write_config_word(tp->pci_dev, my_cmd.offset,
|
||||
my_cmd.data);
|
||||
else if (my_cmd.len==4)
|
||||
pci_write_config_dword(tp->pci_dev, my_cmd.offset,
|
||||
my_cmd.data);
|
||||
else {
|
||||
ret = -EOPNOTSUPP;
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case RTLTOOL_READ_EEPROM:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
my_cmd.data = rtl8125_eeprom_read_sc(tp, my_cmd.offset);
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
|
||||
if (copy_to_user(ifr->ifr_data, &my_cmd, sizeof(my_cmd))) {
|
||||
ret = -EFAULT;
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case RTLTOOL_WRITE_EEPROM:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
rtl8125_eeprom_write_sc(tp, my_cmd.offset, my_cmd.data);
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
break;
|
||||
|
||||
case RTL_READ_OOB_MAC:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
rtl8125_oob_mutex_lock(tp);
|
||||
my_cmd.data = rtl8125_ocp_read(tp, my_cmd.offset, 4);
|
||||
rtl8125_oob_mutex_unlock(tp);
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
|
||||
if (copy_to_user(ifr->ifr_data, &my_cmd, sizeof(my_cmd))) {
|
||||
ret = -EFAULT;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case RTL_WRITE_OOB_MAC:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
if (my_cmd.len == 0 || my_cmd.len > 4)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
rtl8125_oob_mutex_lock(tp);
|
||||
rtl8125_ocp_write(tp, my_cmd.offset, my_cmd.len, my_cmd.data);
|
||||
rtl8125_oob_mutex_unlock(tp);
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
break;
|
||||
|
||||
case RTL_ENABLE_PCI_DIAG:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
tp->rtk_enable_diag = 1;
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
|
||||
dprintk("enable rtk diag\n");
|
||||
break;
|
||||
|
||||
case RTL_DISABLE_PCI_DIAG:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
tp->rtk_enable_diag = 0;
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
|
||||
dprintk("disable rtk diag\n");
|
||||
break;
|
||||
|
||||
case RTL_READ_MAC_OCP:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
if (my_cmd.offset % 2)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
my_cmd.data = rtl8125_mac_ocp_read(tp, my_cmd.offset);
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
|
||||
if (copy_to_user(ifr->ifr_data, &my_cmd, sizeof(my_cmd))) {
|
||||
ret = -EFAULT;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case RTL_WRITE_MAC_OCP:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
if ((my_cmd.offset % 2) || (my_cmd.len != 2))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
rtl8125_mac_ocp_write(tp, my_cmd.offset, (u16)my_cmd.data);
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
break;
|
||||
|
||||
case RTL_DIRECT_READ_PHY_OCP:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
my_cmd.data = rtl8125_mdio_prot_direct_read_phy_ocp(tp, my_cmd.offset);
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
|
||||
if (copy_to_user(ifr->ifr_data, &my_cmd, sizeof(my_cmd))) {
|
||||
ret = -EFAULT;
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case RTL_DIRECT_WRITE_PHY_OCP:
|
||||
if (!capable(CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
spin_lock_irqsave(&tp->lock, flags);
|
||||
rtl8125_mdio_prot_direct_write_phy_ocp(tp, my_cmd.offset, my_cmd.data);
|
||||
spin_unlock_irqrestore(&tp->lock, flags);
|
||||
break;
|
||||
|
||||
default:
|
||||
ret = -EOPNOTSUPP;
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
|
@ -1,86 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
################################################################################
|
||||
#
|
||||
# r8125 is the Linux device driver released for Realtek 2.5Gigabit Ethernet
|
||||
# controllers with PCI-Express interface.
|
||||
#
|
||||
# Copyright(c) 2021 Realtek Semiconductor Corp. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation; either version 2 of the License, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
# more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Author:
|
||||
# Realtek NIC software team <nicfae@realtek.com>
|
||||
# No. 2, Innovation Road II, Hsinchu Science Park, Hsinchu 300, Taiwan
|
||||
#
|
||||
################################################################################
|
||||
*/
|
||||
|
||||
/************************************************************************************
|
||||
* This product is covered by one or more of the following patents:
|
||||
* US6,570,884, US6,115,776, and US6,327,625.
|
||||
***********************************************************************************/
|
||||
|
||||
#ifndef _LINUX_RTLTOOL_H
|
||||
#define _LINUX_RTLTOOL_H
|
||||
|
||||
#define SIOCRTLTOOL SIOCDEVPRIVATE+1
|
||||
|
||||
enum rtl_cmd {
|
||||
RTLTOOL_READ_MAC=0,
|
||||
RTLTOOL_WRITE_MAC,
|
||||
RTLTOOL_READ_PHY,
|
||||
RTLTOOL_WRITE_PHY,
|
||||
RTLTOOL_READ_EPHY,
|
||||
RTLTOOL_WRITE_EPHY,
|
||||
RTLTOOL_READ_ERI,
|
||||
RTLTOOL_WRITE_ERI,
|
||||
RTLTOOL_READ_PCI,
|
||||
RTLTOOL_WRITE_PCI,
|
||||
RTLTOOL_READ_EEPROM,
|
||||
RTLTOOL_WRITE_EEPROM,
|
||||
|
||||
RTL_READ_OOB_MAC,
|
||||
RTL_WRITE_OOB_MAC,
|
||||
|
||||
RTL_ENABLE_PCI_DIAG,
|
||||
RTL_DISABLE_PCI_DIAG,
|
||||
|
||||
RTL_READ_MAC_OCP,
|
||||
RTL_WRITE_MAC_OCP,
|
||||
|
||||
RTL_DIRECT_READ_PHY_OCP,
|
||||
RTL_DIRECT_WRITE_PHY_OCP,
|
||||
|
||||
RTLTOOL_INVALID
|
||||
};
|
||||
|
||||
struct rtltool_cmd {
|
||||
__u32 cmd;
|
||||
__u32 offset;
|
||||
__u32 len;
|
||||
__u32 data;
|
||||
};
|
||||
|
||||
enum mode_access {
|
||||
MODE_NONE=0,
|
||||
MODE_READ,
|
||||
MODE_WRITE
|
||||
};
|
||||
|
||||
#ifdef __KERNEL__
|
||||
int rtl8125_tool_ioctl(struct rtl8125_private *tp, struct ifreq *ifr);
|
||||
#endif
|
||||
|
||||
#endif /* _LINUX_RTLTOOL_H */
|
Loading…
Add table
Add a link
Reference in a new issue