Difference between revisions of "Peek"

From eLinux.org
Jump to: navigation, search
(Kernel)
(USB cable no longer on ebay)
 
(11 intermediate revisions by 6 users not shown)
Line 10: Line 10:
 
* Peek teardown photos [http://www.flickr.com/photos/8728129@N05/sets/72157607274454694/ Maushammer on Flickr]
 
* Peek teardown photos [http://www.flickr.com/photos/8728129@N05/sets/72157607274454694/ Maushammer on Flickr]
 
* Discussion on irc.freenode.net channel #edev
 
* Discussion on irc.freenode.net channel #edev
 +
* Specific discussion of Linux on the Peek on irc.freenode.net channel ##peek
  
 
=== Basic Specifications ===
 
=== Basic Specifications ===
Line 48: Line 49:
  
 
* [http://www.spansion.com Spansion] 71NS128NB0BJWRN 32Mb Psram + 128Mb NOR Flash [http://spansion.com/Products/Support/Datasheets/s71ns-n_00_a9_e.pdf datasheet] [http://spansion.com/Products/Support/Datasheets/s29ns-n_00_a13_e.pdf Additional flash info]
 
* [http://www.spansion.com Spansion] 71NS128NB0BJWRN 32Mb Psram + 128Mb NOR Flash [http://spansion.com/Products/Support/Datasheets/s71ns-n_00_a9_e.pdf datasheet] [http://spansion.com/Products/Support/Datasheets/s29ns-n_00_a13_e.pdf Additional flash info]
* [http://www.ti.com TI] D6591BQA - [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12658&contentId=15407 TCS2310]
+
* [http://www.ti.com TI] D6591BQA - [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12658&contentId=15407 TCS2310] - The original TI link is dead, but there's a snapshot on the [http://web.archive.org/web/20090212061841/http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12774&contentId=15407 Internet Archive]
 
* [http://www.ti.com TI] T3031FZH - TWL3031 power management and IO control
 
* [http://www.ti.com TI] T3031FZH - TWL3031 power management and IO control
 
* [http://www.rfmd.com RFMD] RF7115 Quad Band GSM850/GSM900/DCS/PCS TRANSMIT MODULE [http://www.rfmd.com/pdfs/7115DS.pdf datasheet]
 
* [http://www.rfmd.com RFMD] RF7115 Quad Band GSM850/GSM900/DCS/PCS TRANSMIT MODULE [http://www.rfmd.com/pdfs/7115DS.pdf datasheet]
Line 64: Line 65:
  
 
=== Peek Accessories ===
 
=== Peek Accessories ===
* [http://boutique.getpeek.com/upgrade-cable-for-your-peek.html Upgrade Cable] for upgrade/hacking
+
* Upgrade Cable for upgrade/hacking (No longer available).
* [http://boutique.getpeek.com/extra-battery-for-peek.html Replacement Battery]
+
* Replacement Battery (No longer available).
 +
 
 
=== Opening the Case ===
 
=== Opening the Case ===
* The case has 4 tiny "torx" style screws.  I think the size is T3.  You will need a [http://amzn.com/B000FGQ1G6 Precision Torx Screwdriver] set.
+
* The case has 4 tiny "torx" style screws.  The size is T6.  You will need a [http://amzn.com/B000FGQ1G6 Precision Torx Screwdriver] set.
 
* Obviously, opening your Peek '''voids the warranty'''.  
 
* Obviously, opening your Peek '''voids the warranty'''.  
 
* There are 3 tiny screws immediately visible when you take off battery cover. And the fourth screw is hidden under the red "Do not remove" sticker.
 
* There are 3 tiny screws immediately visible when you take off battery cover. And the fourth screw is hidden under the red "Do not remove" sticker.
Line 76: Line 78:
 
* [http://www.gsm-support.net/mini-usb----micro-usb-converter-p1298.en.html Micro to Mini USB Adapter] (does not convert the UART to USB)
 
* [http://www.gsm-support.net/mini-usb----micro-usb-converter-p1298.en.html Micro to Mini USB Adapter] (does not convert the UART to USB)
 
* [[Flyswatter|Flyswatter USB JTAG Debugger]] for upgrade/hacking
 
* [[Flyswatter|Flyswatter USB JTAG Debugger]] for upgrade/hacking
* [[Openocd-Redux|OpenOCD JTAG Debugger Software]]
+
* [[Openocd-Redux|OpenOCD JTAG Debugger Software]] -- currently doenst know anything about the LoCosto chips.
 
* [http://www.sparkfun.com/commerce/product_info.php?products_id=718 UART TTL to USB Adapter] for upgrade/hacking
 
* [http://www.sparkfun.com/commerce/product_info.php?products_id=718 UART TTL to USB Adapter] for upgrade/hacking
 
* [http://iar.com/website1/1.0.1.0/369/1/ J-Link USB JTAG/SWD debugger] from IAR Systems. [http://ftp.iar.se/WWWfiles/jlink/J-Link_J-TraceARM-2.pdf User's Guide]
 
* [http://iar.com/website1/1.0.1.0/369/1/ J-Link USB JTAG/SWD debugger] from IAR Systems. [http://ftp.iar.se/WWWfiles/jlink/J-Link_J-TraceARM-2.pdf User's Guide]
Line 146: Line 148:
 
Obviously, the four signals TDO, TMS, TCK, and TDI are the most important ones.  Connect these signals straight to your JTAG dongle.<BR>  You should also pick up a Ground signal somewhere near the DC Power circuity on the lower left section of PCB.<BR> Perhaps, depending on your JTAG dongle, you could also power the Peek from the dongle itself.  ;-)<BR>
 
Obviously, the four signals TDO, TMS, TCK, and TDI are the most important ones.  Connect these signals straight to your JTAG dongle.<BR>  You should also pick up a Ground signal somewhere near the DC Power circuity on the lower left section of PCB.<BR> Perhaps, depending on your JTAG dongle, you could also power the Peek from the dongle itself.  ;-)<BR>
 
[[image:Peekjtag3.png]]<br>
 
[[image:Peekjtag3.png]]<br>
Thanks to "codeman" and "prpplague" for this.
+
Thanks to "codeman" and "prpplague" for this (these pinouts may be wrong!).
  
 
== uClinux ==
 
== uClinux ==
Line 162: Line 164:
 
* need basic support for the TCS2310
 
* need basic support for the TCS2310
 
* [[media:stmpe2401-20090923.patch|STMPE2401 keypad driver]] for linux-2.6 git (20090923) posted by Cfriedt
 
* [[media:stmpe2401-20090923.patch|STMPE2401 keypad driver]] for linux-2.6 git (20090923) posted by Cfriedt
 +
* [http://sourceforge.net/projects/stmpe24xx stmpe24xx project page] on SourceForge.net
  
 
=== Root Filesystem ===
 
=== Root Filesystem ===
Line 174: Line 177:
  
 
The Peek update program calls a command line CSST app to actually load the new firmware to flash.  In my case, the command line was:<br>
 
The Peek update program calls a command line CSST app to actually load the new firmware to flash.  In my case, the command line was:<br>
<pre> D:\apps\Peek\CSST\csstcli.exe -t 1 -op download -i D:\apps\Peek\software\Rel_01_09_10.m0 -dt NOR -p COM5 </pre>. This command can be executed from a command prompt.  You will be prompted to reset the Peek (remove and replace the battery, then hit the power button) and the download will begin!
+
<pre> D:\apps\Peek\CSST\csstcli.exe -t 1 -op download -i D:\apps\Peek\software\Rel_01_09_10.m0 -dt NOR -p COM5 </pre> This command can be executed from a command prompt.  You will be prompted to reset the Peek (remove and replace the battery, then hit the power button) and the download will begin!
 +
 
 +
* use TMSH to execute commands on the Peek itself ([http://peek.jr9.org/TMSH-and-accessing-you-Peek-internal-memory-td1724226.html source]):
 +
 
 +
Your Peek must remain active during the processing of each command so you may need to move the scroll wheel or press a button intermittently during the process to keep it on. You must also have the Peek cable and Peek upgrade software installed on your computer before you start.
 +
 
 +
Power on Peek and connect Peek to PC using the Peek Upgrade cable. Determine wich port the Peek is connected to. Either Check Device Manager - Start > Run > devmgmt.msc OR right click My Computer > Properties > Hardware Tab and Look at LPT&COMM, expand + sign and you should see what COMM port your cable is on
 +
 
 +
Open a command prompt. If you plan on copying files to the computer you must right click "Command prompt" and run it as an administrator even if you are already logged on as an administrator. It should be located under "Accessories" in the start menu.
 +
 
 +
Type in:
 +
<br>
 +
<pre>cd "C:\Program Files (x86)\Peek.1.10.00\tmsh" (or whatever your Peek directory is called)</pre>
 +
Then type:
 +
<br>
 +
<pre>tmsh -psX -ttlocosto</pre>
 +
Where X = your COMM port # from earlier.
 +
 
 +
Here's a list of TMSH commands:
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Command
 +
! Description
 +
|-
 +
| help||Print help for the command name on stdout Arguments
 +
|-
 +
| run||Run the script file named filename. Arguments
 +
|-
 +
| use||Load the ETM module represented by the DLL “name.dll” Arguments
 +
|-
 +
| ping||ping target Arguments [options]
 +
|-
 +
| quit||Quit the shell
 +
|-
 +
| auw||Write audio parameters
 +
|-
 +
| aur||Read audio parameters
 +
|-
 +
| aul||Load audio parameters from FFS file
 +
|-
 +
| aul||Save audio parameters to FFS file
 +
|-
 +
| mkfs||Format flash
 +
|-
 +
| fwr||File write from PC to target
 +
|-
 +
| frd||File read from target to PC
 +
|-
 +
| cd||Change current working directory
 +
|-
 +
| mkdir||Make a new directory
 +
|-
 +
| rm||Delete a file or directory
 +
|-
 +
| mv||Move or rename a file
 +
|-
 +
| pwd||Print working directory
 +
|-
 +
| ls||List files in directory
 +
|-
 +
| cat||View of text files
 +
|-
 +
| ln||Make a link between files
 +
|-
 +
| chmod||Change files/directories permissions
 +
|-
 +
| touch||Create an empty file
 +
|-
 +
| df||Show the amount of free space
 +
|-
 +
| fsq||Query ffs parameters and values
 +
|-
 +
| rfe||Enable RF – transmit and receive
 +
|-
 +
| se||Enable special customer task
 +
|-
 +
| scw||Setup the statistics configuration
 +
|-
 +
| scr||Read the statistics configuration
 +
|-
 +
| sr||Get statistics results
 +
|-
 +
| rfpw||Write RF parameters for receive mode
 +
|-
 +
| rfpr||Read RF parameters for receive mode
 +
|-
 +
| rxpw||Write RX parameter for receive mode
 +
|-
 +
| rxpr||Read RX parameters for receive mode
 +
|-
 +
| txpw||Set parameters for transmit mode
 +
|-
 +
| txpr||Read parameters for transmit mode
 +
|-
 +
| spw||Write customer special parameter
 +
|-
 +
| spr||Read customer special parameter
 +
|-
 +
| rftw||Write a RF table
 +
|-
 +
| rftr||Read a RF table
 +
|-
 +
| ttw||Write a ramp template to transmitter
 +
|-
 +
| ttr||Read a ramp template from transmitter
 +
|-
 +
| stw||Write a customer special table
 +
|-
 +
| str||Read a customer special table
 +
|-
 +
| mr||Read value from memory address
 +
|-
 +
| mw||Write value to memory address
 +
|-
 +
| cr||Read value from codec register
 +
|-
 +
| cw||Write value to codec register
 +
|-
 +
| me||Enable miscellaneous parameter
 +
|-
 +
| mpr||Read miscellaneous parameter
 +
|-
 +
| mpw||Write miscellaneous parameter
 +
|-
 +
| vg||Get hardware or software version
 +
|}
 +
 
 +
Email is kept in a database. Location Peek/peek.db Attachments are kept in location Peek/Attach The attachment will be named with a string of numbers_filename.extension_more numbers example 9585785_yourpic.jpg_552694 Pictures will be re-sized by Peek servers before they are delivered to your Peek. As an example a picture I sent to my Peek started at 998x1274 the picture downloaded from my Peek was only 152x195.
  
 
== References ==
 
== References ==
  
 
=== Other Peek Hacking Sites ===
 
=== Other Peek Hacking Sites ===
 +
 +
* [http://peekhack.posterous.com/ The official blog started by Peek's founder to help people get started in hacking the Peek]
  
 
* [http://www.peeklinux.com/ PeekLinux.com]
 
* [http://www.peeklinux.com/ PeekLinux.com]
 +
 +
=== Core Chipset Tools and Diagrams ===
 +
 +
* [http://sharing.getpeek.com/chipset.zip ZIP file released by Peek containing the files you need]
  
 
=== Similar board bringups ===
 
=== Similar board bringups ===
Line 193: Line 330:
  
 
* Watch Gabe Fabius and Dan Morel of PEEK, Inc. discuss the inner guts of the Peek [http://www.geekypeek.com/?p=167 device.]
 
* Watch Gabe Fabius and Dan Morel of PEEK, Inc. discuss the inner guts of the Peek [http://www.geekypeek.com/?p=167 device.]
 +
 +
[[Category:Hardware Hacking]]

Latest revision as of 21:59, 17 February 2013

Peek.jpg

The Device

In The News

Basic Specifications

  • 320x240 TFT LCD with backlight
  • 47 Key QWERTY keyboard
  • 360 degree jogwheel with button
  • Vibrator Motor
  • Small Speaker
  • Side Push Button
  • Top Power Button
  • Standard SIM Socket
  • Micro-B USB Charging Socket ( USB connectivity is not supported, this is really just a TTL Serial port and a charging socket.)
  • Internal Coin Backup Battery
  • E-Mail Notification LED
  • Battery Door Contacts Switch

Discussions about the Current OS

  • It's a lightweight, purpose-built OS called PeekUX. [1]
    • Starts with TI's very own version of the real-time OS called Nucleus ( by Mentor )
    • TI has compiled in device drivers, and other stacks and turned it into their own platform.
    • Peek SW developers then took what TI gave them and wrap it with their own proprietary GUI and network libraries to create Peekux.
    • The email application then runs on top of that.
    • The whole thing is built as a single image. Thus the distinction between OS and App is blurred.
  • "Hacking maybe difficult" article at Peek Forums. [2]

Wireless Network and FCC stuff

  • Uses T-Mobile's nationwide GSM network.
  • Also can use AT&T's GSM network as a secondary network.
  • FCC ID is listed as: V6LPEEK0001
  • Uses the GSM850 band. TX: 824-848MHz RX: 869-893MHz
  • Maximum RF Radiated Power (GPRS850): 26dBm EIRP
  • RX Sensitivity: -109dBm ?
  • Antenna: PIFA type

Mail Handling

  • Currently, the very large computing resources at Amazon AWS (Seattle, WA) is being used to handle the mail polling and forwarding for the Peek users. The mail handler was worked out at Peek HQ and then unleashed at AWS. AWS's "EC2 Service" is immensely flexible and allows Peek to keep up with the growing user base.

Chip List

Battery

  • Model: PK-BAT-001
  • Voltage: 3.7V
  • Capacity: 700mAh
  • Maximum Charge Voltage:4.2V
  • Standard: GB/T18287-2000

Peek Accessories

  • Upgrade Cable for upgrade/hacking (No longer available).
  • Replacement Battery (No longer available).

Opening the Case

  • The case has 4 tiny "torx" style screws. The size is T6. You will need a Precision Torx Screwdriver set.
  • Obviously, opening your Peek voids the warranty.
  • There are 3 tiny screws immediately visible when you take off battery cover. And the fourth screw is hidden under the red "Do not remove" sticker.
  • After the screws are removed, start from bottom of unit and carefully pry the top and bottom housings apart.
  • To understand what I mean, see this picture from Maushammer on Flickr. On the left side of image is the bottom housing. Notice the four screw holes. The rest of the housing attaches with tabs that easily pry apart.

Debugging/Programming Tools

External MicroUSB Charge/Upgrade port

This is the MicroUSB port that is exposed on the left side of the peek.
It's used for both charging and upgrading the Peek. The upgrade cable uses
a serial TTL to USB level shifter to convert the serial TTL into a USB com port.
a bootlog can be viewed using serial settings 115200,n,8,1

Pin Function
1 +5V(USB Standard)
2 TXD +1.8V TTL
3 RXD +1.8V TTL
4 N/C
5 GND
Shield Drain wire

Internal UART Header

This is on the inside of the Peek under the SIM (this is also covered by the warranty sticker).
a bootlog can be viewed using serial settings 115200,n,8,1
Note: This is not a new, hidden serial port. This port is electrically the same as the External Charger/Upgrade port shown above.

Pin Function
1 Ground
2 nPowerButton (active low)
3 UART_RX +1.8V TTL (input to Peek)
4 USB_PWR +5V
5 UART_TX +1.8V TTL (output from Peek)
6 Bat+ 4.2V

Peek-header.jpg
Picture from Maushammer on Flickr

JTAG Pads (vias)

These vias are found on the bottom side of printed circuit board just below the white antenna strip.
*Note: You will need to remove the solder mask and solder small wire to the vias. 26AWG or 30AWG is best.
Obviously, the four signals TDO, TMS, TCK, and TDI are the most important ones. Connect these signals straight to your JTAG dongle.
You should also pick up a Ground signal somewhere near the DC Power circuity on the lower left section of PCB.
Perhaps, depending on your JTAG dongle, you could also power the Peek from the dongle itself.  ;-)
Peekjtag3.png
Thanks to "codeman" and "prpplague" for this (these pinouts may be wrong!).

uClinux

Bootloader

  • a bootloader, such as U-Boot or APEX, will be needed to facilitate booting uClinux
  • low level access to Flash memory via JTAG is now doable. ( see above )
  • U-Boot could be used, but is pretty large
  • APEX is small, configurable, and easily adapted for ARM7TDMI

Kernel

Root Filesystem

Tools

  • use CSST ( Cellular Systems Software Tools ) from TI for loading Flash with bootloader etc. This is the Release Notes for the CSST included in SDP2430 (OMAP2430). There is a CSST for the TI LoCosto chips included with the Peek Upgrader software from Peek. More detailed info on CSST can be found here.

The Peek update program calls a command line CSST app to actually load the new firmware to flash. In my case, the command line was:

 D:\apps\Peek\CSST\csstcli.exe -t 1 -op download -i D:\apps\Peek\software\Rel_01_09_10.m0 -dt NOR -p COM5 

This command can be executed from a command prompt. You will be prompted to reset the Peek (remove and replace the battery, then hit the power button) and the download will begin!

  • use TMSH to execute commands on the Peek itself (source):

Your Peek must remain active during the processing of each command so you may need to move the scroll wheel or press a button intermittently during the process to keep it on. You must also have the Peek cable and Peek upgrade software installed on your computer before you start.

Power on Peek and connect Peek to PC using the Peek Upgrade cable. Determine wich port the Peek is connected to. Either Check Device Manager - Start > Run > devmgmt.msc OR right click My Computer > Properties > Hardware Tab and Look at LPT&COMM, expand + sign and you should see what COMM port your cable is on

Open a command prompt. If you plan on copying files to the computer you must right click "Command prompt" and run it as an administrator even if you are already logged on as an administrator. It should be located under "Accessories" in the start menu.

Type in:

cd "C:\Program Files (x86)\Peek.1.10.00\tmsh" (or whatever your Peek directory is called)

Then type:

tmsh -psX -ttlocosto

Where X = your COMM port # from earlier.

Here's a list of TMSH commands:

Command Description
help Print help for the command name on stdout Arguments
run Run the script file named filename. Arguments
use Load the ETM module represented by the DLL “name.dll” Arguments
ping ping target Arguments [options]
quit Quit the shell
auw Write audio parameters
aur Read audio parameters
aul Load audio parameters from FFS file
aul Save audio parameters to FFS file
mkfs Format flash
fwr File write from PC to target
frd File read from target to PC
cd Change current working directory
mkdir Make a new directory
rm Delete a file or directory
mv Move or rename a file
pwd Print working directory
ls List files in directory
cat View of text files
ln Make a link between files
chmod Change files/directories permissions
touch Create an empty file
df Show the amount of free space
fsq Query ffs parameters and values
rfe Enable RF – transmit and receive
se Enable special customer task
scw Setup the statistics configuration
scr Read the statistics configuration
sr Get statistics results
rfpw Write RF parameters for receive mode
rfpr Read RF parameters for receive mode
rxpw Write RX parameter for receive mode
rxpr Read RX parameters for receive mode
txpw Set parameters for transmit mode
txpr Read parameters for transmit mode
spw Write customer special parameter
spr Read customer special parameter
rftw Write a RF table
rftr Read a RF table
ttw Write a ramp template to transmitter
ttr Read a ramp template from transmitter
stw Write a customer special table
str Read a customer special table
mr Read value from memory address
mw Write value to memory address
cr Read value from codec register
cw Write value to codec register
me Enable miscellaneous parameter
mpr Read miscellaneous parameter
mpw Write miscellaneous parameter
vg Get hardware or software version

Email is kept in a database. Location Peek/peek.db Attachments are kept in location Peek/Attach The attachment will be named with a string of numbers_filename.extension_more numbers example 9585785_yourpic.jpg_552694 Pictures will be re-sized by Peek servers before they are delivered to your Peek. As an example a picture I sent to my Peek started at 998x1274 the picture downloaded from my Peek was only 152x195.

References

Other Peek Hacking Sites

Core Chipset Tools and Diagrams

Similar board bringups

TI documents

Watch a Peek being assembled

  • Watch Gabe Fabius and Dan Morel of PEEK, Inc. discuss the inner guts of the Peek device.