Драйвер Linux ADB для LG Viper (LG-LS840)

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

Однако на двух устройствах LG прошлого года у меня возникли проблемы.

  • LG Вайпер (LG-LS840)
  • LG Оптимус Элит (LG-LS969)

Когда я подключаю устройства, ADB не перечисляет их, когда я запускаю, adb devicesчтобы получить список подключенных устройств. (Я получаю пустой список)

Я убедился, что отладка по USB включена для обоих устройств. И в какой-то момент я установил драйвер LG, который позволяет ADB правильно работать с моего ПК с Windows 7. (Интересно, что на моем ПК с Windows работает только Viper, Optimus Elite также не может быть найден через adb на Windows)

Однако я бы очень хотел использовать ADB с Linux-машины. Я гораздо больше беспокоюсь о том, чтобы Viper работал, чем Optimus Elite, но исправление, которое работало бы для обоих, было бы идеальным.

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

Я пытался создать различные файлы android.rules, /etc/udev/rules.d/но до сих пор ничего из того, что я пробовал, не имело никакого эффекта. После создания 51-android.rulesи заполнения соответствующего идентификатора поставщика (1004 для LG) мне больше не нужно использовать sudo adb, чтобы увидеть, какие устройства работают, но с Viper все еще ничего.

Мой вопрос: Нужны ли мне какие-то дополнительные драйверы для правильной работы ADB для LG Viper (LG-LS840) в Linux, и если да, то где я могу найти указанные драйверы? Если нет, кто-нибудь знает, есть ли какой-то этап настройки, который я пропустил, что позволит этому устройству взаимодействовать с моим компьютером Linux через ADB?

РЕДАКТИРОВАТЬ: я запустил `lsusb', вот соответствующие выходные данные:

Bus 001 Device 007: ID 1004:6312 LG Electronics, Inc.
Bus 001 Device 008: ID 1004:6317 LG Electronics, Inc.

Верхняя строка - более новое устройство LG, которое работает нормально, нижняя строка - устройство Viper, которое не может связаться с adb.

Выходные lsusb -vданные для этих устройств необходимы, чтобы узнать, что здесь происходит — просто видеть VID:PID недостаточно.

Ответы (1)

Обычно самое быстрое «исправление», чтобы увидеть, что происходит, — это попробовать sudo adb devices(или sudo ./adb devicesесли вы загрузили автономный adb). Если это работает, значит, ваши разрешения неверны. После запуска сервера вы можете использовать adb без sudo.

Однако, поскольку вы сказали, что другие телефоны работают, я предполагаю, что телефоны LG пытаются автоматически обнаруживать или автоматически согласовывать MTP / USB Mass Storage и им не нравится ваша система Linux (в этом нет ничего нового, поставщики не тестируют это. )

Драйверов для Linux для этого нет (в сторону: надеюсь, никогда не будет).

Проверяйте dmesgи lsusbвыводите - возможно они что-то забавное делают на стороне телефона с USB.

Возможно, вам придется принудительно настроить любой вариант автоматического монтирования или USB-накопителя на «только зарядку», что должно заставить телефон работать.

Я отредактировал свой вопрос, включив вывод из lsusb. Я предполагаю, что небольшая разница в идентификаторе вызывает у меня проблемы. Я не знаком с lsusbинструментом. Является ли идентификатор поставщика полной строкой («1004:6317») или идентификатором поставщика является только часть перед двоеточием? ('1004') Все рассматриваемые устройства по умолчанию используют режим «Только зарядка», поэтому я думаю, что это не моя проблема.
Похоже, кому-то нужно добавить этот идентификатор в список, который считается телефоном. Вы должны быть в состоянии сделать это самостоятельно, если сможете перекомпилировать ядро.
На самом деле adbпод Linux доступ к USB-устройствам осуществляется libusbбез какого-либо специального драйвера ядра. Также adbесть список идентификаторов поставщиков , которые разрешено использовать, но это не объясняет рассматриваемой проблемы, поскольку идентификаторы поставщиков для обоих телефонов одинаковы. А в случае проблем с разрешениями из-за отсутствия правил udev adb devicesв списке явно отображается «нет разрешений», так что это тоже не причина этой проблемы.