Discussion:
[Bitpim-devel] LGVX6000 Phonebook : why there are two serials : serial1, serial2 in a contact?
Cao Hung
2004-09-03 13:52:49 UTC
Permalink
Hi,

I'm writing an application in Mac OS X for lg phones
and i use Bitpim for know how the synchronization
works.

I has some technical questions of which i can't find
answers :

- For example, why the contact has two serials
(serial1 and serial2) ?? I dont know there utility ...
Do they maybe are a kind of checksum ? I think.
- an other problem occurred after i try to send a bad
request (bad data) to the phone, in the next request,
i receive an read error in the bulk device. The phone
device communication becomes not possible. The phone,
in fact , have past in UART1 mode in PortMap property
(we can find this property in the sevices part of
the phone), normally, it must be in USB Diag (USB
Diagnostic) mode. I set the port map (diag) to USB
Diag mode. After, the communication works fine....
I want to have some explications about this problem
and about the port map property of the phone
(UART1,USB Diag).

Thanks,

CAO Hung









Vous manquez d’espace pour stocker vos mails ?
Yahoo! Mail vous offre GRATUITEMENT 100 Mo !
Créez votre Yahoo! Mail sur http://fr.benefits.yahoo.com/

Le nouveau Yahoo! Messenger est arrivé ! Découvrez toutes les nouveautés pour dialoguer instantanément avec vos amis. A télécharger gratuitement sur http://fr.messenger.yahoo.com
Jim Bailey
2004-09-03 22:51:58 UTC
Permalink
This seems to be the place for this warning.

I was playing around with BitPim 0.7.16 with a new Samsung MM-A700
phone. All I did was set the port to the modem, set the phone to Other
CDMA and used it to browse the filesystem. Once I had done that, the
phone never exited diagnostic (brew) mode. I could never get it back
into modem mode. I tried everything I could think of, restarting,
airplane mode and reset, and reseting the phone with the security phone
reset page. Nothing helped. I started playing around with various
diagnostic menus on the phone, and I was able to find an offline mode
with the menus and a reset. This didn't help either. Finally, I used a
service menu on the phone to wipe the phone to factory initialized
state. This has no phone number and no 3G login information. You need an
MSL # to enter this mode and again to re-enter the phone # information.

I did some research before I concluded that there was no other solution.
I trolled through the BitPim source to understand what the software was
doing. It is surprisingly simple to put the phone in this state. A
terminal to the modem port and type AT$QCDG<cr> and the MM-A700 will not
exit the diagnostic mode.

It would probably be a good idea for someone to add this to the BitPim
FAQ since this phone is bound to be popular.

Thanks.
Roger Binns
2004-09-04 06:49:23 UTC
Permalink
Post by Jim Bailey
CDMA and used it to browse the filesystem. Once I had done that, the
phone never exited diagnostic (brew) mode. I could never get it back
into modem mode.
Noet that you cannot get out of diagnostic mode on any other phone
either without a reboot. You can order a reboot in the filesystem
view.

I don't know if your other manual attempts at a reboot actually
result in a reboot, or instead a hibernate or suspend.
Post by Jim Bailey
this state. A terminal to the modem port and type AT$QCDG<cr> and the
MM-A700 will not exit the diagnostic mode.
It you missed out a 'G' - AT$CDMG

I would want to hear if sending the reboot command works since that
is what is used on every single other phone.

Note that alternatively some stuff could be happening in
the file. On the LG phones in the service menu you
can set what port the diag mode stuff goes to (eg which
of the two USB interfaces, NULL or up to two different serial
endpoints) as well as baud rates for serial endpoints.

Roger
Stephen Wood
2004-09-04 12:10:15 UTC
Permalink
Post by Jim Bailey
CDMA and used it to browse the filesystem. Once I had done that, the
phone never exited diagnostic (brew) mode. I could never get it back
into modem mode.
Jim:

Since you have a way, albeit inconvenient, to restore your phone, would
you be willing to try to determine more precisely the conditions under
which the MM-A700 gets stuck in diagnostic mode?

I ask because I am currently developing BitPim support for the
A620/VGA1000. I am trying to use only AT commands and not diagnostic
mode to do all the data transfer. (The phone book transfer can be done
with AT commands). However, it will probably be necessary to use diag
mode for media transfers. In fact the first release (a teaser really)
of the support I put out will just read pictures from the phone camera,
using the file system. It would be nice not have to be very restrictive
in the code (i.e. making it exit for anything other than a VGA1000).

One question I have is, is sending the AT$QCDMG command sufficient to
get the phone stuck, or does it take some actual interaction with the
file system. Possibly it gets stuck when only a certain file is read or
a specific directory is listed.

In order to add media upload/download suppport, BitPim will only need
to access specific directories in the file system. If we can determine
that accessing these specific directories is safe, then BitPim support
could be built that is safe on the A700.

Thanks, Stephen
Roger Binns
2004-09-04 06:53:17 UTC
Permalink
Post by Cao Hung
- For example, why the contact has two serials
(serial1 and serial2) ?? I dont know there utility ...
Do they maybe are a kind of checksum ? I think.
Nope. The phone just has two serials for whatever reason.

http://bitpim.org/papers/phonespecs/
Post by Cao Hung
- an other problem occurred after i try to send a bad
request (bad data) to the phone, in the next request,
i receive an read error in the bulk device. The phone
device communication becomes not possible. The phone,
in fact , have past in UART1 mode in PortMap property
(we can find this property in the sevices part of
the phone), normally, it must be in USB Diag (USB
Diagnostic) mode. I set the port map (diag) to USB
Diag mode. After, the communication works fine....
I want to have some explications about this problem
and about the port map property of the phone
(UART1,USB Diag).
Sorry, you are on your own for that. If you can reproduce the
issue with BitPim then I will look into it. I don't have the
time to help you with your project, especially as it is duplicating
BitPim.

Roger
Jim Bailey
2004-09-04 18:21:50 UTC
Permalink
Post by Roger Binns
Noet that you cannot get out of diagnostic mode on any other phone
either without a reboot. You can order a reboot in the filesystem
view.
I don't know if your other manual attempts at a reboot actually
result in a reboot, or instead a hibernate or suspend.
I would want to hear if sending the reboot command works since that
is what is used on every single other phone.
I'm not sure how to order a reboot in the filesystem view. But I can
tell you I tried many different ways to reboot the phone.
Roger Binns
2004-09-04 19:44:39 UTC
Permalink
Post by Jim Bailey
I'm not sure how to order a reboot in the filesystem view.
Right click on any directory and examine the menu :-)
Post by Jim Bailey
I can't find anything like that in the Samsung. I also wrote some USB
code trying to access the Data class interface but I didn't have any
luck. The OS seems be blocking my access for some reason with a busy
error response, perhaps because the OS owns modem port. (This is on
OS X 10.3.5).
You can't use libusb access to a USB interface on the Mac (or Linux for
that matter) if there is already a device driver bound to the interface.
It is almost certainly the case that your phone has two interfaces,
an interrupt and a bulk interface that together speak the USB modem
protocol. In that case you are just better off using /dev/usb.modem0
or whatever it is called on Mac.

Roger
Jim Bailey
2004-09-04 18:33:52 UTC
Permalink
Post by Stephen Wood
Since you have a way, albeit inconvenient, to restore your phone,
would you be willing to try to determine more precisely the
conditions under which the MM-A700 gets stuck in diagnostic mode?
I guess the only answer to that is perhaps :) It is tremendously
inconvenient. I have 100s of phone numbers to reenter, there is no way
to back up the phone that I know of. I also have to redownload
everything that I use to customize the phone etc. I did it on friday and
it took over 3 hours to recover to where I find the phone usable and I
still have to enter a large number of the less important phone numbers.

Having said that, I might be willing to test some stuff if there is a
pretty good chance of recovering without the pain of going through a
complete reset. Also, I would probably only be willing to go through it
once more. On the upside, I don't use the modem function much and right
now pretty much not at all. So there is no immediate hurry to reset the
phone once we start experimenting.
Post by Stephen Wood
One question I have is, is sending the AT$QCDMG command sufficient to
get the phone stuck, or does it take some actual interaction with the
file system. Possibly it gets stuck when only a certain file is read
or a specific directory is listed.
I typed the AT$QCDMG command in a terminal window and the phone was no
longer able receive any AT commands and again nothing I did would break
the phone out of the diagnostic mode except a complete rewipe to factory
default. I tested this immediately after getting the phone back after
the first memory wipe before reentering my personal information.
Post by Stephen Wood
In order to add media upload/download suppport, BitPim will only need
to access specific directories in the file system. If we can
determine that accessing these specific directories is safe, then
BitPim support could be built that is safe on the A700.
I didn't have any trouble at all accessing the file system. It seemed to
work normally. No weirdness in the phone or anything like that. I didn't
try to write anything though.
Roger Binns
2004-09-04 19:51:54 UTC
Permalink
Post by Jim Bailey
I typed the AT$QCDMG command in a terminal window and the phone was no
longer able receive any AT commands
AT$CDMG puts the phone into diagnostics mode (it works on ALL the phones
BitPim supports). In diagnostics mode a binary protocol is used that
is also checksummed using the same scheme as X.25/ppp. On all the
other phones the only way to get out of this mode is to send the
diagnostics mode reboot command, or by rebooting the phone via
its buttons.

It still sounds to me like your phone goes out of its way to
not do a real reboot when you use the buttons on the phone
itself, instead doing a hibernate/suspend style thing. It
may also have multiple levels of reboot.

For example the phone is running a pseudo-realtime operating
system with various programs on top of that. Those programs
are what provides the user interface to the phone, look up
incoming calls in your phonebook, connect the call to the
speaker/earpiece etc. It could simply be that "rebooting"
via the menus is restarting the programs, but not the underlying
operating system.

I would expect that the diagnostics mode reboot command
will cause the right sort of reboot.

Roger

Loading...