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.

3G usb modem interface with beaglebone problem

Hi all,

I am using Beaglebone Rev A6  with TI_Android_Gingerbread_2_3_4_devkit_2_1_1.  I am trying to enable 3G connection using Huawei E1750 usb dongle.

By following the TI porting guide i have configured kernel and added usb_modeswitch and  usb_modeswitch.conf.

When the dongle is inserted, on the console i am getting error message-

[ 268.599735] usb 2-1: new full speed USB device number 2 using musb-hdrc
[ 268.740470] usb 2-1: device v12d1 p1446 is not supported
[ 268.755941] scsi0 : usb-storage 2-1:1.0
[ 269.762195] scsi 0:0:0:0: CD-ROM WCDMA MMC Storage 2.31 PQ: 0 ANSI: 2
[ 269.778031] sr0: scsi-1 drive
[ 269.781177] cdrom: Uniform CD-ROM driver Revision: 3.20
[ 269.787724] sr 0:0:0:0: Attached scsi generic sg0 type 5
[ 274.922162] sr0: CDROM (ioctl) error, command: cdb[0]=0x51 51 00 00 00 00 00 00 00 02 00
[ 274.930682] sr: Sense Key : 0x4 [current]
[ 274.934961] sr: ASC=0x0 ASCQ=0x0
[ 275.012141] sr0: CDROM (ioctl) error, command: cdb[0]=0x46 46 00 00 00 00 00 00 00 20 00
[ 275.020639] sr: Sense Key : 0x4 [current]
[ 275.024914] sr: ASC=0x0 ASCQ=0x0
[ 275.092154] sr0: CDROM (ioctl) error, command: cdb[0]=0x46 46 00 00 28 00 00 00 00 10 00
[ 275.100657] sr: Sense Key : 0x4 [current]
[ 275.104933] sr: ASC=0x0 ASCQ=0x0
[ 275.172155] sr0: CDROM (ioctl) error, command: cdb[0]=0x46 46 00 00 20 00 00 00 00 18 00
[ 275.180650] sr: Sense Key : 0x4 [current]
[ 275.184926] sr: ASC=0x0 ASCQ=0x0
[ 275.262160] sr0: CDROM (ioctl) error, command: cdb[0]=0x46 46 00 00 00 00 00 00 00 20 00
[ 275.270665] sr: Sense Key : 0x4 [current]
[ 275.274941] sr: ASC=0x0 ASCQ=0x0

# mount -t usbfs usbfs /proc/bus/usb
mount: No such file or directory

Could anyone pls guide me to solve this problem?

Thanks

  • Could anyone give some points to solve this problem...your help will be appreciated.

  • I'm not sure but you can try to eject the sr0 cdrom device - I don't know how can it be done in android - busybox has "eject".

    I have ZTE MF 195 modem and it works in that way under PC linux. 

    I saw also some solutions where modem manufactures provided scripts which write some configuration to usb endpoint -

    so usb_modeswithch can be tricky. 

    R,

    Karol

  • Also 

    see

    "You may need to mount the usbfs file system to see the files, use │
    │ mount -t usbfs none /proc/bus/usb │
    │ │
    │ For the format of the various /proc/bus/usb/ files, please read │
    │ <file:Documentation/usb/proc_usb_info.txt>. │
    │ │
    │ Modern Linux systems do not use this."

    Probably your kernel (3.x) does not have this enabled.

  • Hi Karol,

    Thanks for the reply.

    The usbfs filesystem got mounted by enabling the option in kernel.

    From the error message when modem is connected, [ 268.740470] usb 2-1: device v12d1 p1446 is not supported   does it mean that this modem is not supported in android?

    Also the usb_modeswitch fails and the node ttyUSB is not getting created

    # /system/xbin/usb_modeswitch -I -W -c /system/xbin/usb_modeswitch.conf 

    Reading config file: /system/xbin/usb_modeswitch.conf

    * 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= 0x1446
    TargetVendor= 0x12d1
    TargetProduct= not set
    TargetClass= not set
    TargetProductList="1001,1406,140b,140c,1412,141b,1436,14ac,1506"

    DetachStorageOnly=0
    HuaweiMode=0
    SierraMode=0
    SonyMode=0
    GCTMode=0
    KobilMode=0
    SequansMode=0
    MobileActionMode=0
    CiscoMode=0
    MessageEndpoint=0x01
    MessageContent="55534243123456780000000000000011062000000100000000000000000000"
    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 002
    usb_os_find_busses: Found 001
    usb_os_find_devices: Found 002 on 002
    usb_os_find_devices: Found 001 on 002
    error obtaining child information: Inappropriate ioctl for device
    usb_os_find_devices: Found 001 on 001

    Looking for target devices ...
    searching devices, found USB ID 12d1:1446
    found matching vendor ID
    searching devices, found USB ID 1d6b:0002
    searching devices, found USB ID 1d6b:0002
    No devices in target mode or class found
    Looking for default devices ...
    searching devices, found USB ID 12d1:1446
    found matching vendor ID
    found matching product ID
    adding device
    searching devices, found USB ID 1d6b:0002
    searching devices, found USB ID 1d6b:0002
    Found devices in default mode, class or configuration (1)
    Accessing device 002 on bus 002 ...
    Getting the current device configuration ...
    OK, got current device configuration (1)
    Using endpoints 0x01 (out) and 0x85 (in)

    USB description data (for identification)
    -------------------------
    Manufacturer: Qualcomm, Incorporated
    Product: Ý
    MMC Storage
    Serial No.: not provided
    -------------------------
    Looking for active driver ...
    OK, driver found ("usb-storage")
    OK, driver "usb-storage" detached
    Setting up communication with interface 0
    USB error: could not clear/halt ep 1: No such file or directory
    Using endpoint 0x01 for message sending ...
    Trying to send message 1 to endpoint 0x01 ...
    USB error: error submitting URB: No such file or directory
    Sending the message returned error -2. Trying to continue
    Resetting response endpoint 0x85
    Resetting message endpoint 0x01
    USB error: could not clear/halt ep 1: No such file or directory
    Could not reset endpoint (probably harmless): -2

    Checking for mode switch (max. 20 times, once per second) ...
    Searching for target devices ...
    usb_os_find_busses: Found 002
    usb_os_find_busses: Found 001
    usb_os_find_devices: Found 002 on 002
    usb_os_find_devices: Found 001 on 002
    error obtaining child information: Inappropriate ioctl for device
    usb_os_find_devices: Found 001 on 001
    searching devices, found USB ID 12d1:1446
    found matching vendor ID
    searching devices, found USB ID 1d6b:0002
    searching devices, found USB ID 1d6b:0002
    ....

    Searching for target devices ...
    usb_os_find_busses: Found 002
    usb_os_find_busses: Found 001
    usb_os_find_devices: Found 002 on 002
    usb_os_find_devices: Found 001 on 002
    error obtaining child information: Inappropriate ioctl for device
    usb_os_find_devices: Found 001 on 001
    searching devices, found USB ID 12d1:1446
    found matching vendor ID
    searching devices, found USB ID 1d6b:0002
    searching devices, found USB ID 1d6b:0002
    No new devices in target mode or class found
    Mode switch has failed. Bye.

    Thanks,

  • ebin jose said:
    From the error message when modem is connected, [ 268.740470] usb 2-1: device v12d1 p1446 is not supported   does it mean that this modem is not supported in android?

    Is it the same modem modem considered in TI web manual (this one you've mentioned)? You can look up for you modem vpid and ppid in usb/usb_serial/usb_acm drivers but I assume that this modem is supported, especially if  this modem is handled by CDC_ACM class drivers. 

    Maybe you have already known that your problem is to change modem mode from some kind of storage where windows drivers are kept (not needed in linux) to modem mode - the device will change its ppid too. About usb_modeswitch - I can't help much - I only understand that it failed and you have cdrom device instead modem.