When you attach the tata photon+ dongle, you might notice that this was identified as a mass storage device instead of a usb modem.
Well, the reason for this is explained in this blog post here.
Several new USB devices have their proprietary Windows drivers onboard, especially WAN dongles. When plugged in for the first time, they act like a flash storage and start installing the driver from there. If the driver is already installed, the storage device vanishes and a new device, such as an USB modem, shows up. This is called the “ZeroCD” feature.
On Debian, this is not needed, since the driver is included as a Linux kernel module, such as “usbserial”. However, the device still shows up as “usb-storage” by default. usb-modeswitch solves that issue by sending the command which actually performs the switching of the device from “usb-storage” to “usbserial”.
Make sure you have installed these two packages.
Now run the following commands.
sudo touch 12d1\:1505
Now copy the contents below to the newly created file 12d1\:1505
Type ‘sudo usb_modeswitch -I -W -c 12d1:1505’ (You may have to run this every time you connect and disconnect the modem)
Now, once open the network manager you can add the new device identified as tata huawei modem
use the username and password as ‘internet’
After running the above command I get the following error :
Reading config file: 12d1:1505
* usb_modeswitch: handle USB devices with multiple modes
* Version 1.1.4 (C) Josua Dietze 2010
* Based on libusb0 (0.1.12 and above)
! PLEASE REPORT NEW CONFIGURATIONS !
DefaultProduct= not set
TargetClass= not set
MessageEndpoint= not set
ResponseEndpoint= not set
Success check enabled, max. wait time 20 seconds
System integration mode disabled
usb_set_debug: Setting debugging level to 15 (on)
usb_os_find_busses: Found 007
usb_os_find_busses: Found 006
usb_os_find_busses: Found 005
usb_os_find_busses: Found 004
usb_os_find_busses: Found 003
usb_os_find_busses: Found 002
usb_os_find_busses: Found 001
usb_os_find_devices: Found 001 on 007
usb_os_find_devices: Found 001 on 006
usb_os_find_devices: Found 001 on 005
usb_os_find_devices: Found 001 on 004
usb_os_find_devices: Found 001 on 003
usb_os_find_devices: Found 003 on 002
skipped 4 class/vendor specific interface descriptors
usb_os_find_devices: Found 001 on 002
error obtaining child information: Inappropriate ioctl for device
usb_os_find_devices: Found 001 on 001
No default vendor/product ID given. Aborting.