Sunday, October 31, 2010

Processing NMEA strings with a microcontroller

This is only a sketch I've done some months ago. I've translated it into code and it does operate very well!!!

Here is an example of the software (written in C), based on the following flowchart, running on a PIC16F877A:

The purpose is to process NMEA strings from a GPS unit. Only the $GPRMC sentence is evaluated.

Download of flowchart is reserved to subcribers:

Saturday, October 30, 2010

Dismantling an HUAWEI E1550 HSDPA USB Stick

I've reading, some day ago, of a cheap method to add an sms-board to our electronics project using picmicro, arduino or other microcontrollers.

The method is quite simple and very very cheap: use a cheap GSM/USB modem! In the following link is described how to do this using a GSM/USB modem SKU12057: 

Modems usable to do this hack must support AT Commands. Once we have the command list of the main chip, interface modem to a microcontroller via an UART connection is matter of minutes!

I've a HUAWEI E1550 HSDPA USB Stick, distributed in Italy by mobile phone operator 3. I've opened it to see what chip uses. I'll show you some pics:

The two screws to remove are covered by a little piece of white adhesive paper:

Internally the circuits are covered by a small aluminum covers:

Once cover are removed, the chips becomes visible:

In this side, between the sim-card socket and the metal protection, there are some test-pads. Looking at Google I think those pads are used for JTAG programming of the chip. The chips in this side are:
  • Qualcomm RTR6285 (RF Radio Frequency transceiver for GMS/UMTS/GPS)
  • PM6658 (Power Management IC)

On this side the chips are:
  • Hynix "Hycouelom" F3R-2S60E (A flash memory where software and drivers for the use of USB stick are stored. This stick, in fact, is recognized as USB combo device and appears like a removable unit)
  • Avago AFEM7780 (UMTS2100 4x7 Front-end Module (FEM))
  • Qualcomm MSM6246 
The Qualcomm MSM6246 is the main CPU: HSDPA Modem with integrated Assisted GPS, High speed USB support and some other features not used by this USB stick such as 3Mpix camera support and QVGA video playback.

This chip is used also in some mobile phones (like the Samsung S8000) and I've not find useful info's... Only one link talking about this chip and Jtag:

Warning: those downloads are only available for subscribed users!

Avago AFEM7780 (UMTS2100 4x7 Front-end Module (FEM)) 

If you have datasheets and infos for use this usb stick as a UART modem... you're the welcome!!

XFS filesystem and Samsung LEDTVs

I've got a Samsung LEDTV, model UE40C7000W.Those new tvs can record and playback tv programs by connecting an USB flash drive. First time USB flash drive is attached, the tv requires to format the new drive.

File system used is XFS from Silicon Graphics (SGI). This filesystem seems was preferred due to high performance on video streaming and large files handling. Unfortunately windows operating system don't recognize this filesystem (but UBUNTU does!). The only software I've found to be able to read XFS partition on Microsoft Windows is UFS Explorer.

But... UFS Explorer is no free software and the freely downloadable version can recover only files < 64Kb... Sigh!

Some people says LLTools can read XFS partitions. Is no true! LLTools can read Linux Partitions (Ext2).

The drive formatted by led tv appears to be organized in only 2 folders: "database" (in lower-case) and "CONTENTS" (in upper-case). Recorded programs are placed into "Contents" folder. Each recorded program is made of 5 files, all named as YYYYMMDDHHmmss (timestamp of start of recording).  Some recordings have also a preview image in JPG format (but the file name is different).

The 5 files have different extensions:

.ckf -> ?
.inf -> a binary file with some informations about recording (title, channel etc)
.mdb -> ? (is no a Microsoft Office Access file!!)
.mta -> is an XML file Samsung calls SMVideoEngine (Samsung Metadata Video Engine)

Mta Files looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<!--Samsung video metadata file generated by SMVideoEngine (Samsung Metadata Video Engine) v1.0, June 2009. (>
<SEC:SECMeta xsi:schemaLocation="urn:samsung:metadata:2009 Video_Metadata_v1.0.xsd" xmlns:xsi="" xmlns:SEC="urn:samsung:metadata:2009">

[...a lot of alphanumeric chars...]


                    <MediaTime timePoint="0"/>

.srf -> is the video file (finally!). GSpot says it is an MPEG2-encoded video but I think that's no true... In fact no software (VLC included!) can read this file! SGRUNT!

 I don't understand how jpg image is associated to recording... (into the .inf file? or into .mta or database?)

The "CONTENTS" folder contains also some other files like Timeshift (.inc, .mdb, .ckf).

The "database" folder contains only 2 files: ace.dat and ace.log. The two files are binary. Ace.dat starts with:
AceDB Created By Insun Kang, Young-Seok Kim, Kyoung-Gu Woo, Heegyu Jin, Kyung-Sub Min, Taewon Lee, Dongseop Kwon, KyungWha Hong, Shin HoChul, Ki Yong Lee, DongJin Choi, Ilhwan Choi, Dongjoon Hyun, Seokjin Hong, Ki Yong Lee, SangJung Woo, Hyoungmin Park, Chuho Chang

If you have some informations on:
  • how to read XFS partitions under Windows using a free software
  • the meaning/scope of files created by TV
  • how to read "ace" database
  • how to convert .SRF movie
please leave a comment.