Перейти к содержимому
Калькуляторы

Вопрос к знатокам андроида

Знакомые принесли безымянный китайский планшет с Андроид 5.1.

На планшете обнаружился такой глюк — если в память устройства попытаться скопировать большой файл (более 2 ГБ), то файл не копируется и после этого в памяти устройства нельзя создать подкаталог. Можно свободно копировать и изменять файлы, можно переименовывать или удалять каталоги, но создать новый нельзя, при этой операции происходит ошибка. Если сделать очистку и форматирование памяти устройства, то проблема уходит. Видимо повреждается файловая система и почему-то не исправляется при перезагрузке.
Всяческие утилиты по исправлению SD-карт ничем не помогают (если вообще работают). При подключении к ПК планшет определяется не как USB Storage, а как MTP, поэтому с ПК проверить и исправить файловую систему я не могу. Рута нет и процедура его получения весьма замороченная (с риском окирпичить устройство), поэтому включить режим USB Storage пока не получается.
Не посоветуете, можно ли эту проблему как-то решить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 Могу попробовать воспроизвести траблему, но завтра. Есть смарт от самсунга, есть СД-карта в нём(8Г). Ведроид самсунговский, 5,1, просто датакобель на работе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, alibek сказал:

Рута нет и процедура его получения весьма замороченная (с риском окирпичить устройство), поэтому включить режим USB Storage пока не получается.

Кингрут тебе в помощь, совсем для нубов порог вхождения, но есть сборки кингрута с трояном, впрочем твой планшет наверняка и так ими кишит. Потом с него на SuperSU сваливать надо, на 4пда есть приложение которое это делает, руками капец заморочено.

Или лучше зашить туда TWRP и потом самому закинуть SuperSU.

 

Для диагностики ставишь F-droid, оттуда connectbot + busybox и читаешь логи, dmesg тот же, если получится. Но без рута тебе мало что светит, так и знай.

Если китайцы оставили дырки, можно посмотреть что запускается при старте системы из /data и туда подложит своё, например entware туда поставить и уже шарится сразу по ссш, а там и рутануть через него же. Но я лично так не делал, в самсунгах таких дыр нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Трояны там точно есть, потому что периодически при появлении интернета на планшете появляется приложение с каким-нибудь малозаметным названием (Provision, Device и т.п.), которое выводит на экран фейковые значки (чаще всего любит подсовывать значок Фейсбука).

Но я не настолько гикнутый, чтобы пытаться полностью привести в порядок этот планшет, там скорее всего троян на трояне.

Мне бы починить его по минимуму (хотя бы сделать так, чтобы при запуске нормально отрабатывала проверка диска) и убрать наиболее наглое ПО.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Без рута тебе ничего не светит, разве что ты на домашнем роутере поблочишь отдельные днс записи и IP адреса.

Или можешь сразу выкидывать.

 

Вот тут я описывал свою борьбу: https://4pda.ru/forum/index.php?showtopic=881097&view=findpost&p=75596142

ещё GhostCommander зачётное приложение, тоже есть в фдройде.

Я уже 3 мобилы зачистил от гугля и самсунговского софта, насколько это возможно. Сложно в первый раз, потом легко.

Выше я написал - рут можно получить вообще ничего не понимая - KingRoot тебе в помощь.

 

entware я накатываю своим скриптом: http://www.netlab.linkpc.net/download/tmp/entware_install.sh

делаю это уже когда рутанул, через конект бота и бизибокс установлен.

А дальше настраиваю там openssh-server, ставлю mc и удалённо с комфортом зачищаю, предварительно сделав бэкап через вифи+rsync (тоже из ентвари по ссш).

На этом этапе это уже работа с обычным линуксом )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 часа назад, Ivan_83 сказал:

Кингрут тебе в помощь, совсем для нубов порог вхождения

Действительно, для чайников.

Правда совсем уж на автомате не получилось, пришлось долго возиться с подбором версий (установить KR 4.9.6, получить root, удалить root с сохранением бэкапа, удалить KR 4.9.6, установить KR 4.6.2, получить root, установить SS 9.1.9 PRO, провести замену), но все же теперь root я получил.

Дальше процедура примерно понятна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мусор и трояны почистил, во всяком случае уже достаточно давно ничего постороннего на планшете не происходит.

Но похоже на то, что описанные проблемы были не из-за повреждения ФС, а из-за фейкового размера.

Планшет показывает, что размер встроенной памяти составляет 32 ГБ (что меня собственно удивляло). Но после того, как на него запишешь примерно 14 ГБ начинаются описанные глюки - каталоги не создаются, а файлы копируются, но не читаются.

Размер памяти можно посчитать и исправить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, теперь я знаю, что ответить на вопрос — что плохого в китайских нонеймовских гаджетах.

 

Проблема явно в памяти и скорее всего в неверном размере.

Если память телефона отформатировать, то она работает. Пока на нее не будет записан определенный объем информации (примерно 12 ГБ).

После этого каталоги не создаются, записываемые файлы не воспроизводятся и т.д.

 

С исправлением тоже непонятно что делать.

Установил Termux, чтобы получить доступ к консоли (после su).

fdisk -l дает пустой вывод, файла fstab я найти не смог.

Различные утилиты, например AParted раздел видят (как /dev/block/mmcblk1p1), но при попытке resize ничего не происходит, раздел остается прежним.

Запустил fdisk /dev/block/mmcblk1 — запустилась, показывает один раздел размером около 32 ГБ с файловой системой fat32 и типом Win95 FAT32 LBA.

Попробовал удалить раздел и создать меньшего размера — fdisk написал, что раздел занят и ничего не поменял.

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

 

Я хочу попробовать сделать так:

1. Форматирую память телефона.

2. Создаю каталог badfiles.

3. Записываю в память телефона видеофайлы, пока не возникнет описанный ранее глюк (записанные файлы не воспроизводятся).

4. Удаляю последний записанный файл.

5. В каталоге badfiles создаю файлы (размером не более 1 ГБ), пока не забьется все свободное место.

6. Удаляю видеофайлы из п.3. На каталог badfiles и файлы в нем ставлю какой-нибудь атрибут для защиты от записи/удаления.

 

Сработает?

Если да, то не посоветуете, как лучше всего выполнить пункт 5?

Какой-нибудь скрипт, чтобы забить свободное место.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вообщем с помощью dd if=/dev/zero насоздавал 20ГБ заглушек, сейчас вроде бы планшет ведет себя адекватно.

Как я понял, нормальных способов переразметить дисковое пространство изнутри нет, нужно подготовить прошивку соответствующим образом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 часа назад, alibek сказал:

Вообщем с помощью dd if=/dev/zero насоздавал 20ГБ заглушек, сейчас вроде бы планшет ведет себя адекватно.

Как я понял, нормальных способов переразметить дисковое пространство изнутри нет, нужно подготовить прошивку соответствующим образом.

От платформы зависит. На медиатеке таки да, надо файло с разбивкой готовить. (На интело-софье я вообще победить не смог. Сильно заморочено.)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 02.08.2018 в 16:49, alibek сказал:

Знакомые принесли безымянный китайский планшет с Андроид 5.1.

На планшете обнаружился такой глюк — если в память устройства попытаться скопировать большой файл (более 2 ГБ), то файл не копируется и после этого в памяти устройства нельзя создать подкаталог. Можно свободно копировать и изменять файлы, можно переименовывать или удалять каталоги, но создать новый нельзя, при этой операции происходит ошибка. Если сделать очистку и форматирование памяти устройства, то проблема уходит. Видимо повреждается файловая система и почему-то не исправляется при перезагрузке.
Всяческие утилиты по исправлению SD-карт ничем не помогают (если вообще работают). При подключении к ПК планшет определяется не как USB Storage, а как MTP, поэтому с ПК проверить и исправить файловую систему я не могу. Рута нет и процедура его получения весьма замороченная (с риском окирпичить устройство), поэтому включить режим USB Storage пока не получается.
Не посоветуете, можно ли эту проблему как-то решить?

Вам нужно снять дамп boot, там лежит initrd, там лежит fstab и прочая хрень. Далее форматите нужный вам раздел в ext2/ext3, собираете обратно boot с подправленным fstab, заливаете его обратно в устройство и отдаете клиенту. boot будет приблизительно 8-10 MB, собирается/разбирается утилитами типа abootimg. Для этого всего я бы обзавелся TWRP/CWM, что бы выйти из положения - кирпич. И еще изучил бы вопрос о локе на данном устройстве, т.к. некоторые вендоры ревностно охраняют свои поделки и лочат лоадер, который при старте проверяет boot.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это я и имел ввиду, говоря «нормальных способов переразметить дисковое пространство изнутри нет».

Создал заглушки, сказал, чтобы не удаляли, пока этого достаточно.

Еще хорошо было бы поменять права доступа, чтобы файлы удалить было нельзя, но не получилось — ФС смонтирована с опциями, запрещающими смену владельца/разрешений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

5 минут назад, alibek сказал:

Это я и имел ввиду, говоря «нормальных способов переразметить дисковое пространство изнутри нет».

Создал заглушки, сказал, чтобы не удаляли, пока этого достаточно.

Еще хорошо было бы поменять права доступа, чтобы файлы удалить было нельзя, но не получилось — ФС смонтирована с опциями, запрещающими смену владельца/разрешений.

fdisk? Вы ж, просто, пытаетесь на смонтированной mmcblk1 делать что-то... Зачем? Во-первых это блочное устройство, во-вторых оно смонтированно. Сперва размонтируйте его umount -l <mount_point>, потом безобразничайте как хотите. Но я б поправил fstab.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

С fdisk я уже понял свою ошибку.

Во-первых, не размонтировал раздел (а при размонтировании системного раздела скорее всего и шелл вылетит), а во-вторых mmcblk1 это вообще внешняя SD. Мне нужно было устройство mmcblk0, fdisk это устройство увидел, на нем более десятка различных разделов и я решил не экспериментировать.

Кроме того, принцип (про распаковку и модификацию загрузчика) я понял, но это уже слишком глубокое "погружение", тут уже потребуется планшетом заняться плотно и потратить на него пару дней минимум. Может как-нибудь потом, если найду более пристойную прошивку.

А пока что создание файлов-заглушек заняло у меня 10 минут и проблему решило.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

12 минут назад, alibek сказал:

С fdisk я уже понял свою ошибку.

Во-первых, не размонтировал раздел (а при размонтировании системного раздела скорее всего и шелл вылетит), а во-вторых mmcblk1 это вообще внешняя SD. Мне нужно было устройство mmcblk0, fdisk это устройство увидел, на нем более десятка различных разделов и я решил не экспериментировать.

Кроме того, принцип (про распаковку и модификацию загрузчика) я понял, но это уже слишком глубокое "погружение", тут уже потребуется планшетом заняться плотно и потратить на него пару дней минимум. Может как-нибудь потом, если найду более пристойную прошивку.

А пока что создание файлов-заглушек заняло у меня 10 минут и проблему решило.

fdisk /dev/block/mmcblk0, даёте p, там за счет EFI видите названия разделов, находите boot, например /dev/block/mmcblk0p1, делаете прямо на планшете dd if=/dev/block/mmcblk0p1 of=/sdcard/boot.img, копируете boot.img на ПК. Там с помощью abootimg распаковываете boot.img, находите там fstab со строкой vfat. Редактируете на ext3. Собираете обратно в boot.img и делаете обратную процедуру dd if=/sdcard/boot.img of=/dev/block/mmcblk0p1. Далее форматируете ваше блочное устройство в ext3 mkfs.ext3 или mkfs.ext2 + tune2fs (все это добро можно найти в busybox). И перезагружаете устройство. Работы на 30-40 минут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

4 минуты назад, tartila сказал:

находите там fstab со строкой vfat. Редактируете на ext3.

Зачем? Память телефона и так ext3 и проблема там не с файлами размером более 2 ГБ (это была моя первоначальная версия), а в неверном размере устройства.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

5 минут назад, alibek сказал:

Зачем? Память телефона и так ext3 и проблема там не с файлами размером более 2 ГБ (это была моя первоначальная версия), а в неверном размере устройства.

Аааа... Фуфловый размер mmcblk1 ? :) Бывает... fdisk /dev/mmcblk1 -> n -> новая партиция нужного размера и правка fstab.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нет, внешняя SD нормальная, фейковый размер на mmcblk0.

А там разделов много, причем sdcard0 в середине, поэтому шашкой махать не стал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, tartila сказал:

/dev/mmc*

Сдаётся мне что это всё нарезка внутренней флеш памяти.

Проверить легко - вытащить SD флешку.

Мне пока не доводилось заниматься переразбивкой разделов.

Раньше китайцы баловались тем, что используя сервисный софт указывали контроллеру USB флешки размер флеша больше чем было распаяно, в итоге флешка у которой венда думала что 32 Гб с распаянными 8Гб просто писала файлы по кругу.

Здесь скорее всего размер последней партиции просто задрали, но я не знаю как там что размечается на практике.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

7 минут назад, Ivan_83 сказал:

Сдаётся мне что это всё нарезка внутренней флеш памяти.

mmcblk1 — это внешняя SD, содержит единственный раздел mmcblk1p1 (и я в ходе экспериментов ее случайно запорол, пришлось заново разбивать, форматировать и записывать файлы).

mmcblk0 — это внутренняя флешка, на ней более десятка разделов. С ней я экспериментировать не рискнул, планшет нужно было отдать вечером.

При запуске fdisk /dev/mmcblk0 выдавалось предупреждение, что end устройства не задан (были проставлены нули). Ну а для раздела sdcard0 (помоему это был memcblk0p18) был задан размер 32 ГБ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, alibek сказал:

 

При запуске fdisk /dev/mmcblk0 выдавалось предупреждение, что end устройства не задан (были проставлены нули). Ну а для раздела sdcard0 (помоему это был memcblk0p18) был задан размер 32 ГБ.

Пфф, вообще "изи", d/n и fdisk автоматом салигнит место начала и конца, ну или "на глазок". Ясен пень, он ХЗ куда писал при такой разбивке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.