Web-свалка на RTL871x

pvvx

Активный участник сообщества
Обнаружил непонятные глюки в веб-свалке.
C sdk 4.0 ещё не всё доделано для режимов энергосбережения (галка в системных настройках на web странице) при использовании RTL8195AM, связанное со sleep SDRAM. Возникают сообщения ошибки повторной инициализации использования GPIO на SDRAM в режиме AP. Вообще с GPIO процедурами там сплошной бардак и противоречия с hal_pinmux.c, с таблицей GPIOState, с функционированием GpioFunctionChk(). Что-то там не так алгоритмически* накрутили в Ameba с GpioFunctionChk() и оно полезло на PMU c опцией FREERTOS_PMU_TICKLESS_SUSPEND_SDRAM 1. Даже при правильной работе, замеры показывают, что при включении suspend SDRAM потребление больше, чем при вечно включенной :) Их процедуры с пачками :
gpio_init(&gpio_obj, Px_x);
gpio_mode(&gpio_obj, PullDown);
gpio_dir(&gpio_obj, PIN_OUTPUT);
gpio_write(&gpio_obj, GPIO_PIN_LOW);
переключения SRDAM в sleep при каждом тике жрут больше чем сама SDRAM :)
Короче косяков в SDK ещё много...

*После gpio_init и использования GPIO должна вызываться gpio_deinit, освобождающая флаги в таблице GPIOState[], чего не наблюдается, а повторно вызывается HAL инициализации пина и он орет об ошибке. Временно просто убил эту проверку с выводом ошибки в LogUART...
 
Последнее редактирование:

aloika

Active member
Нда, какие-то глюки есть:

[alloc_skb] Wait for skbdata
[alloc_skb] Wait for skbdata
[alloc_skb] Wait for skbdata
[alloc_skb] Wait for skbdata
[alloc_skb] Wait for skbdata
[alloc_skb] Wait for skbdata
RTL8195A[Driver]: skb_unavailable=3 in last 2 seconds
RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds
RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds

Сейчас отключу свои куски кода, еще раз проверять буду. Может, это я глюков наплодил.

Update:

Вроде не я. Отключил всё свое.
Подключаю к AP модуля винду и телефон на андроиде. Минут 5 всё нормально, а потом

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds
RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds
RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds
RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds
RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds
RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds
RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds
RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds
RTL8195A[Driver]: skb_unavailable=5 in last 2 seconds
RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds
RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds
.....

И веб пропадает...
 
Последнее редактирование:

pvvx

Активный участник сообщества
RTL8195A[Driver]: skb_unavailable=3 in last 2 seconds
Это кто-то пытается вывести больше, чем успевает передать WiFi. В основном это происходит на UDP, т.к. TCP идет с подтверждением о доставке и забить все буфера передатчика WiFi может только если одновременных TCP соединений дцать штук...
Буферов skb может не хватать и при приеме, если вы застопорили работу LwIP длительной обработкой...

UDP throughput error message in LOG UART - RTL8710 Community Forum
 
Последнее редактирование:

aloika

Active member
Это кто-то пытается вывести больше, чем успевает передать WiFi. В основном это происходит на UDP, т.к. TCP идет с подтверждением о доставке и забить все буфера передатчика WiFi может только если одновременных TCP соединений дцать штук...
Это кто-то пытается вывести больше, чем успевает передать WiFi. В основном это происходит на UDP, т.к. TCP идет с подтверждением о доставке и забить все буфера передатчика WiFi может только если одновременных TCP соединений дцать штук...
Буферов skb может не хватать и при приеме, если вы застопорили работу LwIP длительной обработкой...

UDP throughput error message in LOG UART - RTL8710 Community Forum
Это читал.
В том-то и дело, что вообще ничего не делаю, отключил всё свое. Буду дальше смотреть. Хотя бы установить, когда это происходит...
 

pvvx

Активный участник сообщества
Подключаю к AP модуля винду и телефон на андроиде.
Включил 2 клиента на AP модуля RTL8195AM (винда и андроид) и всё работает...
Код:
>atwi
WIFI 'wlan1' Setting:
================================
        MODE => AP
        SSID => RTL871X
        CHANNEL => 1
        SECURITY => AES
        PASSWORD => 0123456789
        IP: 192.168.4.1
....
WIFI AP clients:
================================
        AP 2 clients:
        sta[1]: **:**:**:**:**:**
        sta[2]: **:**:**:**:**:**
>
 

aloika

Active member
Включил 2 клиента на AP модуля RTL8195AM (винда и андроид) и всё работает...
У меня модуль RTL00. У меня тоже сначала работает, а через несколько минут впадает в это состояние. Включен режим ST и AP, ST не настроена (пытается присоединиться к несуществующей внешней точке доступа). Проблема есть... Вот, снова (4 минуты от старта прошло):

srv[80] 192.168.4.5:60108 [1] disconnect
srv[80] 192.168.4.5:60109 [1] listen
srv[80] 192.168.4.5:60109 [1] read: 361 of1[style.css] GET f[/style.css] head[187]:200 send: 1261 cf1 dis
srv[80] 192.168.4.5:60109 [1] disconnect
srv[80] 192.168.4.5:60110 [1] listen
srv[80] 192.168.4.5:60111 [2] listen
srv[80] 192.168.4.5:60110 [2] read: 381 of1[logo.gif] GET f[/logo.gif] head[163]:200 send: 393 cf1 dis
srv[80] 192.168.4.5:60111 [2] read: 380 of1[rtl.gif] GET f[/rtl.gif] head[163]:200 send: 750 cf1 dis
srv[80] 192.168.4.5:60110 [2] disconnect
srv[80] 192.168.4.5:60111 [1] disconnect
srv[80] 192.168.4.5:60112 [1] listen
srv[80] 192.168.4.5:60112 [1] read: 427 of1[favicon.ico] GET f[/favicon.ico] head[202]:200 send: 810 cf1 dis
srv[80] 192.168.4.5:60112 [1] disconnect

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=3 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=3 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=5 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=4 in last 2 seconds


Сейчас еще раз попробую...
UPD: 6 минут и та же история.
 
Последнее редактирование:

aloika

Active member
Хм. У меня почему-то список клиентов не выводится.

Код:
atwi

WIFI 'wlan1' Setting:
================================
        MODE => AP
        SSID => RTL871X
        CHANNEL => 1
        SECURITY => OPEN
        PASSWORD =>
        IP: 192.168.4.1

WIFI config:
================================
        Start mode: 0x3
        Country code: 151
        Network mode: 11
        Tx power: 3
        Adaptivity: 0
        Load flags: 0x7f
        Save flags: 0x7f

WIFI AP config:
================================
        SSID: 'RTL871X'
        SSID hidden: 0
        Password: '0123456789'
        Security type: OPEN
        Channel: 1
        Beacon interval: 100 ms
        Max connections: 3

WIFI ST config:
================================
        SSID: 'HOMEAP'
        Password: '0123456789'
        Security type: OPEN
        Auto-reconnect: 1
        Reconnect pause: 1
        Sleep mode: 0x3
        DTIM: 0
И вообще, раньше была команда, по которой выводился список задач, а сейчас - нету.
 

pvvx

Активный участник сообщества
Хм. У меня почему-то список клиентов не выводится.
А это только что вписал, чтобы просто-так не запускать модуль для проверки по вашим вариантам :)
И вообще, раньше была команда, по которой выводился список задач, а сейчас - нету.
Отключено в опциях RTOS конфига для уменьшения объема кода... Опции на то и опции - включайте какие надо...
 

aloika

Active member
17 минут работает нормально.
до того 3 раза было 6-8 минут - и всё.

ничего не менял...

upd: 30 минут ровно. 3 клиента - винда и два андроида.
upd: еще эксперимент: 43 минуты. условия те же, 3 клиента.
 
Последнее редактирование:

pvvx

Активный участник сообщества
17 минут работает нормально.
до того 3 раза было 6-8 минут - и всё.

ничего не менял...

upd: 30 минут ровно. 3 клиента - винда и два андроида.
upd: еще эксперимент: 43 минуты. условия те же, 3 клиента.
Модуль то какой (чип)?
 

aloika

Active member
Модуль то какой (чип)?
RTL00, т.е. RTL8710AF

Скачал самую свежую сборку, та же история.

Код:
WIFI 'wlan1' Setting:
================================
        MODE => AP
        SSID => RTL871X
        CHANNEL => 1
        SECURITY => OPEN
        PASSWORD =>
        IP: 192.168.4.1

WIFI config:
================================
        Start mode: 0x3
        Country code: 151
        Network mode: 11
        Tx power: 3
        Adaptivity: 0
        Load flags: 0x7f
        Save flags: 0x7f

WIFI AP config:
================================
        SSID: 'RTL871X'
        SSID hidden: 0
        Password: '0123456789'
        Security type: OPEN
        Channel: 1
        Beacon interval: 100 ms
        Max connections: 3

WIFI ST config:
================================
        SSID: 'HOMEAP'
        Password: '0123456789'
        Security type: OPEN
        Auto-reconnect: 1
        Reconnect pause: 1
        Sleep mode: 0x3
        DTIM: 0

WIFI AP clients:
================================
        AP 2 clients:
        sta[1]: **:**:**:**:**:**
        sta[2]: **:**:**:**:**:**

>
RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds
Еще проверял, если один клиент (винда) - работает стабильно. Если два (винда и андроид) - отказывает в течение времени от 4 до 50 минут. Час ни разу не проработало.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Час ни разу не проработало.
А какие 802.11 Association Status или 802.11 Deauth Reason codes пишет за это время?
У меня за час обязательно что-то проходит, хотя-бы типа смены ключа, или ухода, или ...
Вот первый попавшийся:
RTL8195A[Driver]: ap recv deauth reason code(6) sta:00:0f:54:10:6a:b5 (Кадр класса 2, полученный от неаутентифицированной станции).
Если соединяемся с ESP8266 или не передаем и не принимаем ничего, то обычно связь закрывается:
RTL8195A[Driver]: sta recv disassoc reason code(4) sta:1a:fe:34:fa:39:2d (Disassociated из-за бездействия)
RTL8195A[Driver]: sta recv deauth reason code(2) sta:1a:fe:34:fa:39:2d (Предыдущая аутентификация больше не действительна)
C ESP8266 это в среднем 20 сек...

Повторить ваши RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds пока никак не выходит...
 

aloika

Active member
Кусок лога за сегодня и прикрепил полный лог за сегодня.

Код:
=========================================================

ROM Version: 0.3

Build ToolChain Version: gcc version 4.8.3 (Realtek ASDK-4.8.3p1 Build 2003)

=========================================================
Check boot type form eFuse
SPI Initial
Image1 length: 0x2018, Image Addr: 0x10000bc8
Image1 Validate OK, Going jump to Image1
===== Enter FLASH-Boot ====
CPU CLK: 83333333 Hz, SOC FUNC EN: 0x11113
Selected Image 1.
Load Flash seg0: 0x0000b010 -> SRAM: 0x10006000, size: 266668
Img Sign: RTKWin, Go @ 0x10006085
===== Enter Image: WEB Sample ====
WdgPeriod = 10000 ms

CLK CPU         166666666 Hz
RAM heap        150472 bytes
TCM heap        64768 bytes

Disk init: 47 files, addr = 0xd0000
[HEAP Wrn]tcm_alloc(2056) - freeSpace(960)!
[HEAP Wrn]tcm_alloc(2056) - freeSpace(960)!
[HEAP Wrn]tcm_alloc(1032) - freeSpace(960)!
[HEAP Wrn]tcm_alloc(1032) - freeSpace(960)!
[HEAP Wrn]tcm_alloc(1032) - freeSpace(960)!
[HEAP Wrn]tcm_alloc(1032) - freeSpace(960)!

RTL8195A[Driver]: port switch - port0(wlan2), port1(wlan1)
SoftAP ip: 192.168.4.1

RTL8195A[Driver]: set ssid [HOMEAP]
wifi_run_st: Operation failed! Error(-1)
NetBIOS init, interface 0: 'RTL871X0' 1: 'RTL871X1'
SNTP start.
[HEAP Wrn]tcm_alloc(4104) - freeSpace(960)!
WEB: init port 80

RTL8195A[Driver]: +OnAuth: 58:12:43:25:e6:0d

RTL8195A[Driver]: +OnAssocReq
auto reconnect ...

RTL8195A[Driver]: set ssid [HOMEAP]

RTL8195A[Driver]: +OnAuth: 08:57:00:0f:fd:64

RTL8195A[Driver]: +OnAssocReq

RTL8195A[Driver]: +OnAuth: 58:12:43:25:e6:0d

RTL8195A[Driver]: +OnAssocReq

>atwi
cmd: феATWI - nothing!
>феatwi
cmd: феATWI - nothing!
>atwi

WIFI 'wlan1' Setting:
================================
        MODE => AP
        SSID => RTL871X
        CHANNEL => 1
        SECURITY => OPEN
        PASSWORD =>
        IP: 192.168.4.1

WIFI config:
================================
        Start mode: 0x3
        Country code: 151
        Network mode: 11
        Tx power: 3
        Adaptivity: 0
        Load flags: 0x7f
        Save flags: 0x7f

WIFI AP config:
================================
        SSID: 'RTL871X'
        SSID hidden: 0
        Password: '0123456789'
        Security type: OPEN
        Channel: 1
        Beacon interval: 100 ms
        Max connections: 3

WIFI ST config:
================================
        SSID: 'HOMEAP'
        Password: '0123456789'
        Security type: OPEN
        Auto-reconnect: 1
        Reconnect pause: 1
        Sleep mode: 0x3
        DTIM: 0

WIFI AP clients:
================================
        AP 2 clients:
        sta[1]: 58:12:43:25:e6:0d
        sta[2]: 08:04:00:10:af:83

>srv[80] 192.168.4.6:51254 [1] listen
srv[80] 192.168.4.6:51255 [2] listen
srv[80] 192.168.4.6:51256 [3] listen
srv[80] 192.168.4.6:51257 [4] listen
srv[80] 192.168.4.6:51255 [4] read: 462 of1[index.htm] GET f[/] head[201]:200 send: of2[menu.inc] cf2 of2[footer.inc] cf2 of2[time.inc] cf2 cf1 1939 dis
srv[80] 192.168.4.6:51255 [4] disconnect
srv[80] 192.168.4.6:51254 [3] read: 378 of1[style.css] GET f[/style.css] head[187]:200 send: 1261 cf1 dis
srv[80] 192.168.4.6:51254 [3] disconnect
srv[80] 192.168.4.6:51257 [2] read: 407 of1[logo.gif] GET f[/logo.gif] head[163]:200 send: 393 cf1 dis
srv[80] 192.168.4.6:51256 [2] read: 406 of1[rtl.gif] GET f[/rtl.gif] head[163]:200 send: 750 cf1 dis
srv[80] 192.168.4.6:51257 [2] disconnect
srv[80] 192.168.4.6:51256 [1] disconnect
srv[80] 192.168.4.6:51258 [1] listen
srv[80] 192.168.4.6:51258 [1] read: 444 of1[favicon.ico] GET f[/favicon.ico] head[202]:200 send: 810 cf1 dis
srv[80] 192.168.4.6:51258 [1] disconnect

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=1 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds

RTL8195A[Driver]: skb_unavailable=2 in last 2 seconds
 

Вложения

  • 64.4 KB Просмотры: 0

aloika

Active member
А если отключить SNTP?
Отключил (через web-интерфейс). Будем ждать...

UPD: ну вот, веб-интерфейс на телефоне перестал отображаться, пишет, что "Файл не найден". Так оно всегда и бывало. Wi-fi подключен. Можно отключить телефон, снова подключить - подключается, в лог пишет корректно. Но интерфейс не отображается. На винде пока что отображается всё нормально. Обычно через несколько минут после такого и начинается то самое состояние. Ждем дальше...

UPD: на телефоне заработало нормально. Так что пока всё нормально....
 
Последнее редактирование:

pvvx

Активный участник сообщества
Нашел как получить skb_unavailable (!).

RTL соединена с роутером (у него 600mbps), выдан IP 192.168.1.122. На RTL включена AP (IP 192.168.4.1). Через USB-свисток подключена Win (выдан IP 192.168.4.4) и открыт WebSocket. Подключен телефон Самс Note и тоже открыт WebSocket (выдан IP 192.168.4.3).

WebSocket всё время пингуется, чтобы соединение не заросло мхом…

Если передавать непрерывный поток UDP пакетов на 192.168.1.122 (к RTL через роутер) на закрытый порт (к примеру 12345), то получим любую skb_unavailable=nn.
Код:
srv[80] 192.168.4.4:2036 [2] read: 13 ws#81rx[7] ws:txt ws#81tx[7] ...
srv[80] 192.168.4.4:2036 [2] ...
srv[80] 192.168.4.3:35678 [2] read: 13 ws#81rx[7] ws:txt ws#81tx[7] ...
srv[80] 192.168.4.3:35678 [2] ...
srv[80] 192.168.4.4:2036 [2] read: 13 ws#81rx[7] ws:txt ws#81tx[7] ...
srv[80] 192.168.4.4:2036 [2] ...

RTL8195A[Driver]: skb_unavailable=801 in last 2 seconds

srv[80] 192.168.4.3:35678 [2] read: 13 ws#81rx[7] ws:txt ws#81tx[7] ...
srv[80] 192.168.4.3:35678 [2] ...
srv[80] 192.168.4.4:2036 [2] read: 13 ws#81rx[7] ws:txt ws#81tx[7] ...
srv[80] 192.168.4.4:2036 [2] ...
srv[80] 192.168.4.3:35678 [2] read: 13 ws#81rx[7] ws:txt ws#81tx[7] ...
srv[80] 192.168.4.3:35678 [2] ...
srv[80] 192.168.4.4:2036 [2] read: 13 ws#81rx[7] ws:txt ws#81tx[7] ...
При этом связь не пропадает и ничего не рвется.

Если передавать непрерывный поток UDP пакетов с любой Station на AP RTL – этого не возникает. Возможно у USB-WiFi не хватает скорости забить входной буфер UDP пакетами, которые не успевает обработать LwIP...

В принципе это нормально. Передаю за 1 секунду 40 тысяч пакетов UDP на роутер к RTL.
Получаю:
Код:
RTL8195A[Driver]: skb_unavailable=16084 in last 2 seconds
srv[80] 192.168.4.4:2036 [1] read: 13 ws#81rx[7] ws:txt ws#81tx[7] ...
srv[80] 192.168.4.4:2036 [1] ...
srv[80] 192.168.4.4:2036 [1] read: 13 ws#81rx[7] ws:txt ws#81tx[7] ...
srv[80] 192.168.4.4:2036 [1] ...
srv[80] 192.168.4.4:2036 [1] read: 13 ws#81rx[7] ws:txt ws#81tx[7] ...

RTL8195A[Driver]: skb_unavailable=15546 in last 2 seconds
srv[80] 192.168.4.4:2036 [1] read: 13 ws#81rx[7] ws:txt ws#81tx[7] ...
srv[80] 103.78.132.3:32898 [2] listen
srv[80] 103.78.132.3:32898 [2] read: 96 of1[index.htm] GET f[/] head[201]:200 send: of2[menu.inc] cf2 of2[footer.inc] cf2 of2[time.inc] cf2 cf1 2006 dis
Говорит, что скипнул 8 тысяч пактов за 1 сек на закрытый порт...
Всё равно пробиваются всякие из глобальной сети 103.78.132.3 ... Т.е. связь по всем направлениям ST+AP на RTL не падает.
Скорость обработки потоков UDP/TCP для RTL8710AF описана - пример https://esp8266.ru/forum/threads/arduino-dlja-rtl8710.1787/page-11#post-29608
Если пакеты большие и их много то UDP обязаны теряться и "скипаться", т.к. антенна у модуля одна на AP и STA. Работают они попеременно... Перегрузка обработки входящих пактов для LwIP описывается приоритетами его треда в сравнении с приоритетом драйвера WiFi...
 
Последнее редактирование:

aloika

Active member
Итак, с отключенным SNTP проработало около часа. После чего впало опять в это состояние. Лог сеанса прилагаю.
 

Вложения

pvvx

Активный участник сообщества
PowerStartTime: 01.08.2017 12:55:47, соединил с телефоном через минут 5... сейчас пишет DevTime: 01.08.2017 14:48:38. При этом был подвергнут всем вышеописанным мучениям. Никто пока не отвалился...
WebSoсket на Win (usb-wifi<-> AP RTL) не прерывался, так и пингуется...
WebSoсket на телефоне иногда закрывается с кодом 1006. Возможно когда телефон впадает в глубокий сон... Но новое открытие срабатывает без проблем:
Screenshot_2017-08-01-15-04-04.jpg
 
Последнее редактирование:

aloika

Active member
PowerStartTime: 01.08.2017 12:55:47, соединил с телефоном через минут 5... сейчас пишет DevTime: 01.08.2017 14:48:38. При этом был подвергнут всем вышеописанным мучениям. Никто пока не отвалился...
Сейчас приеду домой, снова включу и попробую телефон не подключать, а подключить только планшет Самсунг и винду. Может, в телефоне дело. Очень уж он китайский.
Не знаю, что ещё придумать-то...
 
Сверху Снизу