I recently had need to attach a Verizon USB dongle to a Raspberry PI device running Linux for mobile internet access. Documenting here in order so it won’t take so long to find this in the future if I need to get it to work again.
Steps:
I used another computer (Mac or Windows) in order to set up the device initially. You can browse to 192.168.32.2 and under the settings ensure that 1) the firmware is up to date and 2) the device is set to automatically connect.
On Linux, the device first enumerates with Vid/Pid 10a9:606f. If it does not receive a command to switch, it changes to 10a9:6072. This interface seems to bind properly with the qmi_wwan driver but I wasn’t able to connect to the internet with that and it isn’t what the other platforms were using. You want the 10a9:6064 interface. In order to get that interface, you can use udev and usb_modeswitch to cause the device to come up as expected.
ATTRS{idVendor}==”10a9″, ATTRS{idProduct}==”606f”, RUN=”/bin/sh -c ‘usb_modeswitch -v 10af -p 606f -F 4′”
/etc/udev/rules.d/99-lte.rules
If that works properly, you should have something like the following via lsusb:
Bus 001 Device 029: ID 10a9:6064 SK Teletech Co., LtdĀ
From there, it just worked for me with the cdc_ether driver. Linux was able to grab an IP address from the device.