Service mode by power supply pins?

Discuss the development of new homebrew software, tools and libraries.

Moderators: cheriff, TyRaNiD

Fanjita
Posts: 217
Joined: Wed Sep 28, 2005 9:31 am

Post by Fanjita »

Sony have a relatively long history of putting expensive 'smart' batteries in their products - I remember having to buy stupidly expensive 'infoLithium' batteries for my Sony camera. The packaging claimed that the battery communicated its own estimates of remaining lifetime (based on charge level and present load) and other operating conditions. It always seemed a bit pointless to me to put that in the battery rather than the camera, but whatever.

Incidentally, I have a few spare third-party PSP batteries (Datel, I think) and I've noticed that they do behave differently under some circumstances than the Sony batteries. For instance, it seems that they need to be bootstrapped in some way by charging in the PSP, before charging in the Datel charger will work correctly. Also I've found them to be much more liable to display the "oh crap, my PSP is bricked" symptoms when the charge level is low.
Got a v2.0-v2.80 firmware PSP? Download the eLoader here to run homebrew on it!
The PSP Homebrew Database needs you!
Dr. Vegetable
Posts: 171
Joined: Mon Nov 14, 2005 1:32 am
Location: Boston, Massachusetts
Contact:

Post by Dr. Vegetable »

Art: Thank you for "stating the obvious" and then taking the opportunity to question my intelligence and discourage further study of the battery communications. I sincerely apologize for flaming you and your hidden agenda, and I promise to the admins that I will never use the word "G*m*B*y" on this forum ever again.

Back on topic, my crappy little Windows program measured timing of the RS-232 packets to the millisecond. When I made this post, I clustered communication bursts into packets and rounded all times to the second, because the times were all numbers like 2.013 or 10.022 seconds. The communications from the PSP appear to be timed around whole-second-multiple heartbeat intervals, with the extra small timing overhead for communications.

Art, you seem to imply that a PC program would be incapable of responding to the PSP in a timely fashion, and that a dedicated micro would be required for proper analysis of this port. Would you care to share whatever information you have that makes you believe this?

Some may consider it to be unimportant, but I would like to understand how these battery messages are formatted, and how they convey the obvious information from the battery to the PSP. Unless you can tell me exactly what is in each of these messages, please don't try to tell me what isn't in them.

If anyone can figure out how to decipher these packets, please share. Thank you.
Art
Posts: 642
Joined: Wed Nov 09, 2005 8:01 am

Post by Art »

I did some experimentation by breaking the line and echoing back and forth using two COM ports on a PC
to see what came from where. It gets pretty tricky to fake everyone out this way
This somehow lead me to assume you were using a terminal program, but it seems now you are emulating the PSP
and battery. My mistake.
There is nothing at all hidden about my agenda, I don't mean to deter you. If you are determined in your goal,
and discover something, we will likely all find out. I still believe it's a wasted effort. I'm entitled to
share my opinion in an adult manner. If you are prepared to do the work and share your findings, great.
I will keep checking the thread.
I remember having to buy stupidly expensive 'infoLithium' batteries for my Sony camera.
The packaging claimed that the battery communicated its own estimates of remaining lifetime
(based on charge level and present load) and other operating conditions. It always seemed a bit pointless
to me to put that in the battery rather than the camera, but whatever.
I may have owned the same, or similar model camera, but will never again buy a Sony camera (long story).
There is a possibility that long term data is stored in the pack that would only be pertinent to that battery
derived from data obtained over it's lifetime of use/abuse.

With a one year warranty on the PSP, it probably didn't matter where the PCB was since we pay the same anyway.
Art.
Dr. Vegetable
Posts: 171
Joined: Mon Nov 14, 2005 1:32 am
Location: Boston, Massachusetts
Contact:

Post by Dr. Vegetable »

Art wrote:
Dr. Vegetable wrote:I did some experimentation by breaking the line and echoing back and forth using two COM ports on a PC
to see what came from where. It gets pretty tricky to fake everyone out this way
This somehow lead me to assume you were using a terminal program, but it seems now you are emulating the PSP and battery. My mistake.
Actually, I am tapping off of the COM line and simply eavesdropping on regular, uninterrupted traffic between a PSP and its battery. The initial log (where the PSP received no response from the battery) was with this line disconnected between PC and battery, which tells us (a) which side initiates the conversation, and (b) how to recognize which messages came from which side.
Art wrote:There is nothing at all hidden about my agenda, I don't mean to deter you. If you are determined in your goal, and discover something, we will likely all find out. I still believe it's a wasted effort. I'm entitled to share my opinion in an adult manner. If you are prepared to do the work and share your findings, great. I will keep checking the thread.
Mighty gracious of you.
Art wrote:
Fanjita wrote:I remember having to buy stupidly expensive 'infoLithium' batteries for my Sony camera. The packaging claimed that the battery communicated its own estimates of remaining lifetime (based on charge level and present load) and other operating conditions. It always seemed a bit pointless to me to put that in the battery rather than the camera, but whatever.
I may have owned the same, or similar model camera, but will never again buy a Sony camera (long story).
There is a possibility that long term data is stored in the pack that would only be pertinent to that battery derived from data obtained over it's lifetime of use/abuse.
New battery charge controller chips actually "learn" the characteristics of the individual battery and take this information into account when monitoring the state of the battery pack. This knowledge would have to live in the battery pack because each pack needs to track its own state, and packs may be swapped between devices by the customer. I am not surprised that the PSP battery pack would have responsibility for tracking and reporting this data, but I am surprised that they use such a complicated protocol to communicate information that ought to fit into a handful of payload bytes.
HaQue
Posts: 91
Joined: Fri Nov 25, 2005 8:52 am
Location: Adelaide, Australia
Contact:

1-wire

Post by HaQue »

I tried to buy a battery today to do some study, but it seems in Adelaide the PSP is
regarded as "too new" for anyone to supply replacements. Against good marital judgement, and the
lack of patience to wait for an ebayed one, I split the case. It was actually quite easy and you
cant even tell I split it... unless you look... It was quite interesting inside, very different
to the pic posted by shine.

Bare with me if I have anything fubar... i am learning as fast as I can :)

I haven't seen anyone refer to the interface as what I believe it to be: a "1-wire" interface (not I2C).
It could use I2C inside the battery, then get converted to 1-wire.

inside, a chip that could support this is:
2480B - possibly equiv to the Maxim DS2480B Serial 1-Wire Line Driver with Load Sensor
(it could be a 2450B - DS2450B 1-Wire Quad A/D Converter but I think it is 2480B)

There is a L02 wich I think would be a 24Lc02 256byte serial eeprom commonly used in I2C to save settings. In DVD players to save region codes, user settings etc.

I would say the 2480B is used as a serial bridge between the psp and the L02(holding battery data in the eeprom).

There are some great appnotes at the maxim website: DS2480B

A very interesting one is App Note 1097: White Paper 2: Using the 1-Wire Public-Domain Kit - DS2450:
APPLICATION NOTE 1097
White Paper 2: Using the 1-Wire Public-Domain Kit
This document describes how to use the 1-Wire Public-Domain (PD) Kit. The kit is a completely open source portable 'C' library to create a 1-Wire master using a DS2480B or custom 1-Wire interface. The kit also includes numerous example applications covering a variety of 1-Wire and iButton devices. This document explains how to combine the files in the kit to form applications on supported and unsupported operating systems.
I haven't yet found out what the 780102h IC on the top of the PCB is, but Im guessing it is the microcontroller.

Oh, and lots of test points too.

the pics link to high res versions. These are the clearest pictures Ive ever managed. Hope they help someone.

As disassembled:

Image


Battery pack flipped 180 degrees:
Image

Battery pack top view:
Image

PCB top view closeup:
Image

lifted PCB up, bottom of PCB:
Image

The PCB sits right at the top of the battery and for the last picture I bent the PCB upwards for the photo.

Once I get another battery I will try and see whats in the L02, and do some more testing of battery-PSP comms.

Im also wondering what the I2C routines are for if not used by the battery? Unless they just get sent transparently through the 1-wire bridge? I need to do alot more research on this to bring everything Ive learned today together.

Dr V, could you send me a PM on your method for grabbing the data please?

Oh, and some reasons for the pcb being in the battery is because they need calibration data stored in them, there are OEM batteries and also different batteries with different mAh.

1-wire supports multiple devices at different addresses (over 30 devices by dallas alone, going by the maxim website). This could be where a "special" sony battery comes in. a different device on the same bus.
Dr. Vegetable
Posts: 171
Joined: Mon Nov 14, 2005 1:32 am
Location: Boston, Massachusetts
Contact:

Post by Dr. Vegetable »

HaQue wrote:Dr V, could you send me a PM on your method for grabbing the data please?
It's fairly straightforward once you've opened the battery case. You will need an SIO cable (or equivalent) to shift the line level up to the standard RS-232 voltage.

Just tack a pair of light-gauge wires onto the battery PCB, connected to the middle pin and to GND. On my battery there were test points right near the 3-pin connector that worked well. Then connect the middle pin to the RS-232 RX line and GND to GND. I say "RX" as seen by the PC - you want to receive the bi-directional data on the line into the PC's COM port. The PC's TX line is not used, and can remain unconnected.

Then I ran a program I wrote which logs all traffic on the COM port at 19200 baud, no parity, 8 bits, 1 stop. The program tracks the time interval between incoming bytes and logs the length of any delay above a certain threshold, ~0.5 second IIRC. I'll have to dig out the code and see what kind of shape it's in, but I will post it ASAP.

While you are examining your battery board, you might look for a component labelled "TH01" and encased in foam, located near the geometric center of the main PCB. This appears to be the thermistor that measures the internal temperature of the battery pack.
Dr. Vegetable
Posts: 171
Joined: Mon Nov 14, 2005 1:32 am
Location: Boston, Massachusetts
Contact:

Post by Dr. Vegetable »

Dr. Vegetable wrote: While you are examining your battery board, you might look for a component labelled "TH01" and encased in foam, located near the geometric center of the main PCB. This appears to be the thermistor that measures the internal temperature of the battery pack.
Looking at your pictures, it looks like they've shrunk the whole circuit down considerably. Anyway, I can see the thermistor on your pack - could be something to heat/cool while monitoring COM traffic to watch for changing data values.

Image
Viper8896
Posts: 110
Joined: Thu Jan 26, 2006 6:20 pm

Post by Viper8896 »

what is the actual use of that thermistor it seems lik us home brewers view it just for fun but the psp must have a proper use. maybe it auto shutsdown if it gets too hot?
HaQue
Posts: 91
Joined: Fri Nov 25, 2005 8:52 am
Location: Adelaide, Australia
Contact:

Post by HaQue »

Ok, the IC I thought was a 2480B is actually a 2450B (possibly a DS2450B 1-Wire® Quad ADC with Programmable Resolution ).

Does anyone have any idea of the function/manufacturer of these chips marked:

780102H
MARB R23B

I've done lots of searching and come up with zip.
User avatar
Jim
Posts: 476
Joined: Sat Jul 02, 2005 10:06 pm
Location: Sydney
Contact:

Post by Jim »

->Viper8896 - it's eg. there to tell the charging circuit to back off if the battery's too hot

possible chip link
http://www.necel.com/micro/english/prod ... neral.html

Jim
Art
Posts: 642
Joined: Wed Nov 09, 2005 8:01 am

Post by Art »

There is a L02 wich I think would be a 24Lc02
It doesn't look like a 24Lxx EEPROM to me, at least the ones I've seen.
If I were sure, I'd open my battery pack and read it since the 24lxx /
24LCxx family cannot be code protected.
Microchip brand devices carry the logo, but there are other brands of
compatible devices.
If you could read the contents of the EEPROM out of a new battery pack
and produce new EEPROMS, perhaps you could change the inner expired battery pack after the warranty period was over.

I'll bet Sony make you send your whole PSP in to them for warranty cover of the battery :rolleyes:
making it more desirable to be able to fix them yourself since there is no warranty period for many of us.

Damn!, now I have to open one.
I have one more battery than PSPs.
HaQue
Posts: 91
Joined: Fri Nov 25, 2005 8:52 am
Location: Adelaide, Australia
Contact:

Post by HaQue »

I have a programmer... If it would read in-circuit, I can try to read it. Otherwise I can de-solder it after I get a new battery. I saw today KMart sells an aftermarket one for the PSP.

I will have a look at the pinouts and see if the way it is used on the PSP battery supports the 24Lxx theory.

BTW, it looks like the 780102H could well be of the type suggested. Thanks!
There seem to be plenty of resources for that IC at NEC website.

HaQue
Art
Posts: 642
Joined: Wed Nov 09, 2005 8:01 am

Post by Art »

I have two weeks holiday on my hands right now, and plans for about one week. I might get to opening the battery right now.
I hope I have a simple one.
HaQue, and I are both Australians, any tricks performed here might not help
anyone else in the world.

Ok,
I tried to pick the easiest of three battery packs to open.
They all have the same type of label (what appears to be the Aussie one).
I couldn't pull any apart easily with my hands, so I wrecked the case to
remove the guts of the most used one (which is still newish because my PSP is
wall powered most of the time).
It has the more overworked guts which at least still ran the PSP at the time
that I removed it from it's case.
The only chip I thought looked like a 24Lxx family EEPROM looks to be marked
2740B, which Google returns a Maxim/Dallas (this company has come up a lot)
DS2740 High-Precision Coulomb Counter (whatever that may be), but it includes
as it's first listed feature 15-Bit BiDirectional Current Measurement.

BTW there are only two leads to the battery pack, but I think the square
hole in the PCB with glue through it may conduct heat to a sensor on the
board.
Art.

Ok, I'm going to forget about that chip for now, and look elsewhere on the PCB later.
HaQue
Posts: 91
Joined: Fri Nov 25, 2005 8:52 am
Location: Adelaide, Australia
Contact:

Post by HaQue »

There doesnt seem to be anymore development on this. Last night my computer MB blew some caps and caused me to transfer my files to my laptop. In the process I found a folder containg some smart battery tools, one in particular called "Smart Battery Workshop" http://sbworkshop.com/ I dont have the time in the next few days to do any hacking, but I thought it may be useful for someone.. Im not even sure it can be used with the PSP, but the site could have some docs or other info that puts a peice in the puzzle.
shifty
Posts: 32
Joined: Thu Jun 16, 2005 8:59 am
Location: MIT
Contact:

Post by shifty »

>If I were you, I would lock this thread :-) But a continuity tester reveals, >that there is nothing magic about these pins (check against + and GND).

>Right, it's been confirmed that the 2 pads are the same as the power supply >jack. But I'm not convinced that you couldn't use the power supply to send >and receive data...

hey don't forget, just because a continuity tester says they're connected,
it doesn't mean they are. After all, such a tester just puts a voltage across
two terminals and measures whether current flowed through. If the two terminals are connected to e.g. a CMOS chip, you're likely to drive part of a gate and give the impression of continuity.

has anyone observed the traces on the board to confirm the connections?
R7i!c3K
Posts: 4
Joined: Fri May 05, 2006 11:43 am
Location: New Orleans, LA
Contact:

Post by R7i!c3K »

I asked this over at QJ, and TeamOverload suggested that I ask here.

The other night, I had to remove my battery in my PSP (psp1001-FW 2.6). Under the battery, I saw two copper (colored) pins, with a sticker over it stating the usual "warantee void if removed". The pins are not touching anything on the battery, itself, as they're located near the bottom of the battery.

I was curious, since I'm pretty sure all of you are talking about the pins next to the power jack, are the pins under the battery connected to those pins, or is it something completely different?

Just curious. Thanks.
FreePlay
Posts: 71
Joined: Wed Jan 04, 2006 6:53 pm
Location: Schenectady, New York, USA

Post by FreePlay »

Those pins are just the internal extensions of the two pins visible next to the power plug, I believe.
User avatar
dot_blank
Posts: 498
Joined: Wed Sep 28, 2005 8:47 am
Location: Brasil

Post by dot_blank »

correct freeplay
10011011 00101010 11010111 10001001 10111010
SANiK
Posts: 29
Joined: Tue Jul 05, 2005 5:25 am

Post by SANiK »

I'm not a hardware guy, but something tells me it IS the battery.
The first thing they do to a PSP is actually open up the battery compartment, and then take out the battery to see the warrenty sticker.
Then a SONY worker sticks in a special adapter connected to a computer with a PSP battery style shape, and then flips on the switch.
The battery sends a long signal to the PSP, and the PSP initiates SERVICE mode.

Looking at a normal battery itself won't get you nowhere, cause the battery will be only be sending the usual stuff, and not the keys needing to be sent to unlock the secret mode.

Best bet is to attach a chip which records the signals on this port coming into the PSP, and send the modified PSP to SONY claiming it to be bricked. They see that the Warrenty sticker is intact (which could be pulled off if one's careful) and then they start flashing. The PSP returns with a log of what SONY did. +1 for homebrew, 0 For Sony

Btw, you said something about a *break* command every 30 seconds... how long does it take for a bricked PSP to shut off anyways?

But it's all rumour and fantasy nonetheless, and oh yeah, one of the people among you is a SONY spy
Marco_N
Posts: 46
Joined: Sun May 29, 2005 10:27 am

Post by Marco_N »

SANiK wrote:The first thing they do to a PSP is actually open up the battery compartment, and then take out the battery to see the warrenty sticker.
Then a SONY worker sticks in a special adapter connected to a computer with a PSP battery style shape, and then flips on the switch.
The battery sends a long signal to the PSP, and the PSP initiates SERVICE mode.
Where did this information come from?
User avatar
groepaz
Posts: 305
Joined: Thu Sep 01, 2005 7:44 am
Contact:

Post by groepaz »

But it's all rumour and fantasy nonetheless, and oh yeah, one of the people among you is a SONY spy
WOW, now thats really hard to to guess!
Zianna123
Posts: 6
Joined: Fri Feb 10, 2006 8:44 pm

Post by Zianna123 »

i wouldnt like to be the poor flash tech, that has to flash a 15 odd meg file over 1 - wire / i2c .. hell even serial ..

well unless i get paid by the hour.

while i agree posibly it could be used to trigger some sort of service mode, then letting some other device flash .. usb ... flash jig via test points .. but doing it through this port alone would honestly be a painfull way.

but then again this is sony :)
Gymnos
Posts: 1
Joined: Wed Jan 18, 2006 4:04 am
Location: Fl. United States

Post by Gymnos »

Zianna123 wrote:i wouldnt like to be the poor flash tech, that has to flash a 15 odd meg file over 1 - wire / i2c .. hell even serial ..

well unless i get paid by the hour.

while i agree posibly it could be used to trigger some sort of service mode, then letting some other device flash .. usb ... flash jig via test points .. but doing it through this port alone would honestly be a painfull way.

but then again this is sony :)
Perhaps they only flash certian files via it, to the extent that they can run an update file via the XMB...?
Marco_N
Posts: 46
Joined: Sun May 29, 2005 10:27 am

Post by Marco_N »

Gymnos wrote:Perhaps they only flash certian files via it, to the extent that they can run an update file via the XMB...?
They way I heard the rumour is that the battery is used to put the PSP in service mode and the firmware is reflashed from a 'special' memorystick. From what SANiK said about the long signal it's not impossible that the PSP loads some low-level routines to RAM from the "battery" and then uses those to do some inits, diags and gain access to the memorystick and crypto hardware. It can then load everything it needs from there.
The reason I mention the crypto engine is that the rumour also said that when there was a firmware update, both the battery and the memorystick needed to be exchanged. It'd make more sense that this is because Sony ties the memorystick to the battery using encryption (i.e. the "battery" also contains the keys needed to decrypt what's on the memorystick) than they would need to update the bootstrap every time.

I doubt service mode would boot into XMB.

I guess that unless someone gets their hands (legally) on a battery/memorystick pair or someone at a service center starts talking (never signed an NDA?), these will just stay rumours.
Pit0711
Posts: 54
Joined: Thu Mar 24, 2005 5:45 am
Location: Old Europe -Germany-

Post by Pit0711 »

done !

good job noobz team
Fanjita
Posts: 217
Joined: Wed Sep 28, 2005 9:31 am

Post by Fanjita »

Just to make sure the record is straight in the places where it matters...

This effort was much more than simply the Noobz team. See the readme / release post for more details.
Got a v2.0-v2.80 firmware PSP? Download the eLoader here to run homebrew on it!
The PSP Homebrew Database needs you!
niconico
Posts: 1
Joined: Wed Aug 29, 2007 5:43 am

Post by niconico »

Did someone know what is the sequense writed inside the battery by Noobz team battery program, or someone dump the communication between modified battery and psp ? (like Dr. Vegetable post)

In other world what's _magic_ sequence in the battery set 9bit to 1 @0xbe240004 ?


if ((*(u32 *)0xbe240004) & 0x10)
{
use memory stick ipl routines;
}
else
{
use nand ipl routines;
}

ref: http://forums.ps2dev.org/viewtopic.php?t=8850

Great jobs for all poster, specialy Noobz team ;)

Dr. Vegetable wrote:This is the data stream sent from the PSP to the battery when it is inserted. In this case, the battery's COM pin was disconnected, so it did not respond, and the PSP refuses to power up:

Code: Select all


 &#91;00&#93;   <BREAK>

 &#91;5A&#93;Z&#91;00&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;01&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;01&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;01&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;01&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;01&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;00&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;01&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;01&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;01&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;01&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;00&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;01&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;01&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;01&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;01&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;00&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;00&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;01&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;01&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;01&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93; 

 &#91;00&#93; <BREAK>
This time, the battery was inserted with the COM port connected through to the PSP:

Code: Select all

 &#91;00&#93; <BREAK>

 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;24&#93;$&#91;FD&#93;
 &#91;A5&#93; &#91;15&#93; &#91;32&#93;2&#91;08&#93; &#91;4C&#93;L&#91;B3&#93; &#91;20&#93; &#91;C2&#93;

 &#91;5A&#93;Z&#91;09&#93; &#91;63&#93;c&#91;70&#93;p&#91;FE&#93;
 &#91;A5&#93; &#91;19&#93; &#91;32&#93;2&#91;88&#93; &#91;41&#93;A&#91;21&#93;!&#91;23&#93;#&#91;AA&#93; &#91;F4&#93;

 &#91;5A&#93;Z&#91;0D&#93; &#91;03&#93; &#91;06&#93; &#91;10&#93; &#91;B9&#93; &#91;4A&#93;J&#91;C2&#93; &#91;D4&#93; &#91;30&#93;0&#91;7D&#93;&#125;&#91;92&#93; &#91;53&#93;S&#91;0E&#93; &#91;FC&#93;
 &#91;A5&#93; &#91;49&#93;I&#91;32&#93;2&#91;48&#93;H&#91;97&#93; &#91;74&#93;t&#91;2E&#93;.&#91;66&#93;f&#91;D2&#93; &#91;F2&#93; &#91;80&#93; &#91;E7&#93; &#91;0D&#93; &#91;19&#93; &#91;BD&#93; &#91;16&#93; &#91;4E&#93;N&#91;5C&#93;\&#91;4D&#93;M&#91;97&#93; &#91;28&#93;&#40;&#91;43&#93;C

 &#91;5A&#93;Z&#91;00&#93; &#91;0A&#93; &#91;95&#93; &#91;5F&#93;_&#91;B3&#93; &#91;0C&#93; &#91;17&#93; &#91;28&#93;&#40;&#91;46&#93;F&#91;56&#93;V&#91;63&#93;c&#91;F3&#93;
 &#91;A5&#93; &#91;29&#93;&#41;&#91;32&#93;2&#91;08&#93; &#91;87&#93; &#91;AB&#93; &#91;32&#93;2&#91;57&#93;W&#91;D1&#93; &#91;77&#93;w&#91;99&#93; &#91;E7&#93; &#91;FD&#93; &#91;FF&#93;

 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;24&#93;$&#91;FD&#93;
 &#91;A5&#93; &#91;15&#93; &#91;32&#93;2&#91;08&#93; &#91;90&#93; &#91;66&#93;f&#91;81&#93; &#91;18&#93;

 &#91;5A&#93;Z&#91;04&#93; &#91;03&#93; &#91;07&#93; &#91;10&#93; &#91;2C&#93;,&#91;2F&#93;/&#91;00&#93; &#91;E7&#93; &#91;1E&#93; &#91;CB&#93; &#91;99&#93; &#91;00&#93; &#91;4D&#93;M&#91;FE&#93;
 &#91;A5&#93; &#91;49&#93;I&#91;32&#93;2&#91;C8&#93; &#91;BB&#93; &#91;CD&#93; &#91;CF&#93; &#91;5E&#93;^&#91;47&#93;G&#91;D3&#93; &#91;9E&#93; &#91;AB&#93; &#91;CC&#93; &#91;09&#93; &#91;5B&#93;&#91;&#91;CA&#93; &#91;6D&#93;m&#91;19&#93; &#91;AB&#93; &#91;A9&#93; &#91;2F&#93;/&#91;F3&#93;

 &#91;5A&#93;Z&#91;01&#93; &#91;0A&#93; &#91;E5&#93; &#91;AD&#93; &#91;2C&#93;,&#91;67&#93;g&#91;FA&#93; &#91;33&#93;3&#91;17&#93; &#91;61&#93;a&#91;AD&#93; &#91;24&#93;$&#91;FD&#93;
 &#91;A5&#93; &#91;29&#93;&#41;&#91;32&#93;2&#91;E8&#93; &#91;CD&#93; &#91;6E&#93;n&#91;B4&#93; &#91;D1&#93; &#91;A8&#93; &#91;22&#93;"&#91;DD&#93; &#91;79&#93;y&#91;FF&#93; 

 &#91;00&#93; <BREAK>
...Then the link went quiet. After about 10-15 seconds I turned on the PSP...

Code: Select all

 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;A5&#93; &#91;15&#93; &#91;32&#93;2&#91;08&#93; &#91;4C&#93;L&#91;B3&#93; &#91;20&#93; &#91;C2&#93;
 &#91;5A&#93;Z&#91;09&#93; &#91;63&#93;c&#91;74&#93;t&#91;FE&#93;
 &#91;A5&#93; &#91;19&#93; &#91;32&#93;2&#91;88&#93; &#91;41&#93;A&#91;21&#93;!&#91;23&#93;#&#91;AA&#93; &#91;F4&#93;
 &#91;5A&#93;Z&#91;0D&#93; &#91;03&#93; &#91;07&#93; &#91;90&#93; &#91;ED&#93; &#91;DA&#93; &#91;4D&#93;M&#91;D6&#93; &#91;3C&#93;<&#91;5F&#93;_&#91;4A&#93;J&#91;92&#93; &#91;0C&#93;
 &#91;A5&#93; &#91;49&#93;I&#91;32&#93;2&#91;88&#93; &#91;1D&#93; &#91;2C&#93;,&#91;E6&#93; &#91;A0&#93; &#91;AF&#93; &#91;7D&#93;&#125;&#91;62&#93;b&#91;30&#93;0&#91;29&#93;&#41;&#91;6D&#93;m&#91;FB&#93; &#91;03&#93; &#91;0D&#93; &#91;5D&#93;&#93;&#91;5F&#93;_&#91;E9&#93; &#91;39&#93;9&#91;75&#93;u
 &#91;5A&#93;Z&#91;00&#93; &#91;0A&#93; &#91;F5&#93; &#91;59&#93;Y&#91;AA&#93; &#91;64&#93;d&#91;27&#93;'
 &#91;5A&#93;Z&#91;23&#93;#&#91;0F&#93; &#91;5B&#93;&#91;&#91;AA&#93; &#91;FF&#93; &#91;A5&#93; &#91;29&#93;&#41;&#91;32&#93;2&#91;48&#93;H&#91;7A&#93;z&#91;36&#93;6&#91;D3&#93; &#91;2C&#93;,&#91;55&#93;U&#91;58&#93;X&#91;FA&#93; &#91;FC&#93; &#91;31&#93;1
And then the battery connection fell out.

From this, it looks like commands sent from the PSP to the battery start with 0x5A and the responses sent from the battery to the PSP start with 0xA5.

I have other logs of the normal powered-up operation. The communication occurs in bursts spaced 5 seconds apart, in a larger pattern that seems to cycle every 30 seconds:

Code: Select all

 <PSP turned on, 10 seconds of silence>
 &#91;5A&#93;Z&#91;00&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;A5&#93; &#91;15&#93; &#91;32&#93;2&#91;08&#93; &#91;4C&#93;L&#91;B3&#93; &#91;20&#93; &#91;C2&#93;

 &#91;5A&#93;Z&#91;00&#93; &#91;63&#93;c&#91;74&#93;t&#91;FE&#93; &#91;A5&#93; &#91;19&#93; &#91;32&#93;2&#91;88&#93; &#91;41&#93;A&#91;21&#93;!&#91;23&#93;#&#91;AA&#93; &#91;F4&#93;
 &#91;5A&#93;Z&#91;5B&#93;&#91;&#91;06&#93; &#91;1C&#93; &#91;20&#93; &#91;AF&#93; &#91;61&#93;a&#91;B8&#93; &#91;94&#93; &#91;0B&#93; &#91;B5&#93; &#91;25&#93;%&#91;14&#93; &#91;AD&#93;
 &#91;A5&#93; &#91;49&#93;I&#91;32&#93;2&#91;E8&#93; &#91;AE&#93; &#91;31&#93;1&#91;25&#93;%&#91;0E&#93; &#91;26&#93;&&#91;7E&#93;~&#91;D2&#93; &#91;F9&#93;

 &#91;5A&#93;Z&#91;E9&#93; &#91;32&#93;2&#91;1F&#93; &#91;0B&#93; &#91;4A&#93;J&#91;2A&#93;*&#91;EA&#93; &#91;B0&#93;
 &#91;5A&#93;Z&#91;29&#93;&#41;&#91;0A&#93; &#91;F5&#93; &#91;3C&#93;<&#91;50&#93;P&#91;0E&#93; &#91;27&#93;'&#91;F8&#93; &#91;D2&#93; &#91;1D&#93; &#91;06&#93; &#91;1D&#93; &#91;FF&#93;
 &#91;A5&#93; &#91;29&#93;&#41;&#91;32&#93;2&#91;88&#93; &#91;54&#93;T&#91;6F&#93;o&#91;BE&#93; &#91;77&#93;w&#91;3F&#93;?&#91;BD&#93; &#91;22&#93;"&#91;2A&#93;*&#91;4A&#93;J&#91;E1&#93; 

 <1 second of silence>
 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;A5&#93; &#91;15&#93; &#91;32&#93;2&#91;08&#93; &#91;90&#93; &#91;66&#93;f&#91;81&#93; &#91;18&#93;
 &#91;5A&#93;Z&#91;09&#93; &#91;3B&#93;;&#91;C6&#93; &#91;FA&#93;
 &#91;A5&#93; &#91;11&#93; &#91;33&#93;3&#91;08&#93; &#91;D8&#93; &#91;B0&#93; &#91;90&#93;
 &#91;5A&#93;Z&#91;01&#93; &#91;4B&#93;K&#91;A4&#93; &#91;FA&#93;
 &#91;A5&#93; &#91;11&#93; &#91;33&#93;3&#91;E8&#93; &#91;0A&#93; &#91;A0&#93; &#91;D6&#93;
 &#91;5A&#93;Z&#91;00&#93; &#91;13&#93; &#91;16&#93; &#91;FD&#93;
 &#91;A5&#93; &#91;0D&#93; &#91;32&#93;2&#91;48&#93;H&#91;EC&#93; &#91;F3&#93;
 &#91;5A&#93;Z&#91;09&#93; &#91;23&#93;#&#91;EC&#93; &#91;FA&#93;
 &#91;A5&#93; &#91;11&#93; &#91;33&#93;3&#91;C8&#93; &#91;FF&#93; &#91;4D&#93;M&#91;FE&#93;
 &#91;5A&#93;Z&#91;00&#93; &#91;1B&#93; &#91;04&#93; &#91;F5&#93;
 &#91;A5&#93; &#91;11&#93; &#91;33&#93;3&#91;E8&#93; &#91;D2&#93; &#91;90&#93; &#91;DF&#93; 

 <5 seconds of silence>
 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;A5&#93; &#91;15&#93; &#91;32&#93;2&#91;08&#93; &#91;90&#93; &#91;B2&#93; &#91;81&#93; &#91;12&#93; 

 <5 seconds of silence>
 &#91;5A&#93;Z&#91;00&#93; &#91;3B&#93;;&#91;C6&#93; &#91;FA&#93;
 &#91;A5&#93; &#91;11&#93; &#91;33&#93;3&#91;08&#93; &#91;D8&#93; &#91;B0&#93; &#91;90&#93; 

 <5 seconds of silence>
 &#91;5A&#93;Z&#91;01&#93; &#91;4B&#93;K&#91;A4&#93; &#91;FA&#93;
 &#91;A5&#93; &#91;11&#93; &#91;33&#93;3&#91;48&#93;H&#91;16&#93; &#91;58&#93;X&#91;F8&#93; 

 <5 seconds of silence>
 &#91;5A&#93;Z&#91;09&#93; &#91;13&#93; &#91;2C&#93;,&#91;FD&#93;
 &#91;A5&#93; &#91;0D&#93; &#91;32&#93;2&#91;48&#93;H&#91;EC&#93; &#91;F3&#93; 

 <5 seconds of silence>
 &#91;5A&#93;Z&#91;09&#93; &#91;23&#93;#&#91;EC&#93; &#91;FA&#93;
 &#91;A5&#93; &#91;11&#93; &#91;33&#93;3&#91;C8&#93; &#91;FE&#93; &#91;54&#93;T

 <2 seconds of silence>
 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;A5&#93; &#91;15&#93; &#91;32&#93;2&#91;08&#93; &#91;50&#93;P&#91;B2&#93; &#91;81&#93; &#91;C9&#93;
 &#91;5A&#93;Z&#91;05&#93; &#91;03&#93; &#91;07&#93; &#91;B0&#93; &#91;7E&#93;~&#91;FC&#93; &#91;36&#93;6&#91;6B&#93;k&#91;49&#93;I&#91;6B&#93;k&#91;44&#93;D&#91;79&#93;y&#91;D3&#93; &#91;FE&#93;
 &#91;A5&#93; &#91;49&#93;I&#91;32&#93;2&#91;28&#93;&#40;&#91;11&#93; &#91;6D&#93;m&#91;1C&#93; &#91;68&#93;h&#91;D2&#93; &#91;9C&#93; &#91;00&#93; &#91;63&#93;c&#91;C5&#93; &#91;FC&#93; &#91;89&#93; &#91;4D&#93;M&#91;C5&#93; &#91;68&#93;h&#91;B7&#93; &#91;61&#93;a&#91;6E&#93;n&#91;E8&#93;
 &#91;5A&#93;Z&#91;29&#93;&#41;&#91;0A&#93; &#91;65&#93;e&#91;93&#93; &#91;DD&#93; &#91;28&#93;&#40;&#91;E6&#93; &#91;9A&#93; &#91;E4&#93; &#91;0C&#93; &#91;33&#93;3&#91;27&#93;'
 &#91;A5&#93; &#91;29&#93;&#41;&#91;32&#93;2&#91;88&#93; &#91;46&#93;F&#91;75&#93;u&#91;48&#93;H&#91;A2&#93; &#91;5B&#93;&#91;&#91;7E&#93;~&#91;E8&#93; &#91;F4&#93; &#91;36&#93;6&#91;FF&#93; 

 <2 seconds of silence>
 &#91;5A&#93;Z&#91;09&#93; &#91;16&#93; &#91;08&#93; &#91;F5&#93;
 &#91;A5&#93; &#91;11&#93; &#91;33&#93;3&#91;48&#93;H&#91;D2&#93; &#91;D0&#93; &#91;FF&#93; 

 <10 seconds of silence>
 &#91;5A&#93;Z&#91;00&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;A5&#93; &#91;15&#93; &#91;32&#93;2&#91;08&#93; &#91;10&#93; &#91;A2&#93; &#91;81&#93; &#91;93&#93; 

 <5 seconds of silence>
 &#91;5A&#93;Z&#91;09&#93; &#91;3B&#93;;&#91;C6&#93; &#91;FA&#93;
 &#91;A5&#93; &#91;11&#93; &#91;33&#93;3&#91;08&#93; &#91;D8&#93; &#91;B0&#93; &#91;90&#93; 

 <5 seconds of silence>
 &#91;5A&#93;Z&#91;09&#93; &#91;4B&#93;K&#91;A4&#93; &#91;FA&#93;
 &#91;A5&#93; &#91;11&#93; &#91;33&#93;3&#91;28&#93;&#40;&#91;16&#93; &#91;98&#93; &#91;F8&#93; 

 <5 seconds of silence>
 &#91;5A&#93;Z&#91;01&#93; &#91;13&#93; &#91;16&#93; &#91;FD&#93;
 &#91;A5&#93; &#91;0D&#93; &#91;32&#93;2&#91;48&#93;H&#91;EC&#93; &#91;F3&#93; 

 <2 seconds of silence>
 &#91;5A&#93;Z&#91;00&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;A5&#93; &#91;15&#93; &#91;32&#93;2&#91;08&#93; &#91;90&#93; &#91;44&#93;D&#91;81&#93; &#91;28&#93;&#40;
 &#91;5A&#93;Z&#91;05&#93; &#91;03&#93; &#91;07&#93; &#91;10&#93; &#91;53&#93;S&#91;3D&#93;=&#91;00&#93; &#91;AA&#93; &#91;DF&#93; &#91;D6&#93; &#91;3C&#93;<&#91;2D&#93;-&#91;20&#93;
 &#91;A5&#93; &#91;49&#93;I&#91;32&#93;2&#91;48&#93;H&#91;AE&#93; &#91;F6&#93; &#91;37&#93;7&#91;50&#93;P&#91;B9&#93; &#91;8D&#93; &#91;EE&#93; &#91;56&#93;V&#91;BD&#93; &#91;9A&#93; &#91;97&#93; &#91;17&#93; &#91;5B&#93;&#91;&#91;38&#93;8&#91;A7&#93; &#91;C5&#93; &#91;9C&#93; &#91;AB&#93;
 &#91;5A&#93;Z&#91;01&#93; &#91;0A&#93; &#91;95&#93; &#91;13&#93; &#91;5B&#93;&#91;&#91;22&#93;"&#91;CD&#93; &#91;52&#93;R&#91;02&#93; &#91;C5&#93; &#91;1A&#93; &#91;EE&#93; &#91;FF&#93;
 &#91;A5&#93; &#91;29&#93;&#41;&#91;32&#93;2&#91;A8&#93; &#91;1F&#93; &#91;6E&#93;n&#91;4C&#93;L&#91;2B&#93;+&#91;E7&#93; &#91;09&#93; &#91;63&#93;c&#91;BC&#93; &#91;AB&#93; 

 <2 seconds of silence>
 &#91;5A&#93;Z&#91;01&#93; &#91;23&#93;#&#91;F6&#93; &#91;FA&#93;
 &#91;A5&#93; &#91;11&#93; &#91;33&#93;3&#91;E8&#93; &#91;F9&#93; &#91;53&#93;S&#91;FF&#93; 

 <5 seconds of silence>
 &#91;5A&#93;Z&#91;01&#93; &#91;1B&#93; &#91;04&#93; &#91;F5&#93;
 &#91;A5&#93; &#91;11&#93; &#91;33&#93;3&#91;48&#93;H&#91;D2&#93; &#91;D0&#93; &#91;FF&#93; 

 <10 seconds of silence>
 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;A5&#93; &#91;15&#93; &#91;32&#93;2&#91;08&#93; &#91;10&#93; &#91;62&#93;b&#91;81&#93; &#91;3A&#93;&#58;

 <5 seconds of silence>
 &#91;5A&#93;Z&#91;09&#93; &#91;3B&#93;;&#91;8C&#93; &#91;FA&#93;
 &#91;A5&#93; &#91;11&#93; &#91;33&#93;3&#91;08&#93; &#91;D8&#93; &#91;B0&#93; &#91;90&#93; 

 <5 seconds of silence>
 &#91;5A&#93;Z&#91;09&#93; &#91;4B&#93;K&#91;A4&#93; &#91;FA&#93;
 &#91;A5&#93; &#91;11&#93; &#91;33&#93;3&#91;48&#93;H&#91;2C&#93;,&#91;B0&#93; &#91;E3&#93; 

 <2 seconds of silence>
 &#91;5A&#93;Z&#91;09&#93; &#91;0B&#93; &#91;26&#93;&&#91;FD&#93;
 &#91;A5&#93; &#91;15&#93; &#91;32&#93;2&#91;08&#93; &#91;90&#93; &#91;58&#93;X&#91;20&#93; &#91;8F&#93;
 &#91;5A&#93;Z&#91;2D&#93;-&#91;03&#93; &#91;06&#93; &#91;90&#93; &#91;BE&#93; &#91;45&#93;E&#91;D2&#93; &#91;7F&#93;&#91;E1&#93; &#91;0D&#93; &#91;08&#93; &#91;52&#93;R&#91;28&#93;&#40;&#91;FF&#93;
 &#91;A5&#93; &#91;49&#93;I&#91;32&#93;2&#91;48&#93;H&#91;6B&#93;k&#91;AF&#93; &#91;40&#93;@&#91;95&#93; &#91;F2&#93; &#91;C2&#93; &#91;45&#93;E&#91;16&#93; &#91;5E&#93;^&#91;BC&#93; &#91;BF&#93; &#91;98&#93; &#91;F3&#93; &#91;11&#93; &#91;B0&#93; &#91;38&#93;8&#91;06&#93; &#91;FF&#93;
 &#91;5A&#93;Z&#91;09&#93; &#91;0A&#93; &#91;C5&#93; &#91;6A&#93;j&#91;9B&#93; &#91;64&#93;d&#91;D7&#93; &#91;C2&#93; &#91;03&#93; &#91;51&#93;Q&#91;30&#93;0&#91;C5&#93; &#91;FE&#93;
 &#91;A5&#93; &#91;29&#93;&#41;&#91;32&#93;2&#91;28&#93;&#40;&#91;9F&#93; &#91;5F&#93;_&#91;F1&#93; &#91;C7&#93; &#91;25&#93;%&#91;F6&#93; &#91;99&#93; &#91;B3&#93; &#91;A9&#93; &#91;FA&#93; 

 <2 seconds of silence>
 &#91;5A&#93;Z&#91;09&#93; &#91;13&#93; &#91;2C&#93;,&#91;FD&#93;
 &#91;A5&#93; &#91;0D&#93; &#91;32&#93;2&#91;48&#93;H&#91;EC&#93; &#91;F3&#93; 

 <5 seconds of silence>
 &#91;5A&#93;Z&#91;01&#93; &#91;23&#93;#&#91;F6&#93; &#91;FA&#93;
 &#91;A5&#93; &#91;11&#93; &#91;33&#93;3&#91;88&#93; &#91;9F&#93; &#91;66&#93;f&#91;FF&#93; 

 <5 seconds of silence>
 &#91;5A&#93;Z&#91;09&#93; &#91;1B&#93; &#91;00&#93; &#91;F5&#93;
 &#91;A5&#93; &#91;11&#93; &#91;33&#93;3&#91;88&#93; &#91;92&#93; &#91;98&#93; 
That was about as far as I got in understanding this protocol. Does anyone else see more of a pattern?
User avatar
groepaz
Posts: 305
Joined: Thu Sep 01, 2005 7:44 am
Contact:

Post by groepaz »

i'd totally love to hear the story about HOW this stuff was reversed :)
adrahil
Posts: 274
Joined: Thu Mar 16, 2006 1:55 am

Post by adrahil »

By the great knowledge of nem (that guy is a genius Oo) :)
jimparis
Posts: 1145
Joined: Fri Jun 10, 2005 4:21 am
Location: Boston

Post by jimparis »

The magic change is to set the battery's serial # to FFFFFFFF. I guess this makes the syscon chip turn on the PSP and pull the right GPIO pin high. Sony was very generous when they made the battery's serial number reprogrammable :)
Post Reply