Wednesday, February 27, 2013

Calculating Throughput Using Wireshark

Took me a while to figure it out. Wasn't too hard actually.

Easiest way to calculate throughput using Wireshark is to use the Statistics -- Conversations option. A pop-up window shows all of the "conversations" within the trace, either Ethernet, IP, TCP, UDP, etc., and the bytes, packets, and bps between the two endpoints. To lessen the clutter, you can actually right-click on a session you're interested in, then do "Follow TCP Stream" or "Conversation Filter". You then do a Statistics -- Summary to get basic info like number of packets or bytes, packets/sec, bytes/sec, and MBit/sec, etc. Yet another way is to use Statistics -- Protocol Hierarchy. If you prefer graphs, you can go to Statistics -- IO Graphs. Remember to use bytes/tick to give you a better reading.

To get the round-trip time, use Statistics -- TCP Stream Graph -- Round Trip Time Graph.
To get number of packets dropped, do a Conversation Filter, then add "and tcp.analysis.lost_segment" to the filter. It should then show you how many packets were lost.

Saturday, February 23, 2013

Book 2013.02.23 - The Before Midnight Scholar

Original title in Chinese is 肉蒲團, 'The Carnal Prayer Mat' or 'The Prayer Mat of Flesh'. This erotic work is written by Li Yu (李漁) in the first half of the 17th century. Due to the candid, graphic, and detailed descriptions of sexual license, the book has been banned in China practically since. To be fair, the story comes with a moral lesson - a libertine's life could only end in spiritual disaster.

As I was reading the book, I can't help feeling a sense of deja vu. Turns out I've seen the movie adaptation before. It's the 1991 sex comedy film called Sex and Zen (玉蒲團之偷情寶鑑).

Wednesday, February 20, 2013

Anonymizing Wireshark Traces

So you've got Wireshark traces that you need to send to another party. Due to security reasons, they're not supposed to know the IP addresses, MSISDNs and IMSIs that are inside the packets. AFAIK, Wireshark has no feature to mask certain fields. The next best thing? Use a hex editor.

Not sure if UltraEdit can cut it, but the one I've tried is a freeware called HxD. Load a Wireshark trace, do a hex search and replace, then save. Easy as that. Of course, the header checksums will now be incorrect. For that, you'll need another tool called Bit-Twist. Aside from correcting checksums, you also use it to replace/edit fields in the Ethernet, IP, TCP, UDP, ICMP, and ARP headers.

Saturday, February 16, 2013

Official Holics 1.3

If I'm going to be stuck with a full-Sense ROM, might as well use Titanium Backup or Root Uninstaller to freeze/backup/remove the apps I don't need. After freezing some non-essential apps using Root Uninstaller, I started getting some pop-up error messages saying "the process com.android.phone has stopped unexpectedly". First time I've seen this, but doesn't really mean that RU was the culprit.

That said, everything still works. It's just a bit annoying to be acknowledging the error message every few minutes. I'm pretty sure I haven't frozen anything important though. By now, I'm a bit tired of playing around with different ROMs and different settings, so I decided to flash the official Holics v1.3. I reckon ess.boyer must've left out something important when he created Holics v1.3.1. Which might explain why only a full-Sense option works, and not customized-Sense or no-Sense.

With the official Holics v.1.3, I first tried the custom-Sense install. Pleasantly surprised that it works fine. Next to go in is the Holics kernel 0730, which is supposedly more stable and more battery-efficient. I've also underclocked the CPU from the default 1.5GHz to 1.0GHz, even though it can run reliably at 1.7GHz. Every little thing helps because the battery life on this phone is atrocious. Can't get through the day without topping up. And that's just for normal calls/SMS, a little browsing, and ebook-reading. At least LTE and MMS works fine now.

Friday, February 15, 2013

Unofficial Holics v1.3

So I've been using Wajee's ROM for a couple of days. It's not too bad - lean and mean and runs fast. My only complaint is that it doesn't support LTE. I used the *#*#4636#*#* special code to access the engineering menu. LTE is NOT one of the radio options. And without LTE, it defeats the whole purpose of upgrading to the HTC Velocity 4G. MMS doesn't work, too. I've tried lots and lots of APN settings and combinations. MMS just doesn't work.

The next-best ROM on xda-developers is bananacakes' Holics v1.3. Like most other ROMs, the dev has moved on, and the last update was from August last year. It's a full-featured full-Sense (v3.6) ROM that clocks in at 500+MB. The posts confirm that LTE is working. Better still, one of the devs (ess.boyer) picked up where the dev left off and released his own unofficial build with some special features:
  • over 110MB of bloat removed
  • thermald disabled to improve battery life
  • uses Holics kernel 0730 (this oder kernel is supposedly more stable)
  • Aroma installer for customized installation.
So I flashed this unofficial Holics ROM, and I'm liking what I saw. Being a full-Sense ROM, it comes with a lot of bells and whistles. LTE definitely works fine. Aside from a full install, the Aroma script also allows customized install (where you pick and choose which components you want) and no-Sense install. The only things I liked about Sense are the weather, clock and music apps, so I decided to use the customized install. When it's time to choose the timezone, setup FC's and the launcher never comes up. Tried the no-Sense install. Same thing. Looks like I'm going to be stuck with a full-Sense ROM with all its associated bloat.

Monday, February 11, 2013

Rooting the HTC Velocity 4G

Hacking the HTC is not easy as it sounds. With the Samsung, you simply root it, install a recovery, and flash away. With the HTC, you need to first unlock the bootloader before you can do anything. You can then root it. Furthermore, you can even S-Off it. Why you'd want to do that, I don't know.

First things first. Install the drivers so your PC can talk to the phone. I had the drivers in INF and CAB format, but they're not installing properly. To get around this, I downloaded the AIO Toolkit, and used the bundled driver installer. Don't get fooled by the AIO toolkit though. It may seem like it's all-knowing, and can do everything for you, but basically, it's just a collection of internet links and batch files of adb commands. Some things you still have to do by yourself.

To unlock the bootloader, you need to register an account at HTCDev.com, upload your unique device code, and the website will generate an unlock code for you, which you feed back into the device. After this, it's fairly easy to flash a new recovery. With the recovery, you can then flash a rooting zip.

At this point, I should've just flashed the kernel and the custom ROM, and be done with it. Being the tinkerer that I am, I decided to S-Off the device. For that, you'll need a microSD card and another tool called the S-Off AIO. In the middle of the procedure, the terminal starting saying "Do the wire-trick now." I go, what wire-trick?! After a few Google searches, I found out that I'm supposed to open the battery cover, unscrew a small panel, and short two points - the second point from the right and the GND on the microSD card housing. I deemed this to be too much trouble, so I aborted with a Ctrl-C. Big mistake. Now I'm stuck with a Juopunutbear bootloop every time I restart. I run the ControlBear software again, and fortunately, I regain access to the phone. Looks like I have to go through with the S-Off operation.

The screw of the panel was so small, I almost strip off the thread with my screwdrivers. Good thing I found a really small one from my eyewear maintenance kit. I do the wire trick. I get an "S-OFF Failed Errorcode: 66732337" message. More Googling. Turns out I have to touch the two points twice within one second. This time, I get a "JuopunutBear S-OFF success" message. Whew! Even the fastboot screen (Power + VolDown) confirms security is off. I reboot, and I still end up on the Juopunutbear screen. The forums recommend restoring back to stock, and doing everything from scratch again. Not good. With nothing to lose, except a brand new $200 LTE smartphone, I flash a custom kernel - KozmiKKernel Beta 13. The phone went past the Juopunutbear screen, but got stuck at the wallpaper. Desparate, I decided to push on - flashing Wajee's De-Sensed ROM v1.6. This time, the phone booted all the way to the launcher. Good morning.

More info here:

HTC Vivid General Knowledge Thread
http://forum.xda-developers.com/showthread.php?t=1425013

[SUPERGUIDE] ICS-Root-Flash-Stock
http://forum.xda-developers.com/showthread.php?t=1416836

HTC Vivid / Velocity / Raider [ROM's/Kernel's/Recovery's/Guide's]
http://forum.xda-developers.com/showthread.php?t=1486024

Saturday, February 9, 2013

HTC Velocity 4G

Missed out the first time around when the Telstra exclusive HTC Velocity 4G went for sale at DSE for $199 a few weeks ago. This time it's back and I'm not about to let it get away that easily. Since I'm busy at work, I got the wife to head down to the nearest DSE outlet. As expected, the shop is out of stock, but they're willing to reserve one for me with a 10% deposit.

Today, I take delivery of my first 4G phone. I mean, 4.5" qHD screen, 8MP camera with dual-LED flash, 1.5GHz dual-core processor, and 1800MHz LTE. This thing is a steal!

Friday, February 8, 2013

Porta and SimpleViewer

When it comes to generating online photo galleries, I've always used Porta. It's simple, easy to use, lightweight, and super fast. And it comes bundled with SimpleViewer v1.4, which serves as the front-end of the gallery. Only downside is the software hasn't been updated for a while now.

There's a new version of SimpleViewer out (v2.31) which supports Javascript fallback for those mobile devices that don't support Flash anymore. I tried to integrate the new SimpleViewer with Porta, but it just doesn't work. The gallery.xml structure has changed so much, it's just not worth the effort of renaming the files generated by Porta, then manually putting in the captions. Instead of Porta, I did try using the bundled svBuilder AIR app, but there is no watermarking and it wasn't able to extract the captions, even though that option is enabled.

Best option I've found is to get Picasa to export the pictures using the SimpleViewer template. Definitely takes longer than Porta though. What I've also noticed is that the latest SimpleViewer freeware has a limit of 50 photos per gallery. No such limitation with v1.4.