USB Access PSP

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

Moderators: cheriff, TyRaNiD

Post Reply
Dariusc123456
Posts: 388
Joined: Tue Aug 12, 2008 12:46 am

USB Access PSP

Post by Dariusc123456 »

Is it possible to access more than what we can access now on usb mode? I mean , can we access the idstorage, ipl, and maybe other stuff. I am not for sure, but maybe Dax can answer this too because I think he made one to access the idstorage via usb
User avatar
jean
Posts: 489
Joined: Sat Jan 05, 2008 2:44 am

Post by jean »

USB is a bus, a way to communicate, not the pink fairy. If you code a program that accesses the resources you mentioned and exposes them via USB through a communication protocol, then you can do whathever you want.....but i doubt you will. If you were wondering if such a service exists natively without the need for unsigned code execution, well the answer is: "99.99999999999999999999999% NO"
User avatar
gr8npwrfl
Posts: 12
Joined: Thu Aug 28, 2008 1:10 pm
Location: Southern California

USB Host

Post by gr8npwrfl »

To communicate on the USB bus you have to have a Host and a slave.

You can only have one host but you can have many slaves. The host
controls all communication on the bus just like a traffic cop. It tells the
slaves who can talk and when they can talk. A slave can not talk to a
slave, for instance if you have two usb hard drives they can not send
information to each other. The host has to read the data from one slave
drive to and then send it to the other slave drive.

To be a host it requires several more layers of protocol to be the
controller. It is completely different hardware than a slave.

The PSP is a slave device, it lacks the hardware to be a host. No
combination of drivers or software can make it a host, it just lacks
the parts to be a host. Since the PSP is a slave device it can not talk
to other slave devices, like keyboards, joysticks, mice, hard drives, ect.

There is one very clever program that was written. It is usbhostfs and
nethostfs. It required a computer on the storage side to run a program
that contantly checked the slave to see if it wanted something. It would
then read the requests and process the data. It made it look like the PSP
was controlling the storage of the PC. It did not change the fact that the
PC was still the Host controller. This requires a computer on the device
side to run special software to make it work.

Another example of this was the chotto shot camera. It was the host
controlling the PSP.

That is why you do not see us hooking many more devices to the PSP,
because the engineering required is beyond the scope of most hackers
and requires a very concentrated effort on the part of the developer.

There are several people working hard on trying to provide a platform
that will overcome this problem, but as of now it is not completed yet.
_____________________________
Ignorance is not fatal, it is curable
kralyk
Posts: 114
Joined: Sun Apr 06, 2008 8:18 pm
Location: Czech Republic, central EU

Post by kralyk »

So the GPS module works as a host?

A bit surprising ... I mean, I never thought psp was a host, I just thought
that in the gps/camera case, it somehow goes around the whole usb thing and just uses the pins for some more simple protocol with the device...
...sorry for my english...
User avatar
gr8npwrfl
Posts: 12
Joined: Thu Aug 28, 2008 1:10 pm
Location: Southern California

Post by gr8npwrfl »

Yes the GPS is a host that sends serial data over the usb lines

If you control the software at both ends you can ignore the protocol that
should be run and run your own protocol.

I have the source to the gps software that runs over the headphone serial port. It does normal serial gps protocol, my assumption on the USB GPS is that it is the same just over the USB Port.

If I had one I would plug it into my usb analyzer and find out for sure.
_____________________________
Ignorance is not fatal, it is curable
User avatar
jean
Posts: 489
Joined: Sat Jan 05, 2008 2:44 am

Post by jean »

On one side your assumptions seem too simplistic to me, and on the other side things could be a lot easier: i don't think things work like you explained....moreover i can assure you that USB gps is not running NMEA, so it's not the same thing as the "earphone one" (guess you're speaking of the holux hack with deniska's mapthis). There's not enough circuitry in the accessories to make they act as hosts...and it would be incredibly stupid to do so. PSP must be detecting accessories and start some sort of proprietary protocol unrelated to USB (i will inform you when i gain free time enough to finish an experiment of mine about it). In the end i would like to make you notice that we're near to crossing the line....another discussion on PSP USB protocols and the admins will ban us forever i guess!! ;)
User avatar
gr8npwrfl
Posts: 12
Joined: Thu Aug 28, 2008 1:10 pm
Location: Southern California

Post by gr8npwrfl »

I know exactly what you mean. I have a tendency to try and make things simplistic so that more people can follow what is being discussed.

If we strip away all the layers of protocol and software USB is exactly what
it's name says Serial Bus.

I have long suspected that there is a trigger in the PSP firmware that informs
the PSP that a special device is connected to the usb connector and bypasses
all the normal protocol.

Then the system just runs as high speed serial. I had started to run a usb sniffer on it and some of the data did not make sense. I would have to have
bought the GPS or Camera to continue my work on it and I had other things to work on before that.

I did not want to start a whole conversation based totally on speculation
until I had further information to go on.
_____________________________
Ignorance is not fatal, it is curable
User avatar
jean
Posts: 489
Joined: Sat Jan 05, 2008 2:44 am

Post by jean »

If we strip away all the layers of protocol and software USB is exactly what
it's name says Serial Bus.
well....no. Aside from software stuff, there are hardware requirements....so USB is more similar to rs485 differential serial communication protocol...this is why you have D+ and D-. They are not in/out, but data+ and data-. Let's say you want to transmit 10: split 10 in two amounts that subtracted give 10...you can put 15 on D+ and 5 on D-. Now if our friends' mobile phones interfere with our communication, we can assume their interference as additive; if the interference is a low order of magnitude so the whole thing doesn't saturate, let's say 3, then we can have 18, 8 or 12, 2. In all cases, on the receiver side the first less the second gives the original 10. Devices communicate on the single "virtual" shared channel implemented by D+ and D- using the so called time-slots usually assigned by an hardware arbiter implemented by host (i.e. there's a formal order in wich devices can "speak"). Such a complexity is not cheaply affordable by a 15x15x40 mm digital camera. BUT, if you take a look, the mini-B USB connector has a 5th pin whose function is vendor-specific: that could be a "plain" serial pin. I'm going to test this simply making a cable extension and then interrupting middle pin connection.
User avatar
gr8npwrfl
Posts: 12
Joined: Thu Aug 28, 2008 1:10 pm
Location: Southern California

Post by gr8npwrfl »

Yes rs485 is differential but it is still a serial protocol.

I had never given the vendor specific pin any thought. I applaud your
investigative intuitiveness.
_____________________________
Ignorance is not fatal, it is curable
SilverSpring
Posts: 110
Joined: Tue Feb 27, 2007 9:43 pm
Contact:

Post by SilverSpring »

Just to add some more fuel to the fire over the heated usb host debates over here at ps2dev:

Code: Select all

0x3E961C02 sceSysregUsbhostResetEnable
0xACFA3764 sceSysregUsbhostResetDisable
0xDA4FCA1D sceSysregUsbhostClkEnable
0x228A73E1 sceSysregUsbhostClkDisable
0xE321F41A sceSysregUsbhostBusClockEnable
0x4D2FFC60 sceSysregUsbhostBusClockDisable
0xFFEB6E00 sceSysregUsbhostQueryIntr
0x87C2BA20 sceSysregUsbhostAcquireIntr
KickinAezz
Posts: 328
Joined: Sun Jun 03, 2007 10:05 pm

Post by KickinAezz »

SilverSpring wrote:Just to add some more fuel to the fire over the heated usb host debates over here at ps2dev:

Code: Select all

0x3E961C02 sceSysregUsbhostResetEnable
0xACFA3764 sceSysregUsbhostResetDisable
0xDA4FCA1D sceSysregUsbhostClkEnable
0x228A73E1 sceSysregUsbhostClkDisable
0xE321F41A sceSysregUsbhostBusClockEnable
0x4D2FFC60 sceSysregUsbhostBusClockDisable
0xFFEB6E00 sceSysregUsbhostQueryIntr
0x87C2BA20 sceSysregUsbhostAcquireIntr
HOST???!!!

USB Keyboard YEAHH!!
Intrigued by PSP system Since December 2006.
Use it more for Development than for Gaming.
J.F.
Posts: 2906
Joined: Sun Feb 22, 2004 11:41 am

Post by J.F. »

Okay, if that really is using the PSP as a host, I'll apologize to everyone I've said otherwise to. :)
Dariusc123456
Posts: 388
Joined: Tue Aug 12, 2008 12:46 am

Post by Dariusc123456 »

Can you send the gps sio source so I can study it? And I understand how there things works now. Took some time off on other projects, and did some things.
SilverSpring
Posts: 110
Joined: Tue Feb 27, 2007 9:43 pm
Contact:

Post by SilverSpring »

Before more hysteria ensues I should mention that these functions were only added in later fw and actually might have been for an unreleased psp model. They were added in at the same time as the sceSysregAtahdd___ etc functions.

So usb host may have been intended for the hdd model psp instead, and not actually for any of the current models that are out now (maybe for PSP-4000 since PSP-3000 is not it).

There are no modules or apps that use these usbhost & atahdd functions so it may be that the current models are simply unable to use them (as with the SYSCON GSensor and Bluetooth functions).
User avatar
gr8npwrfl
Posts: 12
Joined: Thu Aug 28, 2008 1:10 pm
Location: Southern California

USB HOST

Post by gr8npwrfl »

Without decoding the software there is also no way to know if that is a host
that is attached externally either.

Or like you said it could have been a host chip that was in hardware that was not released and was on the internal bus.

If the complete drivers were there and we could hack in the hardware they way they had it attached it would be great. Since Sony never released the hardware there is no guarantee that those hooks will even exist in version 5.0
_____________________________
Ignorance is not fatal, it is curable
Dariusc123456
Posts: 388
Joined: Tue Aug 12, 2008 12:46 am

Post by Dariusc123456 »

Ill take a look into this. Maybe ill find something in my research, there are some prx files thats never in the psp sdk, that I might use them. Is it away to decompress from the sony keys? The one that was made by dax psp-packer?
kralyk
Posts: 114
Joined: Sun Apr 06, 2008 8:18 pm
Location: Czech Republic, central EU

Post by kralyk »

@SilverSpring:
SilverSpring wrote:Before more hysteria ensues I should mention that these functions were only added in later fw and actually might have been for an unreleased psp model. They were added in at the same time as the sceSysregAtahdd___ etc functions.
And when was that actually? Sorry, just asking because I didnt notice they had been added...

@Dariusc123456:
Oh yes, I'm sure youll find out amazing things we cant even imagine in your research, and release magical usbhost psp driver. You dont even know what USB is in the first post and know you want to "decompress sony keys". Sorry, but your posts always make me LOL.

(Not that I would be any better in psp-programming, but at least I realize it... unlike you)
...sorry for my english...
cloudhunter
Posts: 86
Joined: Thu Aug 17, 2006 3:27 am

Post by cloudhunter »

There's really no need for personal attacks. If you don't agree with what someone is saying, best thing to do is to just ignore them (unless it is particularly stupid).

As for whether you can access the IPL etc by USB - yes, you can - if you code it. Remember Boosters USBSSS? That accessed other things by USB, like memory etc.

Cloudy
:)
SilverSpring
Posts: 110
Joined: Tue Feb 27, 2007 9:43 pm
Contact:

Post by SilverSpring »

@Kralyk, they were added starting from 2.70 IIRC. No-one knew they had been added at the time because those nids had been unknown until only recently. We knew that new functions had been added that referenced new devices but did not know what kind of devices and what they were.
User avatar
jean
Posts: 489
Joined: Sat Jan 05, 2008 2:44 am

Post by jean »

There's really no need for personal attacks. If you don't agree with what someone is saying, best thing to do is to just ignore them (unless it is particularly stupid).
Don't know if you take a look at his posts every now and then, but basically with your last punctualization you are justifying every personal attack to darius....
Anyway, just to bring some tech along with lols i'm pretty sure we don't have an host hardware, i would continue investigating on the [regular client]/[simple serial proprietary protocol] duality on psp acessories.
Post Reply