mcphail / linux_huawei_unlocker

A utility to remove the SIM lock on Huawei USB modems
GNU General Public License v2.0
107 stars 51 forks source link

Failure in unlock Huawei E303: Could not identify active port #5

Open Sucharitha81 opened 10 years ago

Sucharitha81 commented 10 years ago

I am running on Ubuntu 13.04. I was trying to unlock my Huawei E303 dongle. I found this application by posting a question on How to unloack a USB Broadband Modem ? at askubuntu.com.

I tried to unlock using this application. But the result was Could not identify active port.

In my system python-serial was already installed. There was python2.7 installed. I followed all the steps in README.

This is good work done by you. Wish you all the best to improve this further !

Below is the terminal dialogue :

`dumindumahawela@dumindumahawela:~$ su Password: root@dumindumahawela:/home/dumindumahawela# cd /home/dumindumahawela/Downloads/linux_huawei_unlocker-0.3 root@dumindumahawela:/home/dumindumahawela/Downloads/linux_huawei_unlocker-0.3# ./unlocker.py


Huawei modem unlocker
By Neil McPhail and dogbert
This is Free Software as defined by the GNU GENERAL PUBLIC
LICENSE version 2

This software comes with NO WARRANTY
This software can damage your hardware
Use it at your own risk

Not all modems can be unlocked with this software.
Users have reported problems with the following devices:
    E220, E353
Attempting to unlock these devices with this software is not
recommended. I hope to fix this in a later release.

If you wish to proceed, please type YES at the prompt

YES Trying to find which port is the active modem connection. Please be patient as this can take a while.

Could not identify active port. root@dumindumahawela:/home/dumindumahawela/Downloads/linux_huawei_unlocker-0.3#`

mcphail commented 10 years ago

Thanks for taking the time to make a bug report.

I haven't heard of any previous successes or failures for that modem model. Can you confirm that you have placed a "foreign" SIM in the modem and that your network manager application is not set to automatically try to connect?

Sucharitha81 commented 10 years ago

This dongle is given by Mobitel (Sri Lanka) . I inserted a SIM of Dialog (Sri Lanka) . Network manager was not set to " Connect Automatically".

Further : I also having installed modemmanager application. This dongle works with its own SIM. unlocker.py can detect my other dongle which is already unlocked.(In a separate attempt)

On 11/24/13, Neil McPhail notifications@github.com wrote:

Thanks for taking the time to make a bug report.

I haven't heard of any previous successes or failures for that modem model. Can you confirm that you have placed a "foreign" SIM in the modem and that your network manager application is not set to automatically try to connect?


Reply to this email directly or view it on GitHub: https://github.com/mcphail/linux_huawei_unlocker/issues/5#issuecomment-29152378

mcphail commented 10 years ago

I've been doing a bit of research about this model. It seems to be set up as a psuedo-ethernet device rather than a standard USB modem. I think it is possible to use some usb-modeswitch magic to make it work like a standard USB modem but I don't think my script can compute the unlock code for these devices anyway.

As far as I am aware, there is no freely available algorithm for computing unlock codes on the E3... devices. If anyone knows of one, please send me a link!

Sorry I can't help just now but consider this a work-in-(slow)-progress,

Sucharitha81 commented 10 years ago

Thanks for your kind intervention on my matter. I need your help from your knowledge. Can it use with usbmodeswitch with unlock code that are given in certain websites.?

I tried it with 5 attempts with Mobile Partner software which contain a Unlocking function. But wasnt succeed.

IMEI number of this dongle is 868988011401780 and a website given me the code 49311704. I tried with this software : http://nacitasyifa.web.id/content/download-mobile-partner-linux-20003-can-sms-and-voice-call-too

thanks On 11/24/13, Neil McPhail notifications@github.com wrote:

I've been doing a bit of research about this model. It seems to be set up as a psuedo-ethernet device rather than a standard USB modem. I think it is possible to use some usb-modeswitch magic to make it work like a standard USB modem but I don't think my script can compute the unlock code for these devices anyway.

As far as I am aware, there is no freely available algorithm for computing unlock codes on the E3... devices. If anyone knows of one, please send me a link!

Sorry I can't help just now but consider this a work-in-(slow)-progress,


Reply to this email directly or view it on GitHub: https://github.com/mcphail/linux_huawei_unlocker/issues/5#issuecomment-29158748

mcphail commented 10 years ago

Without having one of these devices I cannot be sure. Nor do I know what the vendor-supplied firmware will be doing to things. If you are feeling brave you could try this as root:

usb_modeswitch -v 0x12d1 -v 0x14fe -M "55534243123456780000000000000011062000000100000000000000000000"

I have no idea whether this will help, break your modem, set fire to your home or kill your pet. It is taken from http://www.draisberghof.de/usb_modeswitch/.

Edit: This won't unlock your modem but might make it show up as a standard usb modem device.

erm3nda commented 7 years ago

usb_modeswitch will not kill pets :-) but i am also not 100% sure of it

the port detection failurre can be some of these:

  1. you didn't ran it as sudo
  2. your stick has modem+sdcard, so USB1 will BREAK the script cuz will not respond to AT commands.

You can surround line 73 function like

def identifyPort():
    print "Trying to find which port is the active modem connection."
    print "Please be patient as this can take a while.\n\n"
    for p in glob.glob('/dev/ttyUSB*'):
        try:
            print "Testing port " + p
            ser = serial.Serial(port = p,
                    timeout = 15)
            ser.write('AT\r\n')
            activity = ser.read(5)
            if activity == '':
                print "\tNo activity\n"
                ser.close()
                continue

            print "\tActivity detected\n"
            ser.close()
            return p
        except Exception as e:
            pass
    return ''