Jump to content

Welcome to 1Emulation.com
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account
Photo

Official DS Wifi FAQ

- - - - -

  • This topic is locked This topic is locked
31 replies to this topic

#1
sgstair

sgstair

    Proud Fan

  • Emulator Author
  • 203 posts
  • Location:The depths of the Internet
Click to view battle stats
Since I'm feeling especially helpful.... here's a listing of the frequently asked questions here and answers for them.
If you have a question that you think should be here, please post it in this thread and I may add it to this post.

Q: What exactly is DS Wifi and what can it do?
A: the DS Wifi library I'm working on is a software toolkit for homebrew developers that will let them use the wifi capabilities on the DS in a very similar way to the way computers use a wireless network card. It's not designed to have a specific set of end uses, rather it will provide a way for the community to create application using internet support, ds-ds communications, and other things that standard wifi cards can do.

Q: What license will DS Wifi be released under?
A: Probably the BSD licence, I've had people also suggest the MIT license, I'll review them and pick one before release.

Q: Will DS Wifi support WEP/WPA?
A: The hardware has built in support for WEP, so it will be supported. WPA is a software extension of WEP that changes the key, I'm looking into what it will take to support WPA but I don't know if it can be done yet.

Q: Will the DS Wifi support access points? ad hoc mode? Nifi?
A: The initial release is planned to support both access points and ad-hoc operation (there are a few small technical difficulties with ad-hoc at the moment, but those will likely be fixed before release). Nifi is merely a modification of 802.11, and a raw wireless interface will be provided for those who want to construct their own nifi packets (technically it will be possible to run regular 802.11 and nifi at the same time, but this isn't a wonderful idea) - To use Nifi though, you will have to understand 802.11 enough to create your own 802.11 packets and read and understand the incoming packets.

Q: What will the developer interface look like?
A: The TCP/IP interface will try to mimic traditional Berkley sockets, for the purpose of allowing software to easily be ported to DS. There will also be some special API for connecting to access points, setting up IP addresses, and raw wifi traffic.

Q: When will it be released???
A: Well, that's really complicated. Please try to remember that I'm working off of my own documentation of a foreign hardware system - not all of the features of the wifi hardware are completely mapped out yet, and I run into problems due to that from time to time. Also, despite my best efforts I have been unable to make lwIP do what I want it to. So, I'm not going to give an estimate as I'll probably wind up being way off the mark. I try to post updates on my website (www.akkit.org) when I have something to report.

Q: Can the DS Wifi be used to run things on the DS?
A: The DS Wifi Library is merely a tool for developers to add to their programs, it does not in any way change how you run code on the DS - you still will need passme/flashme/wifime to run the homebrew that the library is used in, just like any other homebrew at the moment.

Q: What will you do with the money from the DS Wifi Bounty (sc.tri-bit.com)?
A: Well, perhaps you're being too curious by asking a question like this... but the money will go to paying bills, keeping me fed, and buying new equipment to play with.

Q: What's the deal with the DS trojan/virus/bricking thingy?
A: First, see this news post (1emulation.com) - A few notes, it's a trojan, which means it will not spread, and it requires someone to download it and run it to be hurt. There are only two known files at the moment that have it, but by far most homebrew can be trusted. Just as a general rule you shouldn't be going off and running things from shady places on the net anyway :lol:

Q: I have no experience writing server/client software. What do I need to learn in order to be ready to use DS Wifi in my projects?
A: As programming client/server applications on the DS Will be nearly identical to programming them on the PC and other systems, there are undoubtedly other places where you can find tutorials for writing client/server software. As for what you need to learn, you will need a working knowledge of Berkley Sockets, sometimes just called 'sockets' (for which there are countless tutorials on the web). That's all that's really required, but having some understanding of how existing client/server apps work will be very useful in making your system run smoothly.


Ok, if you have more questions you think should be listed here, let me know in this thread and I might add them.

-Stephen

Edited by GryphonKlaw, 15 October 2005 - 03:56 PM.


#2
Izhido

Izhido

    Newbie Poster

  • Members
  • 1 posts
Click to view battle stats
I'm just dying for this...

I know I have no right to ask you this, especially since there is a bounty involved, but... we ALL were waiting SOOOO long for this to happen...

So, please, please, please, PLEEEEEEEEEEASE...

Do tell us: HOW does WiFi work in the DS? WHAT is required? Registers? Traps? Mem addresses? ANYTHING???

(sits back, crossing fingers)

- Izhido

#3
sgstair

sgstair

    Proud Fan

  • Emulator Author
  • 203 posts
  • Location:The depths of the Internet
Click to view battle stats
Well uh, I won't add this to the faq until I release my documentation..... but, it's complicated.
Reeeeeally complicated...

the DS Wifi is a custom hardware register set integrated onto the main DS chip with all the other hardware (video, sound, etc) - it contains some dedicated ram and a huge register map (over 100 registers) and is tied in to the interrupt system, and has serial connections to 2 chips in the RF daughterboard.

Mainly what is required to use the wifi, is a whole lot of init and some basic understanding of how a few important parts of the hardware work. The ds hardware does a lot of the work for you, but it's unclear just how much it does, that will require very extensive testing to figure out and I haven't managed to get through anywhere near all the possibilities yet. At the core of what I consider to be the "important" parts of wifi is a hardware FIFO/circular buffer in the attached memory chunk, the hardware system of sending data(register and interrupt based), and the hardware interfaces to the two external chips.

well, now you're going to ask for more information, but that'd take much longer to explain, so it's best just to wait for my documentation which I promise is comprehensive about the topics I know about, specificly the ones that are important. At the rate I'm presently going, it shouldn't be long, either.

-Stephen

#4
SuperKoopa

SuperKoopa

    Member

  • Members
  • 54 posts
  • Location:Nevada
Click to view battle stats
Wow. That sounds incredibly complicated. I hope the GUI is generally not as complicated.. I could learn.. but yeah.

#5
mike260

mike260

    Newbie Poster

  • Members
  • 4 posts
Click to view battle stats
Hello!

Can you tell us anything about what the dswifi memory footprint will be like?

Thanks,
Mike

#6
sgstair

sgstair

    Proud Fan

  • Emulator Author
  • 203 posts
  • Location:The depths of the Internet
Click to view battle stats

Hello!

Can you tell us anything about what the dswifi memory footprint will be like?

Thanks,
Mike

<{POST_SNAPBACK}>


Hiya, Right now the ds wifi memory footprint is just under 40k, and sgIP memory usage is also just about 40k (note though, dynamic memory is presently being used on a per-connection basis)

So, I don't think it's unreasonable to say that the entire package should use around 96k of ram under normal conditions. This can be tweaked and tuned, and I'll probably drop the amount of memory a while after the first revision has been out for a while. (when I get a chance to play around with some apps and figure out just how much is actually being used.)

-Stephen

#7
mike260

mike260

    Newbie Poster

  • Members
  • 4 posts
Click to view battle stats

So, I don't think it's unreasonable to say that the entire package should use around 96k of ram under normal conditions.  This can be tweaked and tuned, and I'll probably drop the amount of memory a while after the first revision has been out for a while. (when I get a chance to play around with some apps and figure out just how much is actually being used.)


Cool, that sounds pretty reasonable. Re. dynamic memory though, is there any chance you could support user-supplied malloc/free functions?

Can't wait for the lib, best of luck getting it wrapped up and collecting the rest of that well-deserved bounty.

#8
sgstair

sgstair

    Proud Fan

  • Emulator Author
  • 203 posts
  • Location:The depths of the Internet
Click to view battle stats
Yes, it's presently designed to support user malloc/free functions. And, there is the option to go with fully static allocated memory too.

-Stephen

#9
Lockwood

Lockwood

    Novice

  • Members
  • 26 posts
Click to view battle stats
Hey sgstair,
Will I be able to make a online filesystem with my computer for my ds?

#10
thoduv

thoduv

    Novice

  • Members
  • 29 posts
Click to view battle stats
Do you have progress on the TCP/IP protcol ?

#11
Lockwood

Lockwood

    Novice

  • Members
  • 26 posts
Click to view battle stats
I have everything:

a house
a computer
parents
stupid sister
brother
a nds
a supercard sd with superpasskey

:D :D




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users