SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

X70TALK

Version 0.1.4
Copyright 2003-2004 Phil Whineray
Email: phil@slightly-cracked.com

adler32.c is Copyright 1995-2002 Mark Adler

Introduction

x70talk is an application to allow communication with a Panasonic X70 mobile phone (and maybe others e.g. GD87) using a reverse-engineered enhanced AT command set. It works in combination with a linux bluetooth stack and should also work with phones connected by USB or serial devices.

This program is distributed under the GNU General Public Licence. See the file COPYING for details.

Status

As with many projects, this one is to scratch an itch; I have an X70 and I don't have Windows to run the synchronisation software on. So I'm writing my own. If you want to contribute please feel free to contact me - it's the most likely way for it to wind up doing what you want (as opposed to what I can be bothered). In fact, if you try it and it works for you, drop me a line anyway, just so I know.

This readme gets out of date easily - the web site http://x70talk.sourceforge.net/ is probably a better source of information although usage is fairly self-explanatory anyway.

At the time of writing the program performs the following functions:

  • list all the user's files
  • read one or all phonebook entries
  • write (or append) a phonebook entry
  • delete a phonebook entry
  • clear all phonebook entries
  • import phonebook entries
  • download a file
  • upload a file
  • delete a file
  • get information (battery and signal status)
  • set date/time from computer

I have tested uploading JPEG and MIDI files over Bluetooth. Every mobile phone in my experience so far has stacked one protocol upon another, so I strongly suspect if you have the USB cable for the phone you will be able to use the Linux generic usbserial module to set up an equivalent device.

Building

Building should be a simple matter of ./configure && make && make install

The system should determine if you have the necessary bluetooth headers and build in bluetooth support accordingly.

Usage

The program assumes that it will talk to a character device file /dev/bluetooth/rfcomm/0. The folder uploaded to defaults to "User 5". Both of these can be set by command line options or by the environment variables X70_DEVICE and X70_FOLDER respectively. The phone considers the folders to be 1-8 starting with "my pictures" and finishing at "user 5"; I can see no way of retrieving/using the actual names at this time.

At the time of writing the program usage is as follows: x70talk [options] command [files...]

Sometimes the phone will not respond first time through; as of version 0.0.6 the program should be much more reliable, however, as it tries to reinitialise the connection. Occasionally an earlier error will leave data on the wire which confuses the program. In both cases the solution is generally to try the command again, which should resolve the problem.

One other note: the phone is quite finickity about being on the main page; if you are browsing the data folders or anything like that the phone will issue errors when you communicate with it.

[ It used to be that once every blue moon no attemt would to kick it ] [ into life. This no longer seems to happen, since the program does a ] [ re-initialisation routine if there is no response. However, the ] ] solution, if nothing else works, and the connection is definitely ] [ established, may be to send ^ZATZ^M and other likely strings to ] [ the phone via minicom. ]

Deleting phonebook entries

Deleting a phone book entry is a special case of writing one; you need to know the phonebook entry number and then you can use the command: x70talk -e ID write ""

which will cause the entry to be deleted.

Bluetooth

UPDATE: You no longer need to run the rfcomm program to establish a bluetooth

        connection - provided bluetooth is correctly installed on your machine
        specifying the option -d ADDR (e.g. -d 00:00:EB:97:D4:38) will open
        a socket to the phone for the duration of the command. Feel free to
        skip the rest of this section, although you may well still need to
        pair the phone to your computer.

Until someone comes along to try some alternative access methods, I can only talk about my experiences with bluetooth.

Setting up bluetooth is non-trivial, although the main problems I had were finding appropriate documentation which I could make sense of as a beginner to the area. Sadly I've forgotten what I did, so I won't be much use if you can't do this yourself.

I have been running the 2.6 kernels since mid-test series which have BlueZ included, so I use that. I suspect recent 2.4 kernels may also have it.

Gentoo rather helpfully includes the majority of the needed user-space tools in bluez-utils. The /etc/init.d/bluetooth script makes use of hcid, spdp and hciattach which get things going.

I paired my phone to the computer and then used rfcomm to set up the serial link to my phone using the command:

rfcomm connect /dev/bluetooth/rfcomm/0 00:00:eb:97:d4:38

The default parameters seem to work just fine. Once this step is complete and you have the message:
Connected /dev/bluetooth/rfcomm/0 to 00:00:EB:97:D4:38 on channel 1 Press CTRL-C for hangup

You should be up and running. You can get the ID string from your phone under the Bluetooth menu.


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.