Unlocking a Novatel Merlin U530 under Linux
Or another reason why I am glad that I don’t use 3 anymore.
I should have posted this some time ago, but forgot and so it has been sitting in my Drivel drafts folder for a bit.
You might want to try these instructions under Windows too, if you get a dud unlock. Just use another terminal emulator instead of minicom.
Skip the history and read how to unlock it
I recently switched from 3 mobile to virgin for my UMTS data. I already had a Novatel Merlin U530 card from three. The card isn’t fantastic but it works pretty well at up to 384/64Kbps which is good enough for mail and feed reading (my main 2 activities on the train) or SSH.
When trying to get the card unlocked, 3 was less than helpful initially, which is pretty normal for them. Initially the operator told me that my card could not be unlocked, when I asked why I was told it was in my contract. When I read the contract I had signed to the operator I was put on hold. She came back and told me that it couldn’t be unlocked, I told her it could as I had read online that it could. Then I hear in the background “just keep telling him it can’t be unlocked”. When I asked to speak to the person in the background telling her what to say she told me that there was no one telling her what to say. I told her I could hear the guy and that I wanted to either speak to the person or get their name so it could be included in a report to the TIO. I was again put on hold. About 1 minute later I was told that I would be transferred to data services.
After spending a little while on hold I got to speak to someone in data services. First they wanted to know why I wanted my card unlocked, I explained I could get a better deal elsewhere, to which the response was that I could talk to sales to see if there were any new offers available - I declined. Next I had to play 20 questions to make sure I was the account holder and that I was out of contract. After reading the IMEI code off the bottom of the card I was given the unlock code and told that I would be emailed the software - a zip file containing some Windows only application.
I had my content filtering too high so amavis bounced the message the first time. When I rung 3 back, at first 3 told me that I need to talk to my ISP as it was very strange that the message was bounced, I told them I would just use another account - my gmail account. The guy then told me that gmail bounces their messages, so we used my old hotmail account.
So now I had the software, so I tried using XP under qemu to talk to the card for the unlocking, no luck. A few days later I borrowed a XP laptop from a friend. By now I had misplaced the unlock code. Back on the 3 merri go round, this time data services was happy to hand over the code. The operator waited on hold while I unlocked the card. I started the application, inserted the card, plugged in the unlock code and got the message confirming that the card was unlocked.
Later that day I tried using a Vodafone SIM, no go. Another Vodafone SIM no go. My Virgin SIM didn’t work either. I tried using the unlock software but kept giving me errors.
I thought going to a 3 store might get it fixed quickly. Basically I was told that as the card was out of warranty and I wasn’t using a 3 SIM they wouldn’t provide any support. The best I could do was pay for a firmware reload from a non authorised service centre.
Back to the 3 call centre merry-go-round. I explained that I was extremely close to lodging a TIO or Consumer Affairs complaint as the card useless and not working as advertised. I spoke to a helpful operator who told me he would escalate the job.
Over the weekend I spent a fair bit of time searching for answers. Eventually I ended up finding a list of AT+C modem commands. In the list was
AT+CLCK
which is for facility lock. I played with it a bit and found that network personalisation was still active, but no other locks were on. This seemed strange to me. I figured this is where my problem was.
Howto
This is how I unlocked my card. You must have a 3 (or locking carrier) SIM inserted in the card while attempting this.
I connected to the card using minicom by running the following in a terminal (I didn’t need to be root).
minicom /dev/ttyS2
Minicom should then load and output something similar to this
Welcome to minicom 2.2
OPTIONS: I18n
Compiled on Mar 7 2007, 15:10:03.
Port /dev/ttyS2
Press CTRL-A Z for help on special keys
AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
OK
I then entered
AT+CLCK=?
which should return
+CLCK: ("AB","AC","AG","AI","AO","IR","OI","OX","PN","SC")
OK
This is a list of locks available on the card.
Enter the following
AT+CLCK="PN",2
Which means, for network personalisation (PN), query the status (2), which should output
+CLCK: 1
OK
The 1 indicates locked.
You will need your unlock code from your carrier - I do not know how to get it other than via your carrier. This is not a “how to unlock your card with the unlock code” howto. So replace <CODE> with your unlock code.
AT+CLCK="PN",0,<CODE>
The 0 is for unlock. If it works should get OK or something, I forget exactly the response, but ERROR means it failed.
Now your card is unlocked and should work with any carrier.
Use [ctrl] x to quit minicom.
Enjoy!
If you need the settings details for using a Merlin U530 with Virgin Mobile in Australia under Linux try the following
/etc/ppp/peers/virgin
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/virgin"
debug
/dev/ttyS2
defaultroute
usepeerdns
ipcp-accept-remote
ipcp-accept-local
460800 crtscts
/etc/chatscripts/virgin
# ispauth chat
# abortstring
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIALTONE' ABORT 'NO ANSWER' ABORT DELAYED
# modeminit
'' ATZ
#OK 'AT IPR=115200'
# Check SIM pin should return ready
OK-AT-OK "AT+CPIN?"
# Use either 3G or GPRS, remove comment to force 3G
#OK-AT-OK AT$NWRAT=0,2
# Setup AP name
OK-AT-OK 'AT+CGDCONT=1,"IP","VirginInternet"'
# Set PPP QoS info (I never saw the point of this)
#OK-AT-OK 'AT+CGEQREQ=3,3,64,384,0,0,2,0,"0E0","0E0",3,0,0'
# Attached to virgin network, will return 1
OK-AT-OK 'AT+CGATT?'
# create a ppp connection
OK-AT-OK 'ATD*99#'