Howto Fix text messages when switching from an iPhone to an Android phone

If you are not getting any text messages from your contacts after switching to Android, you have to remove your number from Apple’s servers.

First, put the old sim in your iPhone and disable iMessage.
Next, go to this webpage.
Follow the instructions and you should be good to go.
HTH. 🙂

Howto make your ordinary printer an (HP) Airprint printer

I wanted our brother laser printer to work on my wife’s iphone , it turns out it’s fairly easy to do.

First one needs to install CUPS,which is the only printer server that I use. It just works period.
Then I had to add the printer. I set it up using socket://ip address per the CUPS manual. It says there socket or otherwise known as the jetdirect protocol is the fastest way to connect one’s printer so try that first. For me it worked right out of the box.

Now,in order for the printer to appear on an Iphone or an Ipad,one just needs to check off that box that says “share this printer”. That’s it! Voila! Instant Airprinting! Take note though that one must be using the latest CUPS version so if its not working try updating.

Now, there are certain apps that I notice that asks for a specific brand of printer eg ,so when one tries to use print it doesn’t show on the list of available printer. I found a hack to make it work. It’s kinda trivial really. This is how you do it. Let’s say if I wanted my Brother to show up as an HP printer all I need to do is edit the ppd file for that printer. So go ahead and add a new printer and choose the same settings for the one you already have and just change the name and description. Now we have to find that ppd for that new printer we just added and edit that file to make it appear that its an HP printer. The PPD is really just a text file so just edit the manufacturer and model fields and it should work.

If it still doesn’t show,wait a few minutes. If not,restart CUPS and AVahi or your Iphone/Ipad.

Now if only I could print remotely,like through a VPN. . . .

Linux IPSec VPN for Ipad

After about a week of googling and like a ton of hours spent on doing trial and error, I finally got a working VPN to my server. I am now able to connect successfully so I can call it rather a success. I may have to do a little more tweaking to further fine tune it though.

There is a lot of information on the web but finding the right recipe is a bit tricky.

First off, I found out that VPN per se is a PITA to setup in linux. There are a lot of stuff we can use for our server. One can use OpenSwan,FreeSwan,StrongSwan and OpenVPN . I tried OpenVPN before and I use it for a while. OpenVPN is purely in userspace so there is no kernel modules needed but most OS do not have a client builtin so one has to install their client.

Now,IPSEC is the linux kernel VPN implementation so there is a lot of benefit that I can only imagine for that. The *Swan’s are mostly right now the userland stuff that controls the kernel modules that one uses. There is a lot of misleading info out there. And most of them tells you to install one of the *Swan’s . I never tried it. I went with a much simpler approach,using just raccoon and xl2tpd.

I tried several times figuring out the proper mix of settings for raccoon and xl2tpd but I could never get it right. I was always stuck with xl2tpd closing the connection.

Reading a bit more in the web,I read that I could ditch xl2tpd all together and just do pure IPSEC. So I did a bit more tweaking and voila! A much simpler setting with only raccoon to contend with.

My raccoon config:

log debug;
path pre_shared_key "/etc/racoon/psk.txt";
#path certificate "/etc/racoon/certs";

remote anonymous {
exchange_mode aggressive,main;
my_identifier user_fqdn "redacted";
peers_identifier fqdn "debian";
dpd_delay 20;
ike_frag on;
nat_traversal on;
passive on;
initial_contact off;
generate_policy on;
lifetime time 24 hour;
mode_cfg on;
verify_cert off;
proposal {
encryption_algorithm aes;
hash_algorithm sha1;
authentication_method xauth_psk_server;
dh_group 2;
sainfo anonymous {
lifetime time 12 hour;
encryption_algorithm aes;
authentication_algorithm hmac_sha1;
compression_algorithm deflate;

mode_cfg {
pool_size 255;
auth_source system;