Комментарии 42
НЛО прилетело и опубликовало эту надпись здесь
Судя по статье, менять ядро не нужно — всё остаётся штатным. Недостающая функциональность подгружается модулем — это не требует никаких действий с ядром на телефоне.
+3
Всё верно. Ядро остаётся какое было. Только модуль добавляется отдельным файлом.
0
НЛО прилетело и опубликовало эту надпись здесь
Я согласен с тем, что способ сложный, запарный, не-факт-что-получится, требует затрат времени и рута. Но я же не заставляю :) Есть старый способ, он тоже работает, просто не такой универсальный.
Мне хотелось, чтобы я мог прийти в любое место и раздать интернет первому попавшемуся под руку ноутбуку. Я своей цели добился.
Мне хотелось, чтобы я мог прийти в любое место и раздать интернет первому попавшемуся под руку ноутбуку. Я своей цели добился.
+7
А как можно пользоваться устройством без root прав? )
+11
НЛО прилетело и опубликовало эту надпись здесь
Настроить под себя!
+6
Как раз таки на Хабре сидят не миллионы лемингов, которые, как всем известно, не могут ошибаться (потому что ничего не делают). А отдельные сводолюбивые хомячки, которые ошибаются, тестят свои ошибки, дебажат и так делают что то новое.
Так что здесь доля root прав на Хабре повышена.
Так что здесь доля root прав на Хабре повышена.
+2
Убрать совершенно всю рекламу, включая ту, что в приложениях не пожирая цпу проксей, например. Еще можно удалять всякий мусор от вендора, если прошивка родная, а еще можно перенастроить разгон процессора, много чего можно делать. Ах да, еще и звонки записывать позволяет, и в тор ходить всем приложениям, а не только тем, которые умеют с прокси работать. Список можно продолжать очень долго.
+2
уж где-где, а на хабре концентрация юзеров с рутоваными девайсами одна из высочайших
интересно, а как вы без adaway живете? рекламу смотрите? :D
интересно, а как вы без adaway живете? рекламу смотрите? :D
+1
Спорный момент. Как по мне, лучше 1 раз решить проблему кардинально и серьёзно, чем потом на каждом устройстве что-то подкручивать (что в итоге может занять больше времени, чем описанный автором вариант).
+3
Напомнило:
+41
Супер! Такой способ, как я понимаю, подойдет и для добавления драйверов произвольных устройств в Андроид без пересборки ядра?
Купил как-то китайский адаптер ethernet to usb otg, якобы работающий с android устройствами. Китайцы в качестве андроид драйвера приложили исходники на Си:) Устройство на смартфоне не определяется (вполне возможно они имели в виду планшеты а не смартфоны).
Купил как-то китайский адаптер ethernet to usb otg, якобы работающий с android устройствами. Китайцы в качестве андроид драйвера приложили исходники на Си:) Устройство на смартфоне не определяется (вполне возможно они имели в виду планшеты а не смартфоны).
0
«Произвольных» — не получится: многие драйвера требуют-таки правок в ядро. Но процент успеха велик, процентов 90, можно попробовать.
0
Бывает :)
Да, этот способ должен подойти.
Примечание. Некоторые технические детали: ядро мы всё же пересобираем, просто не используем то, что получилось. Только модули. Просто если вообще не собирать ядро, то модули или не соберутся, или будут кривые, скорее всего.
Я рекомендую сразу не пихать китайские исходники в ядро, а поискать в menuconfig, нет ли там уже нужного пункта.
Да, этот способ должен подойти.
Примечание. Некоторые технические детали: ядро мы всё же пересобираем, просто не используем то, что получилось. Только модули. Просто если вообще не собирать ядро, то модули или не соберутся, или будут кривые, скорее всего.
Я рекомендую сразу не пихать китайские исходники в ядро, а поискать в menuconfig, нет ли там уже нужного пункта.
0
По поводу сборок чего-либо разными тулчейнами, считаю нужным предупредить:
Хорошо, когда собираете ядро, там лишних хедеров не нужно, это вещь в себе. Компилятор совместимый — и хорошо. Но при компиляции чего-либо для userspace не ругайте Android NDK за несовместимости и глюки. NDK совершенно не предназначен для системного ПО, используйте встроенную билд систему, тулчейны и sysroot от AOSP. Да, это долго, но гораздо более совместимо.
Хорошо, когда собираете ядро, там лишних хедеров не нужно, это вещь в себе. Компилятор совместимый — и хорошо. Но при компиляции чего-либо для userspace не ругайте Android NDK за несовместимости и глюки. NDK совершенно не предназначен для системного ПО, используйте встроенную билд систему, тулчейны и sysroot от AOSP. Да, это долго, но гораздо более совместимо.
0
Говорят, если раздавать интренет в WiFi с помощью ClockworkMod Tether, то и root не нужен, и TTL сам правится.
-1
Я читал, что для этого нужно настраивать специальное ПО на компе.
0
Ну, для начала — эта штука не умеет раздавать WiFi, интернет гоняет только по USB. Во вторых — ей нужен клиент на ПК. В третьих TTL оно не правит, оно просто создает тоннель через ADB, вот TTL и остается таким, будто все отправляется с телефона. А root да, не нужен. Нужен только ADB.
+1
Живой человек, который собирает ядра под андроид! У меня к вам вопрос. Имею Galaxy Note 2 s amoled дисплеем. И мне не совсем нравится то, как работает механизм управления яркостью дисплея. Дело в том, что для понижения яркости драйвер просто заставляет пиксели включаться и выключаться. Чем больше паузы — тем ниже яркость. Но это создает эффект мерцания, от которого у меня и некоторых других пользователей болят глаза/голова. На первых прошивках мерцания не наблюдалось при яркости 42.7% и при значениях больше 85%. Соответственно я пользовался лишь этими двумя настройками. Но потом с обновлениями все поменялось, и не мерцает лишь при яркости более 85%.
Можно ли как-то заставить драйвер не мерцать дисплеем?
Я качал исходники ядра и тщетно пытался отыскать нужный кусок кода (я не умею ни читать ни писать код). Что нужно делать, подскажите пожалуйста?
Можно ли как-то заставить драйвер не мерцать дисплеем?
Я качал исходники ядра и тщетно пытался отыскать нужный кусок кода (я не умею ни читать ни писать код). Что нужно делать, подскажите пожалуйста?
-2
Для такой безысходной ситуации у меня есть ответ: Вам нужно приобрести комплект стёкол разной мутности (или тонированности). И вместо регуляции подсветки выставить её на 100 и класть поверх дисплея стекло с подходящей мутностью :)
Ну а если серьёзно, то предположим, что Вы немножко научились читать код. Тогда я предлагаю действовать не в лоб — читать код ядра и всё понимать (с ядром такое обычно не прокатывает) — а использовать аналитический метод: скачать исходники ядра новой версии и исходники ядра старой версии. После этого либо найти нужные файлы и сравнить по содержимому, либо, если совсем туго, то сравнить всё массово. А дальше, изучать отличия. Успехов! :)
Ну а если серьёзно, то предположим, что Вы немножко научились читать код. Тогда я предлагаю действовать не в лоб — читать код ядра и всё понимать (с ядром такое обычно не прокатывает) — а использовать аналитический метод: скачать исходники ядра новой версии и исходники ядра старой версии. После этого либо найти нужные файлы и сравнить по содержимому, либо, если совсем туго, то сравнить всё массово. А дальше, изучать отличия. Успехов! :)
+2
А вы уверены, что соответствующие драйвера имеются в исходниках? Обычно все, что касается конкретных девайсов, проприетарное и поставляется в бинарных модулях.
0
Обычно, это делается простым управлением PWM-генератором, который имеется на борту чипа и ядро про это знает. Другое дело, что возможно это управление вынесено в user space. Но чисто интуитивно, мне кажется, что найти проблему в ядре можно.
Описываемае проблема похожа на следующий эффект: допустим нам нужно уменьшить яркость экрана на 50%, для этого PWM программируется так, чтобы половину времени выдавать 0, а вторую половину — 1. Но вот эта самая половина может быть распределена по разному. Можно так: 0,5 секунды — 0, 0,5 секунды — 1. Частота мецания будет — 1Гц. А можно сделать то же самое, но с частотой 1КГц. В первом случае будет очень заметно, во втором — нет.
Почему я думаю, что проблема в ядре? Потому что такую тонкую регулировку скважности обычно не выносят в юзерспейс. Но это ИМХО, основанное на ковырянии ещё в ядре 2.4 под один промышленный АРМ-контроллер когда-то очень давно.
Описываемае проблема похожа на следующий эффект: допустим нам нужно уменьшить яркость экрана на 50%, для этого PWM программируется так, чтобы половину времени выдавать 0, а вторую половину — 1. Но вот эта самая половина может быть распределена по разному. Можно так: 0,5 секунды — 0, 0,5 секунды — 1. Частота мецания будет — 1Гц. А можно сделать то же самое, но с частотой 1КГц. В первом случае будет очень заметно, во втором — нет.
Почему я думаю, что проблема в ядре? Потому что такую тонкую регулировку скважности обычно не выносят в юзерспейс. Но это ИМХО, основанное на ковырянии ещё в ядре 2.4 под один промышленный АРМ-контроллер когда-то очень давно.
0
Я, как автор предыдущей статьи, хочу внести свои 5 копеек.
Во-первых, плюсую за проделанную работу, вы очень молодец!
Во-вторых, я сделал решение на коленке, для себя, на время отсутствия проводного интернета.
В-третьих, йота жадничает мобильный интернет, от этого и был такой мой посыл и из-за этого родился мой пост. Я по большей части пользуюсь этим оператором, т.к. у них нет роуминга по стране и пакеты минут распространяются на звонки по территории РФ.
P.S. Вы действительно хотите раздавать интернет с телефона на офис?
Во-первых, плюсую за проделанную работу, вы очень молодец!
Во-вторых, я сделал решение на коленке, для себя, на время отсутствия проводного интернета.
В-третьих, йота жадничает мобильный интернет, от этого и был такой мой посыл и из-за этого родился мой пост. Я по большей части пользуюсь этим оператором, т.к. у них нет роуминга по стране и пакеты минут распространяются на звонки по территории РФ.
P.S. Вы действительно хотите раздавать интернет с телефона на офис?
+1
Не могу не отписаться. Это традиционный способ определить раздачу инета. Ещё есть способ по tcp seq id, если они сильно отличаются от пакета к пакету — то атата. Только это немного сложней определить =) Ну и количество ложных срабатываний может быть больше. Но аналитическим образом можно с 100% вероятностью определить. Так же есть метод определения по user-agent. Практически никогда не бывает одинаковых юзерагентов на разных тачках, только если специально не настроить, но это уже если есть DPI у оператора.
Ещё рекомендую настроить iptables -I FORWARD 1 -m conntrack --ctstate INVALID -j DROP.В МТСе была проблема даже на штатных роутерах, дропалось PDP, если пролетало больше 10 невалидных пакетов. Что именно считается невалидным в рамках оборудования МТС я не знаю, но пакет прилетевший не с выданного ИП адреса в трубу 3G считался невалидным. У меня такие пакеты пролетали в результате несрабатывания NAT по каким-то неизвестным мне причинам. В итоге поправили на стороне оператора, хотя с моей стороны временное решение в виде правила выше тоже работало, но я решил пойти дальше, т.к. проблема проявлялась даже на официальных 3g-wifi роутерах.
Ещё рекомендую настроить iptables -I FORWARD 1 -m conntrack --ctstate INVALID -j DROP.В МТСе была проблема даже на штатных роутерах, дропалось PDP, если пролетало больше 10 невалидных пакетов. Что именно считается невалидным в рамках оборудования МТС я не знаю, но пакет прилетевший не с выданного ИП адреса в трубу 3G считался невалидным. У меня такие пакеты пролетали в результате несрабатывания NAT по каким-то неизвестным мне причинам. В итоге поправили на стороне оператора, хотя с моей стороны временное решение в виде правила выше тоже работало, но я решил пойти дальше, т.к. проблема проявлялась даже на официальных 3g-wifi роутерах.
+2
Ну по юзерагенту это совсем уж убогий способ, на мой взгляд. Во-первых, только http (даже не https), а во-вторых — всякие приложения для вк, твиттера и другие — они же все работают в основном через http и у каждого свой юзерагент. Йота запарится прописывать их в разрешённые.
За инфу, в целом, спасибо! :)
За инфу, в целом, спасибо! :)
0
И кстати ещё один способ возможный — поднять openvpn — пролезет даже через йоту (которая вроде gre режет) и наплевать на все ограничения. Даже не IOS не нужен джейл для опена. Единственный нюанс — нужен сам openvpn сервер.
+1
Если для личных нужд, то VPS стартуют от 5 долларов в месяц.
0
Йота же VPN режет, недавно об этом писали. Как openvpn при этом пролезет, можно поподробнее?
0
Спасибо!
Ваш собранный модуль прекрасно работает и на 157й прошивке sony Z1 compact.
Ваш собранный модуль прекрасно работает и на 157й прошивке sony Z1 compact.
+1
Всем, кто заинтересован: в конце статьи добавлен скомпилированный модуль для Xperia V.
0
Ещё одно обновление: в конце статьи добавил модуль под 5-ый Android для Xperia Z1 Compact.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Универсальный метод обхода запрета Yota раздавать интернет с телефона или собираем модуль ядра Android