tag:blogger.com,1999:blog-18829278445203285682024-03-12T20:52:34.963-07:00Mod, Hack and CodeJono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.comBlogger19125tag:blogger.com,1999:blog-1882927844520328568.post-57442961111069556042020-10-31T03:50:00.003-07:002020-10-31T03:50:57.268-07:00<p>Insert and overwrite/overtype in Word Online, (aka Office 365 or now Microsoft 365).</p><p>There are a number of unresolved threads about being able to activate and de-activate this.</p><p>I noticed the most reliable way today while helping my daughter.</p><p>If you have a word or sentence selected, pressing insert key switches between the two modes. This isn't apparent until you move off whatever you have selected though :D.</p><p>Overtype mode is indicated on my browser by the cusor being a blue 1 char text selection highlight.</p><p>This is with the new Edge based on Chromium and in Chrome. <br /></p><p><br /></p>Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com0tag:blogger.com,1999:blog-1882927844520328568.post-28530588787061794982019-03-28T09:14:00.006-07:002019-03-28T09:14:40.124-07:00I have had IPv6 for a while via HE.net, but last year BT got around
to enabling IPv6 on my broadband (they also sneakily kept putting the
price up).<br />
In the search for value I switched to PlusNet (Which!
recomended for customer service in the past). Unfortunately PlusNet
don't give you IPv6 (historically they have been pretty shit about
moving with the times, and in the case of IPv6 they have gone
backwards).<br />
I connected my He.Net IPv6 tunnel back up to my router
(LEDE if you're interested on BT Home Hub 5, so I have control of the
DNS).<br />
Around that time I also got a free netflix subscription and
Microsoft (who I work for: disclaimer) also started offering reward
points for searches.<br />
Netflix just didn't work; I searched for why
and found people had already fixed the issue in a few different ways,
but then I realised that my Bing searches kept returning distinctly US
looking results (especially the opening page of Bing), and more recently
I stopped getting points for the quizes and the searches.<br />
Some
quick Wireshark tracing showed that Azure traffic manager was directing
my IPv6 http connection towards US Bing not UK Bing.<br />
Here is my
fix, set dnsmasq on the router to blackhole AAAA (ipv6 address queries)
for Bing (like we do for Netflix. It took a bit of investigation but
this seeems to work for me:<br />
<br />
<span style="font-family: "Courier New", Courier, monospace;"><span style="font-family: "Courier New", Courier, monospace;"># Null AAAA response </span></span><br />
<span style="font-family: "Courier New", Courier, monospace;"><span style="font-family: "Courier New", Courier, monospace;">server=/bing.com/#<br />address=/bing.com/::<br />server=/trafficmanager.net/#<br />address=/trafficmanager.net/::</span></span><br />
<span style="font-family: "Courier New", Courier, monospace;"><span style="font-family: "Courier New", Courier, monospace;">server=/a-msedge.net/#<br />address=/a-msedge.ne</span>t/::</span><br />
<br />
The
lines ending with hashes tell dnsmasq to look up these records itself
rather than returning a forward, and those ending :: return a duff IPv6
record for the domain triggering the router to do IPv4 lookup. This does
put dns load on the router, but it doesn't seem to mind too much :D Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com0tag:blogger.com,1999:blog-1882927844520328568.post-13104471521275631562016-03-16T01:28:00.001-07:002016-09-20T05:58:12.829-07:00A year later ...Wow, a whole year goes by so quickly ...well the Windows 10 international UK keyboard is no better than the Windows 8 was. Way to go MS. In fact the issue is worse because if you use a 3rd party International UK keyboard to get at diacritics you lose Cortana (yes really!). Cortana relies on a bunch of regional settings to decide whether she/it works in your region, and changing the keyboard breaks something. Still working on fixing that :D<br />
I am now an Xbox one owner, it has some cool hardware features, but is a bit let down by the functionality provided by the operating system at the moment (as of March 2016):<br />
<br />
<ul>
<li>It has IR emitters and can control things!</li>
<li>It has IR receivers for its' own remote</li>
<li>802.11a/g wireless</li>
<li>Plays 3d blu-ray</li>
<li>Instant on mode</li>
<li>Voice commands</li>
<li>Facial recognition</li>
<li>so called "2nd screen" xbox glass as remote</li>
<li>REMOTE STREAMING TO A PC!!!</li>
</ul>
Downsides unfortuately:<br />
<br />
<ul>
<li>Instant on mode consumes ~10W as far as I have measured (way too much).</li>
<li>The IR controls are limited to doing what the xbox knows how to do, no macros can be recorded and played back :(</li>
<li>Facial recognition for login is fooled by change of hair cut :(</li>
<li>No wake on LAN (not sure how xbox glass turns the machine on from standby, but it's not WOL).</li>
<li>You can't change the "resume on power" action for the xbox, when the power comes back the xbox stays off, even when it was in instant on mode.</li>
</ul>
Why do you care? Well remote streaming to your PC when you share the TV with the family is a serious bonus, I game from my office while my partner and or family are watching TV; but having to interrupt everyone to turn the xbox on is not a good thing (you need to see the screen to login). Plus having the xbox emitting IR commands while you're playing remote is going to annoy the rest of the family. Plus 10W on standby !!! arrrgh!! (knock, knock, are you playing? yes. Can you stop changing the volume please!)<br />
So my solution is evolving. I have an IR blaster from Microsoft (media centre IR extender, bought for a long defunct media PC to go under the TV). I have a PI (I will need to check how much power it uses :D) the Xbox can be turned on via IR from full off (where it consumes less than 1W). I will set the Xbox's IR output to use a TV/Cable box/Audio remote that won't affect my devices, the PI can listen for these codes and "emit" the right ones for my TV etc. Plus the PI can remotely turn on the Xbox via IR, it will know when the Xbox is on as well! (the xbox will emit the on signal for a TV). I will put a mains timer plug on the Xbox and the pi to pull the power during the night and provide a hard reset for the Xbox and the PI, (so when I am remote I only have to wait a day to get the kit hard reset).<br />
Other thoughts: have the PI display through the in hdmi of the xbox, get the pi to record IR sequence sign in so that I don't have to have the xbox always sign in as me with no password, use a PI zero (it can be setup as a USB slave rather than as a controller and therefore be a HID, no IR at that point).<br />
I better get cracking.Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com0tag:blogger.com,1999:blog-1882927844520328568.post-36500591172773816142015-03-13T12:01:00.001-07:002015-03-19T14:50:43.603-07:00I noticed that the international options on Windows UK English for windows 8 were a bit poor, but I hadn't realised how poor until I started using Duolingo on my Chromebook to learn Swedish (the Chromebook has UK International English keyboard support built in after a fashion, there's a Chromestore install to add it). Here's the fix you need to be able to type all those odd characters like ß and ¿ and «» and if you prefer to type your own curly quotes rather than rely on word to screw you over ( “” & ‘’)
http://www.zolid.com/uk-intl-kb/index.htm
Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com0tag:blogger.com,1999:blog-1882927844520328568.post-34648076907360270282015-03-02T10:41:00.000-08:002015-03-19T14:51:03.592-07:00Call Routing with the Siemens n300ip<h2>
Call Routing with the Siemens n300ip</h2>
<div>
We've had one of these DECT IP phone boxes for quite a while. In fact we've had two, but the first one had a 10Meg half duplex interface which caused a lot of grief, which caused us to get the current one.</div>
<div>
Why did we get a DECT VOIP phone? Because I was trying to save money of course! A small amount, granted. The idea was that we would drop our phone line and just rely on cable internet with VOIP for our house phone and mobiles to cover any outages. This worked well for 3 years. The calls were cheaper and the quality better, plus we had features on the VOIP line we would have had to pay for with a land line:</div>
<div>
<ul>
<li>Voicemail to email</li>
<li>Incoming CLID</li>
<li>Itemised billing</li>
</ul>
<div>
Plus we could use our number even when we were away from home by logging in with MicroSIP.</div>
<div>
Sadly our cable provider kept hiking up the price in increments, and eventually an offer came along that offered more bandwidth with a land line for less money, and with the added bonus of free outbound weekend calls. (I am aware that Virgin did free weekend calls, but the additional cost for the land line was more than we spend on calls).</div>
</div>
<div>
How to integrate these free calls into the current network? Well the n300ip has dial plans, they are basic but could be configured to route calls through either VOIP or the land line based on the number dialled. However the one thing it doesn't have is any logic related to dates and times. If BT's calls were cheaper than SIPGATE we might forgo the CLID and the itemised e-billing and the network voicemail, but during the week they aren't. </div>
<h3>
Timed call routing on the cheap</h3>
<div>
The solution is a nifty script I popped together in python, the script uses libCurl, runs on Linux or Windows with suitable addition of libCurl and need python 3.3 (I leave it as an exercise for the more able to convert it so that it runs on all Python version.</div>
<div>
<br /></div>
<div>
The script runs Saturday morning when our server wakes from its slumber and again on Monday morning.</div>
<div>
The call plan fields were captured by using wireshark and then edited using VIM, the script has to do session cookie handling for the password cookie, because I couldn't get libCurl (or Curl for that matter) to persist session cookies.</div>
<div>
The functionality of the script is login, upload the call plan and then logout. The parameter is to toggle between enable.txt and disable.txt (the two call plans, enable puts UK landlines beginning 01 and 02 through the fixed line and disable.txt undos this by disabling those call plans). The script is very simple, if you change the call plans it will overwrite them.<br />
<h3>
Python Code</h3>
</div>
<div style="background-color: #dddddd; color: black; padding: 12px;">
<span style="font-family: monospace;">
<span style="color: blue;">#!/usr/bin/env python3</span><br />
<span style="color: purple;">import</span> pycurl<br />
<span style="color: purple;">from</span> io <span style="color: purple;">import</span> StringIO<br />
<span style="color: brown;"><b>try</b></span>:<br />
<span style="color: purple;">from</span> io <span style="color: purple;">import</span> BytesIO<br />
<span style="color: brown;"><b>except</b></span> <span style="color: seagreen;"><b>ImportError</b></span>:<br />
<span style="color: purple;">from</span> StringIO <span style="color: purple;">import</span> StringIO <span style="color: brown;"><b>as</b></span> BytesIO<br />
<br />
<span style="color: purple;">import</span> email<br />
<br />
<span style="color: purple;">import</span> argparse<br />
<br />
<span style="color: brown;"><b>def</b></span> <span style="color: darkcyan;">enable_disable</span>(string):<br />
valid_values = [<span style="color: magenta;">'enable'</span>,<span style="color: magenta;">'disable'</span>]<br />
value = <span style="color: darkcyan;">str</span>(string)<br />
<span style="color: brown;"><b>if</b></span> <span style="color: brown;"><b>not</b></span> value <span style="color: brown;"><b>in</b></span> valid_values:<br />
msg = <span style="color: magenta;">"action is either enable or disable, you typed "</span> % string<br />
<span style="color: brown;"><b>raise</b></span> argparse.ArgumentTypeError(msg)<br />
<span style="color: brown;"><b>return</b></span> value<br />
<br />
parser = argparse.ArgumentParser(description=<span style="color: magenta;">'Process some integers.'</span>)<br />
parser.add_argument(<span style="color: magenta;">'action'</span>, choices=[<span style="color: magenta;">'enable'</span>,<span style="color: magenta;">'disable'</span>] , nargs = <span style="color: magenta;">1</span>,<br />
<span style="color: darkcyan;">help</span>=<span style="color: magenta;">'either enable or disable, set the dialplan in enable.txt or disable.txt'</span>)<br />
<br />
args = parser.parse_args()<br />
<br />
<span style="color: brown;"><b>def</b></span> <span style="color: darkcyan;">CallPlanFileName</span>(x):<br />
<span style="color: brown;"><b>return</b></span> {<br />
<span style="color: magenta;">"enable"</span> : <span style="color: magenta;">'enable.txt'</span> ,<br />
<span style="color: magenta;">"disable"</span> : <span style="color: magenta;">'disable.txt'</span> }[x]<br />
<br />
filename = CallPlanFileName(args.action[<span style="color: magenta;">0</span>])<br />
<br />
<span style="color: blue;">#print (args.action[0])</span><br />
<br />
<br />
<span style="color: blue;">## Callback function invoked when body data is ready</span><br />
<span style="color: brown;"><b>def</b></span> <span style="color: darkcyan;">stdout</span>(buf):<br />
<span style="color: blue;"># Print body data to stdout</span><br />
<span style="color: purple;">import</span> sys<br />
sys.stdout.write(buf)<br />
<span style="color: blue;"># Returning None implies that all bytes were written</span><br />
<br />
<span style="color: blue;">## Callback function invoked when header data is ready</span><br />
<span style="color: brown;"><b>def</b></span> <span style="color: darkcyan;">stderr</span>(buf):<br />
<span style="color: blue;"># Print header data to stderr</span><br />
<span style="color: purple;">import</span> sys<br />
sys.stderr.write(buf)<br />
<span style="color: blue;"># Returning None implies that all bytes were written</span><br />
<br />
body=BytesIO()<br />
header=BytesIO()<br />
<br />
c=pycurl.Curl()<br />
c.setopt(c.URL,<span style="color: magenta;">'http://192.168.XX.XX/login.html'</span>)<br />
c.setopt(c.POSTFIELDS, <span style="color: magenta;">'language=1&password=XXXX'</span>)<br />
c.setopt(c.WRITEFUNCTION, body.write)<br />
c.setopt(pycurl.HEADERFUNCTION, header.write)<br />
c.setopt(c.COOKIEFILE, <span style="color: magenta;">''</span>) <span style="color: blue;">#Make Curl Cookie aware</span><br />
c.perform()<br />
<br />
<span style="color: brown;"><b>with</b></span> <span style="color: darkcyan;">open</span>(<span style="color: magenta;">'header.txt'</span>,<span style="color: magenta;">'wb'</span>) <span style="color: brown;"><b>as</b></span> h:<br />
h.write(header.getvalue())<br />
<br />
<span style="color: brown;"><b>with</b></span> <span style="color: darkcyan;">open</span>(<span style="color: magenta;">'body.txt'</span>,<span style="color: magenta;">'wb'</span>) <span style="color: brown;"><b>as</b></span> b:<br />
b.write(body.getvalue())<br />
<br />
request_line, headers_alone = ((header.getvalue()).decode(<span style="color: magenta;">'ISO-8859-1'</span>)).split(<span style="color: magenta;">'</span><span style="color: slateblue;">\r\n</span><span style="color: magenta;">'</span>,<span style="color: magenta;">1</span>)<br />
mhead = email.message_from_string(headers_alone)<br />
<br />
<span style="color: darkcyan;">print</span> (mhead.as_string(<span style="color: darkcyan;">True</span>))<br />
cookies = mhead[<span style="color: magenta;">'Set-Cookie'</span>]<br />
<span style="color: darkcyan;">print</span> (cookies)<br />
c.setopt(c.COOKIE, cookies)<br />
<br />
<span style="color: brown;"><b>with</b></span> <span style="color: darkcyan;">open</span>(filename,<span style="color: magenta;">'r'</span>) <span style="color: brown;"><b>as</b></span> f:<br />
data=f.read()<br />
c.setopt(c.POST,<span style="color: magenta;">1</span>)<br />
c.setopt(c.POSTFIELDS, data)<br />
c.setopt(c.URL,<span style="color: magenta;">'http://192.168.XX.XX/settings_telephony_dialplan.html'</span>)<br />
c.perform()<br />
<br />
c.setopt(c.URL, <span style="color: magenta;">'http://192.168.XX.XX/logout.html'</span>)<br />
c.perform()<br />
c.close()<br />
<br />
exit()<br />
</span>
</div>
<h3>
Call plans</h3>
<div>
<h4>
Enable.txt</h4>
</div>
<div>
<pre>del_dprno=30&dpr0_0=50000&dpr1_0=0&dpr2_0=&dpr4_0=0&dpr0_1=999&dpr1_1=7&dpr2_1=&dpr4_1=1&dpr0_2=200&dpr1_2=0&dpr2_2=&dpr4_2=2&dpr0_3=101&dpr1_3=7&dpr2_3=&dpr4_3=3&dpr0_4=111&dpr1_4=7&dpr2_4=&dpr4_4=4&dpr0_5=090&dpr1_5=255&dpr2_5=&dpr4_5=5&dpr0_6=90&dpr1_6=0&dpr2_6=&dpr4_6=6&dpr0_7=01&dpr1_7=7&dpr2_7=&dpr4_7=7&dpr0_8=02&dpr1_8=7&dpr2_8=&dpr4_8=8&dpr0_9=0845&dpr1_9=7&dpr2_9=&dpr4_9=9&dpr0_10=0870&dpr1_10=7&dpr2_10=&dpr4_10=10&dpr0=&dpr6=1&dpr1=0&dpr2=&access_code_isdn=&access_code_mode_isdn=0&access_code_voip=&access_code_mode_voip=0&access_code_min_digits=4
</pre>
<div>
<h4>
disable.txt </h4>
</div>
<div>
<meta http-equiv="X-Clacks-Overhead" content="GNU Terry Pratchett" />
<pre>del_dprno=30&dpr0_0=50000&dpr1_0=0&dpr2_0=&dpr4_0=0&dpr0_1=999&dpr1_1=7&dpr2_1=&dpr4_1=1&dpr0_2=200&dpr1_2=0&dpr2_2=&dpr4_2=2&dpr0_3=101&dpr1_3=7&dpr2_3=&dpr4_3=3&dpr0_4=111&dpr1_4=7&dpr2_4=&dpr4_4=4&dpr0_5=090&dpr1_5=255&dpr2_5=&dpr4_5=5&dpr0_6=90&dpr1_6=0&dpr2_6=&dpr4_6=6&dpr0_7=01&dpr1_7=7&dpr2_7=&dpr4_7=7&dpr0_8=02&dpr1_8=7&dpr2_8=&dpr4_8=8&dpr0_9=0845&dpr1_9=7&dpr2_9=&dpr4_9=9&dpr0_10=0870&dpr1_10=7&dpr2_10=&dpr4_10=10&dpr0=&dpr6=1&dpr1=0&dpr2=&access_code_isdn=&access_code_mode_isdn=0&access_code_voip=&access_code_mode_voip=0&access_code_min_digits=4
</pre>
<h4>
Cron</h4>
<div>
My server isn't on all the time, it shuts down in the evening and doesn't start up again until everyone is up and about. Initially I was puzzled why my script wasn't having any effect at the weekends. Of course I set the time of the cron job to be midnight Friday and midnight Sunday, both at times my server was asleep. Here's the solution I use:</div>
<div>
<pre># Test if it is Saturday
@reboot test $(date +\%u) -eq 6 && ( cd $HOME/bin; ./BT_CallPlan enable ) >> ~/BT.log
# Test if it is Monday
@reboot test $(date +\%u) -eq 1 && ( cd $HOME/bin; ./BT_CallPlan disable ) >> ~/BT.log
</pre>
</div>
<div>
<br /></div>
<h4>
Other details:</h4>
</div>
</div>
<div>
Our cable provider was Virgin Media, we replaced this with BT Infinity 1 </div>
<div>
<ul>
<li>Virgin (30M down 2.5M up) - usually 20M down 1M up</li>
<li>BT Infinity 1 (38M down 9.5M up) - so far 34M down and 9M up (much better for telecommuting)</li>
</ul>
<div>
Our VOIP provider is SIPGATE</div>
</div>
<div>
I sold the Home Hub 5 (£35) and bought an Huawei FTTC terminal adapter/router (which I put custom firmware on).</div>
<div>
We use a Buffalo Airstation running OpenWRT (with Asterisk running on it for VOIP), this also provides IPV6 via Hurricane Electric, 2.5 and 5 GHz wireless N and remote access. </div>
<div>
When we needed analogues phone lines I used an old BT voyager ADSL router (ADSL disabled) as an ATA (logged into Asterisk as an extension), of course we now have a real analogue line :) .</div>
<div>
Virgin Media super Hub (very poor piece of kit), was set to Modem mode due to it's appalling WIFI drop out rates, and general lack of configurable options.</div>
<div>
<br /></div>
<div>
<br /></div>Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com0tag:blogger.com,1999:blog-1882927844520328568.post-80470609796711183392013-12-03T09:52:00.002-08:002013-12-03T09:56:08.226-08:00<span style="font-family: Verdana, sans-serif;">I have entered the IPv6 Arena.<br />My setup was a mash up of configurations from various folks, and connectivity is achieved through a tunnel from the folks at Hurricane Electric.</span><br />
<span style="font-family: Verdana, sans-serif;">Before I launch into how I did my configuration: DANGER! DANGER Will Scarlet! - IPv6 is routable, all of it all the time; we have all got lazy sitting behind our NAT routers, not worrying about stuff getting at us directly from the internet. Once you correctly setup one machine on your network as an IPv6 gateway, the chances are that ALL your machines will suddenly be publicly available via IPv6.</span><br />
<b><span style="font-family: Verdana, sans-serif;">You have been warned!</span></b><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<h4>
<span style="font-family: Verdana, sans-serif;">Howto:</span></h4>
<div>
<span style="font-family: Verdana, sans-serif;">Before you start, your external IP address should be returning ICMP packets if it is pinged. On Virgin Media cable this is turned off by default. You will need to turn it back on or you won't be able to establish the tunnel.</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">Sign up for an IPv6 Tunnel at Hurricane Electric's website (http://tunnelbroker.net/ or select Free IPv6 Tunnel Broker from the HE home page).</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">After filling out the new user form, it will ask you to pick your nearest end point. I'm in the UK and I couldn't see any advantage to trying to pick a site in the US for my tunnel, so I picked London. You can only connect one tunnel to your external IP, and once you're setup, all your internal network machines will have public addresses via a routed network. If you delete and setup your tunnel again those addresses will change.</span><br />
<span style="font-family: Verdana, sans-serif;">This is where I made my first mistake, I assume you're only just familiar with IPv6 addresses, so read them carefully. My IPv6 address for my router was only 1 digit different from my routed network address, and this got me confused.</span><br />
<span style="font-family: Verdana, sans-serif;">The Example configurations will lead you in the right direction, but I actually found them to be less than complete. I'm using Ubuntu 13.10, my IPv6 endpoint has a static network configuration (I am not using Network Manager, all my network configuration is done in /etc/network/interfaces).</span><br />
<br />auto he-ipv6<br />iface he-ipv6 inet6 v4tunnel<br />address 2001:XXXX:YYYA:ZZZZ::2<br />netmask 64<br />endpoint 216.66.80.26<br />local 192.168.x.y<br />ttl 255<br />up ip -6 route add default dev he-ipv6<br />down ip -6 route del default dev he-ipv6<br /><br />iface eth0 inet6 static<br />address 2001:XXXX:YYYB:ZZZZ::1<br />netmask 64<br /><br /><span style="font-family: Verdana, sans-serif;">My mistake initially was not to realise that A and B were different :D</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">When you've setup your tunnel (you may stop there if only want one machine on your network to have IPv6 access to the internet), you will want to add two more things. Your internal network adapter will need an IPv6 address from the "routed IPv6" network (not the network that's wasted on your tunnel). And then you will need to advertise your route. </span><br />
<span style="font-family: Verdana, sans-serif;">The beauty of IPv6 is that it's all very self configuring, apart from a few niggles.</span><br />
<span style="font-family: Verdana, sans-serif;">Once the tunnel's up, and the internal network interface has a "routed" address on it, you will need to advertise it to your local net. Install RADVD. It doesn't need any configuration, but here's where complication sets in: RADVD can advertise the IPv6 DNS, but Windows will only get IPv6 DNS from DHCPv6. Basically you end up setting up DHCPv6 just to advertise DNS for windows machines.</span><br />
<span style="font-family: Verdana, sans-serif;">If your router also happens to be a webcache you can skip the routed address and RADVD in favour of http proxying over IPv4 and getting the cache server to do all the IPv6 magic.</span><br />
<span style="font-family: Verdana, sans-serif;">My next trick is to try and make an all IPv6 machine that can still talk to the IPv4 internet.</span></div>
Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com0tag:blogger.com,1999:blog-1882927844520328568.post-31155673572665257282013-01-22T05:18:00.001-08:002013-01-22T05:18:24.350-08:00We got hacked!<br />
The house phone is an Asterisk PBX and our service provider is Sipgate. They informed me last Thursday that our system was compromised, due to some unusual call activity, but no more info than that. So we changed all our passwords for our SIP account. FAIL.<br />
Saturday and Sunday and Monday saw more calls made; Sipgate support don't work weekends and we didn't notice until the call credit low warning hit my inbox on Monday evening. Another email to Sipgate, this time they tell us that our Asterisk PBX is making the calls, and no we can't have the money back. A quick check and lo! I allowed external guest extensions to connect to the PBX, and I didn't restrict the IP addresses of registering devices. DAMN! Ah well, you live and learn.<br />
Fortunately Sipgate charge up front, and we only put £10 on at a time. The bad guys made off with £4-ish of calls, we don't have auto pay setup and we do get an alarm when the credit goes below £5. All told the most we can loose is £10 and this saves us £15 every month (no line rental).<br />So a quick crash course in securing Asterisk, and a dollop of iptables firewalling for the PBX and we're back up and running.<br />
<br />Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com0tag:blogger.com,1999:blog-1882927844520328568.post-29112886877344816172013-01-11T09:16:00.001-08:002013-01-16T00:13:53.006-08:00Three ChallengeApparently 3/Three don't accept that I own the phone. Worrying; I suspect this is true for all mobile phone companies. Because I don't have the purchase receipt or the details of where it was originally bought, they won't accept that I am the owner. So what?<br />
Well if the original owner phoned them up, read out the IMEI and said the phone had been stolen, they would block the phone. Fortunately they didn't register it, but I can't register it either.<br />
My other motivation is that 3 will unlock the phone for £15.53 (apparently) whereas all the other places want about £24. I shan't be using 3 once the phone is unlocked ...<br />
The system beggars belief to my mind; they sent me a SIM to my postal address, they can see from their network that I am calling from my handset (with the IMEI), you'd think they'd want to encourage people to register. At worst they've got some personal details they can bundle up and sell on (email, phone number address etc.) at best they've got that plus marketing data about the second hand market for their handsets, something they probably need to know about if they want to sell more new handsets.<br />
Hopefully the seller will be forth coming with the store and the date of purchase which can then be used to confirm to three that I actually own the handset now and so it can be registered to me.<br />
(and then promptly unlocked and switch to Giff Gaff :D).<br />
<br />Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com2tag:blogger.com,1999:blog-1882927844520328568.post-14782369583846712172013-01-10T09:02:00.001-08:002013-01-10T09:02:39.783-08:00My new year's resolution will be to post more to the blog :D<br />
So, I have bought a new phone and I may have become an early adopter. The phone is the Xperia J (aka st26i), it's locked to three at the moment, and so not in use. I have a free three sim, I've registered it with them and I'm waiting on unlock codes. In the mean time I will be taking it apart and posting photo's.<br />
Three will unlock the handset for a fee (it was originally bought as a pay-as-you-go handset). However you have to register the handset with them. Currently I'm hoping that they will accept paypal as proof of purchase, if not I'm reliant on getting the original purchase receipt from the original owner.<br />
Handset looks good, nice weight, great sound when used with my Nokia Lumia 920 headphones.<br />
Can't wait to get it unlocked so I can use it with my regular network, also looking forward to removing all the Three network branding on the device.<br />
<br />Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com0tag:blogger.com,1999:blog-1882927844520328568.post-40376535164755062292012-12-18T12:46:00.001-08:002012-12-18T12:49:20.505-08:00New stylus!<div dir="ltr">
So I picked up a new stylus for my Nexus. It's truly a wonderful thing. I am sooo pleased with it I had to hammer out this short post. A decent stylus & Grafitti is an amazingly fast way to enter text. Truly so much quicker than picking keys from the touch keyboard. Which stylus? This <a href="http://www.amazon.co.uk/dp/B007FXMOV8/ref=pe_217191_31005151_dp_1">one:</a><br /></div> from Amazon.</br> The tip is sponge, but covered in a knit cover. It glides! & the price is FAB!
Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com0tag:blogger.com,1999:blog-1882927844520328568.post-53716410497900524402012-11-27T03:46:00.001-08:002012-11-27T03:46:20.506-08:00Skype rewind on the nexus 7<p dir="ltr">So we all hate the new Skype with its fixed landscape mode. You want the old version back? Try installing from the Amazon Appstore. But be warned, if Google Play has auto update set, it will re-upgrade you to the latest version.</p>
Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com0tag:blogger.com,1999:blog-1882927844520328568.post-73450619010756043592012-11-26T02:17:00.002-08:002012-11-26T02:22:25.029-08:00Furby Care and ResurrectionI recently went shopping with my wife and while in John Lewis we ended up in their toy department. To my surprise Furbies are back and have new features, and having checked out the web (<a href="http://www.youtube.com/watch?v=pT8Na6Zj3p0">slayer furbies</a>) I went up into the loft to retrieve the original 1998 Furbies that I knew were still up there.
<br />
The Furbies had survived, mostly I think because they had developed faults which I hadn't fixed for their original owners (my 2 daughters).
<br />
Getting the Furbies going required a bit of sandpaper to refresh the battery terminals for one, and a jumper wire soldering on the other to bridge the broken battery compartment terminal.
<br />
<h2>
Furby Care and resurrection:</h2>
<br />
<ol>
<li>They don't wake up by themselves, you have to tip them upside down.</li>
<li>They don't "learn" anything, it's all pre-programmed </li>
<li>They randomly generate their name and personality upon reset, the reset procedure is to turn them upside down, depress the tongue and hold it depressed and then press the reset stud in the base with a pen. </li>
<li>If they "jam" you can un-jam them using the reset stud on the bottom, this causes the single internal motor to run through a complete motion cycle backwards and forwards.</li>
<li>Initial power up - this stumped me, they'd been in the loft for 10 years with no power, the first set of rechargeables I dumped in simple drained immediately without sparking any life, I was testing the Furbies with a test meter which is how I noticed the drop in voltage on the cells. The second set caused a little spark of life, but the Furby wasn't completely responsive until the third freshly charged set went in (they've survived now for 5 days on that set though). I think they must have some capacitative component that maintains a fairly large charge and drains the batteries realy quickly when depleted. In '98 we were fairly strapped for cash, I can't imagine a constant supply of duracel batteries would have been popular on our weekly shopping bill. </li>
<li>Their memory survived ten years! They woke up speaking English and wanting to play a game and be fed, which is presumably where they were up to in their "learning" when they were retired from animation. I reset one of them to test this, still can't work out there names though. </li>
<li>Tickle technique: I skinned one of the Furbies (there are guides on-line to tell you how to do this, use your favourite search engine :D ) because I thought the tickle sensor on the stomach of one of them wasn't working, however I discovered it's a rocker, the switch rotates around a vertical pivot; the easiest tickle technique for me is to hold the furby upright in cupped both hands, and use your thumbs alternately to rock the switch; you can also reach the back sensor with your fingers to "pet" the device using its' back sensor.</li>
<li>Clapping slowly can get them to dance (they don't dance as good as the new ones though), they don't seem to respond to music with a fast beat.</li>
</ol>
<br />
That's as far as I've got with them. There are Furbish dictionaries, so you can decode what they're trying to say, putting two together and stimulating them accelerates the "stupid" one to the same level as the "clever one". I've seen them play hide and seek together with no interaction from me, both spooky and interesting.
<br />
I had thought I would use them to make an computer controlled animatronic Furby, but I think my girls might want their Furbies back now that they're working and we can afford the batteries :D
<br />
I have the makings of an IR sender in the loft from another project, the IR codes that the Furbies use to talk to one another are well documented now, to I may try to make them sneeze via IR for my next post on this topic.
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4DGFUxhz_DIS2sVKSX2oczFxxSkAPaLnNPkrwtECgYqypwtF85xEU30FDME0F9X48ufwhM563f4igQvVHQv556MSv4ws6iWjnHC6Cg_L3h0j8_13hlIJtwIQg6QFpwloI7qnFJUXlmwXx/s1600/IMG_20121124_092636.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4DGFUxhz_DIS2sVKSX2oczFxxSkAPaLnNPkrwtECgYqypwtF85xEU30FDME0F9X48ufwhM563f4igQvVHQv556MSv4ws6iWjnHC6Cg_L3h0j8_13hlIJtwIQg6QFpwloI7qnFJUXlmwXx/s320/IMG_20121124_092636.jpg" width="320" /></a></div>
That's all for now!
Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com0tag:blogger.com,1999:blog-1882927844520328568.post-54596762477125389882012-11-26T01:26:00.002-08:002012-11-26T01:26:35.595-08:00 Haipad revisited.<a href="http://www.slatedroid.com/topic/29084-source-ice-cream-sandwich-404-port/">Slatedroid</a>: namko seems to have a working 3.0 kernel. So the Haipad is on charge, prior to upgrade. :)
If OTG is working I will buy some USB temperature probes and see what we can do with them and perhaps even waterproofing the tablet for installation in the green house.
Although there are so many cheap android on a stick devices now it's insane, it might be easier to just spend £30 on one of those (many have released kernels on slatedroid).</p>
Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com0tag:blogger.com,1999:blog-1882927844520328568.post-1374778627913449102012-11-16T05:20:00.001-08:002012-11-16T05:22:17.956-08:00Amazon reviews and tablet Styli (Stylus, Styluses?)I wrote a review for a (very cheap I must say) stylus.
You can see the review <a href="https://www.amazon.co.uk/gp/cdp/member-reviews/A1QDEX0QKMTEOG/ref=ya__26?ie=UTF8&sort_by=MostRecentReview">here</a>.
The stylus is nothing special and after a few hours use I began to get really hacked off with how much it dragged.
So? So I took it apart, (the silver ring comes off and that lets the "rubber" nib free.
I tried stuffing paper in the nib to make it firmer (fail, tablet stops recognizing the touches).
I tried bluetack in the nib (ditto).
I gave up and went back to my finger.
Then I had a brain wave while falling asleep, maybe cling film has a slippy enough surface. I mean cling film only sticks to itself right?
Turns out this was a genius idea.
Nib is firmer. Cling film is slippy enough to give positive pressure from writing on the tablet surface. I may mod this more by scotch tape on stylus so I don't rub the cling film off and to provide a better grip on the Barrel of the stylus.
</br>
I'm very happy with the result, I hope it lasts!Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com1tag:blogger.com,1999:blog-1882927844520328568.post-31506132009086078642012-11-08T01:50:00.000-08:002012-11-08T01:51:16.211-08:00My focus changed a bit, having come into some money, I invested in a Google Nexus 7.
I haven't rooted it yet, but I wanted to list a few things I found a bit problematic about it.
Being a bit of a BBC radio 4 listener, I was sad to discover that I couldn't play radio via iPlayer, this is cured by installing the BBC media player app. However this has one CONSIDERABLE draw back, it won't play in the background.
I've tried other apps for listening to radio, I have a number of older Android devices and I thought I'd tried them all, but I was wrong.
TuneIn! Plays Radio 4, has no ads, plays in the background, works on my X10 mini pro, works on my Tablet. Joy!
What of my original tablet? Well I need a temperature controller for my wife's green house and my son is always wanting to nab my hardware so we will see ...Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com0tag:blogger.com,1999:blog-1882927844520328568.post-31862529319345509142012-08-21T02:36:00.000-07:002012-08-21T02:37:45.367-07:00What, no posts?Back from holidays, thinking about stuff to post. Here's a list of what I'm working on at the moment:<br />
<div>
Sky Zone 2 dish, Humax FoxSat HD PVR with 2 LNB's and a DiSeqC switch (28.2E and 19.2E)</div>
<div>
Cyclone Nano media player (android), aka XIOS DS, Geniatech Nano3 ATV510B</div>
<div>
Raspberry PI as remote temperature sensor controller</div>
<div>
<br /></div>
<div>
The Sky dish is up and working so the write up for that should be along shortly!</div>
<div>
<div>
<br /></div>
</div>
Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com1tag:blogger.com,1999:blog-1882927844520328568.post-38500473742137031882012-07-12T03:55:00.002-07:002012-08-16T03:54:12.608-07:00Adding Gapps to ICS Arnova 8b G3NOTE: This is a blog for information purposes, if you brick your tablet by repeating this then on your own head be it!<br />
Yesterday, I picked up an Arnova 8b G3 tablet for my parents. This was a bargain from Maplin! I had to spend a little time adding the missing Google apps. How? I'm glad you asked!<br />
First of all you need to get adb talking to the tablet; I download the latest android sdk from google and I'm using Linux here as my host machine (Ubuntu 12.04), so after unpacking the tgz file you have to execute tools\android (read the instructions for the sdk mostly page 2). Download the platform tools (you don't need anything more unless you're going to do some coding :D ).<br />
Once the platform tools are down and installed you will need to edit your udev rules to get the tablet to be visible in ADB; here's the additional line to add to /etc/udev/rules.d/51-android.rules (I got the info for this from a google search) :<br />
<span style="color: white; font-family: 'Courier New', Courier, monospace;"><span style="background-color: black;">SUBSYSTEM=="usb", ATTR{idvendor}=="0e79", MODE="0666", GROUP=plugdev</span></span><br />
Make sure you're in the plugdev group! If you're trying this with a different phone or table then lsusb will give you the info to use instead of 0x0e79 (my htc kaiser running cyanogen mod 7 is 0bb4 for instance, you should probably execute lsusb and check your tablet gives you this value too).<br />
I did a reboot at this point to make sure udev updated. After the reboot running <i>abd devices</i> will tell you if you're able to connect, my first mistake here was to not check that I'd got the usb cable plugged firmly in.<br />
On the tablet go into the developer settings and enable usb debugging, then the following commands will help you prepare to install the missing gapps:<br />
<ul>
<li><i>adb root</i> - restarts adb on the device as root, if this fails you will need to do some more work.</li>
<li><i>abd remount</i> - remounts /system in read/write mode (usually it's read only). ditto if this fails.</li>
</ul>
<div>
Now to install the apps! I downloaded the cyanogenmod9 Google apps from the <a href="http://wiki.cyanogenmod.com/wiki/Latest_Version/Google_Apps">cyanogenmod wiki</a>. Once downloaded I unzipped them to a folder called gapps in the android sdk folder; execute the following commands in order installed all the gapps to the tablet:</div>
<div>
<ul>
<li><i>export PATH=`pwd`/platform-tools:$PATH</i> - set the path to include <i>adb</i>.</li>
<li><i>cd gapps</i></li>
<li><i>adb -p ./ sync system</i> - pushes the current folder to the device using sync on the current folder.</li>
</ul>
<div>
Reboot the tablet, if all goes well this will take some time (you may get a pop-up during reboot about optimizing the applications, or about android updating).</div>
</div>
<div>
Gmail will immediately update and you should be on your way. You can also turn off usb debuggnig.</div>
<div>
<br /></div>
<div>
Needless to say this took longer to work out than this short entry implies. There's a lot of duff info out there on the interwebs.</div>Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com0tag:blogger.com,1999:blog-1882927844520328568.post-3208202526359469052012-07-06T08:46:00.001-07:002012-08-16T03:54:12.607-07:00Haipad M7/Herotab C8 - Adding Serial ports internally.This is a post for information only! If you trash your tablet by repeating this I am not responsible!
<br />
<table><tbody>
<tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs2lAgdNvXyzyHnE5zKWMj4fwulqKGyMA7ckNRnP1GJKRxX6XQCuIcbkyfjkhKn_6GxF_7uRlqtwjn2fytqLpnCmLPJbx-W0bfs26ewH0C7j_G-0ppnuyU8bD0YcUirDMM5gl9OTAW5t0_/s1600/IMG_4158.JPG" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs2lAgdNvXyzyHnE5zKWMj4fwulqKGyMA7ckNRnP1GJKRxX6XQCuIcbkyfjkhKn_6GxF_7uRlqtwjn2fytqLpnCmLPJbx-W0bfs26ewH0C7j_G-0ppnuyU8bD0YcUirDMM5gl9OTAW5t0_/s320/IMG_4158.JPG" style="clear: both; float: left; margin: 0px 10px 10px 0px;" width="320" /></a>I killed my tablet with firmware for the Haipad M7+; basically the NAND flash was no longer capable of booting the Linux kernel from either NAND or from SD. There are techniques to get the NAND disabled temporarily, by shorting out pins on the flash chip, but I couldn't get them to work.<br />
Time to add serial ports and work out how to fix it!<br />
<br /></td></tr>
<tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx7RHHrSP1Rw71jCPxdyAmkBjfe7Mz5nsZ5XyYMPW0RqwQYv2tE-1k2m0uoSUqFksR2sIPYOr1Ps1z6x2vaR_3rZL1pgCiAo3NObiF_uhF6jkpK_t1pVXZXBk2yRf3r5fw9CIpKpjih3st/s1600/IMG_4160.JPG" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx7RHHrSP1Rw71jCPxdyAmkBjfe7Mz5nsZ5XyYMPW0RqwQYv2tE-1k2m0uoSUqFksR2sIPYOr1Ps1z6x2vaR_3rZL1pgCiAo3NObiF_uhF6jkpK_t1pVXZXBk2yRf3r5fw9CIpKpjih3st/s320/IMG_4160.JPG" style="clear: both; float: left; margin: 0px 10px 10px 0px;" width="320" /></a><span style="font-family: inherit;">Initially I used single core wire, however, that put too much strain on the solder joints, this is cut down cable from a floppy disk drive connector. The trick here is to keep the bundle together, tin the wires carefully, and use a hot iron quickly to press them into contact with the cpu board pins.</span><br />
<span style="font-family: inherit;">I tinned the wires at 220degC and soldered to the board at 320degC. Test for shorts at each stage, not at the end!</span>
</td></tr>
<tr><td><span style="clear: left; float: left; font-family: inherit; margin-bottom: 1em; margin-right: 1em;"><img alt="" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9K9JF7WqK5tPOrbG-Fz_MWLCCZnM5y-_FnDTb5Z8otWEg79aBPk5DqgFa0NS6SdG2mwJYR-5wZYdHSgUCEOkIhCxo8brPDyqrQRgLtVLF-6AIo-azcPcHgPXwHZvPeVT88rhpo5LE3h6B/s320/IMG_4161.JPG" style="clear: both; float: left; margin: 0px 10px 10px 0px;" width="320" />Working with a magnifier and with small pins can be disorientating, so I put tape either side of where I was soldering. I use scotch tape as it doesn't leave a sticky residue.</span>
</td></tr>
<tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcoTnjv1_2AAAbPH6swC809ht9QovRjNPC_etM8y9qzXBk6T3iGwNaQrjrAhkueLBkZaZ62eEcIZI10_IB0OiBy7USpx7xSRxrif7cwSOGUMUk4KcCLQyPExJ9b26HU53ZIdaf1UeIyflH/s1600/IMG_4162.JPG"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcoTnjv1_2AAAbPH6swC809ht9QovRjNPC_etM8y9qzXBk6T3iGwNaQrjrAhkueLBkZaZ62eEcIZI10_IB0OiBy7USpx7xSRxrif7cwSOGUMUk4KcCLQyPExJ9b26HU53ZIdaf1UeIyflH/s320/IMG_4162.JPG" style="clear: both; float: left; margin: 0px 10px 10px 0px;" /></a>
You can see here that I used 6 wires for this, the red wire is for a 5V line, the other wire is for the GND for the serial ports. They're taped out of the way so that I don't melt them with the soldering iron.
</td></tr>
<tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbv4Y2243PcELYDrG1hGPOHBkrnfYgnKBf2MP1w4_FpPmSE7-r-GBdZxinzb41FFoE3abiJ3WeQ9QuF8wAEieE4mSwvHXJLcJQZAyqetkYIgt5aHXcAuESB1kB13El4a36Q5BmMY5RpiE4/s1600/IMG_4165.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;">
<img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbv4Y2243PcELYDrG1hGPOHBkrnfYgnKBf2MP1w4_FpPmSE7-r-GBdZxinzb41FFoE3abiJ3WeQ9QuF8wAEieE4mSwvHXJLcJQZAyqetkYIgt5aHXcAuESB1kB13El4a36Q5BmMY5RpiE4/s320/IMG_4165.JPG" width="320" /></a>
When I cut the ribbon cable I left the outer 2 wires longer deliberately to reach the other parts of the circuit board. Pins 0 and 1 on the CPU/Ram/NAND board are GND.
</td></tr>
<tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9mIb1UjvEuKKrmwBPJpnF0fg_rrHU2Vg-xf7TXWHWHAH1WzX7msaODhmfku2BzKJnLiNxzCrlH3BSXq8lSRk1b4nRMOfEsQhgvpYUgI2C6ZXuiLATPmGsxVRk0jwU2yE728-YIOIk5pRm/s1600/IMG_4166.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9mIb1UjvEuKKrmwBPJpnF0fg_rrHU2Vg-xf7TXWHWHAH1WzX7msaODhmfku2BzKJnLiNxzCrlH3BSXq8lSRk1b4nRMOfEsQhgvpYUgI2C6ZXuiLATPmGsxVRk0jwU2yE728-YIOIk5pRm/s320/IMG_4166.JPG" style="margin-top: 0px;" /></a>
The red line is taped out of the way until I can locate the 5V point I need to power the GPS that I'm thinking of installing. More tape to keep the ribbon cable against the side of the battery and away from the screw holes that secure the back of the case.
</td></tr>
<tr><td></td></tr>
<tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhocdF3uk4xleDNczgtxKXo5zI2UNkoUDB2oVaBE-tLTn6HcMhU2Ujc02-qhjFzwC5nDLlEKf7pmvhTrwxc9Tox9F1_nk6EyqT5HQiMmOiLOVQ4fquIaO5M5Z9WH57ghyMisQ-CstgwxGox/s1600/IMG_4168.JPG">
<img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhocdF3uk4xleDNczgtxKXo5zI2UNkoUDB2oVaBE-tLTn6HcMhU2Ujc02-qhjFzwC5nDLlEKf7pmvhTrwxc9Tox9F1_nk6EyqT5HQiMmOiLOVQ4fquIaO5M5Z9WH57ghyMisQ-CstgwxGox/s320/IMG_4168.JPG" style="clear: both; float: left; margin: 0px 10px 10px 0px;" /></a>
Break off a strip of 6 pins for the connector.5V,TX1,RX1,TX0,RX0,GND from left to right. Double sided tape to hold the connector out of the way and a fold of scotch tape to insulate until I work out whether to pierce the case and hot glue gun into a more permanent position.
</td></tr>
</tbody>
</table>Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com2tag:blogger.com,1999:blog-1882927844520328568.post-91531973411336801922012-06-03T13:17:00.001-07:002012-06-03T13:17:47.368-07:00First Post :D<div><p>Testing my blog account out.<br>
</p>
</div>Jono Powellhttp://www.blogger.com/profile/16497513505857484204noreply@blogger.com0