Linux ADB Driver for LG Viper (LG-LS840) On most devices I've run across I can plug the device into a Linux machine and no additional drivers are needed in order for ADB to communicate with the device.

However on two LG devices from last year I am having trouble. 


LG Viper (LG-LS840) 
LG Optimus Elite (LG-LS969)


When I plug the devices in ADB does not list them when I run adb devices to get a list of connected devices. (I get an empty list)

I have ensured that USB Debugging is turned on for both devices. And I have at some point installed an LG driver which allows the ADB to work correctly from my Windows 7 PC. (Interestingly only the Viper works on my Windows PC, the Optimus Elite can't be found by the adb on windows either)

However I would really like to use ADB from a linux machine. I am far more concerned about getting the Viper working than the Optimus Elite, but a fix that worked for both would be ideal.

On the linux machine in question I can successfully use ADB to connect with every other device I've tested so I know that my environment is set up correctly.

I have tried creating various android.rules files under /etc/udev/rules.d/ but thus far nothing I've tried has had any effect. After creating 51-android.rules and filling in the appropriate vendor id (1004 for LG) I no longer need to use sudo adb to see the devices that do work, still nothing with the Viper though.

My question is: Do I need some sort of additional drivers in order to get ADB working correctly for the LG Viper (LG-LS840) on Linux, and if so where can I find said drivers? If not does anyone know if there is some setup step that I am missing that will allow this device to communicate with my Linux computer via ADB? 

EDIT: I ran `lsusb' here are the relavent outputs:

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


The top line is a newer LG device that is working properly, the bottom line is the Viper device that can't communicate with adb.
Normally, the quickest 'fix' to see what's going on is to try sudo adb devices (or sudo ./adb devices if you downloaded adb stand-alone.) If that works, then your permissions aren't right. Once the server starts you can use adb without sudo.

However since you said other phones work, my guess is that the LG phones attempt to auto-detect or auto-negotiate MTP / USB Mass Storage and don't like your Linux system (this is nothing new, vendors don't test this.)

There are no drivers for Linux for this (aside: I hope there never are.)

Check dmesg and lsusb output - it's possible they're doing something funny on the phone side with USB.

You may need to force any sort of auto-mounting or USB storage option to "charge only" which should make the phone behave.