-- I'M STILL WORKING ON GETTING UPDATES WITH THIS --
I have an Alcatel X230D supplied by O2. It is a USB 3G modem.
It has the following credentials in lsusb:
Bus 003 Device 003: ID 1bbb:f017 T & A Mobile Phones
When tailing /var/log/syslog I see the the following:
usb 3-2: new high-speed USB device number 5 using xhci_hcd usb 3-2: New USB device found, idVendor=1bbb, idProduct=f017 usb 3-2: New USB device strings: Mfr=3, Product=2, SerialNumber=4 usb 3-2: Product HSPA Data Card usb 3-2: Manufacturer: USBModem usb 3-2: SerialNumber: 1234567890ABCDEF scsi9: usb-storage 3-2:1.0 mtp-probe: checking bus 3, device 5: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-2 mtp-probe: bus: 3, device: 5 was not an MTP device kernel: [xxxxx.xxxxxx] scsi 9:0:0:0: Direct-Access ALCATEL Mass Storage 2.31 PQ: 0 ANSI: 2 kernel: [xxxxx.xxxxxx] scsi 9:0:0:1: CD-ROM ALCATEL Mass Storage 2.31 PQ: 0 ANSI: 2 kernel: [xxxxx.xxxxxx] sd 9:0:0:0: Attached scsi generic sg1 type 0 kernel: [xxxxx.xxxxxx] sd 9:0:0:0: [sdb] Attached SCSI removable disk kernel: [xxxxx.xxxxxx] sr0: scsi-1 drive kernel: [xxxxx.xxxxxx] sr 9:0:0:1: Attached scsi CD-ROM sr0 kernel: [xxxxx.xxxxxx] sr 9:0:0:1: Attached scsi generic sg2 type 5 usb_modeswitch: switching device 1bbb:f017 on 003/005
I've tried following this suggestion: http://askubuntu.com/a/131331/212 which did nothing. I've tried using the "Binary Free" and the AMD64 versions of the script at http://www.sakis3g.org, both of which identify the "HSPA Data Card", and both state "Failed to connect."
I've turned on advanced logging in /etc/usb_modeswitch.conf (EnableLogging=1)
The pertinent details (I believe) are here:
Extracting config 1bbb:f017 from collection /usb/share/usb_modeswitch/configPack.tar.gz config: TargetVendor set to 1bbb config: TargetProduct set to 0017 Driver module is "option", ID path is /sys/bus/usb-serial/drivers/option1 ! matched, now switching Command to be run: /usr/sbin/usb_modeswitch -I -W -D -s 20 -c /run/usb_modeswitch/current_cfg -u 1 -v 1bbb -p f017 2>&1 <SNIP> * usb_modeswitch: handle USB devices with multiple modes * Version 1.2.3 (C) Josua Dietze 2012 * Based on libusb0 (0.1.12 and above) DefaultVendor= 0x1bbb DefaultProduct= 0xf017 TargetVendor= 0x1bbb TargetProduct= 0x0017 TargetClass= not set TargetProductList="" <SNIP> Looking for target devices ... searching devices, found USB ID 1bbb:f017 found matching vendor ID No devices in target mode or class found Looking for default devices ... searching devices, found USB ID 1bbb:f017 found matching vendor ID found matching product ID adding device Found device in default mode, class or configuration (1) Accessing device 005 on bus 003 Skipping the check for the current configuration using first interface: 0x00 Using endpoints 0x01 (out) and 0x81 (in) <SNIP> Looking for active driver ... OK, driver found ("usb-storage") OK, driver "usb-storage" detached Setting up communication with interface 0 Using endpoint 0x01 for message sending Trying to send message 1 to endpoint 0x01 OK, message successfully sent Resetting response endpoint 0x81 Resetting message endpoint 0x01 Checking for mode switch (max. 20 times, once per second) ... Searching for target devices ... searching devices, found USB ID 1bbb:f017 found matching vendor ID Searching for target devices ... searching devices, found USB ID 1bbb:f017 found matching vendor ID <SNIP> Searching for target devices ... searching devices, found USB ID 1bbb:f017 found matching vendor ID No new devices in target mode or class found Mode switch has failed. Bye.
I have noticed this entry: Alcatel X500 datacard won't recognize on ubuntu 12.04 using xhci which suggests that there may be an issue with xHCI, however, unlike this person, I am unable to disable xHCI in my bios on my Acer V5-171.
So.... I did some more digging after posting this, and found this link: http://www.draisberghof.de/usb_modeswitch/#contrib
I found a suitable Windows XP machine, ran the USB Sniff application mentioned in that page, and (eventually - I'll blog this at some point) got this data:
[196 ms] >>> URB 5 going down >>> -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER: PipeHandle = 864fedf4 [endpoint 0x00000001] TransferFlags = 00000002 (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 0000001f TransferBuffer = f7911184 TransferBufferMDL = 00000000 00000000: 55 53 42 43 78 56 34 12 01 00 00 00 80 00 06 06 00000010: f5 04 02 52 70 00 00 00 00 00 00 00 00 00 00 UrbLink = 00000000
According to this walk-through: http://blogger.ziesemer.com/2008/10/alltel-um175al-usb-evdo-ubuntu.html you take the value from the PipeHandle endpoint, and that's the MessageEndpoint value (0x01) plus the long value after TransferBufferMDL which is the MessageContent.
This gives me a usb_modeswitch.conf entry of this:
DefaultVendor = 0x1bbb DefaultProduct = 0xf017 MessageEndpoint = 0x01 MessageContent = 55534243785634120100000080000606f50402527000000000000000000000
However, running sudo usb_modeswitch -c usb_modeswitch.conf I get
Looking for default devices ... found matching product ID adding device Found device in default mode, class or configuration (1) Accessing device 023 on bus 003 ... Getting the current device configuration ... OK, got current device configuration (1) Using first interface: 0x00 Using endpoints 0x01 (out) and 0x81 (in) Inquiring device details; driver will be detached ... Looking for active driver ... OK, driver found ("usb-storage") OK, driver "usb-storage" detached
And there it stays...
OK... so it turns out, I might have jumped the gun a little.
I unpacked /usr/share/usb_modeswitch/configPack.tar.gz and updated 1bbb:f017 with the new settings. I unplugged and re-plugged the device, and while it took a little time to come up, eventually... it worked! So, I'll be filing a bug with the USB_ModeSwitch project to get this new message added to their distribution.
Update after submitting the bug to USB_ModeSwitch. Turns out all of the above is pointless. The existing config file does work, but you need to run it through a couple of times manually. I'm just waiting on feedback from the guys over at USB_ModeSwitch to get some ideas on fixing this up!