<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DotBlag.Com &#187; .Hardware</title>
	<atom:link href="http://www.dotblag.com/category/hardware/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dotblag.com</link>
	<description>Technical Trials And Errors</description>
	<lastBuildDate>Fri, 14 Oct 2011 23:07:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Hash!</title>
		<link>http://www.dotblag.com/2011/06/15/hash/</link>
		<comments>http://www.dotblag.com/2011/06/15/hash/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 22:50:58 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Hardware]]></category>
		<category><![CDATA[dev.urandom]]></category>
		<category><![CDATA[Speed.Demon]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=241</guid>
		<description><![CDATA[Shhhhhh&#8230;be vewwy vewwy quiet, I&#8217;m hunting SHA-256 hashes! Performance Summary ******************* Worst slack in design: 0.089 Requested Estimated Requested Estimated Clock Clock Starting Clock Frequency Frequency Period Period Slack Type Group ------------------------------------------------------------------------------------------------------------------------------------ main_pll&#124;CLKOP_inferred_clock 130.0 MHz 131.5 MHz 7.692 7.603 0.089 inferred Inferred_clkgroup_0 System 130.0 MHz 719.4 MHz 7.692 1.390 6.302 system system_clkgroup ====================================================================================================================================]]></description>
			<content:encoded><![CDATA[<p>Shhhhhh&#8230;be vewwy vewwy quiet, I&#8217;m hunting SHA-256 hashes!</p>
<pre>Performance Summary
*******************

Worst slack in design: 0.089

                                  Requested     Estimated     Requested     Estimated               Clock        Clock
Starting Clock                    Frequency     Frequency     Period        Period        Slack     Type         Group
------------------------------------------------------------------------------------------------------------------------------------
main_pll|CLKOP_inferred_clock     130.0 MHz     131.5 MHz     7.692         7.603         0.089     inferred     Inferred_clkgroup_0
System                            130.0 MHz     719.4 MHz     7.692         1.390         6.302     system       system_clkgroup
====================================================================================================================================</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2011/06/15/hash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Motorola Xoom</title>
		<link>http://www.dotblag.com/2011/03/30/motorola-xoom/</link>
		<comments>http://www.dotblag.com/2011/03/30/motorola-xoom/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 17:51:05 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Hardware]]></category>
		<category><![CDATA[Speed.Demon]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=230</guid>
		<description><![CDATA[Yup, I&#8217;m officially a gadget whore.  I bought a Verizon Motorola Xoom for delivery on launch day a while back.  I&#8217;ve been busy moving and working so this is the first chance I&#8217;ve had to write anything up on it. iFixit has a great teardown of the Motorola Xoom. I&#8217;m going to talk some about [...]]]></description>
			<content:encoded><![CDATA[<p>Yup, I&#8217;m officially a gadget whore.  I bought a <a href="http://verizonwireless.com/">Verizon</a> <a href="http://www.motorola.com/Consumers/US-EN/Consumer-Product-and-Services/Tablets/MOTOROLA-XOOM-with-WiFi-US-EN">Motorola Xoom</a> for delivery on launch day a while back.  I&#8217;ve been busy moving and working so this is the first chance I&#8217;ve had to write anything up on it. <a href="http://ifixit.com">iFixit</a> has <a href="http://www.ifixit.com/Teardown/Motorola-Xoom-Teardown/4989/1">a great teardown of the Motorola Xoom.</a> I&#8217;m going to talk some about the hardware, ups and downs, and the software a bit too.</p>
<h2>The Hardware</h2>
<h3>The Ups</h3>
<p>First off it&#8217;s definitely speedier than the <a href="http://www.htc.com/us/products/droid-incredible-verizon">HTC Incredible</a> and it should be!  It also seems to be faster than my netbook, a Dell Mini 9, and the display is certainly larger, clearer than the Mini 9&#8242;s.</p>
<p>The Xoom has 1G of memory, but part of that is lost to the display and other things, so the Linux Kernel ends up showing 742MB of RAM.</p>
<p>As to battery life I can&#8217;t make any reasonable comparisons WRT battery life against the phone since the Incredible has a bitty itty battery, and the Xoom has a pretty big cell inside of it.  1300 or 1450 mAh stock for the Incredible vs. 3250 mAh for the Xoom, however Seido has a <strong>monster</strong> 3500 mAh LiIon upgrade for the Incredible, but that requires a different back obviously.  I&#8217;ve yet to actually run the battery down to the point where it shuts off.  If I&#8217;m using it REALLY heavily then it&#8217;ll last a day and a half, maybe more, if it&#8217;s mostly sitting idle on my night stand or something it lasts a good week without a plugin.  You definitely seem to get the claimed 10 hours of active/non-standby battery time, unlike the HTC Incredible when it first came out where you were lucky to get 3-4 hrs on standby.</p>
<p>I still don&#8217;t yet have 4G, not that there is coverage in Montana at all anyway.  The inbuilt 32GB of storage has been sufficient so I haven&#8217;t had need to pop in an SD card yet, though that is supposedly functional now that the first round of software updates came out.</p>
<p>The integrated WiFi is 802.11 a/b/g/n &#8211; the 802.11a was great for me when I was in the apartment complex where the 2.4GHz spectrum was basically unusable due to so many APs.</p>
<p>You get a solid front camera rating in at 5MP and a solid rear camera rating in at 2MP &#8212; both are video capable, but I haven&#8217;t dug into the video capabilities very much.  I&#8217;m sure someone, somewhere, has.</p>
<p>It has a HDMI &#8220;D&#8221; connector, I think they call that microHDMI, I haven&#8217;t had a chance to use this yet either, but supposedly it is capable of 720p output.  No idea if it outputs sound or not (it SHOULD!)</p>
<h3>And The Downs</h3>
<p>*NO* ability to charge from USB on the Xoom.  I&#8217;m not even sure if it runs from USB power when it&#8217;s plugged in, but it certainly does not charge via USB.  The only charging option is a 12V 1.5A wall-wart (global 100-240V 50/60Hz) with an absolutely tiny diameter barrel connector.  I understand why they went this way, they upped to a 7.4V instead of 3.7V cell, but they could have built in a voltage booster so you could atleast run off USB in a pinch, or charge over a 24 hour period.  The other complaint I have about the charging arrangement is that the connector sticks out from the tablet pretty far when plugged in (see the picture, the USB connector there gives you a sense of size I hope) and is very likely to be broken off.</p>
<p>The touch screen seems to occasionally lose it&#8217;s marbles a bit, but I&#8217;m not sure if I should blame the touchscreen or the screen protector Verizon sells in their kit.  Locking and then restarting the screen with the power button on the back clears it up.  I&#8217;m hoping this is either the screen protector, or, a simple software fix as it is kind of irritating at times.</p>
<p>The &#8220;dock&#8221; is a useless piece of trash.  It&#8217;s almost impossible to get the stupid thing to line up so you can even use it, it only has audio output and charging capability (no USB nor HDMI pass-through).  Changing the &#8220;shoe&#8221; on the bottom of the Xoom to include some holes for alignment pins would fix this.</p>
<h2>New Apps/Features</h2>
<p>The new GMail app for Android 3.0 is SO much better than the old for  the phones.  The layout it&#8217;s using though really requires the extra  screen real-estate.</p>
<p>The new browser is faster, and the context bar(?) at the top where it shows your tabs, lets you touch to get the address bar, open new tab, close a tab, etc, is far more intuitive and easy to use than the old browser was.</p>
<p>One of the more interesting new apps I haven&#8217;t played much with yet is the Movie Studio app.  This lets you take video and pictures and actually edit together whole sequences right on the Xoom.  It&#8217;s actually fairly speedy, probably taking advantage of hardware acceleration to achieve that.</p>
<p>The CNN app that they demo-ed sort of sucks,  the stack widget can&#8217;t or won&#8217;t display anything but Top Stories, the scrolling  when you&#8217;re reading stories is ALWAYS along the left hand side of the  device making reading anything very awkward with the majority of the  screen taken up by whatever extra media is associated with the story.   There&#8217;s also no way to get to the home screen if you jump into the CNN  App from the widget (the back button doesn&#8217;t always do it for some reason, sometimes it takes you back to the Android Home screen, sometimes it actually successfully puts you at the CNN App&#8217;s home)</p>
<p>The YouTube Stack Widget also sucks because, again, no control over what it&#8217;s displaying.</p>
<p>Older apps and widgets are still a bit flaky, despite Android 3.0 being backwards compatible, some apps do bad things that don&#8217;t show up until you&#8217;re running multi-core.  There also may be bugs in Dalvik, so we&#8217;ll see how this fleshes out in the months to come.</p>
<h2>Command Line Goodness</h2>
<p>And just a bit of command line output goodness so anyone whose curious can see exactly what the thing is running and what hardware/modules get active in this non-4G Xoom.</p>
<p>Full dmesg output</p>
<pre>&lt;6&gt;[    0.000000] Initializing cgroup subsys cpu
&lt;5&gt;[    0.000000] Linux version 2.6.36.3-g2a65edc (android-build@apa28.mtv.corp.google.com) (gcc version 4.4.3 (GCC) ) #1 SMP PREEMPT Mon Feb 7 15:24:33 PST 2011
&lt;4&gt;[    0.000000] CPU: ARMv7 Processor [411fc090] revision 0 (ARMv7), cr=10c53c7f
&lt;4&gt;[    0.000000] CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
&lt;4&gt;[    0.000000] Machine: stingray
&lt;4&gt;[    0.000000] Ignoring unrecognised tag 0x41000810
&lt;6&gt;[    0.000000] powerup reason=0x00000080
&lt;4&gt;[    0.000000] WiFi MAC Addr [4] = 0x&lt;snip&gt;
&lt;4&gt;[    0.000000]  40 fc 89 2f 5e 26
&lt;6&gt;[    0.000000] Found tegra_fbmem: 007d0000@1e018000
&lt;6&gt;[    0.000000] Reserved 1ff00000@00100000 for ram console
&lt;6&gt;[    0.000000] Tegra reserved memory:
&lt;6&gt;[    0.000000] LP0:                    1e7f1020 - 1e7f301f
&lt;6&gt;[    0.000000] Bootloader framebuffer: 1e018000 - 1e7e7fff
&lt;6&gt;[    0.000000] Framebuffer:            2e800000 - 2effffff
&lt;6&gt;[    0.000000] 2nd Framebuffer:         2f000000 - 2fffffff
&lt;6&gt;[    0.000000] Carveout:               30000000 - 3fffffff
&lt;6&gt;[    0.000000] HACK: Old framebuffer:  1e018000 - 1e7e7fff
&lt;4&gt;[    0.000000] Memory policy: ECC disabled, Data cache writealloc
&lt;7&gt;[    0.000000] On node 0 totalpages: 189952
&lt;7&gt;[    0.000000] free_area_init_node: node 0, pgdat c056b2a0, node_mem_map c063a000
&lt;7&gt;[    0.000000]   Normal zone: 1536 pages used for memmap
&lt;7&gt;[    0.000000]   Normal zone: 0 pages reserved
&lt;7&gt;[    0.000000]   Normal zone: 188416 pages, LIFO batch:31
&lt;4&gt;[    0.000000]   HighMem zone: 512 pages exceeds realsize 0
&lt;6&gt;[    0.000000] PERCPU: Embedded 8 pages/cpu @c0e42000 s8512 r8192 d16064 u65536
&lt;6&gt;[    0.000000] pcpu-alloc: s8512 r8192 d16064 u65536 alloc=16*4096
&lt;6&gt;[    0.000000] pcpu-alloc: [0] 0 [0] 1
&lt;4&gt;[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 188416
&lt;5&gt;[    0.000000] Kernel command line: mem=1024M@0M tegra_fbmem=8192000@0x1e018000 video=tegrafb ramconsole=1M@511M console=ttyS0,115200n8 usbcore.old_scheme_first=1 tegraboot=sdmmc gpt gpt_sector=0x03b9dfff mot_prod=1 androidboot.serialno=&lt;snip&gt; hw_rev=p3 lp0_vec=8192@0x1e7f1020 androidboot.bootloader=1035 androidboot.baseband=N_02.0F.00R lcd_manfid=AUO mem_vid=0x303 mem_pid=0x5454
&lt;6&gt;[    0.000000] usb_serial_num=&lt;snip&gt;
&lt;6&gt;[    0.000000] hw_rev=0x83000000
&lt;6&gt;[    0.000000] lcd_manfid=AUO
&lt;6&gt;[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
&lt;6&gt;[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
&lt;6&gt;[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
&lt;6&gt;[    0.000000] Memory: 510MB 232MB = 742MB total
&lt;5&gt;[    0.000000] Memory: 736196k/736196k available, 312380k reserved, 0K highmem
&lt;5&gt;[    0.000000] Virtual kernel memory layout:
&lt;5&gt;[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
&lt;5&gt;[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
&lt;5&gt;[    0.000000]     DMA     : 0xff000000 - 0xffe00000   (  14 MB)
&lt;5&gt;[    0.000000]     vmalloc : 0xf0800000 - 0xf8000000   ( 120 MB)
&lt;5&gt;[    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
&lt;5&gt;[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
&lt;5&gt;[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
&lt;5&gt;[    0.000000]       .init : 0xc0008000 - 0xc0034000   ( 176 kB)
&lt;5&gt;[    0.000000]       .text : 0xc0034000 - 0xc0501000   (4916 kB)
&lt;5&gt;[    0.000000]       .data : 0xc0528000 - 0xc056bda0   ( 272 kB)
&lt;6&gt;[    0.000000] Hierarchical RCU implementation.
&lt;6&gt;[    0.000000]     RCU dyntick-idle grace-period acceleration is enabled.
&lt;6&gt;[    0.000000]     RCU-based detection of stalled CPUs is disabled.
&lt;6&gt;[    0.000000]     Verbose stalled-CPUs detection is disabled.
&lt;6&gt;[    0.000000] NR_IRQS:448
&lt;6&gt;[   17.693756] Calibrating delay loop... 1992.29 BogoMIPS (lpj=9961472)
&lt;6&gt;[   17.963399] pid_max: default: 32768 minimum: 301
&lt;4&gt;[   17.964031] Mount-cache hash table entries: 512
&lt;6&gt;[   17.964942] Initializing cgroup subsys debug
&lt;6&gt;[   17.964959] Initializing cgroup subsys cpuacct
&lt;6&gt;[   17.964982] Initializing cgroup subsys freezer
&lt;6&gt;[   17.965080] CPU: Testing write buffer coherency: ok
&lt;6&gt;[   17.965377] Calibrating local timer... 249.86MHz, setting to 2.50MHz.
&lt;4&gt;[   18.063626] CPU1: Booted secondary processor
&lt;6&gt;[   18.343470] Brought up 2 CPUs
&lt;6&gt;[   18.343486] SMP: Total of 2 processors activated (3991.14 BogoMIPS).
&lt;6&gt;[   18.351416] regulator: core version 0.5
&lt;6&gt;[   18.351840] NET: Registered protocol family 16
&lt;6&gt;[   18.352853] host1x bus init
&lt;6&gt;[   18.353781] Tegra Revision: A03 prime SKU: 8 CPU Process: 0 Core Process: 0
&lt;6&gt;[   18.355988] stingray_init_emc: Elpida memory found
&lt;6&gt;[   18.360723] console [ttyFIQ0] enabled
&lt;6&gt;[   18.360927] Registered FIQ tty driver ee087d80
&lt;6&gt;[   18.360944] CPCAP: delaying cpcap_audio probe
&lt;6&gt;[   18.362474] ram_console: got buffer at 1ff00000, size 100000
&lt;6&gt;[   18.362636] ram_console: uncorrectable error in header
&lt;6&gt;[   18.362645] ram_console: no valid data in buffer (sig = 0xfff7ffd7)
&lt;6&gt;[   18.370687] console [ram-1] enabled
&lt;6&gt;[   18.372353] CPCAP: delaying cpcap_validity probe
&lt;6&gt;[   18.372443] CPCAP: delaying cpcap_led_driver probe
&lt;6&gt;[   18.372599] CPCAP: delaying cpcap_led_driver probe
&lt;6&gt;[   18.372686] CPCAP: delaying cpcap_3mm5 probe
&lt;6&gt;[   18.372843] CPCAP: delaying cpcap_whisper probe
&lt;3&gt;[   18.373560] hdmi: couldn't get regulator vcsi
&lt;6&gt;[   18.836057] initialize the ov5650 sensor
&lt;6&gt;[   18.836519] initialize the soc2030 sensor
&lt;6&gt;[   18.844593] hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
&lt;6&gt;[   18.844953] tegra_arb_init: initialized
&lt;4&gt;[   18.845165] tegra_iovmm_register: added iovmm-gart
&lt;4&gt;[   18.857791] bio: create slab &lt;bio-0&gt; at 0
&lt;7&gt;[   18.858654] machine_constraints_voltage: override 'stingray_panel_reg' min_uV, 1 -&gt; 5000000
&lt;7&gt;[   18.858819] machine_constraints_voltage: override 'stingray_panel_reg' max_uV, 2147483647 -&gt; 5000000
&lt;6&gt;[   18.858910] regulator: stingray_panel_reg: 5000 mV
&lt;7&gt;[   18.859087] reg-fixed-voltage reg-fixed-voltage.0: stingray_panel_reg supplying 5000000uV
&lt;5&gt;[   18.860701] SCSI subsystem initialized
&lt;6&gt;[   18.861010] usbcore: registered new interface driver usbfs
&lt;6&gt;[   18.861267] usbcore: registered new interface driver hub
&lt;6&gt;[   18.861588] usbcore: registered new device driver usb
&lt;6&gt;[   18.864326] max8649 3-0060: Detected MAX8952 (ID: 0x201a)
&lt;6&gt;[   18.865534] regulator: max8649: 770 &lt;--&gt; 1100 mV at 1000 mV
&lt;6&gt;[   18.865672] max8649 3-0060: Max8649 regulator device is detected.
&lt;6&gt;[   18.867585] Bluetooth: Core ver 2.15
&lt;6&gt;[   18.867774] NET: Registered protocol family 31
&lt;6&gt;[   18.867933] Bluetooth: HCI device and connection manager initialized
&lt;6&gt;[   18.868024] Bluetooth: HCI socket layer initialized
&lt;6&gt;[   18.868444] Switching to clocksource timer_us
&lt;6&gt;[   18.869268] tegra-nvmap tegra-nvmap: created carveout iram (256KiB)
&lt;6&gt;[   18.869469] tegra-nvmap tegra-nvmap: created carveout generic-0 (262144KiB)
&lt;6&gt;[   18.871476] NET: Registered protocol family 2
&lt;6&gt;[   18.871750] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
&lt;6&gt;[   18.872563] TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
&lt;6&gt;[   18.874284] TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
&lt;6&gt;[   18.875165] TCP: Hash tables configured (established 131072 bind 65536)
&lt;6&gt;[   18.875322] TCP reno registered
&lt;6&gt;[   18.875411] UDP hash table entries: 512 (order: 2, 16384 bytes)
&lt;6&gt;[   18.875595] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
&lt;6&gt;[   18.875955] NET: Registered protocol family 1
&lt;6&gt;[   18.877034] Unpacking initramfs...
&lt;6&gt;[   18.888343] Freeing initrd memory: 140K
&lt;6&gt;[   18.888648] PMU: registered new PMU device of type 0
&lt;6&gt;[   18.888926] tegra_audio_probe
&lt;6&gt;[   18.889065] tegra_audio_probe: i2s_clk rate 24000000
&lt;6&gt;[   18.889747] setup_dma
&lt;6&gt;[   18.889960] tegra_audio_probe
&lt;6&gt;[   18.890094] tegra_audio_probe: i2s_clk rate 2000000
&lt;6&gt;[   18.891094] setup_dma
&lt;6&gt;[   18.891412] tegra_spdif_probe
&lt;6&gt;[   18.891839] spdif_set_sample_rate: spdif_clk rate 5644800
&lt;6&gt;[   18.892324] setup_dma
&lt;6&gt;[   18.893683] usbnet init
&lt;6&gt;[   18.916775] ashmem: initialized
&lt;6&gt;[   18.918317] fuse init (API version 7.15)
&lt;6&gt;[   18.919705] io scheduler noop registered (default)
&lt;6&gt;[   18.924073] tegra_grhost tegra_grhost: initialized
&lt;6&gt;[   18.924268] host1x: tegradc tegradc
&lt;6&gt;[   18.924793] tegradc tegradc.0: probed
&lt;6&gt;[   18.925581] tegradc tegradc.0: probed
&lt;6&gt;[   18.937303] host1x: tegradc tegradc
&lt;6&gt;[   18.937968] tegradc tegradc.1: probed
&lt;6&gt;[   18.938908] tegradc tegradc.1: probed
&lt;6&gt;[   18.939455] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
&lt;6&gt;[   18.940553] tegra_uart.0: ttyHS0 at I/O 0x0 (irq = 68) is a unknown
&lt;6&gt;[   18.940807] Registered UART port ttyHS0
&lt;6&gt;[   18.940930] tegra_uart.2: ttyHS2 at I/O 0x0 (irq = 78) is a unknown
&lt;6&gt;[   18.941227] Registered UART port ttyHS2
&lt;6&gt;[   18.941350] tegra_uart.3: ttyHS3 at I/O 0x0 (irq = 122) is a unknown
&lt;6&gt;[   18.941674] Registered UART port ttyHS3
&lt;6&gt;[   18.941796] tegra_uart.4: ttyHS4 at I/O 0x0 (irq = 123) is a unknown
&lt;6&gt;[   18.942105] Registered UART port ttyHS4
&lt;6&gt;[   18.942270] Initialized tegra uart driver
&lt;6&gt;[   18.946234] loop: module loaded
&lt;6&gt;[   18.946370] Android kernel panic handler initialized (bind=crashdata)
&lt;6&gt;[   18.946459] AK8975 compass driver: init
&lt;3&gt;[   18.946673] akm8975 3-000c: unable to get regulator 3-000c
&lt;6&gt;[   18.947059] input: compass as /devices/virtual/input/input0
&lt;6&gt;[   18.947571] kxtf9 accelerometer driver
&lt;3&gt;[   18.947791] kxtf9 3-000f: unable to get regulator
&lt;6&gt;[   19.050024] input: accelerometer as /devices/virtual/input/input1
&lt;6&gt;[   19.050525] kxtf9 3-000f: kxtf9 probed
&lt;6&gt;[   19.050831] cap_prox_hw_init: HW init
&lt;6&gt;[   19.260414] cap_prox_probe: msg-&gt;status 0x20
&lt;6&gt;[   19.260865] cap_prox_probe: Request IRQ = 395
&lt;6&gt;[   19.261223] cap-prox 3-0012: cap-prox probed
&lt;6&gt;[   19.261869] input: max9635_als as /devices/virtual/input/input2
&lt;6&gt;[   19.263790] L3G4200D gyroscope driver
&lt;3&gt;[   19.263984] l3g4200d_probe:Enter
&lt;3&gt;[   19.264077] l3g4200d 2-0068: unable to get regulator
&lt;6&gt;[   19.264390] input: gyroscope as /devices/virtual/input/input3
&lt;6&gt;[   19.264683] l3g4200d_probe:Gyro probed
&lt;7&gt;[   19.265100] mdm6600_ctrl_init
&lt;6&gt;[   19.265227] mdm6600_ctrl mdm6600_ctrl: mdm_ctrl_probe
&lt;6&gt;[   19.267058] mdm6600_ctrl: modem status: undefined -&gt; awake [power on]
&lt;6&gt;[   19.267429] BMP085 barometer driver
&lt;3&gt;[   19.268460] bmp085 0-0077: unable to get regulator
&lt;6&gt;[   19.268830] input: barometer as /devices/virtual/input/input4
&lt;6&gt;[   19.271716] ts27010 mux registered
&lt;6&gt;[   19.279302] regulator: sw2: 1000 &lt;--&gt; 1200 mV at 1200 mV
&lt;6&gt;[   19.281342] regulator: sw4: 1000 &lt;--&gt; 1200 mV at 1200 mV
&lt;6&gt;[   19.281797] regulator: sw5: 5050 mV
&lt;6&gt;[   19.282705] regulator: vcam: 2900 mV
&lt;6&gt;[   19.284728] regulator: vcsi: 1200 mV
&lt;6&gt;[   19.285599] regulator: vdac: 1800 mV
&lt;6&gt;[   19.287598] regulator: vdig: 1875 mV
&lt;6&gt;[   19.288026] regulator: vfuse: 1500 &lt;--&gt; 3150 mV
&lt;6&gt;[   19.289644] regulator: vhvio: 2775 mV
&lt;6&gt;[   19.291626] regulator: vsdio: 3000 mV
&lt;6&gt;[   19.292764] regulator: vpll: 1800 mV
&lt;6&gt;[   19.293192] regulator: vrf1: 2500 &lt;--&gt; 2775 mV
&lt;6&gt;[   19.293577] regulator: vrf2: 2775 mV
&lt;6&gt;[   19.294071] regulator: vrfref: 2500 &lt;--&gt; 2775 mV
&lt;6&gt;[   19.295587] regulator: vwlan1: 1800 &lt;--&gt; 1900 mV at 1800 mV
&lt;6&gt;[   19.297561] regulator: vwlan2: 3300 mV
&lt;6&gt;[   19.298074] regulator: vsim: 1800 &lt;--&gt; 2900 mV
&lt;6&gt;[   19.298513] regulator: vsimcard: 1800 &lt;--&gt; 2900 mV
&lt;6&gt;[   19.299052] regulator: vvib: 1300 &lt;--&gt; 3000 mV
&lt;6&gt;[   19.299513] regulator: vusb: 3300 mV
&lt;6&gt;[   19.301075] regulator: vaudio: 2775 mV normal standby
&lt;6&gt;[   19.302018] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0018
&lt;6&gt;[   19.314410] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0038
&lt;6&gt;[   19.326763] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0058
&lt;6&gt;[   19.339066] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0078
&lt;6&gt;[   19.351420] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0098
&lt;6&gt;[   19.363750] cpcap_uc cpcap_uc: Loading 4 word(s) at 0x00b8
&lt;6&gt;[   19.370129] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0120
&lt;6&gt;[   19.382427] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0140
&lt;6&gt;[   19.394787] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0160
&lt;6&gt;[   19.407087] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0180
&lt;6&gt;[   19.419449] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x01a0
&lt;6&gt;[   19.431744] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x01c0
&lt;6&gt;[   19.444106] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x01e0
&lt;6&gt;[   19.456433] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0200
&lt;6&gt;[   19.468799] cpcap_uc cpcap_uc: Loading 2 word(s) at 0x0220
&lt;6&gt;[   19.473616] cpcap_uc cpcap_uc: Loading 5 word(s) at 0x0224
&lt;6&gt;[   19.479994] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0231
&lt;6&gt;[   19.492294] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0251
&lt;6&gt;[   19.504651] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0271
&lt;6&gt;[   19.516952] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0291
&lt;6&gt;[   19.529312] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x02b1
&lt;6&gt;[   19.541609] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x02d1
&lt;6&gt;[   19.553967] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x02f1
&lt;6&gt;[   19.566266] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0311
&lt;6&gt;[   19.578630] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0331
&lt;6&gt;[   19.590925] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0351
&lt;6&gt;[   19.603285] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0371
&lt;6&gt;[   19.615585] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0391
&lt;6&gt;[   19.627942] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x03b1
&lt;6&gt;[   19.640241] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x03d1
&lt;6&gt;[   19.652603] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x03f1
&lt;6&gt;[   19.664900] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0411
&lt;6&gt;[   19.677261] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0431
&lt;6&gt;[   19.689539] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0451
&lt;6&gt;[   19.701761] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0471
&lt;6&gt;[   19.713999] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0491
&lt;6&gt;[   19.726328] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x04b1
&lt;6&gt;[   19.738583] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x04d1
&lt;6&gt;[   19.750894] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x04f1
&lt;6&gt;[   19.763163] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0511
&lt;6&gt;[   19.775430] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0531
&lt;6&gt;[   19.787759] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0551
&lt;6&gt;[   19.800030] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0571
&lt;6&gt;[   19.812358] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0591
&lt;6&gt;[   19.824627] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x05b1
&lt;6&gt;[   19.836955] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x05d1
&lt;6&gt;[   19.849236] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x05f1
&lt;6&gt;[   19.861552] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0611
&lt;6&gt;[   19.873790] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0631
&lt;6&gt;[   19.886116] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0651
&lt;6&gt;[   19.898388] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0671
&lt;6&gt;[   19.910716] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x0691
&lt;6&gt;[   19.922954] cpcap_uc cpcap_uc: Loading 16 word(s) at 0x06b1
&lt;6&gt;[   19.935284] cpcap_uc cpcap_uc: Loading 5 word(s) at 0x06d1
&lt;6&gt;[   19.946268] cpcap_uc cpcap_uc: Loaded HWCFG data: 0
&lt;6&gt;[   19.946507] cpcap_uc cpcap_uc: Started macro 4: 0
&lt;6&gt;[   19.959266] input: cpcap-key as /devices/virtual/input/input5
&lt;6&gt;[   19.959430] cpcap_key cpcap_key: CPCAP key device probed
&lt;6&gt;[   19.959653] cpcap spi1.0: Probing CPCAP device cpcap_audio
&lt;6&gt;[   19.961508] cpcap spi1.0: Probing CPCAP device cpcap_validity
&lt;6&gt;[   19.961916] cpcap_validity cpcap_validity: Started macro 14: 0
&lt;6&gt;[   19.962234] cpcap_validity cpcap_validity: Started macro 15: 0
&lt;6&gt;[   19.962328] cpcap spi1.0: Probing CPCAP device cpcap_led_driver
&lt;6&gt;[   19.962626] cpcap spi1.0: Probing CPCAP device cpcap_led_driver
&lt;6&gt;[   19.962846] cpcap spi1.0: Probing CPCAP device cpcap_3mm5
&lt;3&gt;[   19.963285] regulator_check_voltage: operation not allowed for vaudio
&lt;6&gt;[   19.964457] cpcap spi1.0: Headset key event: old=0, new=0
&lt;6&gt;[   19.964697] cpcap spi1.0: New headset state: 0
&lt;6&gt;[   19.964790] cpcap spi1.0: Probing CPCAP device cpcap_whisper
&lt;6&gt;[   19.965540] PPP generic driver version 2.4.2
&lt;6&gt;[   19.965893] PPP Deflate Compression module registered
&lt;6&gt;[   19.965982] PPP BSD Compression module registered
&lt;6&gt;[   19.966819] PPP MPPE Compression module registered
&lt;6&gt;[   19.966912] NET: Registered protocol family 24
&lt;6&gt;[   19.967819] usbcore: registered new interface driver asix
&lt;6&gt;[   19.967989] usbcore: registered new interface driver cdc_ether
&lt;6&gt;[   19.968302] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
&lt;6&gt;[   20.008697] tegra-ehci tegra-ehci.1: Tegra EHCI Host Controller
&lt;6&gt;[   20.008968] tegra-ehci tegra-ehci.1: new USB bus registered, assigned bus number 1
&lt;6&gt;[   20.038600] tegra-ehci tegra-ehci.1: irq 53, io mem 0xc5004000
&lt;6&gt;[   20.058582] tegra-ehci tegra-ehci.1: USB 2.0 started, EHCI 1.00
&lt;6&gt;[   20.058843] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
&lt;6&gt;[   20.058933] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
&lt;6&gt;[   20.059089] usb usb1: Product: Tegra EHCI Host Controller
&lt;6&gt;[   20.059177] usb usb1: Manufacturer: Linux 2.6.36.3-g2a65edc ehci_hcd
&lt;6&gt;[   20.059333] usb usb1: SerialNumber: tegra-ehci.1
&lt;6&gt;[   20.059968] hub 1-0:1.0: USB hub found
&lt;6&gt;[   20.060155] hub 1-0:1.0: 1 port detected
&lt;6&gt;[   20.063233] tegra-ehci tegra-ehci.2: Tegra EHCI Host Controller
&lt;6&gt;[   20.063358] tegra-ehci tegra-ehci.2: new USB bus registered, assigned bus number 2
&lt;6&gt;[   20.088604] tegra-ehci tegra-ehci.2: irq 129, io mem 0xc5008000
&lt;6&gt;[   20.108582] tegra-ehci tegra-ehci.2: USB 2.0 started, EHCI 1.00
&lt;6&gt;[   20.108765] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
&lt;6&gt;[   20.108925] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
&lt;6&gt;[   20.109014] usb usb2: Product: Tegra EHCI Host Controller
&lt;6&gt;[   20.109173] usb usb2: Manufacturer: Linux 2.6.36.3-g2a65edc ehci_hcd
&lt;6&gt;[   20.109260] usb usb2: SerialNumber: tegra-ehci.2
&lt;6&gt;[   20.109916] hub 2-0:1.0: USB hub found
&lt;6&gt;[   20.110024] hub 2-0:1.0: 1 port detected
&lt;6&gt;[   20.110653] usbcore: registered new interface driver cdc_acm
&lt;6&gt;[   20.110813] cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
&lt;6&gt;[   20.110973] Initializing USB Mass Storage driver...
&lt;6&gt;[   20.111215] usbcore: registered new interface driver usb-storage
&lt;6&gt;[   20.111374] USB Mass Storage support registered.
&lt;6&gt;[   20.111680] usbcore: registered new interface driver usbserial
&lt;6&gt;[   20.111839] usbserial: USB Serial Driver core
&lt;6&gt;[   20.112043] USB Serial support registered for MDM 6600 modem usb-serial driver
&lt;6&gt;[   20.112314] usbcore: registered new interface driver mdm6600
&lt;6&gt;[   20.112562] USB Serial support registered for moto-flashmdm
&lt;6&gt;[   20.112800] usbcore: registered new interface driver moto-flashmdm
&lt;6&gt;[   20.112890] NVidia Tegra High-Speed USB SOC Device Controller driver (Apr 20, 2007)
&lt;6&gt;[   20.118359] android init
&lt;6&gt;[   20.118510] android_probe pdata: c0547da8
&lt;6&gt;[   20.118700] android_bind
&lt;7&gt;[   20.118858] android_bind_config
&lt;4&gt;[   20.118943] Gadget Android: controller 'fsl-tegra-udc' not recognized
&lt;6&gt;[   20.119275] android_usb gadget: android_usb ready
&lt;6&gt;[   20.119365] fsl-tegra-udc: bind to driver android_usb
&lt;6&gt;[   20.119528] f_adb init
&lt;6&gt;[   20.119683] android_register_function adb
&lt;6&gt;[   20.119768] f_mtp init
&lt;6&gt;[   20.119852] android_register_function mtp
&lt;6&gt;[   20.119936] f_rndis init
&lt;6&gt;[   20.120208] android_register_function rndis
&lt;6&gt;[   20.120299] rndis_function_bind_config MAC: &lt;snip&gt;
&lt;4&gt;[   20.120495] android_usb gadget: using random self ethernet address
&lt;4&gt;[   20.120590] android_usb gadget: using random host ethernet address
&lt;6&gt;[   20.121150] usb0: MAC &lt;snip&gt;
&lt;6&gt;[   20.121239] usb0: HOST MAC &lt;snip&gt;
&lt;6&gt;[   20.121481] mtp_bind_config
&lt;6&gt;[   20.123148] adb_bind_config
&lt;6&gt;[   20.124910] qtouch_ts_probe: xpos_msb 4 xpos_lsb 4 ypos_msb 4 ypos_lsb 0
&lt;6&gt;[   20.125003] qtouch_force_reset: Forcing HW reset
&lt;6&gt;[   20.409109] qtouch_process_info_block: Build version is 0x10
&lt;6&gt;[   20.409202] qtouch_process_info_block: Num obj: 18 addr: 7
&lt;6&gt;[   20.409360] qtouch_process_info_block: Reading addr: 7
&lt;6&gt;[   20.409970] qtouch_process_info_block: Object 37 @ 0x0076 (130) insts 1 rep_ids 0
&lt;6&gt;[   20.410129] qtouch_process_info_block: Reading addr: 13
&lt;6&gt;[   20.410715] qtouch_process_info_block: Object 44 @ 0x00f8 (1) insts 1 rep_ids 0
&lt;6&gt;[   20.410874] qtouch_process_info_block: Reading addr: 19
&lt;6&gt;[   20.411531] qtouch_process_info_block: Object 5 @ 0x00f9 (9) insts 1 rep_ids 0
&lt;6&gt;[   20.411621] qtouch_process_info_block: Reading addr: 25
&lt;6&gt;[   20.412277] qtouch_process_info_block: Object 6 @ 0x0102 (6) insts 1 rep_ids 1
&lt;6&gt;[   20.412364] qtouch_process_info_block: Reading addr: 31
&lt;6&gt;[   20.413023] qtouch_process_info_block: Object 38 @ 0x0108 (64) insts 1 rep_ids 0
&lt;6&gt;[   20.413111] qtouch_process_info_block: Reading addr: 37
&lt;6&gt;[   20.413769] qtouch_process_info_block: Object 7 @ 0x0148 (3) insts 1 rep_ids 0
&lt;6&gt;[   20.413857] qtouch_process_info_block: Reading addr: 43
&lt;6&gt;[   20.414514] qtouch_process_info_block: Object 8 @ 0x014b (10) insts 1 rep_ids 0
&lt;6&gt;[   20.414673] qtouch_process_info_block: Reading addr: 49
&lt;6&gt;[   20.415260] qtouch_process_info_block: Object 9 @ 0x0155 (34) insts 1 rep_ids 16
&lt;6&gt;[   20.415418] qtouch_process_info_block: Reading addr: 55
&lt;6&gt;[   20.416006] qtouch_process_info_block: Object 15 @ 0x0177 (11) insts 2 rep_ids 1
&lt;6&gt;[   20.416163] qtouch_process_info_block: Reading addr: 61
&lt;6&gt;[   20.416592] qtouch_process_info_block: Object 18 @ 0x018d (2) insts 1 rep_ids 0
&lt;6&gt;[   20.416750] qtouch_process_info_block: Reading addr: 67
&lt;6&gt;[   20.417179] qtouch_process_info_block: Object 22 @ 0x018f (17) insts 1 rep_ids 1
&lt;6&gt;[   20.417337] qtouch_process_info_block: Reading addr: 73
&lt;6&gt;[   20.417837] qtouch_process_info_block: Object 24 @ 0x01a0 (19) insts 1 rep_ids 4
&lt;6&gt;[   20.417927] qtouch_process_info_block: Reading addr: 79
&lt;6&gt;[   20.418427] qtouch_process_info_block: Object 25 @ 0x01b3 (14) insts 1 rep_ids 1
&lt;6&gt;[   20.418515] qtouch_process_info_block: Reading addr: 85
&lt;6&gt;[   20.419029] qtouch_process_info_block: Object 27 @ 0x01c1 (7) insts 1 rep_ids 1
&lt;6&gt;[   20.419117] qtouch_process_info_block: Reading addr: 91
&lt;6&gt;[   20.419618] qtouch_process_info_block: Object 28 @ 0x01c8 (6) insts 1 rep_ids 1
&lt;6&gt;[   20.419774] qtouch_process_info_block: Reading addr: 97
&lt;6&gt;[   20.420202] qtouch_process_info_block: Object 40 @ 0x01ce (5) insts 1 rep_ids 0
&lt;6&gt;[   20.420358] qtouch_process_info_block: Reading addr: 103
&lt;6&gt;[   20.420789] qtouch_process_info_block: Object 41 @ 0x01d3 (7) insts 1 rep_ids 0
&lt;6&gt;[   20.420947] qtouch_process_info_block: Reading addr: 109
&lt;6&gt;[   20.421377] qtouch_process_info_block: Object 43 @ 0x01da (6) insts 1 rep_ids 0
&lt;6&gt;[   20.421824] qtouch_process_info_block: qtouch-obp-ts found.
&lt;6&gt;[   20.421829]   family 0xa0, variant 0x0, ver 0x10, build 0xff
&lt;6&gt;[   20.421833]   matrix 33x42, 18 objects, info blk chksum 0x203301
&lt;6&gt;[   20.422149] qtouch_ts_probe: FW version is 0x10 Build 0xFF
&lt;6&gt;[   20.422305] qtouch_ts_probe: Chip type matched
&lt;6&gt;[   20.422390] qtouch_ts_probe: Reflash not needed
&lt;6&gt;[   20.422910] input: qtouch-touchscreen as /devices/virtual/input/input6
&lt;6&gt;[   20.423296] qtouch_ts_probe: request_irq [362] success.
&lt;6&gt;[   20.423493] do_cmd_proc_msg:EEPROM checksum matches
&lt;6&gt;[   20.423579] do_cmd_proc_msg: Reset done.
&lt;6&gt;[   20.423664] do_cmd_proc_msg: Self-calibration started.
&lt;3&gt;[   20.424091] gpiomatrix: set_irq_wake failed for input 136, irq 328
&lt;3&gt;[   20.424264] gpiomatrix: set_irq_wake failed for input 137, irq 329
&lt;6&gt;[   20.424423] GPIO Matrix Keypad Driver: Start keypad matrix for stingray-keypad in interrupt mode
&lt;6&gt;[   20.424607] GPIO Input Driver: Start gpio inputs for stingray-keypad in interrupt mode
&lt;6&gt;[   20.424934] input: stingray-keypad as /devices/virtual/input/input7
&lt;6&gt;[   20.425658] using input dev cpcap-key for key reset
&lt;6&gt;[   20.425759] using input dev stingray-keypad for key reset
&lt;6&gt;[   20.425953] using input dev cpcap-key for key reset
&lt;6&gt;[   20.426823] using rtc device, cpcap_rtc, for alarms
&lt;6&gt;[   20.426984] cpcap_rtc cpcap_rtc: rtc core: registered cpcap_rtc as rtc0
&lt;6&gt;[   20.427587] i2c /dev entries driver
&lt;6&gt;[   20.428557] Linux video capture interface: v2.00
&lt;6&gt;[   20.428597] usb 2-1: new high speed USB device using tegra-ehci and address 2
&lt;6&gt;[   20.429070] trpc_sema_init: registered misc dev 10:32
&lt;6&gt;[   20.429296] trpc_node_register: Adding 'local' to node list
&lt;6&gt;[   20.431268] trpc_node_register: Adding 'avp-remote' to node list
&lt;6&gt;[   20.431604] tegra_avp_probe: driver registered, kernel 30100000(f0c00000), msg area 2d9d0000/2d9d0110
&lt;6&gt;[   20.431898] tegra_camera: probe
&lt;6&gt;[   20.432257] ov5650 sensor driver loading
&lt;6&gt;[   20.432449] ov5650: probing sensor.
&lt;6&gt;[   20.432793] soc2030: probing sensor.
&lt;6&gt;[   20.433109] dw9714l sensor driver loading
&lt;6&gt;[   20.433296] dw9714l: probing sensor.
&lt;6&gt;[   20.434770] Driver for 1-wire Dallas network protocol.
&lt;6&gt;[   20.435138] Driver for Tegra SoC 1-wire controller
&lt;6&gt;[   20.436176] bq24617 bq24617: Using STAT and DETECT for detection.
&lt;6&gt;[   20.436973] device-mapper: uevent: version 1.0.3
&lt;6&gt;[   20.437495] device-mapper: ioctl: 4.18.0-ioctl (2010-06-29) initialised: dm-devel@redhat.com
&lt;6&gt;[   20.437633] Bluetooth: HCI UART driver ver 2.2
&lt;6&gt;[   20.437722] Bluetooth: HCI H4 protocol initialized
&lt;6&gt;[   20.437808] Bluetooth: HCILL protocol initialized
&lt;6&gt;[   20.438624] cpuidle: using governor ladder
&lt;6&gt;[   20.439309] cpuidle: using governor menu
&lt;6&gt;[   20.439501] sdhci: Secure Digital Host Controller Interface driver
&lt;6&gt;[   20.439667] sdhci: Copyright(c) Pierre Ossman
&lt;4&gt;[   20.439934] mmc0: Invalid maximum block size, assuming 512 bytes
&lt;6&gt;[   20.440122] mmc0: no vmmc regulator found
&lt;7&gt;[   20.440417] Registered led device: mmc0::
&lt;6&gt;[   20.440763] mmc0: SDHCI controller on tegra [sdhci-tegra.1] using ADMA
&lt;6&gt;[   20.440856] sdhci1: initialized irq 47 ioaddr fe600200
&lt;4&gt;[   20.441114] mmc1: Invalid maximum block size, assuming 512 bytes
&lt;6&gt;[   20.441228] mmc1: no vmmc regulator found
&lt;7&gt;[   20.441549] Registered led device: mmc1::
&lt;6&gt;[   20.441794] mmc1: SDHCI controller on tegra [sdhci-tegra.3] using ADMA
&lt;6&gt;[   20.441959] sdhci3: initialized irq 63 ioaddr fe600600
&lt;7&gt;[   20.442565] Registered led device: notification-led
&lt;7&gt;[   20.442854] Registered led device: privacy-led
&lt;7&gt;[   20.444415] Registered led device: lcd-backlight
&lt;7&gt;[   20.446334] Registered led device: flash
&lt;7&gt;[   20.446564] Registered led device: torch
&lt;6&gt;[   20.447555] tegra-aes tegra-aes: registered
&lt;6&gt;[   20.451529] usbcore: registered new interface driver usbhid
&lt;6&gt;[   20.451773] usbhid: USB HID core driver
&lt;6&gt;[   20.452349] logger: created 64K log 'log_main'
&lt;6&gt;[   20.452597] logger: created 256K log 'log_events'
&lt;6&gt;[   20.452906] logger: created 64K log 'log_radio'
&lt;6&gt;[   20.453127] logger: created 64K log 'log_system'
&lt;6&gt;[   20.453686] oprofile: using arm/armv7-ca9
&lt;6&gt;[   20.453869] GACT probability NOT on
&lt;6&gt;[   20.453961] Mirror/redirect action on
&lt;6&gt;[   20.454116] u32 classifier
&lt;6&gt;[   20.454197]     Actions configured
&lt;6&gt;[   20.454283] Netfilter messages via NETLINK v0.30.
&lt;6&gt;[   20.454501] nf_conntrack version 0.5.0 (11505 buckets, 46020 max)
&lt;6&gt;[   20.454982] ctnetlink v0.93: registering with nfnetlink.
&lt;6&gt;[   20.458199] xt_time: kernel timezone is -0000
&lt;6&gt;[   20.458630] ip_tables: (C) 2000-2006 Netfilter Core Team
&lt;6&gt;[   20.458977] arp_tables: (C) 2002 David S. Miller
&lt;6&gt;[   20.459237] TCP cubic registered
&lt;6&gt;[   20.459905] NET: Registered protocol family 10
&lt;6&gt;[   20.461033] lo: Disabled Privacy Extensions
&lt;6&gt;[   20.461919] Mobile IPv6
&lt;6&gt;[   20.462010] IPv6 over IPv4 tunneling driver
&lt;6&gt;[   20.462756] sit0: Disabled Privacy Extensions
&lt;6&gt;[   20.463680] ip6tnl0: Disabled Privacy Extensions
&lt;6&gt;[   20.463964] NET: Registered protocol family 17
&lt;6&gt;[   20.464173] NET: Registered protocol family 15
&lt;6&gt;[   20.464486] Bluetooth: L2CAP ver 2.15
&lt;6&gt;[   20.464601] Bluetooth: L2CAP socket layer initialized
&lt;6&gt;[   20.464612] usb 2-1: New USB device found, idVendor=22b8, idProduct=2a70
&lt;6&gt;[   20.464623] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
&lt;6&gt;[   20.464631] usb 2-1: Product: Flash MZ600
&lt;6&gt;[   20.464637] usb 2-1: Manufacturer: Motorola, Incorporated
&lt;6&gt;[   20.465236] Bluetooth: SCO (Voice Link) ver 0.6
&lt;6&gt;[   20.465321] Bluetooth: SCO socket layer initialized
&lt;6&gt;[   20.465593] Bluetooth: RFCOMM TTY layer initialized
&lt;6&gt;[   20.465699] Bluetooth: RFCOMM socket layer initialized
&lt;6&gt;[   20.465856] Bluetooth: RFCOMM ver 1.11
&lt;6&gt;[   20.465941] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
&lt;6&gt;[   20.466026] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
&lt;6&gt;[   20.470698] mdm6600 2-1:1.0: MDM 6600 modem usb-serial driver converter detected
&lt;4&gt;[   20.471276] Disabling clock audio left on by bootloader
&lt;4&gt;[   20.471515] Disabling clock vfir left on by bootloader
&lt;4&gt;[   20.471635] Disabling clock pll_p_out4 left on by bootloader
&lt;4&gt;[   20.471806] Disabling clock pll_c_out1 left on by bootloader
&lt;6&gt;[   20.472013] Enabling Tegra protected aperture at 0x2e800000
&lt;6&gt;[   20.472056] usb 2-1: MDM 6600 modem usb-serial driver converter now attached to ttyUSB0
&lt;6&gt;[   20.472329] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 1
&lt;6&gt;[   20.472454] mdm6600 2-1:1.1: MDM 6600 modem usb-serial driver converter detected
&lt;4&gt;[   20.473493] regulator_init_complete: incomplete constraints, leaving vusb on
&lt;6&gt;[   20.473718] usb 2-1: MDM 6600 modem usb-serial driver converter now attached to ttyUSB1
&lt;4&gt;[   20.474014] regulator_init_complete: incomplete constraints, leaving vcsi on
&lt;6&gt;[   20.474199] mdm6600 2-1:1.2: MDM 6600 modem usb-serial driver converter detected
&lt;3&gt;[   20.475295] regulator_check_voltage: operation not allowed for vusb
&lt;6&gt;[   20.475762] usb 2-1: MDM 6600 modem usb-serial driver converter now attached to ttyUSB2
&lt;6&gt;[   20.475825] cpcap_whisper cpcap_whisper: CPCAP Whisper detection probed
&lt;6&gt;[   20.476367] mdm6600 2-1:1.3: MDM 6600 modem usb-serial driver converter detected
&lt;6&gt;[   20.476835] cpcap_rtc cpcap_rtc: setting system clock to 2011-03-30 16:55:50 UTC (1301504150)
&lt;6&gt;[   20.477398] Freeing init memory: 176K
&lt;6&gt;[   20.478177] usb 2-1: MDM 6600 modem usb-serial driver converter now attached to ttyUSB3
&lt;6&gt;[   20.478835] mdm6600 2-1:1.4: MDM 6600 modem usb-serial driver converter detected
&lt;6&gt;[   20.481572] usb 2-1: MDM 6600 modem usb-serial driver converter now attached to ttyUSB4
&lt;6&gt;[   20.647778] keychord: using input dev stingray-keypad for fevent
&lt;6&gt;[   20.698760] whisper_notify: accy=USB
&lt;6&gt;[   20.703030] cpcap-otg cpcap-otg: SUSPEND --&gt; PERIPHERAL
&lt;6&gt;[   20.722880] mmc1: new high speed MMC card at address 0001
&lt;6&gt;[   20.723529] mmcblk0: mmc1:0001 MMC32G 29.8 GiB
&lt;4&gt;[   20.728076] Primary GPT is invalid, using alternate GPT.
&lt;6&gt;[   20.728266]  mmcblk0: p1 (ebb) p2 (pdsb) p3 (misc) p4 (logo.bin) p5 (kpanic) p6 (recovery) p7 (boot) p8 (system) p9 (cache) p10 (userdata)
&lt;6&gt;[   20.749357] EXT4-fs (mmcblk0p8): mounted filesystem with ordered data mode. Opts: (null)
&lt;6&gt;[   26.365164] EXT4-fs (mmcblk0p10): recovery complete
&lt;6&gt;[   26.372539] EXT4-fs (mmcblk0p10): mounted filesystem with ordered data mode. Opts: (null)
&lt;4&gt;[   26.415043] EXT4-fs (mmcblk0p9): warning: mounting fs with errors, running e2fsck is recommended
&lt;6&gt;[   26.418763] EXT4-fs (mmcblk0p9): recovery complete
&lt;6&gt;[   26.422202] EXT4-fs (mmcblk0p9): mounted filesystem with ordered data mode. Opts: (null)
&lt;4&gt;[   26.469363] init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instead.
&lt;6&gt;[   26.585340] warning: `adbd' uses 32-bit capabilities (legacy support in use)
&lt;6&gt;[   26.585572] enabling adb
&lt;6&gt;[   26.598792] adb_open
&lt;6&gt;[   26.682814] gps_brcm4750_ioctl: Setting gps gpio reset pin: 0
&lt;6&gt;[   26.683000] stingray_gps_reset_gpio: setting GPS Reset GPIO to 0
&lt;6&gt;[   26.683267] gps_brcm4750_ioctl: Setting gps gpio standby pin to: 0
&lt;6&gt;[   26.683408] stingray_gps_standby_gpio: setting GPS standby GPIO to 0
&lt;6&gt;[   26.684760] gps_brcm4750_ioctl: Setting gps gpio reset pin: 1
&lt;6&gt;[   26.684906] stingray_gps_reset_gpio: setting GPS Reset GPIO to 1
&lt;6&gt;[   26.763575] gps_brcm4750_ioctl: Setting gps gpio standby pin to: 1
&lt;6&gt;[   26.763672] stingray_gps_standby_gpio: setting GPS standby GPIO to 1
&lt;6&gt;[   27.277577] tear_down_dma
&lt;6&gt;[   27.277737] setup_dma
&lt;6&gt;[   27.279997] tear_down_dma
&lt;6&gt;[   27.280159] setup_dma
&lt;6&gt;[   44.689354] gps_brcm4750_ioctl: Setting gps gpio standby pin to: 0
&lt;6&gt;[   44.689543] stingray_gps_standby_gpio: setting GPS standby GPIO to 0
&lt;4&gt;[   50.594319] wifi_set_power = 1
&lt;4&gt;[   51.003270] wifi_set_carddetect = 1
&lt;4&gt;[   51.004381]
&lt;4&gt;[   51.004385] Dongle Host Driver, version 4.218.248.20
&lt;6&gt;[   51.038448] request_suspend_state: wakeup (3-&gt;0) at 33339878001 (2011-03-30 16:56:21.050062001 UTC)
&lt;4&gt;[   51.051347] mmc0: queuing unknown CIS tuple 0x91 (3 bytes)
&lt;6&gt;[   51.051488] mmc0: new high speed SDIO card at address 0001
&lt;4&gt;[   51.056551] DHD: dongle ram size is set to 294912(orig 294912)
&lt;4&gt;[   51.170987] Firmware version = wl0: Jan 12 2011 13:48:56 version 4.218.248.20
&lt;4&gt;[   51.313321] wlan0: Broadcom Dongle Host Driver mac=&lt;snip&gt;
&lt;4&gt;[   54.186655] STA connect received 1
&lt;6&gt;[   54.883460] mtp_open
&lt;6&gt;[   55.870921] gps_brcm4750_ioctl: Setting gps gpio standby pin to: 1
&lt;6&gt;[   55.871024] stingray_gps_standby_gpio: setting GPS standby GPIO to 1
&lt;3&gt;[   65.188394] binder: release proc 600, transaction 8298, not freed
&lt;6&gt;[   70.719196] gps_brcm4750_ioctl: Setting gps gpio standby pin to: 0
&lt;6&gt;[   70.719302] stingray_gps_standby_gpio: setting GPS standby GPIO to 0
&lt;6&gt;[   91.509091] whisper_notify: accy=none
&lt;6&gt;[   91.510297] cpcap-otg cpcap-otg: PERIPHERAL --&gt; SUSPEND
&lt;6&gt;[   94.760897] binder: 832:833 refcount change on invalid ref 20
&lt;6&gt;[   95.478897] binder: 832:833 refcount change on invalid ref 31
&lt;6&gt;[  100.968782] whisper_notify: accy=USB
&lt;6&gt;[  100.969131] cpcap-otg cpcap-otg: SUSPEND --&gt; PERIPHERAL
&lt;6&gt;[  112.229274] mtp_release
&lt;6&gt;[  115.909260] whisper_notify: accy=none
&lt;6&gt;[  115.910877] cpcap-otg cpcap-otg: PERIPHERAL --&gt; SUSPEND
&lt;6&gt;[  136.329252] whisper_notify: accy=USB
&lt;6&gt;[  136.330662] cpcap-otg cpcap-otg: SUSPEND --&gt; PERIPHERAL
&lt;6&gt;[  136.662973] mtp_open
&lt;6&gt;[  136.824673] android_usb gadget: high speed config #1: android
</pre>
<p>cat /proc/cpuinfo (mmmm dual corey goodness &#8211; tho cpuinfo doesn&#8217;t show it &#8211; i also removed the serial number, just in case&#8230;)</p>
<p>Processor    : ARMv7 Processor rev 0 (v7l)<br />
processor    : 0<br />
BogoMIPS    : 1992.29</p>
<p>processor    : 1<br />
BogoMIPS    : 1998.84</p>
<p>Features    : swp half thumb fastmult vfp edsp vfpv3 vfpv3d16<br />
CPU implementer    : 0&#215;41<br />
CPU architecture: 7<br />
CPU variant    : 0&#215;1<br />
CPU part    : 0xc09<br />
CPU revision    : 0</p>
<p>Hardware    : stingray<br />
Revision    : 8300<br />
Serial        : &lt;snip&gt;<br />
A lil bit of df (/mnt/sdcard appears to be aliased to the internal data storage in absence of an actual sd card via a fuse driver)</p>
<pre>Filesystem             Size   Used   Free   Blksize
/dev                   359M    32K   359M   4096
/mnt/asec              359M     0K   359M   4096
/mnt/obb               359M     0K   359M   4096
/system                236M   193M    42M   4096
/data                   28G     1G    27G   4096
/cache                 166M     4M   162M   4096
/pds                     1M   106K     1M   2048
/mnt/sdcard             28G     1G    27G   4096</pre>
<p>cat /proc/mounts</p>
<pre>rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/platform/sdhci-tegra.3/by-name/system /system ext4 ro,relatime,barrier=1,data=ordered 0 0
/dev/block/platform/sdhci-tegra.3/by-name/userdata /data ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/block/platform/sdhci-tegra.3/by-name/cache /cache ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/block/platform/sdhci-tegra.3/by-name/pdsb /pds ext2 ro,relatime 0 0
/dev/fuse /mnt/sdcard fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0</pre>
<p>Thats it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2011/03/30/motorola-xoom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>So WTF ATI, Really?</title>
		<link>http://www.dotblag.com/2010/10/18/so-wtf-ati-really/</link>
		<comments>http://www.dotblag.com/2010/10/18/so-wtf-ati-really/#comments</comments>
		<pubDate>Mon, 18 Oct 2010 21:40:54 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Fail]]></category>
		<category><![CDATA[.Hardware]]></category>
		<category><![CDATA[.WTFMate?]]></category>
		<category><![CDATA[Speed.Demon]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[AMD]]></category>
		<category><![CDATA[ATI]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Radeon]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=218</guid>
		<description><![CDATA[I finally jumped into the modern area of gaming machines, buying a nice beefy system. Everythings great, except ATI still sucks. I have an older ATI card in a machine that was relegated to a server, but is now no longer used, just sitting in my closet as spare/test equipment. And I swore then I [...]]]></description>
			<content:encoded><![CDATA[<p>I finally jumped into the modern area of gaming machines, buying a nice beefy system.  Everythings great, except <a href="http://www.ati.com">ATI</a> still sucks.  I have an older ATI card in a machine that was relegated to a server, but is now no longer used, just sitting in my closet as spare/test equipment.  And I swore then I wouldn&#8217;t buy another ATI for a good long while.  This was around 2005.</p>
<p>Fast forward to 2010. It&#8217;s been long enough, I figure the AMD/ATI integration should&#8217;ve helped them out by now, right?  Buy a new machine with two <a href="http://www.amd.com/us/products/desktop/graphics/ati-radeon-hd-5000/hd-5870/Pages/ati-radeon-hd-5870-overview.aspx#2">ATI Radeon HD 5870&#8242;s</a>.  Capable of 850MHz GPU clock and a 1200MHz memory clock, before overclocking or tweaking.  Right out of the box I get underscan on my HDMI connection.  No worries I think, fire up ATI Catalyst Control Center (CCC) and turn it off, problem fixed.  Really retarded that they do that at all, but whatever.</p>
<p>Cue reboot to do the obligatory windows update&#8230;WTF?  Underscan again?  OK maybe drivers got punked, reset it, yay.  All is good.  A day or so later, another reboot.  ?!??! UNDERSCAN AGAIN!?!?!  Go get latest Catalyst drivers.  They don&#8217; properly install so I have to uninstall them, run driver sweeper, and then try the install again.  Back to underscan&#8230;reset&#8230;but now the underscan is clearly on on EVERY reboot.  Resort to Googling.  Apparently this bug has been around for a damn long time.  And may even be that it keeps coming back.  How about this ATI.  Since almost NO HDMI compatible display device is going to desire underscan, JUST DISABLE IT BY DEFAULT!?  No nVidia card I&#8217;ve had has had this issue.</p>
<p>So on top of this really painfully obvious underscan issue, the driver installer/uninstaller doesn&#8217;t work right.  Its so bad in fact that ATI&#8217;s own people often point customers to driver sweeper instead of FIXING the damn thing.  Installing new drivers is not remotely seamless like it should be.  Upgrades should always be pain free, download installer and run.  With ATI&#8217;s packages running the installer like that may or may not get you fully updated depending on the phase of the moon, color of your hair, and whether the geese have flown south for the winter or not.</p>
<p>Another irritating one.  And one I&#8217;ve attached a GPU-Z screenshot for.  With <a href="http://www.adobe.com/products/flash/">Adobe Flash 10.1</a>, playing any flash accelerated video, IE from <a href="http://youtube.com">YouTube</a>, will lock your Radeon HD 5870 to 400/900, no matter what.  I fired up Kombustor and FurMark to prove it.  Close the YouTube window and your clocks unlock to 850/1200.  This is another bug that goes WAY WAY back after a bit of Googling.</p>
<div id="attachment_223" class="wp-caption alignright" style="width: 249px"><a href="http://www.dotblag.com/wp-content/uploads/2010/10/WTF_ATI.gif"><img class="size-medium wp-image-223" title="WTF ATI" src="http://www.dotblag.com/wp-content/uploads/2010/10/WTF_ATI-239x300.gif" alt="" width="239" height="300" /></a><p class="wp-caption-text">Seriously ATI?</p></div>
<p>The attached image shows me first firing up a YouTube clip in <a href="http://firefox.com/">FireFox</a>.  The Video clock jumps to 400/900 and sticks&#8230;a little odd, especially if the video is paused but whatever&#8230;. Then I fire up MSI Kombustor (same as FurMark).  The GPU load jumps to 100% but the clocks stay locked at 400/900.  I close the YouTube clip, and the clocks then unlock and shoot up to 850/1200.  The Kombustor/FurMark frame rates reflect the hobbled video card clocks.  Nothing I do unlocks the clock from 400/900 as long as Flash is playing video.  This is with the latest Catalyst 10.9a (Hotfix) drivers.  I had to install these to get rid of the previously mentioned underscan idiocy.</p>
<p>Same behavior with <a href="http://chrome.google.com">Google Chrome</a> and <a href="http://www.microsoft.com/windows/internet-explorer/default.aspx">Microsoft Internet Explorer 8</a>.  This is all running on <a href="http://www.microsoft.com/windows/windows-7/default.aspx">Windows 7 Ultimate x64</a>.</p>
<p>So in short, don&#8217;t get ATI.  They can&#8217;t get their drivers right.  You never know when a bug will come back, or when/IF they&#8217;ll fix performance critical bugs.  I shouldn&#8217;t have to make certain to close each and every browser window to play a game, get max performance for a transcode, etc.  Not on a machine with 4x 3.2GHz cores.  The experience here with this card follows similar bad experiences with the older card and software (I had underscan issues on that one too, and performance issues that may or may not have been similar, but I never looked into it too deeply).</p>
<p>You drop thousands of dollars for a high end gaming machine/workstation.  1/4 or more of that will be in the video cards, and this is what ATI delivers.  I&#8217;ve found articles on AMD/ATI&#8217;s own forum from users indicatign BOTH these issues go back to *at least* mid 2009, and probably earlier.  Why am I not blaming Flash?  Even if Flash is asking for video acceleration, or asking for a 400/900 clock, the ATI drivers should STILL adapt the clock to the GPU load.  If the GPU pegs out it should let the clock go.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2010/10/18/so-wtf-ati-really/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Our TTLs are lowered, databases backed up&#8230;</title>
		<link>http://www.dotblag.com/2010/08/13/our-ttls-are-lowered-databases-backed-up/</link>
		<comments>http://www.dotblag.com/2010/08/13/our-ttls-are-lowered-databases-backed-up/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 19:00:24 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Hardware]]></category>
		<category><![CDATA[Web.Guru]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=211</guid>
		<description><![CDATA[Files-a-copying, zones-a-serialized! YARRR we&#8217;re on the move! &#60;/pirate&#62; Ahem&#8230;*cough* Now that that&#8217;s out of my system. I made a decision at the beginning of this month to move all of my hosting to an Amazon EC2 instance. While nowhere near ideal for web hosting and not really much cheaper than my current hosting arrangements, and [...]]]></description>
			<content:encoded><![CDATA[<p>Files-a-copying, zones-a-serialized! YARRR we&#8217;re on the move! &lt;/pirate&gt;</p>
<p>Ahem&#8230;*cough* <img src='http://www.dotblag.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Now that that&#8217;s out of my system.  I made a decision at the beginning of this month to move all of my hosting to an <a href="http://aws.amazon.com">Amazon EC2</a> instance.  While nowhere near ideal for web hosting and not really much cheaper than my current hosting arrangements, and quite frankly only cheaper as long as my bandwidth usage stays down!  I decided to switch for a number of reasons.  Part of those are the fact I honestly don&#8217;t want to deal with the hardware anymore if I can avoid it.  Tehy really really really NEED to get IPv6 support though&#8230;and that will be the deciding factor as to if I stay using EC2 or not.  Without IPv6 they&#8217;re garbage and I&#8217;ll go elsewhere and pay more, because I&#8217;ll have no choice, just to get IPv6 support.</p>
<p>The web sites will have about the same CPU and RAM as they had before, but may actually be somewhat faster because the storage should be faster.  The (soon to be) old hosting setup I&#8217;d elected to build uses NFSv4 and the Linux automounter, an experiment that proved to me that Linux NFSv4 is NOT ready for prime time (even in my limited setup NFSv4 will occasionally go off into the woods and NEVER come back short of a reboot of the machine, this happens most often on the web server and once in a while to the mail server) the automounter has been stable but NFSv4 mounts are dog slow, with, or without encryption setup.</p>
<p>So if you notice any oddities this week that is most likely why.  I&#8217;ve already finished moving my @wgops.com email over to the new setup and it seems to be working fine.  This weekend I&#8217;m going to try to get dotblag.com moved over to the new setup.  If that goes well then I&#8217;ll get in touch with the few people I host and we&#8217;ll get them moved over to the new machine too.  This is actually a really small move, but I&#8217;m going between completely unmanaged hosting, to trying out a management UI/platform, DTC.  If things don&#8217;t go well with the dotblag.com move then I&#8217;ll have to scramble and figure out something else ASAP!  I can&#8217;t really afford to pay for both the old hosting and the new hosting.</p>
<p>Incidentally if you need reliable  Colo, VPS, or web hosting, especially if you&#8217;re running a dynamic PHP application powered site but don&#8217;t want to pay premiums for dedicated hosting, get in touch with <a href="http://www.modwest.com/">Modwest</a>.  I might be leaving them, but it&#8217;s not because there&#8217;s anything wrong with them!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2010/08/13/our-ttls-are-lowered-databases-backed-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux (UNIX in general) TTY/console demystified</title>
		<link>http://www.dotblag.com/2010/07/25/linux-unix-in-general-ttyconsole-demystified/</link>
		<comments>http://www.dotblag.com/2010/07/25/linux-unix-in-general-ttyconsole-demystified/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 18:40:35 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Hardware]]></category>
		<category><![CDATA[dev.urandom]]></category>
		<category><![CDATA[Soft.ware]]></category>
		<category><![CDATA[driver]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[tty]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=202</guid>
		<description><![CDATA[I don&#8217;t quite know how I know but I know very well how the Linux TTY/Console driver stack works&#8230; Probably through so many years of slogging through code, and through tearing apart the Linux TTY drivers and line discipline stacks a few times for special projects and definitely with some help of the LDD3 (a [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t quite know how I know but I know very well how the <a href="http://lwn.net/images/pdf/LDD3/ch18.pdf">Linux TTY/Console driver stack</a> works&#8230; Probably through so many years of slogging through code, and through tearing apart the Linux TTY drivers and line discipline stacks a few times for special projects and definitely with some help of the <a href="http://lwn.net/Kernel/LDD3/">LDD3</a> (a MUST read for anyone trying to go spelunking for the first time in the Linux Kernel Land &#8211; no, I don&#8217;t know if/when an update will be made but 99% of whats there is still up to date).  They&#8217;re a deeply complicated group with many layers.  And today I ran into a <a href="http://www.linusakesson.net">site</a> (which I was browsing because of this <a href="https://games.slashdot.org/story/10/07/24/1417243/The-Chipophone-mdash-an-8-Bit-Chiptune-Or">Slashdot article</a> on <a href="http://www.linusakesson.net/chipophone/making.php">building the Chipophone</a>) which <a href="http://www.linusakesson.net/programming/tty/index.php">documents and explains the most of Linux TTY system</a>, including job control, very well.  It even explains how your ^Z signals vi to stop and return control to the shell, what the shell does to regain control, etc.  All sorts of good stuff.  Anyone writing terminal mode, or headless, code for Linux or Unix-like environments should read this article.  It explains pipes too, and how sessions and jobs relate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2010/07/25/linux-unix-in-general-ttyconsole-demystified/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pretty Correct Colors!</title>
		<link>http://www.dotblag.com/2010/03/25/pretty-correct-colors/</link>
		<comments>http://www.dotblag.com/2010/03/25/pretty-correct-colors/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 20:21:04 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Hardware]]></category>
		<category><![CDATA[Soft.ware]]></category>
		<category><![CDATA[Web.Guru]]></category>
		<category><![CDATA[asus]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[crt]]></category>
		<category><![CDATA[datacolor]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[sony]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=180</guid>
		<description><![CDATA[First off lets go back about a week in time&#8230; I am NOT a GUI guy, photo guy, etc.  I traditionally have been a systems administrator, lately I&#8217;ve gone more whole hog into web application development.  But I still don&#8217;t do UI.  So color has never really felt that important to me.  I know my [...]]]></description>
			<content:encoded><![CDATA[<p>First off lets go back about a week in time&#8230;</p>
<p>I am NOT a GUI guy, photo guy, etc.  I traditionally have been a systems administrator, lately I&#8217;ve gone more whole hog into web application development.  But I still don&#8217;t do UI.  So color has never really felt that important to me.  I know my display isn&#8217;t right, and it bothers me a bit but it doesn&#8217;t cripple me.  Sometimes the grays wash out, they turn blue, colors just aren&#8217;t quite right.</p>
<p>My editor displays little gray pips for spaces, they show up well on my 21&#8243; (Sun GDM-5010PT) Sony Trinitron monitor w/ built in color correction/calibrations.  On my (cheap) <a href="http://asus.com">ASUS</a> <a href="http://usa.asus.com/product.aspx?P_ID=fdhHRbJtRlOCqy5C">G50vt laptop</a> (the same one that the integrated keyboard has a horribly broken debounce to the point it misses keystrokes and words constantly), they&#8217;re almost invisible.  The color rendition is quite frankly, just plain bad.  I figure there&#8217;s nothing that can fix it.  But being an adventurous soul, I decide to plop down about $230 on a color calibration dongle and software.  If nothing else the Trinitron will probably look better, and I can quantify how bad the laptop is&#8230;Figuring worst case I&#8217;m out $230 and then won&#8217;t be tempted again.  But I&#8217;m still definitely as skeptic.</p>
<p>Flash forward a week&#8230;.</p>
<p>Device arrives, I hook it up, download software from the manufacturers web site and install it.  The device came with a CD but as we all know, they&#8217;re always out of date, this one was from ~2007, there is rather quite a bit more up to date software available on the website from the manufacturer.</p>
<p>The software asks a few basic questions about the display, and it&#8217;s adjustment capabilities.  Advising on how they should be set, presumably to achieve correct calibration.</p>
<p>After answering the software&#8217;s questions which are basic, despite reviews to the contrary.  I hang the dongle over my laptops display as directed and tell it to go to work.  It displays black/white/red/green/blue and samples many levels of each.  After it&#8217;s done it applies the profile to the OS&#8217;s color calibration system (Windows 7 Ultimate x64 in this case).</p>
<p>Immediately I notice the display color is, overall, a bit warmer, that&#8217;s expected, since this display was always on the cool/cold side anyway.  I finish out the utility, and fire up my editor.</p>
<p>I can see the little gray pips that indicate spaces now&#8230;the gray title bars show up much more clearly now&#8230;</p>
<p>I fire up my web browser and go to <a href="http://newegg.com/">newegg.com</a>, which has this light manila background that never really showed up before.  It pops, just like it&#8217;s supposed to.  I go hit <a href="http://php.net/">php.net</a>, which I know has quite a lot of fairly subtle greys, blues, and purples.  Amazing, they all show up now. I spend a few minutes visiting some web sites, and am amazed at the details that now appear, and were so washed out before.  Even my <a href="http://wordpress.org/">WordPress</a> admin area on this blog looks better, easier to read, as it was intended!</p>
<p>Now, like I said, not a GUI/graphics guy, but I know how to adjust my contrast, brightness, and backlight settings to correct black or white aliasing, simple issues.  But that&#8217;s nowhere near enough to fix an overall color rendering or temperature problem.  I can fiddle in the <a href="http://nvidia.com/">nVidia</a> (or <a href="http://ati.com/">ATI</a>) control panel applets and get it better, but never have I gotten it good, much less great, especially on this particular laptop display.</p>
<p>At this point I have to say wow.  My laptop display looks better than my 21&#8243; Trinitron tube&#8230;.I can&#8217;t wait to try it on that!  I&#8217;m definitely *sold*.</p>
<p>The specific device I grabbed was a <a href="http://datacolor.com/">Datacolor</a> <a href="http://spyder.datacolor.com/product-mc-s3elite.php">Spyder 3 w/ the Elite</a> software because I figured if I like it or use it at all I&#8217;ll need multiple monitors, and multiple machines.</p>
<p>I&#8217;ve always said that if you&#8217;re doing any sort of graphics development,  you need color calibration.  I now would go so far as to say if you&#8217;ve ever been irritated by your laptop, or other display, you need color calibration.  If you&#8217;re doing ANY sort of UI work, at all, you need color calibration.  It is WELL worth it.</p>
<p>I wish I could show the difference, unfortunately I can&#8217;t, but it really is night and day.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2010/03/25/pretty-correct-colors/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Pogoplug[ged]</title>
		<link>http://www.dotblag.com/2010/02/15/pogoplugged/</link>
		<comments>http://www.dotblag.com/2010/02/15/pogoplugged/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 21:45:24 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Hardware]]></category>
		<category><![CDATA[Net.working]]></category>
		<category><![CDATA[Speed.Demon]]></category>
		<category><![CDATA[ARM9]]></category>
		<category><![CDATA[cifs]]></category>
		<category><![CDATA[feroceon]]></category>
		<category><![CDATA[hfs+]]></category>
		<category><![CDATA[JTAG]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[marvell]]></category>
		<category><![CDATA[ntfs]]></category>
		<category><![CDATA[orion]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[pogoplug]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[smb]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=169</guid>
		<description><![CDATA[So I recently bought a Pogoplug device, sort of on a whim.  I needed a NAS device, and the fact that the Pogoplug had HFS+ (OS/X filesystem) support made it a clear winner for me.  I&#8217;ve been living with mine for about a week now, mostly with single 320GB HFS+ formatted drive.  The $130 device [...]]]></description>
			<content:encoded><![CDATA[<p>So I recently bought a <a href="http://pogoplug.com">Pogoplug</a> device, sort of on a whim.  I needed a <a href="http://en.wikipedia.org/wiki/Network-attached_storage">NAS</a> device, and the fact that the Pogoplug had HFS+ (OS/X filesystem) support made it a clear winner for me.  I&#8217;ve been living with mine for about a week now, mostly with single 320GB HFS+ formatted drive.  The $130 device runs <a href="http://kernel.org">Linux</a>, is supported as open (they give you the default root login and password on their site) and sports 256MB of RAM, 32MB of flash for the OS/on-board software, and what I&#8217;m pretty sure is a 1.2Ghz variant of the <a href="http://www.arm.com/products/processors/classic/arm9/arm926.php">ARM926EJ-S</a> in the form of a <a href="http://www.marvell.com/products/processors/embedded/kirkwood/HW_88F6281_OpenSource.pdf">Marvell Orion/Feroceon 88F6281 SoC</a>.  You have 4x USB2.0 ports hanging off of the Marvell Orion <a href="http://en.wikipedia.org/wiki/EHCI">EHCI</a> controller giving you four directly connected ports, you can also connect USB2.0 hubs for more.  Ethernet connectivity is provided by the Orion SoC&#8217;s integrated Gig-E.  All of this hardware puts it in the same category as many more expensive devices, without any mind burning annoying-as-all-heck blue LEDs either.</p>
<p><a href="http://cloudengines.com">CloudEngines</a> saw fit to include relatively robust filesystem support sporting <a href="http://en.wikipedia.org/wiki/HFS_Plus">HFS+</a>, <a href="http://en.wikipedia.org/wiki/NTFS">NTFS</a> as well as the usual <a href="http://en.wikipedia.org/wiki/Ext3">ext2/3</a>, <a href="http://en.wikipedia.org/wiki/File_Allocation_Table">FAT/FAT32/VFAT</a>.  HFS+ is provided by custom kernel modules, that work better than their cousins integrated into the Linux kernel (I&#8217;ve had some experience with them).  I haven&#8217;t yet tested the NTFS support.</p>
<p>The really unique thing about the Pogoplug is that it is completely integrated with the Internet.  <a href="http://pogoplug.com/dev/web.html">The API</a> system allows you to write your own scripts, or use others.  You can even cross-compile and run binaries on the Pogoplug itself.  Setup was easier than anything I&#8217;ve ever used of this nature. I plugged my device in, and went to the Pogoplug site.  I created a login, it quickly identified my Pogoplug device (I assume the Pogoplug called home and it saw us both coming from the same IP) and I was able to immediately use the WebUI to upload and download files.  They don&#8217;t support <a href="http://en.wikipedia.org/wiki/CIFS">SMB/CIFS</a>, but they have OS level drivers for Windows, OS/X, and Linux readily available.  I&#8217;ve only tried the OS/X and Win64 (Windows 7) drivers and they work very well.  Honestly since they seem to be fully supporting multiple OSes, and SMB/CIFS is so complicated and slow I don&#8217;t feel like this is much of a minus.  It does limit native support to &#8220;Supported&#8221; OSes for now unless the WebUI/API access fits for you.  I don&#8217;t know what their product roadmap is but I did find a (broken) symlink/mention of Samba within the device itself, and for those users that are on other OSes and *really* want CIFS they can cross-compile and install/run their own <a href="http://samba.org/">Samba</a> binaries.</p>
<p>The native clients I&#8217;ve tested under Windows 7 and OS/X 10.6 (<a href="http://apple.com/snowleopard">Snow Leopard</a>) seem to perform well and bug free.  I&#8217;ll be pushing them a bit harder in the coming days to see what happens.  So far though I&#8217;ve had no issues.  The Native clients can be set to multiple drive or single drive mode.  The Windows client defaults to single drive mode with all of your connected drives showing up as P:\&lt;Device Name&gt;.  The OS/X (and I assume Linux clients) default to multiple drive mode with all of your connected drives showing up as separately mounted volumes.</p>
<p>You also can not initialize (format) a drive from the Pogoplug.  So you have to format your removable devices with a PC/Mac first.  This rather minor since if you have this device, then you have a machine, and the drives are removable by nature.</p>
<p>Performance is also very good, thanks in no small part to the speedy embedded Orion SoC, the Ethernet controller also has <a href="http://en.wikipedia.org/wiki/TCP_segmentation_offloading">TSO</a>, Receive and Transmit Checksum Offloading (part of <a href="http://en.wikipedia.org/wiki/TCP_Offload_Engine">TOE</a>) which helps keep the CPU free from a lot of overhead.  These offload features are common in higher end servers and many &#8216;gaming&#8217; Ethernet adapters.  Having a 1.2GHz CPU and these helpful hardware offload engines means that the CPU doesn&#8217;t work too hard and the performance will generally be limited by the RAM speeds.  To get the full LAN performance you do need to install the native clients.  The unit may be a little slow when you first start it as it indexes your files for searching and generates thumbnails and video previews.  This latter bit enables one of the more interesting features, search.</p>
<p>You can search all of your Pogoplug drives relatively easily from the WebUI, I haven&#8217;t toyed with this much yet but on the drive after you mount it the Pogoplug software creates a .ceid file that includes the name of the device and the version of the metadata, and a .cedata directory holding an <a href="http://www.sqlite.org/">SQLite 3</a> database file for indexed information and directories for the generated thumbnails and video previews.</p>
<p>The Pogoplug also &#8216;integrates&#8217; with <a href="http://facebook.com">Facebook</a>, <a href="http://myspace.com">MySpace </a>and <a href="http://twitter.com">Twitter</a>.  The Twitter support is definitely buggy, I was able to authenticate to it for one drive but not for another, and after signing out I have been unable to authenticate again.  Once setup you can &#8216;share&#8217; a folder to these services and the unit will post updates whenever the folders are changed.  The update includes a (public) link to the folder&#8217;s contents.  Users can then download the data.  However the data is pushed directly from your Pogoplug so you must be connected via broadband.</p>
<p>On the hardware side inside the case there&#8217;s <a href="http://www.pogoplugged.com/forum/thread/12366/Pins-for-the-two-connectors-on-the-v2-Pink-board">documented JTAG and Serial Port</a>.  What does this mean?  Well if you&#8217;re asking then it won&#8217;t matter to you.  <img src='http://www.dotblag.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Basically it means that with a <a href="http://en.wikipedia.org/wiki/JTAG">JTAG</a> dongle and a 3.3v FTDI to USB serial adapter you have a $130 ARM9 dev kit, not bad at all.</p>
<p>I haven&#8217;t (yet) opened mine&#8230;I may yet buy another to do just that.  The Orion/Feroceon has a <a href="http://en.wikipedia.org/wiki/SATA">SATA</a> controller that&#8217;s turned off (and quite possibly not even pinned out) on this board.  It also has a second Gig-E MAC thats likewise not available.  The CloudEngines/Pogoplug Engineers do read their forums, and seem to be (refreshingly!) helpful to those people who ask specific questions about the hardware and essentially how to use it as a dev platform, de-<a href="http://en.wikipedia.org/wiki/Brick_%28electronics%29">brick</a> it, etc.  Being so helpful as to even link to DigiKey Parts for the mating connectors to the JTAG/Serial ports.</p>
<p>There are some chinks.  It has a NEON PINK &#8220;foot&#8221;.  The device has no &#8216;shutdown&#8217; command (either via WebUI or SSH, or anything) so you can&#8217;t cleanly shut down the unit, you have to manually eject via the WebUI.  Unplugging the device, at least with HFS+, can cause the filesystem to come up ReadOnly with no way to fix it from the Pogoplug short of ejecting the device and manually running the included chkhfs utility.  Even that may not work since the utility is based off hfsprogs, which aren&#8217;t very good.  It will claim errors, not tell you what they are, and refuse to fix them.  Morale, either eject before you unplug the Pogoplug, or use other, better supported, filesystems.  I also have no clue what happens to the device when it loses Internet connectivity.  It may turn into a pretty pink and white brick, I don&#8217;t know, that&#8217;s one of the only things that actually worry me so far. I&#8217;ll be toying with that in coming days and make an updated post time permitting.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2010/02/15/pogoplugged/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An attempt to explain IPv6 and IP Routing to the layperson</title>
		<link>http://www.dotblag.com/2010/01/05/an-attempt-to-explain-ipv6-to-the-layperson/</link>
		<comments>http://www.dotblag.com/2010/01/05/an-attempt-to-explain-ipv6-to-the-layperson/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 22:35:53 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Hardware]]></category>
		<category><![CDATA[Net.working]]></category>
		<category><![CDATA[Soft.ware]]></category>
		<category><![CDATA[IPv4]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[routing]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=161</guid>
		<description><![CDATA[Me again, yup.  Been a while eh?  Well, I&#8217;ve been busy.  Rebuilding a pretty big site essentially from scratch.  Trust me, I have plenty of things to rant about!  This post though I hope to be another informative, less ranting, post about IPv6. I keep seeing a LOT of well meaning but mis-informed or mis-understood [...]]]></description>
			<content:encoded><![CDATA[<p>Me again, yup.  Been a while eh?  Well, I&#8217;ve been busy.  Rebuilding a pretty big site essentially from scratch.  Trust me, I have plenty of things to rant about!  This post though I hope to be another informative, less ranting, post about IPv6.</p>
<p>I keep seeing a LOT of well meaning but mis-informed or mis-understood claims about IPv6, even in technical circles.  What I am going to try to address here though is from the every persons point of view.  What it is, why we need it, what it fixes, why it&#8217;s hard to deploy/make available, what it (may) mean for an individual user.</p>
<p>The article here was sparked by <a href="http://io9.com/5440087/will-the-internet-run-out-of-space-in-the-next-4-years">IO9&#8242;s Article</a>.</p>
<h1>What Is IPv6?</h1>
<p>Well simply put it is Internet 2.0 or Web 2.0, despite what you may have heard from the media.  IPv6 is short for Internet Protocol Version 6.  We currently use IPv4. IPv6 has a truely massive number of addresses (really, it doesn&#8217;t relate in simple terms).  IPv4 has around 4 Billion addresses, of which about 3 Billion are useable.  IPv6 though is big enough to give every person on the earth, every device, every item, it&#8217;s own group of say a million addresses, and still have many trillions left over.</p>
<h1>Why is IPv6 the Real Web 2.0?</h1>
<p>AKA Why is it so had to get IPv6 out there?</p>
<p>Because it requires touching and replacing or modifying every router, every piece of software, every device, in order to support it.  Your web browser, your operating system (Windows, Linux, OS/X), your Internet router/gateway (which a LOT of people confuse between ethernet switches and these things), your wireless access points, your ISPs equipment, your TiVo, your smart phone, everything.  This is also why it&#8217;s so very hard to get out there.</p>
<p>Now the tech heads and geniuses out there responsible for this have developed a number of ways to assist this migration to IPv6.  To allow IPv4 and IPv6 to sort of talk to each other.  They can easily exist together, but talking to each other is another matter entirely.  These methods are not perfect, they suck actually.  From the IPv4 side, it&#8217;s like sending a letter addressed to a city rather than a person.  For IPv6 it&#8217;s easier, in fact, there&#8217;s a block of IPv6 addresses (these blocks of addresses are called a prefix, like an area code, so I&#8217;ll use the term prefix from here on out) that are set aside to map directly to the old IPv4 addresses.  That&#8217;s how big the address space in IPv6 is!  Whats the number?  OK you REALLY sure you want to know?  Fine.  2<sup>128</sup> &#8212; Two to the power of 128.  That&#8217;s in scientific notation 3.4*10<sup>38</sup> or a 34 followed by 38 zeroes (rounded).  How big is that? Every single dollar bill of the American national debt could be individually numbered.  And we&#8217;d still have a LOT of space left over.  Heck we could give out a Trillion addresses to every person, device, or object on the planet, and still be likely to have leftovers.  <a href="http://www.tcpipguide.com/">The TCP/IP Guide</a> has <a href="http://www.tcpipguide.com/free/t_IPv6AddressSizeandAddressSpace-2.htm">a Section On IPv6 Address Space Size</a></p>
<p>IPv4 addresses are everywhere.  Dotted quad&#8217;s we call them.  4.2.2.1 &#8212; 127.0.0.1 &#8230; etc.  Largely people are ignorant of them, and they damn well should be.  Numbers are for computers.  Humans name things, computers number them, and computers are REALLY good at translating and mapping between the two.  DNS is the protocol that does this.  And in that it&#8217;s been so successful that the vast majority of Internet users have no clue whatsoever that IP addresses (v4 or v6 or otherwise) even exist!  DNS itself needs to be revamped as a protocol in order to support IPv6 (and it largely has been) &#8212; and then redeployed too, globally.  This is taking place bit by bit.</p>
<p>E-Mail.  Every mail server has an IP address (or more than one in many cases).  It receives connections on that address from other mail servers and mail clients asking them to receive mail for, or send mail to, a given email address (user at domain).  Spam filtering software.  Anti-Virus software.</p>
<p>All of this stuff is on the list of things that need to be modified, or replaced for IPv6 support. The list is huge.</p>
<h1>Why Do We Need IPv6?</h1>
<p>We&#8217;re running out of IPv4 addresses.  No one in the beginning could possibly imagine that there would be such a huge number of devices connected to the Internet.  Now almost every phone, game console, and electronic device has some form of Internet connectivity.  That doesn&#8217;t necessarily mean each of these devices needs a globally unique address, but it makes things easier, faster, more reliable, and cheaper if each device does.  The reason is that if you use NAT (many many homes do this) your private address has to be mapped to a public one at some point.  This device has to keep track of each and every connection from each and every device that it&#8217;s performing this mapping for.  Worse some protocols put IP addresses inside of their data, and so the NAT has to know about these protocols, identify them, and modify the information inside the packets for these protocols!  (FTP is one such protocol, HTTP is not).</p>
<h1>Well why not reuse all those &#8220;Web 1.0&#8243; addresses?</h1>
<p>IPv4 is &#8220;Web 1.0.&#8221;  The media gave us all that term, and most people have no idea what it means.  <a href="http://en.wikipedia.org/wiki/Web_2.0">Web 2.0</a> (Go ahead and look, we&#8217;ll wait here) really only describes a bunch of web browser, JavaScript,  and HTML technologies and says nothing about the actual core guts of the internet <a href="http://en.wikipedia.org/wiki/Internet_Protocol">IP</a>, <a href="http://en.wikipedia.org/wiki/Domain_Name_System">DNS</a>, <a href="http://en.wikipedia.org/wiki/BGP">BGP</a> (this is the ISP to ISP route sharing protocol &#8212; every ISP &#8220;core&#8221; router HAS to speak this to other ISPs), <a href="http://en.wikipedia.org/wiki/Open_Shortest_Path_First">OSPF</a> (this is one of a number of ISP internal route sharing protocols, <a href="http://en.wikipedia.org/wiki/MPLS">MPLS</a>.  Nor anything about a lot of other core internet protocols like <a href="http://en.wikipedia.org/wiki/HTTP">HTTP</a>, <a href="http://en.wikipedia.org/wiki/SMTP">SMTP</a>, <a href="http://en.wikipedia.org/wiki/IMAP">IMAP</a>, etc.</p>
<h1>So wow I will get my own unique addresses?!</h1>
<p>No, not likely.  This is because of the way that &#8220;core routers&#8221; (there&#8217;s no such thing by the way, which I will try to address in a moment) have to keep track of each unique destination.  Right now, and for the foreseeable future with both IPv6 and IPv4 the ay this works is that a ISP get a BIG block of addresses (BIG being relative in the terms of IPv4 or IPv6 &#8212; with IPv6 they get a LOT more space&#8230;enough in fact to have an IPv6 address within their own network for each IPv4 address and still have a billion left)&#8230; So they tell the other ISPs they&#8217;re connected to about that one big block, not about individual customers or devices.  They say to their neighbor &#8220;I can deliver packets to addresses beginning with 127.0, pass it along.&#8221;   Another ISP might have 127.1 another might have 127.2.0-15, etc.  IPv6 does the same thing.  IPv6 addresses are just so much longer I&#8217;m not using them in this example.  The neighbors only know about and remember the big block of addresses, not the individual addresses or smaller blocks given to individual customers.</p>
<p>Now within an ISP they keep track of many more much smaller blocks of addresses, maybe even down to individual addresses.  Inside an ISP similar trading of information on what addresses are served by which of their routers happens (no this does NOT happen with the average end user!).  The difference here is that since they&#8217;re all internal addresses, and a router notices when two or more addresses or blocks occur contiguously, they are often aggregated into a single larger block.  Think of it like this.  Router A is connected to B C D and E, E is connected to F and G.  F has 1 2 and G has 3 4.  E knows this, instead of telling A about 1 2 3 4 (and A further telling B C and D about 1 2 3 4) it just tells A 1-4.  Imagine this for a few hundred, and you can see the savings.  Instead of passing along each individual number it just tells it a range of numbers.  There are restrictions on how these ranges are made up (for the geeks out there it has to be on a bit boundary), but that&#8217;s the basic idea.</p>
<p>Wait what&#8217;s so different about inside an ISP versus outside?!  &#8212; simple, inside the ISP they know the adjacent addresses STAY adjacent and are inside the same entity, themselves.  Out in the bigger internet you can&#8217;t do that.  You might own 1 and 2, but someone else is 3 and 4.  And you don&#8217;t want packets for 3 and 4 arriving at your doorstep, now do ya?  Well that&#8217;s what would happen if the big ISPs aggregated routes together like that, because once a route is aggregated it loses it&#8217;s own unique identity.</p>
<p>Whats so wrong with having lots of routes then?  Two things, memory and speed.  Memory is finite.  And the memory used in big &#8220;core routers&#8221; is far more expensive (and far faster too) than your desktop or laptop memory.  Speed is the other reason.  Big routers have less than a microsecond to decide where a packet is supposed to be going, and do something about it. They make a huge number of these decisions in parallel too, and each of these decisions have to reference some part of the database of what-goes-where that the router has built up for itself based on who it&#8217;s connected to, and what they say they are connected to.</p>
<h1>Earlier you said there&#8217;s no such thing as a &#8220;core router&#8221;?</h1>
<p>Indeed I did.  For this discussion, you don&#8217;t have a router.  Indeed we at ISPs call what you have CPE, Cutomer Premise Equipment, or an End User Gateway Device.  They&#8217;re meant to connect one machine, or a very small number of machines (4-5 at most typically) to the ISPs router and from there the internet at large.</p>
<p>The internet is a bit more like a web.  A cobweb.  Lots of different parts connected in lots of different ways.  You as a end user are only connected at one point, to your ISP via your cable modem, DSL line, satellite, smart phone, or, old fashioned dial up modem.  Your ISP, if it&#8217;s a small local ISP will be connected to 2 or more (usualy atleast 3 or 4) larger ISPs, and possibly some other small local ISPs or local business customers that have their own routers.  Each of these routers tell each other who they&#8217;re connected to.  As connections between ISPs are made, and broken, this changes.  Each of these changes ripples through the internet, so when an ISP in say Missoula, MT disconnects from another ISP here in Montana that has been telling everyone it&#8217;s connected to that it is connected to that ISP, every big ISP knows in seconds, and every small ISP in some seconds after that.  So what just happened in Missoula, MT is known in Beijing, China in very short order.</p>
<p>This is also another reason why individuals can&#8217;t have unique addresses that move between ISPs  You may not move from one ISPs territory to another very often, but there are billions of people out there.  Imagine now that those updates too have to be propagated and stored.  Starting to see the problem?</p>
<p>Larger businesses with dozens or hundreds or workstations, or on site servers, or other specil high reliability requirements connect to ISPs in much the same way as ISPs connect to each other, they just don&#8217;t say to ISP B &#8220;hey I am connected to ISP A so you can reach ISP  A through me&#8221; but they do tell both A and B that they have the addresses 6 7 and 8 say.  This is called <a href="http://www.tcpipguide.com/free/t_NumberofIPAddressesandMultihoming.htm">multihoming</a>.  Why?  Well think of an ISP as a &#8220;home&#8221; for an address.  Your address exists at multiple &#8220;homes&#8221; when you connect with multiple ISPs and advertise to each of them your block of addresses.  There&#8217;s an intentional barrier to entry here because ISPs do not want, and cannot support, an unlimited number of these connections, because each of these connections requires the Internet as a whole to see and remember the unique block of addresses assigned to that business.  And whenever that business disconnects (say they&#8217;re upgrading their network or have a long lasting power outage) from one ISP or the other, the whole Internet hears about it, each router tells all it&#8217;s neighbors about that change in connectivity.</p>
<p>There&#8217;s a LOT of research going on into better ways of dealing with the global routing table (that&#8217;s what it&#8217;s called&#8230;but there really isn&#8217;t one table, it&#8217;s more like each router has it&#8217;s own idea or ideas at what the routing table looks like right *now* and if you wait even half a second, it&#8217;s going to change, probably several times) but no one has found a silver bullet yet.  And even if/when they do, there&#8217;s still the same problem we have with IPv6, all the ISPs have to adopt and deploy it, everywhere.</p>
<p>If there&#8217;s interest I&#8217;ll go into TCP/IP, UDP/IP, DNS, and BGP/OSPF/Routing in a separate article (or articles).  How a connection is established, what NAT is, what a Firewall is/does and why NAT and firewalling are different, and why routing is different than those two.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2010/01/05/an-attempt-to-explain-ipv6-to-the-layperson/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When +12VDC&#8230;.Isn&#8217;t or Why to avoid cheap wall warts</title>
		<link>http://www.dotblag.com/2009/09/18/when-12vdc-isnt-or-why-to-avoid-cheap-wall-warts/</link>
		<comments>http://www.dotblag.com/2009/09/18/when-12vdc-isnt-or-why-to-avoid-cheap-wall-warts/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 18:37:26 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Fail]]></category>
		<category><![CDATA[.Hardware]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=138</guid>
		<description><![CDATA[First excuse the err&#8230;crude &#8220;Screen Shots&#8221; &#8211; I don&#8217;t have my &#8216;scope setup yet for proper screen captures so I just took pictures. For a while now I&#8217;ve had a +12VDC wall wart that I use occasionally.  It always caused weird heating though in regulators.  I was never sure why, the multi-meter read it as [...]]]></description>
			<content:encoded><![CDATA[<p>First excuse the err&#8230;crude &#8220;Screen Shots&#8221; &#8211; I don&#8217;t have my &#8216;scope setup yet for proper screen captures so I just took pictures.</p>
<p>For a while now I&#8217;ve had a +12VDC wall wart that I use occasionally.  It always caused weird heating though in regulators.  I was never sure why, the multi-meter read it as having a fairly stable +12VDC.  I finally hooked it up to an oscilloscope today&#8230;well now atleast  I know why&#8230;</p>
<p>It&#8217;s supposed to be producing +12VDC, center positive.  What you&#8217;re looking at is the center pin (tip) on the yellow (CH1) channel, and the ring  (or barrel) on CH2.  The trigger is on CH1 @ the rising edge of the wave at 20V.  As you can see it&#8217;s getting voltages as high as +65V and as low as -110V.  It follows the AC line perfectly, the cycle time measured by the scope almost exactly matches that of the AC line.  In fact if I trigger on the AC line (this scope can trigger from it&#8217;s AC line input) the waveform stays completely steady.
<a href='http://www.dotblag.com/2009/09/18/when-12vdc-isnt-or-why-to-avoid-cheap-wall-warts/hpim0773/' title='HPIM0773'><img width="150" height="150" src="http://www.dotblag.com/wp-content/uploads/2009/09/HPIM0773-150x150.jpg" class="attachment-thumbnail" alt="HPIM0773" title="HPIM0773" /></a>
<a href='http://www.dotblag.com/2009/09/18/when-12vdc-isnt-or-why-to-avoid-cheap-wall-warts/hpim0775/' title='HPIM0775'><img width="150" height="150" src="http://www.dotblag.com/wp-content/uploads/2009/09/HPIM0775-150x150.jpg" class="attachment-thumbnail" alt="HPIM0775" title="HPIM0775" /></a>
</p>
<p>The second picture shows in red what a multi-meter reads.  Which the scope reproduces by differencing CH1-CH2.  The ripple is a bit better when it has a load but it&#8217;s still producing these ridiculously high voltages.</p>
<p>So, it&#8217;s producing +12V&#8230;sorta.  Only as a function of the difference between it&#8217;s own +/- reference.  Even a good multimeter can be fooled by a bad signal.  Normally you&#8217;d probably never even notice this because you&#8217;d hook your multimeter up to your projects GND which is usually the &#8211; on the power supply.  If you&#8217;d tied this wall warts &#8211; to GND, you&#8217;d either cook it, or hit it&#8217;s current limiter, or both.  This little sucker is probably going to be dismantled and tossed.</p>
<p>BEWARE CHEAP WALL-WARTS!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2009/09/18/when-12vdc-isnt-or-why-to-avoid-cheap-wall-warts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What would you make?</title>
		<link>http://www.dotblag.com/2009/08/25/what-would-you-make/</link>
		<comments>http://www.dotblag.com/2009/08/25/what-would-you-make/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 07:07:17 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Hardware]]></category>
		<category><![CDATA[avr]]></category>
		<category><![CDATA[molex]]></category>
		<category><![CDATA[reflow]]></category>
		<category><![CDATA[smd]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=128</guid>
		<description><![CDATA[For the few people who actually read this you may or may not know I&#8217;m an amateur/hobbyist electronics nerd.  I&#8217;ve recently gotten back into building custom circuits.  I&#8217;ve got a couple prototypes on the way and am in a sort of holding pattern until they arrive.  One of which I realized I fudged up, but [...]]]></description>
			<content:encoded><![CDATA[<p>For the few people who actually read this you may or may not know I&#8217;m an amateur/hobbyist electronics nerd.  I&#8217;ve recently gotten back into building custom circuits.  I&#8217;ve got a couple prototypes on the way and am in a sort of holding pattern until they arrive.  One of which I realized I fudged up, but I think I can fix it with some judicious application of green wire.</p>
<p>SO! While I&#8217;m waiting for those, I was wondering, by comments, if you could make something what would you make?  You never know, I might just throw it together.</p>
<p>Oh and for those wondering what I fudged (and realized that it was fudged like really, just hours after sending it to the PCB house and past the point of no return) it&#8217;s a ZIF socket fixture for my STK500 (well or any AVR 10 Pin Programmer) for 28PIN ATMEGA168 compatible DIP parts The next rev will be much better.  I forgot to put space for an external oscillator which I use in most of my circuits&#8230;the cost of the oscillator and caps is negligible but gives you a much more stable, and if you want faster, clock. Without that you can&#8217;t actually program the microcontroller once it&#8217;s set to use an external clock.</p>
<p>The other board is going to undergo some serious changes too, but in it&#8217;s basic form will probably be used atleast initially as the basis for my own toaster reflow oven for soldering surface mount components (like <a href="http://en.wikipedia.org/wiki/QFN">QFN/MLF</a> bastards with blind thermal pads).  It also makes it WAY easier to do SMD&#8217;s because you basically put some solder paste on the board, place the parts, then bake them.  You just basically touch the solder melting (flow) point for ~45 seconds or so, then let the parts cool.</p>
<p>I do have some ideas, but the ones I&#8217;ve got pending will depend on if the oven project is successful or not <img src='http://www.dotblag.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   It should be, but the one I&#8217;m thinking of will really need surface mount components.  So will an improved rev of the controller board for the oven itself, which is actually for a completely different project! <img src='http://www.dotblag.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   That&#8217;s the beauty of software.</p>
<p>I&#8217;ve finally found a relatively cheap place to have boards fabbed up, it just takes ~3 weeks turn-around.  But I can have single boards done for around $15 S&amp;H + a cost for their size.</p>

<a href='http://www.dotblag.com/2009/08/25/what-would-you-make/glofly-mainbrd-v12/' title='glofly-mainbrd-v12'><img width="150" height="150" src="http://www.dotblag.com/wp-content/uploads/2009/08/glofly-mainbrd-v12-150x150.png" class="attachment-thumbnail" alt="glofly-mainbrd-v12" title="glofly-mainbrd-v12" /></a>
<a href='http://www.dotblag.com/2009/08/25/what-would-you-make/glofly-mainbrd-v13/' title='glofly-mainbrd-v13'><img width="150" height="150" src="http://www.dotblag.com/wp-content/uploads/2009/08/glofly-mainbrd-v13-150x150.png" class="attachment-thumbnail" alt="glofly-mainbrd-v13" title="glofly-mainbrd-v13" /></a>

<p>versions 1.2 (sent out for actual prototype) and version 1.3 (in progress) &#8212; depending on how well things work out with converting the 1.2 board to a toaster reflow oven&#8230;or if i can work out an alternate hot plate system v1.3 will quite probably switch to using SMD&#8217;s for the ATMega, the MAX232, most or all of the resistors and capacitors, and probably even the LEDs.</p>
<p>Why is SMD so much better?  Well first the parts are smaller, second, if you take a look at those pictures you see that the pins themselves on DIPs are *HUGE* compared to the traces.  And each pin/pad punches a hole through your board reducing the space you have to run signals.  v1.3 there as you see it took quite a bit of massaging to get everything.  v1.2 has a DB-9 (serial) port pictured, v1.3 right now has a <a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&amp;name=WM4730-ND">Molex part</a> that&#8217;s very similar to a PC to motherboard power connector.  I&#8217;m still debating on exactly what to deploy with that one.  Ultimately I want a weather tight connector.  The ones I&#8217;m looking at now actually mount with a pig tail, but they&#8217;re spendy, though they&#8217;re fully sealed.  Really it probably doesn&#8217;t matter as the parts are all pretty hard to kill.  The Molex connector causes the problem that I have a hard time getting the bigger traces to it for the relays, so the NO/NC/Center traces for the relays I was manually routing for a bit there&#8230;and may end up doing that in the final product too.  v1.3 also has three <a href="http://en.wikipedia.org/wiki/Resettable_fuse">PTC self resetting fuses</a> to protect the board that I omitted in v1.2.  I don&#8217;t ever plan on letting anyone else get ahold of v1.2, it is 100% prototype, v1.3 though I want to be the first real board.  I also set things up so you could make the board (well should be able to) somewhat Arduino compatible, but the oscillator I use is a lot faster than the <a href="http://arduino.cc">Arduino</a> sheet&#8217;s I&#8217;ve seen.  I have NO experience with them, but it was a simple hack to put the jumpers in so I could play with it.</p>
<p>For BOTH boards what you&#8217;re NOT seeing is the ground plane and +5v plane &#8220;fill&#8221; polygons of copper.  Thats part of what took a lot of tweaking in v1.3 &#8212; in v1.2 I didn&#8217;t look much at it.</p>
<p>Why?  Well&#8230;why not?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2009/08/25/what-would-you-make/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.906 seconds -->

