Monday, July 12, 2010

Checking warranty on 1000 HP servers

I have 1000+ HP servers to check Warranty on, and there is no real tool to
do this :-(

So, I found a script called findilos, which will list all hp serial numbers
by finding their ilo's.

But, serial numbers isn't enough, you also need their Product Number or
Product ID, and there is no way to script collecting this from the Ilo, and some
older ilo's don't tell you.

However, there is a UUID field, which has the first 6 digits of the product
ID, such as this product ID 435944R-421 would be displayed as 435944 in the
leading part of the UUID.

So, I modified findilos to also collect the UUID, and then had to write
scripts to turn this 6 digit number into a PID by crawling HP's pages with

Then I had the serial and PID so I could poll HP's website to collect the
warranty data, phew !

So it goes like this


1) Use find ilos to scan subnet to file

sudo bash newfindilos > my.ilos

2) 2 Use wget to get list of products and urls for product ID’s to file

wget -O- ''
| grep categoryId |tr -d " " > hpurls

3) Make uniq list of server types found and use to get product id’s of these
server types to a file

grep ProLi ixn.ilos| cut -f5 -d"," | tr -d '"'  
| cut -f2 -d" " | sort | uniq | xargs 
| tr " " "|" | xargs -I z 
egrep '(z)' hpurls | grep -v bold | cut -d"\"" -f2 | xargs -I z wget -O- 'http://h40038.www4.hp.comz'
| grep '<tr><td height=20><b>'  | cut
-d"b" -f2 | tr -d "></"  > hp.pids

4) Make list of serials and productid’s (productnumbers) by finding
intersection of hp.pids and my.ilos and get warranty data

cat my.ilos | tr -d "\"" | sort -t"," -k6 -g | grep ProL | egrep -v
'N/A|\*' >

awk '{ print substr( $0, 0, 7 ) "," $0 }' hp.pids | sort | uniq >

join -t "," -1 6 -2 1 | cut --output-delimiter="
" -d"," -f5,7 | xargs -Iz ./getwarrenty z

Wednesday, July 7, 2010

vodafone HUAWEI EchoLife HG556a

I have one of these with a 3g dongle (Also vodafone and huawei).

After finding it a bit unreliable, I had a poke around and found that if I telnet it , I could change the DNS settings, which seems to make it better. At the telnet prompt type

dns config static

which sets the box to use google and freedns. The system used dnsmasq and gives out the lan ip as the dns server to it's clients, which works fine.

dyndns was more interesting, because at the telnet prompt you have a dyndns option, but I couldnt get it to work, so a poker around the various web pages on the box , I found this

and set it up , though had to choose LAN. once done, I backedup the config under management-settings-backup , opened the backup file and changed the interface from br0 to ppp_255_65535_1 which is the wan interface (find it with ifconfig, though I think this is universal). Then restore the config and it worked fine.