GP2X Networking Gp2xs


haplo

Still Fresh
Joined
Sep 19, 2005
Messages
58
Location
Canada
Website
www.mindstab.net
I was pondering this. I'm probably missing something so please correct my following assuption where its wrong.

To start, we neeb to get IP over USB into the kernel/firmware. With that we should be able to connect the GP2X to a desktop computer with the appropriate software on it (linux) and have them have a network. right?
The desktop can run a dhcp server and give hte gp2x an IP.

The I start getting into less familiar territory and wacky.

If thats possible, couldn't we connect GP2Xs via battery powered usb hubs and have one run a dhcp server and pick its IP and have it assign the rest and thus have a network?

But I'm not familiar with the deeper working of USB or IP over USB. It strikes me that its quite possible that it's only a one to one solution, so we'll need some kind of bridging solution and morethan just a dhcp server, but a connection multiplex. Ideally it'd be nice if this could run on a gp2x, but it should be able to at least be developed on a desktop to test with right?

So what parts of this are crack? and what are on the right track. And what do we need to get networking working?
 
I went to the PLX homepage and checked out the netchip that we have in the GP2X.

According to the documentation, the GP2X could have drivers for the USB chip that make it appear to be a USB Network Device, like a network card.

The Computer sees a Device attached to it.

Then we pass TCP/IP information to the GP2X driver, and the GP2X is networked.

I have mentioned this before, it may have been overlooked.

The GP2X can only be a Slave, or Device, not a Host.

No matter how much voltage you supply with powered hubs, etc.

The chip being used is not a host chip.

Product Overview: NetChip 2272, PLX Technologies
 
haplo posted on Dec 16 2005 at 10:08 PM said:
I was pondering this. I'm probably missing something so please correct my following assuption where its wrong.

To start, we neeb to get IP over USB into the kernel/firmware. With that we should be able to connect the GP2X to a desktop computer with the appropriate software on it (linux) and have them have a network. right?
The desktop can run a dhcp server and give hte gp2x an IP.

You don't need to run linux if you put drivers on the GP2X that make it appear as a standard USB network device, like a USB LAN Adaptor. Windows would recognize it as a device, and send it information just like any other network adaptor.
 
Last edited by a moderator:
now maybe I'm not familiar enough with USB. I realise that the gp2x will never be a usb host, but aren't usb hubs "hosts"? So my question is would several ip over usb active gp2x's all connected by a powered usb hub be able to see each other, or would htey have to go through a desktop that could connect them?
 
haplo posted on Dec 16 2005 at 10:50 PM said:
now maybe I'm not familiar enough with USB.  I realise that the gp2x will never be a usb host, but aren't usb hubs "hosts"?  So my question is would several ip over usb active gp2x's all connected by a powered usb hub be able to see each other, or would htey have to go through a desktop that could connect them?

No.

A hub is a USB Device, the powered part is where it supplies extra power to devices that are powered off of the USB cable.

The Hub would need to be a Host in order for it to talk to the GP2X.

That said, if we made a small black box full of Host chips and a controller chip (the cost being prohibitive), we could get networked GP2X's.

The question is: why not just connect them through the EXT port (the EXT has two bi-directional UART communication lines running to it) and enjoy?

The UART's AFAIK are 115kbps, I don't know how much you need, but that is plenty for me.
 
Last edited by a moderator:
aaaaah
ok

would the only be one to one, or could we involve more than one gp2x?

When will the cables start shiping? and the code to sue them?
 
I see where you are going.

The best way to do it would be the Bluetooth Adaptor on this site.

I also don't see a problem using the RF links from the GP32, the UART and power is the same stuff, just change the plug and write software to talk to it.

Edit: I fixed the link. And go to the product page to see the price on the GP2X bluetooth upgrade.
 
cool. So they have a serial lead for connecting to a computer. the gp2x connector they are seeling looks like the gp32 bluetooth dongle you linked to. How does this thing work?
 
It seems like the easiest way to network the 2X ATM would be to use a serial cable to a Linux PC to get connectivity. Then there are two options:

1) Write a simple piece of software to bridge the serial port to/from a TCP/IP connection to another Linux host running the same piece of software and connected to the other GP2X.

2) Since the GP2X kernel doesn't have any networking compiled in, you could port the uIP embedded TCP/IP stack and add it to your game and then link up to your Linux host via SLIP and use standard Linux routing to connect to the other GP2X via the intertron.
 
In the meantime, it appears that the gp2x has usb networking support built in now... I tried it out networking with my PC. Each device just needs to assign its own ip. Is it possible to connect two gp2x's via a mini usb-b cable and have them network? This would be an elegant solution (with the exception of the usb cable poking out where your hand should be and would allow for 2-player networked games.

Any thoughts?
 
You should be able to connect the USB2 port in client mode on one machine to the host port on another - I don't think it needs a separate power supply. USB networking is already working for the client port, and people have got wireless drivers compiled for the host port, so it shouldn't be difficult to get one for USB networking there.

It would kinda be a soldering job for the EXT port end of the cable, but I don't think you can get the USB2 port to talk directly to another USB2 gp2x port, or two EXT usb ports together without different (client mode on one end) drivers.
 
what do you mean? network enabled games? that should be no problem. the gp2x has the usb0 interface, and when you plug it into your pc you can use cdc_ethernet to get usb0 there too, at this point there is network. now you are free to set the default route on the gp2x and do NAT for example on the pc, and your gp2x has access to the internet.
 
Oops, I misread the original poster - I was talking about directly connecting two GP2X's together, which should be simple enough, but of course it's also possible to get it on the internet over USB to a computer with the cable it comes with.
 
I have been thinking about the various possibilities here.. serial, usb, using computers, etc. and I think the answer requires some software and a special configuration

One gp2x will be the "server" and have a usb hub attached to its ext port usb host. The other gp2x's will plug into the hub using their min-usb "B" ports.

The "server" gp2x will have the driver module loaded to enable tcp/ip over usb... each other handheld will assign its own ip in the menu. I'm not familiar with this driver in linux, but I believe it's the "gadget usb" driver or something like that in windows.

Now, software which can take advantage of tcp/ip networking can do so (some emulators, and games).

We can also build a cable that goes from the ext host usb port to a mini-usb "B" plug for the same effect, but only two players.

(What is the likelihood you'll have more than 2 handhelds next to each other anyways?


This has probably been done already, but I feel that some standardization would help the dev community as we move towards network gaming.

An application for easy configuration (loading / unloading the required modules, setting the IP of the unit and perhaps dhcp on the server handheld for assigning IP addresses (not sure if this is possible as the settings menu requires a hand-coded IP)

The question must be answered, though... Is it possible to connect two gp2x units using only the usb client ports on the side? I don't have 2 units or I would check this out myself.
 
mtaylor posted on Oct 26 2006 at 12:19 AM said:
The question must be answered, though... Is it possible to connect two gp2x units using only the usb client ports on the side? I don't have 2 units or I would check this out myself.

It may or may not be technically possible, and if it is, I wouldn't be surprised if you need a custom driver that just isn't available.
 
Last edited by a moderator:
There is no need for standardisation, it is already there. Almost all (if not all) network games run as client/server. One PC hosts the server and the clients connect to it.

As long as the right drivers are there, connecting the GP2Xs will create the network device as it does when you connect to a PC. If you want dynamic IP allocation you'll need DHCP client/server.

You'll have to connect the USB client to the USB host on the ext socket.

We already have network gaming. Liquid War (link in my sig) can do it. You use USB networking to connect to a server on a PC, or the internet. The executable for the server is there as well but you'd need to make a script to run it.

It works but I wouldn't bother though, there are a number of problems:
  1. Using a USB cable, you are very close it the PC anyway, why use the GP2X when you can run it on the PC
  2. If you attach to the internet servers, there's no one on them
  3. I don't know anyone with a GP2X that I could play a LAN game with
 
Back
Top