Русскоязычное Linux-сообщество's Journal
 
[Most Recent Entries] [Calendar View]

Tuesday, February 14th, 2017

    Time Event
    7:09p
    Теперь линукс таки работает с тем андроидом..
    В продолжение поста "Линукс не работает с андроидом". На случай, если у кого встретится аналогичная проблема, делюсь своим решением.

    Проблема: при втыкании смартфона в ноутбук линукс сообщал, что видит подключённое андроидное устройство, но показывал только тамошний виртуальный CD-ROM. А вот файловая система самого смартфона (по MTP) почему-то оказывалась совершенно недоступна, и adb этого смартфона не видел, и fastboot тоже.

    Этот дефект проявлялся только на одном экземпляре линукса, и только при втыкании смартфона в уже загруженную систему. Если смартфон воткнуть до загрузки, или в другой линукс, или в винду (даже в виртуальную на том же самом невидящем его линуксе), то все они нормально видели файловую систему смартфона по MTP, и adb работал.

    Оказалось, что при втыкании смартфона в тот уже загруженный линукс, на этом USB-устройстве почему-то обнаруживалась пачка серийных портов от GSM-модемов. Хотя в смартфоне и мобильный интернет, и wifi, и USB tethering были выключёны. И из-за этого подгружались модули usbserial, usb_wwan, и ещё какой-то option. Вот этот option и вызывал проблемы. Во всех других вариантах подключения ничего подобного не обнаруживалось, лишние модули не грузились, и потому всё нормально работало.

    Просто так этот option не удалялся: rmmod: ERROR: Module option is in use, хотя я совершенно не понимаю, кто им пользовался.
    И даже rmmod -f иногда выдавал ошибки:
    rmmod: ERROR: ../libkmod/libkmod-module.c:777 kmod_module_remove_module() could not remove 'option': Device or resource busy
    rmmod: ERROR: could not remove module option: Device or resource busy


    Хуже того, при повторных попытках rmmod -f option система иногда вообще рушилась в kernel panic.

    Стандартный блэклистинг модулей почему-то тоже не помог, они всё равно грузились.
    В конечном итоге помогло вписывание install option /bin/true в /etc/modprobe.d/option.conf . После этого option перестал грузиться, и всё заработало как полагается.

    << Previous Day 2017/02/14
    [Calendar]
    Next Day >>

Русскоязычное Linux-сообщество   About LJ.Rossia.org