Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

O2 3G modem / usb_modeswitch headaches

  • 29-07-2011 11:51PM
    #1
    Closed Accounts Posts: 4,763 ✭✭✭


    Help me out here. I've been rolling my face on the keyboard over this for about a month. There actually seems to be a fair body of woes, workarounds and HOWTOS out there involving this class of Huawei device, but none regarding my specific model.

    I own an Huawei E5832S 3G/WIFI dongle, marketed by O2 as the O2 Hotshot. As in common with a lot of other Linux users I'm having problems with the dongle being detected as mass storage instead of as a 3G modem. However, I so far have been unable to make any headway in switching it to the correct mode under Linux. My system/distro info:
    Linux tehsmallpwn 2.6.38-10-generic #46-Ubuntu SMP Tue Jun 28 15:05:41 UTC 2011 i686 i686 i386 GNU/Linux
    

    Detailed lsusb output can be found here and firmware/hardware versions here.

    lsusb shows the dongle connected in USB mode:
    Bus 001 Device 005: ID 12d1:142d Huawei Technologies Co., Ltd.
    

    Before I dive into the steps I've followed, I need to recount something strange: Windows 7 reports the correct device ID for 3G mode (0x1401) when I connect the dongle. This correct ID persists when I boot back into Linux, but the dongle still shows up as a USB mass storage device.

    So here I go. My usb_modeswitch.conf is set up as follows:
    DefaultVendor	= 	0x12d1 
    DefaultProduct	= 	0x142d 
    
    TargetVendor	=	0x12d1
    TargetProduct	=	0x1401
    
    HuaweiMode	=	1
    

    When I run usb_modeswitch, a success is reported, but the mode doesn't change:
    [root][mark] # usb_modeswitch -v 0x12d1 -p 0x142d -V 0x12d1 -P 0x1401 -c /etc/usb_modeswitch.conf 
    
    Looking for target devices ...
     No devices in target mode or class found
    Looking for default devices ...
     Found devices in default mode, class or configuration (1)
    Accessing device 021 on bus 001 ...
    Getting the current device configuration ...
     OK, got current device configuration (1)
    Using endpoints 0x01 (out) and 0x81 (in)
    Using endpoints 0x01 (out) and 0x81 (in)
    Not a storage device, skipping SCSI inquiry
    
    USB description data (for identification)
    -------------------------
    Manufacturer: Huawei Incorporated
         Product: HUAWEI Mobile Connect
      Serial No.: 1234567890ABCDEF
    -------------------------
    Sending Huawei control message ...
     OK, Huawei control message sent
    -> Run lsusb to note any changes. Bye.
    
    [root][mark] # lsusb | grep Huawei
    Bus 001 Device 021: ID 12d1:142d Huawei Technologies Co., Ltd. 
    

    Help me before I try to throw this modem through the window, only to watch it bounce off the glass with a tink and land on the window sill.


Comments

  • Registered Users, Registered Users 2 Posts: 60 ✭✭obviousTroll


    Have you tried using Sakis3g?

    I remember having problems with my Three (Huawei) dongle on Backtrack until I used it.

    If not, let me know, and I'll help you out.


  • Registered Users, Registered Users 2 Posts: 634 ✭✭✭loldog




  • Closed Accounts Posts: 6,300 ✭✭✭CiaranC


    Fenster wrote: »
    Help me before I try to throw this modem through the window, only to watch it bounce off the glass with a tink and land on the window sill.
    Why are you trying to use it as a 3g modem? Just connect to it via wifi. Thats what its for...


  • Closed Accounts Posts: 4,763 ✭✭✭Fenster


    CiaranC wrote: »
    Why are you trying to use it as a 3g modem? Just connect to it via wifi. Thats what its for...

    WiFi is for my iPod. I have in my hands a fully-functional 3G modem, and I want to use it in that capacity.


  • Registered Users, Registered Users 2 Posts: 2,365 ✭✭✭spoonbadger


    I had the same problem when i was using Ubuntu. My Huawei e220 modem would be recognized as a storage drive, and Ubuntu would try to open it automatically and no longer recognize it as a modem, so i couldn't connect to it.

    Is there an option for disabling auto-open with USB devices in Ubuntu/Gnome? That may have been how i solved it (can't remember, long since moved to a different distro).

    You could try booting into a failsafe terminal, and using the wvdial method loldog suggested and see if that works. If so, start poking around for ways to make gnome not do silly automatic things.


  • Advertisement
  • Closed Accounts Posts: 4,763 ✭✭✭Fenster


    I had the same problem when i was using Ubuntu. My Huawei e220 modem would be recognized as a storage drive, and Ubuntu would try to open it automatically and no longer recognize it as a modem, so i couldn't connect to it.

    Is there an option for disabling auto-open with USB devices in Ubuntu/Gnome? That may have been how i solved it (can't remember, long since moved to a different distro).

    You could try booting into a failsafe terminal, and using the wvdial method loldog suggested and see if that works. If so, start poking around for ways to make gnome not do silly automatic things.

    I don't actually use Gnome (Openbox, usually). The problem isn't related to Gnome at all, but in fact is deep down in the system where USB devices are detected. The dongle seemingly advertises itself as a dual-mode device, but where Linux and OS X will correctly identify both, Linux picks the mass storage and rolls with it.

    Different distros have maintainers who watch for things like this and correct them; it just so happens in Ubuntu that this hasn't occurred with this specific model of device.

    If any developer reads this: Please forgive any muddling and butchering of terminology.


  • Closed Accounts Posts: 4,763 ✭✭✭Fenster


    Have you tried using Sakis3g?

    I remember having problems with my Three (Huawei) dongle on Backtrack until I used it.

    If not, let me know, and I'll help you out.

    I tried it briefly; it doesn't seem to help me as it needs to find a 3G device to configure, although I have not explored all of the options yet.


  • Closed Accounts Posts: 4,763 ✭✭✭Fenster


    I copied this thread onto the Ubuntu forms a few days ago. In that thread I did receive some excellent advice about a possible solution, and although it didn't work I did come away with some excellent information:

    When I force a mode switch the system acknowledges the 3G device and then disconnects it (according to dmesg):
    [root][usb_modeswitch.d] # usb_modeswitch -I -W -c /etc/usb_modeswitch.d/12d1\:142d
    
    Reading config file: /etc/usb_modeswitch.d/12d1:142d
    
     * usb_modeswitch: handle USB devices with multiple modes
     * Version 1.1.6 (C) Josua Dietze 2010
     * Based on libusb0 (0.1.12 and above)
    
     ! PLEASE REPORT NEW CONFIGURATIONS !
    
    DefaultVendor=  0x12d1
    DefaultProduct= 0x142d
    TargetVendor=   0x12d1
    TargetProduct=  0x1401
    TargetClass=    not set
    TargetProductList=""
    
    DetachStorageOnly=0
    HuaweiMode=0
    SierraMode=0
    SonyMode=0
    GCTMode=0
    KobilMode=0
    MessageEndpoint=  not set
    MessageContent="55534243123456780000000000000011062000000100000000000000000000"
    NeedResponse=0
    ResponseEndpoint= not set
    Interface=0x00
    
    InquireDevice disabled
    Success check disabled
    System integration mode disabled
    
    usb_set_debug: Setting debugging level to 15 (on)
    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 005
    usb_os_find_devices: Found 001 on 004
    usb_os_find_devices: Found 001 on 003
    usb_os_find_devices: Found 001 on 002
    usb_os_find_devices: Found 022 on 001
    skipped 3 class/vendor specific interface descriptors
    skipped 2 class/vendor specific interface descriptors
    skipping descriptor 0x25
    skipped 1 class/vendor specific endpoint descriptors
    skipped 1 class/vendor specific interface descriptors
    usb_os_find_devices: Found 021 on 001
    skipping descriptor 0xB
    skipped 1 class/vendor specific endpoint descriptors
    skipped 3 class/vendor specific interface descriptors
    usb_os_find_devices: Found 003 on 001
    skipping descriptor 0xB
    skipped 1 class/vendor specific endpoint descriptors
    skipped 6 class/vendor specific interface descriptors
    skipping descriptor 0x25
    skipped 1 class/vendor specific endpoint descriptors
    skipped 9 class/vendor specific interface descriptors
    usb_os_find_devices: Found 001 on 001
    error obtaining child information: Inappropriate ioctl for device
    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 1d6b:0001
      searching devices, found USB ID 1d6b:0001
      searching devices, found USB ID 1d6b:0001
      searching devices, found USB ID 1d6b:0001
      searching devices, found USB ID 05ac:1293
      searching devices, found USB ID 12d1:142d
       found matching vendor ID
      searching devices, found USB ID 0c45:62c0
      searching devices, found USB ID 1d6b:0002
     No devices in target mode or class found
    Looking for default devices ...
      searching devices, found USB ID 1d6b:0001
      searching devices, found USB ID 1d6b:0001
      searching devices, found USB ID 1d6b:0001
      searching devices, found USB ID 1d6b:0001
      searching devices, found USB ID 05ac:1293
      searching devices, found USB ID 12d1:142d
       found matching vendor ID
       found matching product ID
       adding device
      searching devices, found USB ID 0c45:62c0
      searching devices, found USB ID 1d6b:0002
     Found devices in default mode, class or configuration (1)
    Accessing device 021 on bus 001 ...
    Getting the current device configuration ...
     OK, got current device configuration (1)
    Using endpoints 0x01 (out) and 0x81 (in)
    Using endpoints 0x01 (out) and 0x81 (in)
    
    USB description data (for identification)
    -------------------------
    Manufacturer: Huawei Incorporated
         Product: HUAWEI Mobile Connect
      Serial No.: 1234567890ABCDEF
    -------------------------
    Looking for active driver ...
     OK, driver found ("option")
     OK, driver "option" 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
    -> Run lsusb to note any changes. Bye.
    

    dmesg:
    [ 8754.737326] usb 1-3: USB disconnect, address 20
    [ 8754.745376] option: option_instat_callback: error -108
    [ 8754.745560] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
    [ 8754.745611] option 1-3:1.2: device disconnected
    [ 8756.216120] usb 1-3: new high speed USB device using ehci_hcd and address 21
    [ 8756.373358] option 1-3:1.0: GSM modem (1-port) converter detected
    [ 8756.374033] usb 1-3: GSM modem (1-port) converter now attached to ttyUSB0
    [ 8756.375010] scsi6 : usb-storage 1-3:1.1
    [ 8756.376338] option 1-3:1.2: GSM modem (1-port) converter detected
    [ 8756.377175] usb 1-3: GSM modem (1-port) converter now attached to ttyUSB1
    [ 8756.386303] cdc_ether: probe of 1-3:1.3 failed with error -32
    [ 8757.376348] scsi 6:0:0:0: CD-ROM            HUAWEI   Mass storage     ffff PQ: 0 ANSI: 2
    [ 8757.378337] scsi 6:0:0:1: Direct-Access     HUAWEI   Mass storage     ffff PQ: 0 ANSI: 2
    [ 8757.391591] sr0: scsi-1 drive
    [ 8757.392598] sr 6:0:0:0: Attached scsi CD-ROM sr0
    [ 8757.393266] sr 6:0:0:0: Attached scsi generic sg1 type 5
    [ 8757.394750] sd 6:0:0:1: Attached scsi generic sg2 type 0
    [ 8757.408579] sd 6:0:0:1: [sdb] Attached SCSI removable disk
    [ 9961.220110] usb 1-4: new high speed USB device using ehci_hcd and address 22
    [10466.907149] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
    [10466.907229] option 1-3:1.0: device disconnected
    


  • Registered Users, Registered Users 2 Posts: 1,698 ✭✭✭D'Peoples Voice


    Hi Fenster,
    I had tried a number of workarounds, including installing Gnome PPP etc,
    and to no avail....until today - thanks to Franklin Chua.

    My steps were
    I went to /etc/udev/rules.d and made a copy of an existng rules file to my desktop.
    Then I changed its name to "15-huawei-155x.rules"
    and using Gedit overwrote the content within the file with
    ACTION!=”add”, GOTO=”huawei_zerocd_end”
    
    SUBSYSTEM==”usb”, ATTR{bDeviceClass}!=”ff” ,ENV{DEVTYPE}==”usb_device”, GOTO=”huawei_zerocd_disable”
    SUBSYSTEM==”scsi”, ENV{DEVTYPE}==”scsi_device”, GOTO=”huawei_zerocd_disable”
    GOTO=”huawei_zerocd_end”
    
    LABEL=”huawei_zerocd_disable”
    ATTRS{idVendor}==”12d1″, ATTRS{idProduct}==”1446″, RUN+=”modem-modeswitch -v 0x%s{idVendor} -p 0x%s{idProduct} -t option-zerocd”
    
    LABEL=”huawei_zerocd_end”
    

    Then simply used the mv function to move it to /etc/udev/rules.d
    went into Connection Manager again, and added a new O2 Mobile Broadband connection. Then I rebooted the computer and selected to enable Mobile Broadband in my Connection Manager.
    Finally I selected the name of the Mobile Broadband connection i had set up and it connected first time ;)


  • Closed Accounts Posts: 664 ✭✭✭Galen


    You could try gnome's network manager instead of openbox's. I do use it on Kubuntu instead of KDE's network manager.


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 60 ✭✭obviousTroll


    This is what I used when I had usb_modeswitch issues.... particulatly in Backtrack 5

    http://www.sakis3g.org/


  • Closed Accounts Posts: 4,763 ✭✭✭Fenster


    Sorry for neglecting this thread!

    I wound up switching back to Windows 7 a few weeks ago. I lost my /home partition to a hardware failure and I perceived a need for Windows at school anyway, so here I am...

    I'm restoring my Ubuntu backup onto the notebook come this weekend, and I'll take another crack at this problem then. Thank you one and all for solutions so far. :D


Advertisement