This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

problem using huawei 3G modem on gingerbread



hi all
i m trying to use huawei e303 3G modem on beaglebaord and android gingerbread
the problem is when ever i connect the modem it is not creating any interfaces in /dev directory

i have enabled below things in the kernel configuration : linux-2.6.37

*] Network device support ---> 
<*> PPP (point-to-point protocol) support
<*> PPP BSD-Compress compression
<*> PPP Deflate compression
<*> PPP support for async serial ports
<*> PPP support for sync tty ports [*]
USB support --->
<*> USB Modem (CDC ACM) support <*>
USB Serial Converter support --->
[*] USB Generic Serial Driver
 <*> USB driver for GSM and CDMA modems ( i couldnt find this on linux 2.6.37)



on ubuntu 10.04 it is creating all required interfaces and working fine ...


kindly help..
  • Kiran,

     

    I too am working on the same sort of thing on another Linux project right now.   These modems have two different modes of operation.  Initialy, when connected, they apear as a mass storage device.  This is so when they are issued to a user, he merly has to stick it into his (Wine dos) machine and the drivers are installed imediatly if he has not previously inserted it into his computer.  From that point onwards, the drivers that are installed will do whats called in the Linux world a usb_modeswitch.  Look up usb_modeswitch.  This utility can cause the modem to disconnect and re-connect as a CDC-MODEM device with new product ID.  You need a couple of things to make this work.  Research udev for auto detecting and dispatching operations on detection of a new USB device.  You will need usb_modeswitch.  You will also need pppd and wvdial to complete the packages.  You will also need the appropriate USB-SERIAL drivers for the modem after you usb_modeswitch it.  Good luck amd please report back what you find during your journey!

  • hi chris

    i tried to change the mode .. but im getting error like 

    "Looking for active driver ...
    USB error: could not get bound driver: No data available
     No driver found. Either detached before or never attached "

    complete log is here ...

    any drivers missing ? pls help

    root@beagleboard:~# usb_modeswitch -I -W -c /etc/usb_modeswitch.conf

    Reading config file: /etc/usb_modeswitch.conf
    Warning: TargetProductList overrides TargetProduct!

     * usb_modeswitch: handle USB devices with multiple modes
     * Version 1.1.9 (C) Josua Dietze 2011
     * Based on libusb0 (0.1.12 and above)

     ! PLEASE REPORT NEW CONFIGURATIONS !

    DefaultVendor=  0x12d1
    DefaultProduct= 0x1c05
    TargetVendor=   0x12d1
    TargetProduct=  not set
    TargetClass=    not set
    TargetProductList="1001,1406,140b,140c,1412,141b,1c05,14fe,1506"

    DetachStorageOnly=0
    HuaweiMode=0
    SierraMode=0
    SonyMode=0
    GCTMode=0
    KobilMode=0
    SequansMode=0
    MobileActionMode=0
    CiscoMode=0
    MessageEndpoint=  not set
    MessageContent="55534243123456780000000000000011060000000000000000000000000000"
    NeedResponse=0
    ResponseEndpoint= not set
    Interface=0x00

    InquireDevice disabled
    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 001
    usb_os_find_devices: Found 005 on 001
    skipped 4 class/vendor specific interface descriptors
    skipped 4 class/vendor specific interface descriptors
    skipped 4 class/vendor specific interface descriptors
    usb_os_find_devices: Found 003 on 001
    usb_os_find_devices: Found 002 on 001
    usb_os_find_devices: Found 001 on 001
    error obtaining child information: Inappropriate ioctl for device
    error obtaining child information: Inappropriate ioctl for device

    Looking for target devices ...
      searching devices, found USB ID 12d1:1c05
       found matching vendor ID
       found matching product ID from list
      searching devices, found USB ID 0424:ec00
      searching devices, found USB ID 0424:9514
      searching devices, found USB ID 1d6b:0002
     Found devices in target mode or class (1)
    Looking for default devices ...
      searching devices, found USB ID 12d1:1c05
       found matching vendor ID
       found matching product ID
       adding device
      searching devices, found USB ID 0424:ec00
      searching devices, found USB ID 0424:9514
      searching devices, found USB ID 1d6b:0002
     Found devices in default mode, class or configuration (1)
    Accessing device 005 on bus 001 ...
    Getting the current device configuration ...
     OK, got current device configuration (1)
    Using endpoints 0x01 (out) and 0x82 (in)

    USB description data (for identification)
    -------------------------
    Manufacturer: HUAWEI
         Product: HUAWEI Mobile
      Serial No.: not provided
    -------------------------
    Looking for active driver ...
    USB error: could not get bound driver: No data available
     No driver found. Either detached before or never attached
    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 0x82
    Resetting message endpoint 0x01

    Checking for mode switch (max. 20 times, once per second) ...
     Searching for target devices ...
    usb_os_find_busses: Found 001
    usb_os_find_devices: Found 005 on 001
    skipped 4 class/vendor specific interface descriptors
    skipped 4 class/vendor specific interface descriptors
    skipped 4 class/vendor specific interface descriptors
    usb_os_find_devices: Found 003 on 001
    usb_os_find_devices: Found 002 on 001
    usb_os_find_devices: Found 001 on 001
    error obtaining child information: Inappropriate ioctl for device
    error obtaining child information: Inappropriate ioctl for device
      searching devices, found USB ID 12d1:1c05
       found matching vendor ID
       found matching product ID from list
      searching devices, found USB ID 0424:ec00
      searching devices, found USB ID 0424:9514
      searching devices, found USB ID 1d6b:0002
     Searching for target devices ...
    usb_os_find_busses: Found 001
    usb_os_find_devices: Found 005 on 001
    skipped 4 class/vendor specific interface descriptors
    skipped 4 class/vendor specific interface descriptors
    skipped 4 class/vendor specific interface descriptors
    usb_os_find_devices: Found 003 on 001
    usb_os_find_devices: Found 002 on 001
    usb_os_find_devices: Found 001 on 001
    error obtaining child information: Inappropriate ioctl for device
    error obtaining child information: Inappropriate ioctl for device
      searching devices, found USB ID 12d1:1c05
       found matching vendor ID
       found matching product ID from list
      searching devices, found USB ID 0424:ec00
      searching devices, found USB ID 0424:9514
      searching devices, found USB ID 1d6b:0002
     Searching for target devices ...
    usb_os_find_busses: Found 001
    usb_os_find_devices: Found 005 on 001
    skipped 4 class/vendor specific interface descriptors
    skipped 4 class/vendor specific interface descriptors
    skipped 4 class/vendor specific interface descriptors
    usb_os_find_devices: Found 003 on 001
    usb_os_find_devices: Found 002 on 001
    usb_os_find_devices: Found 001 on 001
    error obtaining child information: Inappropriate ioctl for device
    error obtaining child information: Inappropriate ioctl for device